PDA

View Full Version : FYI: dselect update breaks KNOPPIX 3.6!



Steve F
09-05-2004, 03:58 PM
Okay, this may be common sense knowledge but it was news to me. A couple of the remaster How-To's say once you are setup to add and remove packages you should [of course] run update to get the latest package versions. So I was doing that consistently and always generating a broken KNOPPIX remaster. Most of the time I would get a kernel panic. On those rare occasions it would go to KDE I got 'not enough memory; running something else instead'.

During dselect, two problems I had difficulty with were one, Frozen-bubble-data wouldn't remove, update or install. Always some problem. The second was dependency problems between mount-aes, mount, sysvinit, etc.. I don't know if that was enough to break KNOPPIX or if it was some other package being updated.

This morning with a fresh copy of KNOPPIX in my remaster directory I marked all packages HOLD before doing enything else. Then I ran update. Then I selected aptitude and deborphan to be installed. The gen'ed remaster continues to boot well.

I still have problems removing frozen-bubble when trying to remove all games. So far I have the iso size down to 528mb and it still boots. Even though I still have a long way to go this is the most progress I've made in weeks. I guess I should celebrate or something. Anybody have advice if celebrating too soon will jink up my project? I think I'll just let it sit for a while and get used to what it feels like to be working. Agh, that means now I have to wash dishes.

metavoid
09-05-2004, 05:29 PM
Well Steve, I think 528mb is worth a little party :)
If thats the size when hd installed.
I tried to strip a 3.6 to make it fit on my 512 usb pen, but I
always end up not having a booting system. :(
Is there any way you would have a list of packages you remove to
reuse to strip it?

Thx

Ahh. the iso size. Damn.

Steve F
09-05-2004, 09:40 PM
The iso is exactly 575119360 and makes a good CDRW burn. The compressed KNOPPIX file system is exactly 566868349. Running mkisofs on my remaster directory to /dev/null gives 1478MB.

Why does it make a difference if the file system is compressed or not? Can't you run compressed on a USB thing? It's a shame we can't use cdrecord with the target being a USB drive instead of a CDR. Maybe there is a set of steps where this is possible? I am guessing because it is way beyond me. I don't have a USB thing.

I'll post a diff of dpkg-query between my orignal and remaster that should show the packages that have been removed so far. I should have thought of that except I have had so many broken attempts and I didn't know I would start getting a working version.

metavoid
09-06-2004, 08:53 AM
It does work with a compressed version. I just want a "real" system on my pen :)

I would be glad for a quiry-diff file.

thx

Steve F
09-06-2004, 02:28 PM
Over in the Ideas topic I asked for a base release iso that matches the full iso when each new release is posted to the mirrors. That way updating our customizations are a matter of adding to the base only. I am guessing a base iso would be very small but I don't yet know how small is the smallest it can be. I thought of this because although there are many small distros, they all seem to be based on older KNOPPIX versions. I need the latest. And when the next version of KNOPPIX comes out (3.8) I will have to start over with the full version and experiment to reduce its size. It will be so much nicer to have a base iso release to build from.

If you like this idea, go over to Ideas and add to the thread any ideas you have in support of base release or just show support by your vote.

In the mean time, since I have my remaster small enough to fit on CDRW I can start working on configuration. I'm after a kiosk like environment that can run on many different laptops. I would like to be able to get the size down to miniCDR or smaller since I will have to burn a couple hundred. I started the query-diff. I have the base-line for 3.6 but when I listed my remaster, since all my packages are marked hold the diff caught every line. I have to brush up on sed or something else to strip parts of each line. Also, I want to pull a few more packages and get the size right at 500mb. I expect to have that list later today no problem. We don't have to wait for a diff you know. If I can send my remaster dpkg list output to you, you can see the status of every package. The best of course would be if I can figure out how to automate generating a kicklist from the original and remaster lists.

My first attempt at kiosk was going to use kde and konqueror. Fabianx has built in a kiosk desktop mode that uses mozilla. If that works out I won't need any of the kde stuff and I could remove it. Before I do, did you want kde on your USB? I can avoid removing it for now to get a 500mb or just go to town and get the smallest I am able to fit on a miniCDR.

metavoid
09-07-2004, 08:46 AM
Well, I totally agree with you :)
Im using a knoppix 3.3 as I simply didn't have the time to strip version 3.4 and now a
3.6 is out and I would really like to have mini version of that, but Its kinda hard to do.

A base ISO would be so cool.

Yes, I confess. I use kde as the others win mangers makes me annoyed. Its kinda silly as
kde is a biiig dog but it is possible to have a 516mb (hd installed) - 203mb iso knoppix version 3.3 with kde and firefox so I can't stop dreaming.

Its ok if your list strips off kde. I can hold on to them.
Your list would help to know which packages that can actaully be
removed. If you dont have a diff, simply send the remastered list and Ill find a way
to "revert" it to be a kicklist.

Thanks for your time.

Steve F
09-08-2004, 12:48 PM
Sorry I'm delayed; I've been working on kiosk configuration.

