You are not logged in.

#51 2008-03-05 06:32:53

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

Godane,
I am having some issues, now I have some KDEmod packages which I want to make modules for but happens it it pulls in a lot of other packages as dependencies and they are being pulled coz you dont have them in the modules which you made, so now my question is how can I make bulk modules from the packages in /var/cache/pacman/pkg

I would appreciate some assistance
thanks


Acer Aspire V5-573P Antergos KDE

Offline

#52 2008-03-05 17:56:33

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

I'm going to be uploading a new iso tonight. A new pkg2lzm is with it also. I added -d by default. This is why the packages are installing deps with the package. It will still download all deps for a package but will only make a module for the package called.

here is the new pkg2lzm you should use.

#!/bin/sh
#
# pkg2lzm - convert local Archlinux packages to LiveCD modules.
#
# Author: Christopher Rogers (aka Godane) <slaxemulator@gmail.com>
#
# License: GPL v3
#

TMPDIR=/tmp/pkg2lzm$$
mkdir -p $TMPDIR/var/lib/pacman/local

if [ "$1" = "" ]; then
   echo
   echo "Download and convert local Archlinux's PKG.TAR.GZ package and deps into .LZM compressed module"
   echo "usage: $0 package_name"
   echo
   exit 1
fi


pacman -Sy
pacman -Sw "$1" --noconfirm
PKG=$(ls /var/cache/pacman/pkg/$1-[0-9]*.pkg.tar.gz)
pacman -U -d -r $TMPDIR $PKG

echo "Creating module ..."

DESTINATION="$(pwd)/$(basename $PKG .pkg.tar.gz).lzm"
mksquashfs $TMPDIR $DESTINATION -b 256KB > mksquashfs.log

if [ $? -ne 0 ]; then 
echo "Error building module"
exit
fi
echo $DESTINATION
chmod oga-x $DESTINATION

echo "Cleaning temporary files ..."
rm -Rf $TMPDIR
echo "Completed!"

The package lists are in the devel/buildscripts/modules subfolder. The subfolder are named after the modules. Just uncompressed the devel-20080229.tar.gz package in folder devel.
I hope this helps.

ps I will have qt3-enhanced and xine-lib had modules in arch-live. The official qt3 is drop in the next release.
Also you will not need to do a 'cd /var/lib/pacman/pkg' for the script to work.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#53 2008-03-05 22:13:41

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

I think you misunderstood what I need, I WANT  to make modules of packages which are pulled in as dependency for KDEMOD,  Like KDEMOD-ART-GIFT pulls lots of other packages, I need all those for it to function I suppose, but the end module just makes KDEMOD-ART-GIFT.lzm if i just add this without its dependency I am guessing it will not work, am I right?
Or are you saying all the dependency is all built inside the lzm module?

Last edited by venky80 (2008-03-05 22:15:40)


Acer Aspire V5-573P Antergos KDE

Offline

#54 2008-03-05 23:05:23

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

godane wrote:

it doesn't handle meta package (1) at all. I know this is not a good thing but its the only (2) for it to not repeat existing packages that are in other modules. My pkg2lzm script just downloads the package then installs the package from cache (3).

(1) meta package=dependencies?
(2) way
(3) without it's dependencies

So when you find dependencies which are not already build in arch-live, you should make separate modules for them. It seems the script can only make modules for one package at the time... else you would have a lot of double packages (dependencies) on your system, and you do not want that roll

Last edited by ibendiben (2008-03-05 23:08:27)

Offline

#55 2008-03-06 00:14:44

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

Ibendiben, thanks for clarification, but my issue is different, I have list of packages in my /var/cache/pacman/pkgs which are there because I did a Pacman -Sy (list of minimal kdemod packages) this pulls in a set of packages which are needed for basic kdemod setup, now I want a script which makes modules out of all the packages which are in cache (there ARE NO duplicate packages in the pacman cache )
Is there a script there which makes packages out of all the pre existing packages inside a directory?
(remember the packages inside the cache have all the dependencies satisfied by other packages inside the cache or by the other modules which godane made)

I am not sure if I made any sense....because I am still learning but this is what I think I need.


Acer Aspire V5-573P Antergos KDE

Offline

#56 2008-03-06 05:48:33

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

here is a script that will do a cache2lzm:

#!/bin/sh
#
# cache2lzm - convert local cache Archlinux packages to LiveCD modules.
#
# Author: Christopher Rogers (aka Godane) <slaxemulator@gmail.com>
#
# License: GPL v3
#

TMPDIR=/tmp/pkg2lzm$$
mkdir -p $TMPDIR/var/lib/pacman/local

if [ "$1" = "" ]; then
   echo
   echo "Download and convert local cache Archlinux's PKG.TAR.GZ package and deps into .LZM compressed module"
   echo "usage: $0 common_package_name [-cc]"
   echo
   exit 1
fi

if [ -f /var/lib/pacman/db.lck ]; then
   rm -f /var/lib/pacman/db.lck
fi

if [ "$2" = "-cc" ]; then
pacman -Scc --noconfirm
fi

pacman -Sy
pacman -Sw "$1" --noconfirm
PKG=$(ls /var/cache/pacman/pkg/*.pkg.tar.gz)
CWD=$(pwd)
#cd /var/cache/pacman/pkg
cp -rf /mnt/live/memory/images/0[1-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/1[0-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/[a-z]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null

for FILE in $PKG; do
pacman -U -d -r $TMPDIR $FILE
done


echo "Creating module ..."

DESTINATION="$CWD/"$1".lzm"
mksquashfs $TMPDIR $DESTINATION -b 256KB > mksquashfs.log

if [ $? -ne 0 ]; then 
echo "Error building module"
exit
fi
echo $DESTINATION
chmod oga-x $DESTINATION

echo "Cleaning temporary files ..."
rm -Rf $TMPDIR
echo "Completed!"

This will install every package in /var/lib/pacman/pkg into a temp folder then make it into a module. The common_package_name means you can use meta packages now but be sure the folder is clean of anything other then the module.

This script still doesn't install deps cause it will install all deps. I mean deps like glibc. This will do what you want. It will make a module with all packages from cache.  Example: 'cache2lzm kdemod' will download the kdemod meta and make a module named kdemod.lzm. Use the -cc option to clean the cache folder.

I hope this helps you venky80.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#57 2008-03-06 09:02:44

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

I've done some tinkering on this and that resulted in the following final thoughts:

It would be nice if you could make a arch-live cache database... let me explain:

-It is a bad thing to clean your cache every time you want to update some arch-live packages. Cached packages are some insurance if something goes wrong doing a Arch update...

-We do not want double packages in arch-live, so we should prevent making modules which include depends already present in arch-live...

-pacman checks the local db for installed packages... if it is empty pacman will pull a LOT of packages...

-pacman offers an option (-b/--dbpath -r/--root --cachedir) to specify different db-, root- and cachedir-location

-we can make a (or copy the) local db containing the list of all installed arch-live packages, so pacman can check whether a package is needed or not...

This way user-added modules will only include those packages needed.

To make a new module for k3b for example all you have to do is:

sudo mkdir -p /tmp/cache/ /tmp/db/ /tmp/k3b
sudo cp -r /arch-live/var/lib/pacman/local/ /tmp/db/
sudo pacman -Sy -b /tmp/db -r /tmp/k3b/ --cachedir /tmp/cache k3b

Now you can go on making a squashfs (+lzm) image to finally make the module...
You should finish updating the arch-live db by overwriting it with your /tmp/db...

I hope I'm not totally missing something here tongue but this seems the best option to me...

Offline

#58 2008-03-06 20:41:57

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

I do not understand the complete architecture but I am getting the hang of it, let me just type a scenario so that i can reinforce my understanding.
There are already pre-existing packages which are made into modules by godane, now when we are in the live environment, i mean logged into the live-cd, these packages are see in the cache which is not in the default location i.e /var/chache/pacman/pkgs (Am I right?)
Now when I say pacman -Sy k3b it downloads a bunch of packages into /var/cache/pacman/pkgs some of which are already installed in the system.
So to make a sucessful module of K3b i assumed I need to make modules of all the packages in /var/cache/pacman/pkg but the concern is some of them are there is pre-existing modules..

please let me know if it is right?


Acer Aspire V5-573P Antergos KDE

Offline

#59 2008-03-06 23:02:54

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

Ok, first of all, there are two different places which people sometimes confuse by naming both of them "cache".

-One of them is the database, found in /var/lib/pacman/. This database contsists of two parts:
1) The package info synced from the servers: pacman -Sy updates this. ---This part can be found in the "sync" folder under /var/lib/pacman/sync/<reponame>/<packagename>/
2) The package info for installed packages, this is where pacman checks for already installed dependencies, out-of-date package that need to be updated: pacman -Syu... And is the place all files owned by a given package is stored. --This part is found at /var/lib/pacman/local/<packagename>

-Apart from the database, which is sometimes confusingly called "cache" there is a place called "pacman cache" found at /var/cache/pacman/pkg/, this where pacman stores downloaded pkg.tar.gz files of each package (installed)... This is a good thing because it also allows for downgrading when a new version brakes something, cause it will keep all versions of a package, as long as a user doesn't remove it with a pacman -Sc or -Scc... Pacman -Scc removes all downloaded package files, and should be used in case of cache-corruption or breakage... sometimes maybe space reasons...

So if we want to make a module which ONLY includes packages/dependencies NEEDED (not already existent other in arch-live modules) we should get pacman to check the local database from arch-live iso... I don't really know how you should do that, but I guess you'll need to unsquash something for that... Or just copy it from within the live system (when logged in)... In the future the local database should be accessable more easily in my opinion so making custom modules will get easier too.

I hope I could clear something up... I'm sorry if the explanation got a bit overcomplete but this to prevent future confusion smile

Offline

#60 2008-03-07 00:01:47

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

I think pacman is checking the local database, I just saw all the packages are there which are modularized by godane, so when I do pacman -Sy kdemod the var/cache/pacman/pkg only has packages which are needed for absolutely necessary, did you get a chance to run the live cd, I think you can see the folders in it.

Godane, Thanks for the script but I do not want the metapackage to be made into one lzm, I just wanted to make lzms of each  package inside /var/cache/pacman/pkg
Also what about the upgrades, how are you dealing with modules upgrades, I am guessing you are not going to be releasing ISO's forever Is there is way to upgrade each and every module of yours + whatever we make to be upgraded with one command just like pacman -Syu?

Last edited by venky80 (2008-03-07 00:34:42)


Acer Aspire V5-573P Antergos KDE

Offline

#61 2008-03-07 12:54:56

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

i have updated to 20070306.

Notes:
user:root
pass:ArchLinux

Changes:
* added packages:
 -mjpegtools
 -lynx
 -qt3-enhanced
 -xine-lib
 -dbus-qt3
 -qca-qt3
 -qca-tls
 -glew

* dropped packages:
 -qt-4.3.3
 -openoffice
 
* updated everything to 20080306
* all the deps for kdemod in archlinux repo are in arch-live now
* qt3-enhanced is the only package from kdemod repo

bugfix: volume is set to 71% by default now

The iso file is now 535mb. I move qt-4.3.3 and openoffice to arch-live-modules area of my download page. I will be moving and add ing newer modules that are no core base here soon. Isomaster, gftp, gcalctool, geany, and urlgfe to 07-xfce. This is cause it only adds 2mb to 07-xfce.

I hope this helps everyone.

ps This will help me also by add big games to my arch-live-modules repo. (Like the 200mb+ ones).


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#62 2008-03-08 01:39:28

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

Ah! lol
I've been ignorant all the time! I didn't think the scripts would run in the live-system itself! That's why all the fuzz came up big_smile
As I understand it, it is working great... just as I thought it would ideally be tongue
@venky80 despite some cache/database confusion you were quite right.
Let me try to explain in detail how (I think) the (cache2lzm) script works now:

First it defines a tempdir:

TMPDIR=/tmp/pkg2lzm$$

Then in this tempdir the (default location of the 'local' database is formed:

mkdir -p $TMPDIR/var/lib/pacman/local

This is needed so pacman can check this for packages already installed (like I explained before)
Following is just a cleaning of the cache from the life-system. This cache is normally empty, but in case you made some modules before or did some experimentating with installing packages or whatever the cache needs to be wiped. This operation is optional (user defined) by the way.

pacman -Scc --noconfirm

Next is the syncing process known as:

pacman -Sy

This updates the database so it contains all up-to-date information from the servers.
Brings us to the part of downloading the wanted package:

pacman -Sw "$1" --noconfirm

This seems a bit awkward to me, cause in this script it isn't very functional to download first, while you are going to install right after, so I guess you could drop the (-S<w>) and just use a 'pacman -S' in stead. You'll have to do the next step (copying the local database from arch-live to temp) first though... godane can you correct me on this?
Only good part I can see is the module now gets a nice name, containing version and architectural information, but I think I might be missing something...

PKG=$(ls /var/cache/pacman/pkg/*.pkg.tar.gz)

Anyway following finally copies the local database from arch-life (all installed package-info) to the local database in the temp folder:

CWD=$(pwd)
#cd /var/cache/pacman/pkg
cp -rf /mnt/live/memory/images/0[1-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/1[0-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/[a-z]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null

I have to say I don't fully comprehend this part either... I wonder why there isn't only one local database containing the information of all the installed modules... but I have to ask godane to explain that. (godane?)
Now we are finally installing all the packages, each (all extra pulled in dependencies as well!) in it's own directory:

for FILE in $PKG; do
pacman -U -d -r $TMPDIR $FILE
done

Now it finishes up creating the final module name (the meta name, you provided explicitly), and squashing each directory together in one big lzm-file:

DESTINATION="$CWD/"$1".lzm"
mksquashfs $TMPDIR $DESTINATION -b 256KB > mksquashfs.log

Only thing lasting is changing the permissions of the module...

chmod oga-x $DESTINATION

...and cleaning all temporary files:

rm -Rf $TMPDIR

I hope godane can correct me if I made any mistakes somewhere... Also I'd like to know why creating a module including a packages and it's dependencies gives problems... Why can't you just do a pacman -S <package>? instead of having to download first, and then install each package separately? Why did you need to add the pacman -S<d> (nodeps) option?
If you have any more time, can you try to explain me how the modules get loaded? How is the final filesystem created so all files get into place?

cheers wink

--Ben

Offline

#63 2008-03-08 02:24:50

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

ibendiben wrote:

Anyway following finally copies the local database from arch-life (all installed package-info) to the local database in the temp folder:

CWD=$(pwd)
#cd /var/cache/pacman/pkg
cp -rf /mnt/live/memory/images/0[1-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/1[0-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/[a-z]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null

I have to say I don't fully comprehend this part either... I wonder why there isn't only one local database containing the information of all the installed modules... but I have to ask godane to explain that. (godane?)
Now we are finally installing all the packages, each (all extra pulled in dependencies as well!) in it's own directory:

This part of cache2lzm is to get the database from the modules cause the normal database could be different. I didn't want packages to be 'install' in memory then someone uses the script with the new database. The idea is to have a 'clean' database.

ibendiben wrote:
pacman -Sw "$1" --noconfirm

This seems a bit awkward to me, cause in this script it isn't very functional to download first, while you are going to install right after, so I guess you could drop the (-S<w>) and just use a 'pacman -S' in stead. You'll have to do the next step (copying the local database from arch-live to temp) first though... godane can you correct me on this?
Only good part I can see is the module now gets a nice name, containing version and architectural information, but I think I might be missing something...

The only way to get the 'nice name' was to download the packages then do a local install so i could find the name.  But the 'nice name' part only works in pkg2lzm. You only are getting $1.lzm i think for the name. Example: 'cache2lzm kdemod' will make kdemod.lzm module.

ibendiben wrote:

If you have any more time, can you try to explain me how the modules get loaded? How is the final filesystem created so all files get into place?

You can right click on the module in Thunar and click use module in the submenu. Or use shell:

activate path/to/module.lzm

I hope this helps answer your questions ibeniben.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#64 2008-03-08 09:13:59

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

Ben Thank you very much for the explanation, I appreciate it very much, but I am confused too much, and also i don't see a way to upgrade and re modularize the package without downloading another ISO.
Also I really dont want a meta package modularizing script, since it answers all the questions to Y
when you install pacman -Sy kdemod there are questions you need to answer and you can selectively install packages, what I wanted was to create modules from the pkgs which get downloaded once I download the relevant kdemod packages which I need along with its dependency

I dont know if I make any sense, hope this projects keeps going and one day I will understand it.


Acer Aspire V5-573P Antergos KDE

Offline

#65 2008-03-08 15:47:51

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

venky80 wrote:

Ben Thank you very much for the explanation, I appreciate it very much, but I am confused too much, and also i don't see a way to upgrade and re modularize the package without downloading another ISO.

You can use my update2lzm script. Example: update2lzm 01-core.lzm or update2lzm 01-core.lzm -updateonly

The update2lzm script is in the new iso.

I hope this helps.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#66 2008-03-08 16:58:58

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

Thanks godane
godane one more question, so I have to be strictly logged in with the live system, to make modules?
I usually run into space issues when I try to make modules

Last edited by venky80 (2008-03-08 17:03:32)


Acer Aspire V5-573P Antergos KDE

Offline

#67 2008-03-08 17:09:30

Blind
Member
From: Desert mountain
Registered: 2005-02-06
Posts: 386

Re: arch-live cd release (20080409)

Godane,

first let me say how much your work is appreciated.

I have a question: how easy/hard is it to create one's own live-cd, in particular, how hard is it to change the default kernel?

Thx,
Blind

Offline

#68 2008-03-08 18:05:44

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

Blind wrote:

Godane,

first let me say how much your work is appreciated.

I have a question: how easy/hard is it to create one's own live-cd, in particular, how hard is it to change the default kernel?

Thx,
Blind

Thank you for testing it. big_smile

You should be able to change the modules without problems with isomaster. The kernel is a lot of work for it to be changed.
1. i can't use the arch linux kernel cause of the initrd be ext2 and ext2 is not build in kernel.
2. this kernel is from slax. I'm using slax kernel cause it has the most of what arch linux kernel has build-in the kernel image and it will work with linux-live initrd also.

I will have to make a kernel26slax in aur sometime to address this problem.

But i think its best to not change the modules with numbers at the beginning unless you know what your doing.

venky80 wrote:

Thanks godane
godane one more question, so I have to be strictly logged in with the live system, to make modules?
I usually run into space issues when I try to make modules

This is the main reason i use aufs in update2lzm and add2lzm scripts. These scripts will only have chnages installed. I will have to think about adding a -tmpdir and -cache options so you can fix this problem.

I hope this helps everyone.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#69 2008-03-08 23:24:48

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

godane wrote:
ibendiben wrote:

Anyway following finally copies the local database from arch-life (all installed package-info) to the local database in the temp folder:

CWD=$(pwd)
#cd /var/cache/pacman/pkg
cp -rf /mnt/live/memory/images/0[1-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/1[0-9]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null
cp -rf /mnt/live/memory/images/[a-z]*.lzm/var/lib/pacman/local/* $TMPDIR/var/lib/pacman/local 2>/dev/null

I have to say I don't fully comprehend this part either... I wonder why there isn't only one local database containing the information of all the installed modules... but I have to ask godane to explain that. (godane?)
Now we are finally installing all the packages, each (all extra pulled in dependencies as well!) in it's own directory:

This part of cache2lzm is to get the database from the modules cause the normal database could be different. I didn't want packages to be 'install' in memory then someone uses the script with the new database. The idea is to have a 'clean' database.

I do not understand how the local databases extracted (copied) from the modules can be different from the local database in the life-file-system itself...
Aren't all the files from the modules copied to the filesystem anyway? Isn't the /var/lib/pacman/local database the exact result of:

cp -rf /mnt/live/memory/images/0[1-9]*.lzm/var/lib/pacman/local/* /var/lib/pacman/local
cp -rf /mnt/live/memory/images/1[0-9]*.lzm/var/lib/pacman/local/* /var/lib/pacman/local
cp -rf /mnt/live/memory/images/[a-z]*.lzm/var/lib/pacman/local/* /var/lib/pacman/local

That's was why I wanted to know how modules get loaded... I mean, what action takes place to install them to the life environment (when init displays "loading modules"? Are they just extracted (unsquashed?) 

<EDIT>: As I understand it now, reading through the linuxlive script, all modules are simply unsquashed and mounted, this mounting inserts all install roots (/etc /usr/bin /usr/lib) from the module package, to it's proper place in the life filesystem... So all $MODULE/var/lib/pacman/local/info gets copied to the /var/lib/pacman/local database from the live-system and therefor is exactly the same as you would get with the (cp all_paths_to_the_modules_local_databases command)... I even made a comparisation, and yes they are exactly the same...
I understand they get to be different once you did anything special with it (installing/adding/probing modules) but beforehand this cache is as clean as it gets... So providing the live-cd and/or website with a local copy of this database would make building new modules easier:

mkdir -p /tmp/k3b/var/lib/pacman/local
cp -rf /path_to_arch-live_pacman_database /tmp/k3b/var/lib/pacman/local
pacman -Sy k3b -r /tmp/k3b/
mksquashfs /tmp/k3b /tmp/module/k3b-version.lzm

</EDIT>

About the 'nice name':
Can't you just create modules of each dependency in stead of squashing them all together in one file, this way you keep the 'nice name' too, something like:

for FILE in $PKG; do
pacman -U -d -r $TMPDIR $FILE
mksquashfs $TMPDIR $FILE.lzm -b 256KB > mksquashfs.log
done

Wouldn't that be alot cleaner, so you can use created modules separately with other packages too?

One other thing about creating modules. I think it would be a good idea to have the /var/lib/pacman/local database downloadable from you sourceforge site... This way people can make modules without having to run the live-cd. Something like what you're doing now with arch-live/devel/

Last edited by ibendiben (2008-03-09 09:54:13)

Offline

#70 2008-03-08 23:34:20

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

The new release has improved quite a bit for me!
Sound isn't muted anymore! cool And on top of that my touchpad scrolling works! cool:cool:
Thanks alot!

I tried to remember the bootmessage warnings I still get:

devpts allready running, or /dev/pts buzzy
noagp module error I think it's not found or something...
further it complains about a "find -mindepth option after a non-option argument -type"...
Also there is a part saying something is wrong with the display (driver or something) (for xorg? sorry I don't remember)

I feel stupid to ask, but is there an easy way to recall these bootmessages so I can post them up here?
I scimmed down /var/log files but they aren't there, there is a wiki explaining how to edit so bootmessages get saved:
http://wiki.archlinux.org/index.php/Dis … t_messages
Is that it?

Anyway thanks again for all the effords, the more I learn the more I like it smile

Offline

#71 2008-03-10 03:31:50

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

ibendiben wrote:

<EDIT>: As I understand it now, reading through the linuxlive script, all modules are simply unsquashed and mounted, this mounting inserts all install roots (/etc /usr/bin /usr/lib) from the module package, to it's proper place in the life filesystem... So all $MODULE/var/lib/pacman/local/info gets copied to the /var/lib/pacman/local database from the live-system and therefor is exactly the same as you would get with the (cp all_paths_to_the_modules_local_databases command)... I even made a comparisation, and yes they are exactly the same...
I understand they get to be different once you did anything special with it (installing/adding/probing modules) but beforehand this cache is as clean as it gets... So providing the live-cd and/or website with a local copy of this database would make building new modules easier:

1. the modules are just mounted. there are not unsquashed. Aufs makes the modules merge has one file system.   
2. There is a folder called changes in /mnt/live/memory. This folder holds all the files that have been changed or delete/whiteout.
3. The local database is only the same if no one instilled stuff before making modules. pkg2lzm and add2lzm does even copy the local database cause it doesn't look for deps.
4. the devel package makes the modules from scratch. It doesn't need the local databases to do that cause it adds deps to folders to make the modules. the devel package makes a aufs  union then changes the 'change' has it were to make different modules from a list.

ibendiben wrote:

One other thing about creating modules. I think it would be a good idea to have the /var/lib/pacman/local database downloadable from you sourceforge site... This way people can make modules without having to run the live-cd. Something like what you're doing now with arch-live/devel/

I think this idea will lead to a lot of problems.
1. this is squashfs+lzma and its not in the default kernel of arch linux.
2. this system is not kernel compatible and may never be kernel compatible. This cause of the initrd is need for arch-live to work. If someone is willing to make a workable linux-live script for initramfs be my guess.
3. the devel package will need to be done from the live cd cause aufs is need for the user to make it work.

In short its best to use the devel package while running arch to make it work. This is based on the KISS idea. (Keep It Simple, Stupid)

I hope  this helps you ibendiben.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#72 2008-03-10 03:42:45

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

here is the update script the you ask for ibendiben.

#!/bin/sh
#
# cache2lzm - convert local cache Archlinux packages to LiveCD modules.
#
# Author: Christopher Rogers (aka Godane) <slaxemulator@gmail.com>
#
# License: GPL v3
#

TMPDIR=/tmp/pkg2lzm$$

if [ "$1" = "" ]; then
   echo
   echo "Download and convert local cache Archlinux's PKG.TAR.GZ package and deps into .LZM compressed module"
   echo "usage: $0 common_package_name [-cc]"
   echo
   exit 1
fi

if [ -f /var/lib/pacman/db.lck ]; then
   rm -f /var/lib/pacman/db.lck
fi

if [ "$2" = "-cc" ]; then
pacman -Scc --noconfirm
fi

pacman -Sy
pacman -Sw "$1" --noconfirm
PKG=$(ls /var/cache/pacman/pkg/*.pkg.tar.gz)
CWD=$(pwd)

for FILE in $PKG; do
mkdir -p $TMPDIR/var/lib/pacman/local
DESTINATION="$(pwd)/$(basename $FILE .pkg.tar.gz).lzm"
pacman -U -d -r $TMPDIR $FILE
echo "Creating module ..."

mksquashfs $TMPDIR $DESTINATION -b 256KB > mksquashfs.log
if [ $? -ne 0 ]; then 
echo "Error building module"
exit
fi

echo $DESTINATION
chmod oga-x $DESTINATION

echo "Cleaning temporary files ..."
rm -Rf $TMPDIR
done

echo "Completed!"

cashe2lzm now makes modules for every package in cache folder. Its also doesn't need a copy of the local database anymore since its instilling them with a -d option anyway. big_smile What I'm saying is it download loads all packages and deps then makes packages with nice names on them.

PS. httpfs will be added in to arch-live for the need update. cool So you will be able to add modules with a webmount:// proxy. Go to http://live-modules.org/webmounts.htm to see what I mean.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#73 2008-03-12 19:39:19

godane
Member
From: NH, USA
Registered: 2008-02-03
Posts: 241
Website

Re: arch-live cd release (20080409)

i have been just test kdemod for about 2 hours now. I think kdemod is pretty good at not using all my memory so far. big_smile I will have to do some more testing on this.

Also I'm going to drop jre, swt , and tuxguitar cause the java plugin for mozilla is in /opt/mozilla and mozilla is in stilled in /usr now. There is no point in adding jre for firefox if its in the wrong folder.

It will be added has a extra module in the arch-live-modules section of my sourceforge account.

I hope this helps everyone.


I'm working on a live cds based on Archlinux. http://godane.wordpress.com/

Offline

#74 2008-03-13 09:08:38

ibendiben
Member
Registered: 2007-10-10
Posts: 519

Re: arch-live cd release (20080409)

Heey
I've just been testing a few modules from your site...
When I load a module once, from the xfce4 menu the module gets moved to /mnt/live/memory/modules and that's it... I have to load it twice, so once again from the new location to get it properly loaded...
I tried to load k3b and openoffice, I couldn't get k3b to execute, is that because I miss dependencies (I only downloaded the k3b module)? Openoffice worked great...

EDIT: I tried activating the modules with "activate /path/to/module.lzm" but that seems to do nothing at all.../EDIT

I ran the live-cd several times now, and every time I have to browse to all places in /mnt I wondered if it would be a good idea to create some shortcuts on the desktop to all partitions, and the live environment to save some time in future smile
Also it'd be nice to have a arch-linux homepage setup in firefox... The default http://www.mozilla.com/en-US/firefox/ annoys a bit smile

regards and thanks for the work on kdemod!

--Ben

Last edited by ibendiben (2008-03-13 09:11:28)

Offline

#75 2008-03-13 09:40:55

venky80
Member
Registered: 2007-05-13
Posts: 1,002

Re: arch-live cd release (20080409)

I am glad you are working on kdemod, I was always interested in it. I will give arch-live a spin once you get kdemod up and running


Acer Aspire V5-573P Antergos KDE

Offline

Board footer

Powered by FluxBB