I found a problem with my 568mb package list. I grep'ed the 'rc' status packages and only got a list of about 7 packages removed. I know I removed 20-30 packages. I also noticed when I removed mozilla (1.7.2) and then went to reinstall it, dselect only offered version 1.6.4. I had to edit my /etc/apt/source-list and force listing unstable packages. I think KNOPPIX may be a mix of testing and unstable packages. Also, in source-list was the KNOPPIX download site but it was commented out. I'll add that and see which packages show up in dselect. In any case, I will start over before the week is out and this time I will make a list of each package I remove.

Steve F
09-12-2004, 02:03 AM
Metavoid,

I have made some good progress on two fronts. I have 'steps' I am using with V3.6 and I wrote script to compare the package lists between the original and remastered directories.

First the scripts. On my dev system I set up the following directory structure:

/usr/dev/knx_cus This is the main top directory

/usr/dev/knx_cus/knx_iso This is the copy of the compressed remaster fs and boot dir with symlinks to the bootable partition for testing and the source for creating the iso file. It is the target destination of mkisofs | create_compressed_fs and the source for creating the CD iso.

/usr/dev/knx_cus/knx_ori This is the original copy of the uncompressed fs.

/usr/dev/knx_cus/knx_rem This is the remastered copy.

/usr/dev/knx_cus/pkglists This is the directory for holding the package compare scripts and compare output package list files.

This script collects the package info from dpkg-query and is called pkgls.sh

dpkg-query -W --showformat='${Status}\t ${Package;-40} ${Version;-30} ${Installed-Size}\n' | sed -e 's/^.*installed[^I]/i /' -e '/^[^i].*[^I]/d' -e 's/^i[^I]//' > $1

This script drives pkgls.sh on the original and remaster directories, then sets up a short diff list. It is called pkglss.sh

cp pkgls.sh ../knx_rem
cd ../knx_rem
chroot ./ ./pkgls.sh plsrem.txt
rm -f pkgls.sh
mv plsrem.txt ../pkglists
cd ../pkglists
cp pkgls.sh ../knx_ori
cd ../knx_ori
chroot ./ ./pkgls.sh plsori.txt
rm -f pkgls.sh
mv plsori.txt ../pkglists
cd ../pkglists
echo '< = removed, > = added' > difout.txt
echo >> difout.txt
diff plsori.txt plsrem.txt | sort | grep '[<>]' >> difout.txt
less difout.txt

Here is an example of my preliminary remaster that [just barely] fits on a CDRW

< = removed, > = added

< ace-of-penguins 1.2-6 560
< bb 1.3rc1-5 1832
< bind9 1:9.2.3+9.2.4-rc5-1 676
< chromium 0.9.12-4 364
< chromium-data 0.9.12-2 1460
< cupsys 1.1.20final+rc1-5 10548
< cupsys-bsd 1.1.20final+rc1-5 192
< cupsys-client 1.1.20final+rc1-5 300
< ding 1.3-5 368
< dlint 1.4.0-4 73
< dnsutils 1:9.2.3+9.2.4-rc5-1 316
< enigma 0.81.1-2 1216
< enigma-data 0.81.1-2 9448
< fb-music-low 1.0.0-6 5025
< fortune-mod 9708-37 92
< fortunes-min 9708-37 164
< frozen-bubble 1.0.0-4 278
< frozen-bubble-data 1.0.0-4 5612
< gnuchess 5.07-2 284
< gtans 1.2-2 720
< imaze 1.4-4 920
< kasteroids 4:3.2.3-1 1152
< katomic 4:3.2.3-1 600
< kbattleship 4:3.2.3-1 852
< kernel-image-2.6.7 10.00.Custom 44872
< kmahjongg 4:3.2.3-1 992
< koules 1.4-11 540
< kreversi 4:3.2.3-1 604
< ksokoban 4:3.2.3-1 504
< ktuberling 4:3.2.3-1 1188
< libkdegames1 4:3.2.3-1 968
< locales 2.3.2.ds1-16 10360
< manpages-de 0.4-7 856
< mutt 1.5.6-20040722+1 3736
< ndiswrapper-modules-2.6.7 1:0.8-1 144
< netris 0.52-1 132
< openoffice-de-en 2:1.1.2-1 245220
< procmail 3.22-9 328
< psfontmgr 0.11.8 172
< samba 3.0.5-1 5912
< trans-de-en 1.3-5 6348
< ttmkfdir 3.0.9-3 156
< unifont 1:1.0-1 826
< util-linux-locales 2.12-7 2820
< x-ttcidfont-conf 17 148
< xbattle 5.4.1-12 340
< xboard 4.2.6-2.1 1632
< xboing 2.4-26.1 1608
< xgalaga 2.0.34-28 592
< xskat 4.0-1 448
> aptitude 0.2.15.2-1 5320

Sorry about the not-lined-up output. It looks better in bash. I add the package size to help decide which packages to remove. The full package lists for both original and remaster are in the files plsori.txt and plsrem.txt.

I hope I gave enough information so you can set this up on your remaster dev. I'll write the 'steps' I am using in another post.

Steve

Steve F
09-14-2004, 04:30 AM
I didn't notice when I posted the scripts but the first one has a very necessary tab character that gets striped when displayed on a browser. The script called pkgls.sh:

dpkg-query -W --showformat='${Status}\t ${Package;-40} ${Version;-30} ${Installed-Size}\n' | sed -e 's/^.*installed[^I]/i /' -e '/^[^i].*[^I]/d' -e 's/^i[^I]//' > $1

needs to be corrected after it is copied to a file. The first sed expression, -e 's/^.*installed[^I]/i /' needs to have the space changed to a tab at the end of the expression, i.e., -e 's/^.*installed[^I]/i\t/' . Note: \t is not recognized by sed as a tab. You have to actually press the tab key to insert the tab character (who would have thought!). I only used \t to make it clear where it is supposed to be inserted.

Steve F
09-17-2004, 06:41 PM
metavoid,

To get a 67meg iso of uncompressed 188meg knoppix I removed all packages except:

standard zlib1g install ok installed
standard libstdc++5 install ok installed
standard libmagic1 install ok installed
standard liblocale-gettext-perl install ok installed
standard libgcc1 install ok installed
standard file install ok installed
standard apt install ok installed
required util-linux install ok installed
required update install ok installed
required textutils install ok installed
required tar install ok installed
required sysvinit install ok installed
required slang1 install ok installed
required shellutils install ok installed
required setserial install ok installed
required sed install ok installed
required procps install ok installed
required perl-base install ok installed
required passwd install ok installed
required ncurses-bin install ok installed
required ncurses-base install ok installed
required mount-aes install ok installed
required modutils install ok installed
required mbr install ok installed
required mawk install ok installed
required makedev install ok installed
required login install ok installed
required libuuid1 install ok installed
required libstdc++2.10-glibc2.2 install ok installed
required libss2 install ok installed
required libreadline4 install ok installed
required libperl5.8 install ok installed
required libpam0g install ok installed
required libpam-runtime install ok installed
required libpam-modules install ok installed
required libncurses5 install ok installed
required libdb1-compat install ok installed
required libcomerr2 install ok installed
required libc6 install ok installed
required libblkid1 install ok installed
required hostname install ok installed
required gzip install ok installed
required grep install ok installed
required findutils install ok installed
required fileutils install ok installed
required e2fsprogs install ok installed
required e2fslibs install ok installed
required dselect install ok installed
required dpkg install ok installed
required diff install ok installed
required debianutils install ok installed
required coreutils install ok installed
required bsdutils install ok installed
required bash install ok installed
required base-passwd install ok installed
required base-files install ok installed
required adduser install ok installed
optional usleep-knoppix install ok installed
optional sslwrap purge ok installed
optional smartsuite deinstall ok config-files
optional scanpartitions-knoppix install ok installed
optional rebuildfstab-knoppix install ok installed
optional perl-doc deinstall ok config-files
optional mozilla-xft deinstall ok config-files
optional mkdesktophdicons-knoppix install ok installed
optional madwifi purge ok installed
optional libtext-iconv-perl install ok installed
optional libdb3 install ok installed
optional libcap1 install ok installed
optional libattr1 install ok installed
optional libacl1 install ok installed
optional kernel-image-2.4.27 install ok installed
optional hwsetup install ok installed
optional hotplug-knoppix install ok installed
optional hotplug install ok installed
optional debconf install ok installed
important libtext-wrapi18n-perl install ok installed
important libtext-charwidth-perl install ok installed
important libconsole install ok installed
important gcc-3.3-base install ok installed
important debconf-i18n install ok installed
extra slang1a-utf8 install ok installed
extra libcupsys2 deinstall ok config-files
wavtools install ok installed
sysvinit-knoppix hold ok config-files

I boot with cheatcode '2' to get run init level 2. fsck says / has corrupt superblock but it seems to work. This is the smallest I have achieved without getting a catastrophic error during boot. I made my kicklist include all packages except 'required'. I then had to add the following packages for install to the end of the kick list:

apt+
libgcc1+
libstdc++5+
gcc-3.3-base+
bash+
libcap1+
libdb3+
coreutils+
libacl1+
libattr1+
sysvinit+
libconsole+
hwsetup+
usleep-knoppix+
rebuildfstab-knoppix+
hotplug-knoppix+
slang1a-utf8+
zlib1g+
hotplug+
mkdesktophdicons-knoppix+
scanpartitions-knoppix+
debconf+
debconf-i18n+
file+
liblocale-gettext-perl+
libtext-iconv-perl+
libtext-wrapi18n-perl+
libtext-charwidth-perl+
libmagic1+
kernel-image-2.4.27+

I made scripts to 1) clear my remaster directory, copy the original to the remaster, 2) remove packages, 3) create compressed, and 4) create iso.

Let me know how this works for you. As I continue to work the list smaller and without errors I expect I will soon have scripts that I can post.

Steve

p.s. when I use apt-get during trial runs I use the -s option so I can see what it thinks it should do about package dependences. That's how I created the override install list. When it is time to run without the -s I use apt-get -y --force-yes --purge remove `cat kick.txt`