Knoppix
From Logicalwebhost-Wiki
This section will primarily be about remastering knoppix, a LiveCD distro based on Debian/KDE which doesn't normally boot off a hard drive, but you can respin it so it does, if for some reason you find yourself wanting to do that. There is a howto on it here, this will be just for me to chronicle the gotcha's while actually doing it.
1. I'm using VMWare because it's a bit simpler
- host is a laptop running duo core AMD 2G 64bit CPU's with 3G RAM, Ubuntu as a host OS
2. I'm creating a knoppix VM and then turning it on, letting it boot, making a hard partition formatted and then "installing" it there after some fancy stuff
gotcha: use the DVD, it's bloated, but it has the qt libs on it.
3. knoppix will see whatever disk you've created and show it on the desktop, but you still have to format it and mount it
fdisk /dev/sda mkfs -t ext3 /dev/sda1 mkdir /mnt/sda1 mount -t ext3 /dev/sda1 /mnt/sda1
4. now you create the directory structure to use as a SOURCE and also a BUILD directory, so you have to copy the Knoppix files to your SOURCE and then select packages and then create the stuff in your BUILD directory, that's what you'll be mastering the CD/USB with. first you have to mount some stuff and then chroot into your environment
mount --bind /proc /mnt/hda1/knx/source/KNOPPIX/proc mount --bind /sys /mnt/hda1/knx/source/KNOPPIX/sys chroot /mnt/hda1/knx/source/KNOPPIX
5. Delete extra packages, you can find out the big packages installed by running
dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1" "$2}'
here's the packages I uninstalled
apt-get remove --purge lazarus crystalspace mysql-server-5.0 evolution evolution-common sun-java5-bin\ openoffice.org-core wine axiom inkscape planetpenguin-racer-extras foomatic-db-gutenprint fp-docs\ wireshark-common eclipse pari-extra openoffice.org-common foomatic-db emacs21-common eclipse-source\ icedove maxima frozen-bubble-data freepats lilypond-doc texlive-fonts-extra valgrind wpolish emacs22\ xemacs21 xemacs21-basesupport doc-linux-html quantlib-refman-html gnome-user-guide stellarium-data\ grass-doc qemu amarok amarok-engine iceape-browser gnome-games-data wordnet-base gimp gimp-data\ gimp-help-common r-cran-mapdata tuxpaint-stamps-default scribus sbcl octave2.9\ apache* mysql* php* gcompris* erlang* koffice* lyx* octave* mono-xsp mono-xsp-base nvu vzrpm*\ sunbird* gnucash* dasher* grass kmymoney* kopete* mysql* nessus* gambit* konversation* pidgin*\ bacula* tora ekiga mplayer* postgresql* sqlite3 squid* audacious* compiz* xaos* texmacs*\ elinks kalarm* kcalc amanda* dvdauthor ksnake kgames rosegarden* ruby-examples libruby1.8\ quantlib-ruby libreadline-ruby1.8 scribus* openhackware* playmidi pmidi kturtle rubber gocr\ clamav* cups-pdf cupsconfig-knoppix cupsys cupsys-bsd cupsys-client cupsys-common unixodbc\ cupsys-driver-gutenprint ldap-utils python-ldap selfhtml dia dia-common dia-gnome dia-libs\ planner planetpenguinracer* atlas2-base atlas3-base atlas3-base-dev atlas3-headers
now remove the unneeded stuff
apt-get autoremove
6. now scp the files you need to load to wherever you want to load them.
7. edit your /etc/dhcpc/resolv.conf file so it matches the one in your host OS, then see if the internet works
vi /etc/dhcpd/resolv.conf ping yahoo.com
8.
- unmounting and making your .iso
umount /proc ctrl+D to leave the chroot
- now remove some spare junk files
rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved
- now you have to compress the iso file system, the wiki has 3 different ways to do it, but the second one is the only one I can get to work so far, #1 give a bad compression error, and I'm not sure about #3. Also, you really need about 6-7G of swap, so don't even try this if you don't, it will fail in wierd ways. You can change the filesystem label and publisher to whatever you want. Best case this could take 30 minutes, or much longer depending on system speed/memory.
mkisofs -R -U -V "KNOPPIX.net filesystem" -publisher "KNOPPIX www.knoppix.net" \ -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX \ | nice -5 /usr/bin/create_compressed_fs -B \ 65536 -f /mnt/hda1/isotemp - /mnt/hda1/knx/master/KNOPPIX/KNOPPIX
- now you have to make md5sums of stuff
cd /mnt/hda1/knx/master
find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin \
-exec md5sum '{}' \; > KNOPPIX/md5sums
- then make the actual .iso like this
mkisofs -pad -l -r -J -v -V "KNOPPIX" -no-emul-boot -boot-load-size 4 \ -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \ -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master
which will give you a knoppix.iso here
/mnt/hda1/knx/knoppix.iso
[edit] revised list of packages that won't hork the system =
apt-get remove lazarus crystalspace mysql-server-5.0 evolution evolution-common \ sun-java5-bin openoffice.org-core wine axiom inkscape planetpenguin-racer-extras \ foomatic-db-gutenprint fp-docs wireshark-common pari-extra openoffice.org-common \ foomatic-db icedove maxima frozen-bubble-data freepats lilypond-doc valgrind wpolish \ doc-linux-html quantlib-refman-html gnome-user-guide stellarium-data grass-doc \ qemu amarok amarok-engine iceape-browser gnome-games-data wordnet-base gimp gimp-data\ gimp-help-common r-cran-mapdata tuxpaint-stamps-default scribus sbcl octave2.9\ apache apache2 apache-common apache-dev apache-utils apache2-doc apache2-utils \ apache2.2-common libapache-dbi-perl libapache-mod-perl libapache-mod-ssl \ libapache-session-perl libapache2-mod-jk libapache2-mod-php5 mono-apache-server \ rt3.4-apache mysql-server-5.0 mysql-client-5.0 php5-mysql php5 gcompris erlang \ koffice koffice-dev koffice-data koffice-doc-html lyx octave2.1 octave2.9 mono-xsp-base \ nvu vzrpm43 vzrpm44 sunbird gnucash bluefish cervisia tora blender dia dia-common \ dia-gnome dia-libs fontforge fontforge-doc atlantik atlantikdesigner juk \ gqview gwenview kdvi kghostview kpdf kivio kivio-data compiz compiz-core \ compiz-fusion-bcop compiz-fusion-extras compiz-fusion-plugins-extra \ compiz-fusion-plugins-main compiz-fusion-plugins-unstable compiz-gnome \ compiz-fusion-plugins-unsupported compiz-kde compiz-manager compiz-plugins \ compizconfig-backend-gconf compizconfig-settings-manager libcompizconfig0 \ python-compizconfig ksnapshot karbon kolourpaint kooka krita krita-data \ kuickshow qcad libqcad0 sodipodi gpdf kpdf xpdf xpdf-common xpdf-reader \ xpdf-utils cups-pdf gmt-tutorial-pdf gsl-doc-pdf pgdocs-pdf-a4 r-doc-pdf \ wings3d xsane xsane-common xaos digikam gthumb gtkam kcoloredit kmail kmailcvt \ audacious audacious-plugins audacious-plugins-extra libaudacious4 audacity \ grip helix-player mozilla-helix-player isomaster ratpoison jokosher kino \ hplip hplip-data hplip-gui k3b k3b-defaults libk3b2 libk3b3 mplayer \ mplayer-skin-blue kmix kaffeine totem totem-common totem-mozilla totem-xine \ libtotem-plparser7 nvtv rhythmbox rosegarden rosegarden-data rosegarden4 \ sound-juicer sound-recorder ffmpeg libavcodec1d libavformat1d libavutil1d \ libpostproc1d libswscale1d libxine1-ffmpeg kmines sweep tvtime xmms \ virtualbox-ose virtualbox-ose-modules-2.6.24.4 virtualbox-ose-source \ rocklight smpeg-xmms xmms-cdread xmms-goom xmms-modplug xmms-volnorm \ mp3blaster configure-xawtv xawtv xawtv-plugins terminatorx artsbuilder \ arts kword kword-data kwordquiz kspread kpresenter kpresenter-data abiword-common \ abiword-gnome abiword-help quanta quanta-data jpilot jpilot-backup jpilot-mail \ jpilot-plugins jpilot-syncmal kpilot kchart kplato kexi libkexiv2-3 mplayer \ kview kviewshell kontact efax efax-gtk gnumeric gnumeric-common gnumeric-doc \ gnumeric-plugins-extra kaddressbook karm kmymoney2 knotes korganizer ktnef \ libktnef1 evince kile kile-i18n kfax kopete nessus nessus-plugins nessusd \ libnessus2 pidgin pidgin-data pidgin-encryption epiphany-browser epiphany-gecko \ epiphany-browser-data epiphany-extensions konversation kontact liblinphone2 \ linphone linphone-nox linphone-common krdc krfb gftp gftp-common gftp-gtk \ gftp-common gftp-text xpaint tuxpaint airsnort mldonkey-gui mldonkey-server \ dasher dasher-data grass gambit gambit-doc postgresql-8.0 postgresql-common \ odbc-postgresql postgresql-client-8.0 postgresql-contrib-8.0 postgresql-doc-8.0 \ postgresql-plperl-8.0 postgresql-plpython-8.0 postgresql-pltcl-8.0 \ postgresql-server-dev-8.0 bacula-client bacula-common bacula-console bacula-fd \ bacula-director-mysql bacula-doc bacula-sd bacula-sd-sqlite3 \ amanda-client amanda-server amanda-common ruby ruby1.8 ruby-examples libruby1.8 \ clamav clamav-base clamav-docs clamav-freshclam libclamav3 dia dia-common \ dia-gnome dialog scribus scribus-doc-de scribus-doc-en scribus-doc-fr \ xchat xchat-common planner pybliographer chromium chromium-data xgalaga \ kasteroids kbounce ksnake crystalspace crystalspace-doc kspaceduel ktron \ kgoldrunner neverball neverball-common neverball-data neverputt toppler \ tuxkart tuxkart-data tuxmath tuxpuck tuxtype tuxtype-data bzflag bzflag-server \ planetpenguin-racer planetpenguin-racer crossfire-client crossfire-client-gtk \ crossfire-client-gtk2 crossfire-client-images crossfire-client-sounds \ crossfire-client-x11 crossfire-common falconseye falconseye-data nethack-x11 \ nethack-common nethack-console scummvm eog kiconedit kruler sound-recorder \ kdict kboincspy kboincspy-dev khexedit pingus pingus-data konquest kbattleship \ klickety ksame ksokoban katomic kjumpingcube klines crack-attack john enigma \ enigma-data ksudoku tuxkart tuxkart-data freeciv freeciv-data freeciv-server \ kjumpingcube xbattle gtans pioneers-ai pioneers-client pioneers-help \ pioneers-server-console pioneers-server-data pioneers-server-gtk kblackbox \ gnucash-common atlas2-base atlas3-base atlas3-base-dev atlas3-headers eclipse \ eclipse-jdt eclipse-pde eclipse-platform eclipse-rcp eclipse-source ekiga \ kstars kstars-data metacity metacity-common libmetacity0 lilypond lilypond-data \ xscreensaver xscreensaver-data xscreensaver-data-extra xscreensaver-gl \ xscreensaver-gl-extra thunar thunar-data keepassx amor kteatime kworldclock \ kodo krusader samba samba-common sambastart-knoppix vcdimager vcdtools \ libvcdinfo0 mcdp khangman kiten libkiten1 klatin klettres klettres-data \ kmessedwords kanagram kverbos kvoctrain grace euler kbruch kpercentage \ ekiga kig kmplot kturtle pcb blinken keduca ktouch gperiodic kalzium \ kalzium-data kfouleggs kolf ksirtet ksmiletris xboing netris tint flobopuyo \ cgoban kenolaba kbackgammon gnugo gnubg gnuchess kreversi kshisen kmahjongg \ kwin4 xboard xvier lskat kpat kpoker ace-of-penguins xskat ktuberling
cups cups-bsd cups-common \
cups-pdf cupsconfig-knoppix cupsys cupsys-bsd cupsys-client cupsys-common \ cupsys-driver-gutenprint gnome-cups-manager libcups2 libcups2-dev libcupsimage2 \ libcupsys2 libcupsys2-dev libgnomecups1.0-1 libgnomecupsui1.0-1c2a
dasher* grass kmymoney* kopete* mysql* nessus* gambit* konversation* pidgin*\
bacula* tora ekiga mplayer* postgresql* sqlite3 squid* audacious* compiz* xaos* texmacs*\ elinks kalarm* kcalc amanda* dvdauthor ksnake kgames rosegarden* ruby-examples libruby1.8\ quantlib-ruby libreadline-ruby1.8 scribus* openhackware* playmidi pmidi kturtle rubber gocr\ clamav* cups-pdf cupsconfig-knoppix cupsys cupsys-bsd cupsys-client cupsys-common unixodbc\ cupsys-driver-gutenprint ldap-utils python-ldap selfhtml dia dia-common dia-gnome dia-libs\ planner planetpenguinracer* atlas2-base atlas3-base atlas3-base-dev atlas3-headers
suspect removal devils
eclipse emacs21-common eclipse-source texlive-fonts-extra emacs22 xemacs21 \ xemacs21-basesupport
apt-get autoremove
apt-get install python-dev python-qt3 kdebase-kde4 kdm-kde4 dolphin-kde4 \ kappfinder-kde4 kdebase-bin-kde4 kdepasswd-kde4 kfind-kde4 konqueror-kde4 \ konqueror-nsplugins-kde4 konsole-kde4 kwrite-kde4 libkonq5 kdelibs5 \ libopenexr2c2a kdebase-runtime kdelibs5 libphonon4 kdebase-runtime-bin-kde4 \ kdebase-runtime-data kde-icons-oxygen phonon-backend-xine
[edit] CD attempt
srs1.py won't run because it needs qt, python-qt3 is what's needed, I found it here:
wget http://ftp.osuosl.org/pub/debian/pool/main/p/python-qt3/python-qt3_3.16-1.2_i386.deb
you can't install 3.17 because it wants to upgrade glibc, which will hork everything. But is needs
python-sip4
as a dependency, which lives here:
wget http://debian.oregonstate.edu/debian/pool/main/s/sip4-qt3/python-sip4_4.4.5-4_i386.deb
then you can install them and stuff will work
dpkg -i python-sip4_4.4.5-4_i386.deb dpkg -i python-qt3_3.16-1.2_i386.deb
now delete unneeded stuff:
apt-get remove openoffice-de-en openoffice.org-debian-menus ttf-openoffice \ firefox iceweasel iceweasel-l10n-de icedove icedove-locale-de thunderbird \ wireshark wireshark-common libnessus2 nessus nessus-plugins nessusd \ startnessus-knoppix gimp gimp-data gimp-print libgimp2.0 audacity xmms \ xmms-cdread xmms-goom xmms-modplug xmms-volnorm mplayer mplayer-skin-blue \ java-common java2-runtime-knoppix sun-java5-bin sun-java5-demo sun-java5-jdk \ sun-java5-plugin wine winetools scribus xaos kooka xsane xsane-common \ airsnort beryl beryl-core beryl-manager beryl-plugins beryl-plugins-data \ beryl-settings libberylsettings0 xchat xchat-common gaim gaim-data kmail \ gaim-encryption libdbd-mysql-perl libmysqlclient15off mysql-client \ mysql-client-5.0 mysql-common php4-mysql apache2 apache2-mpm-prefork \ apache2-utils apache2.2-common libapache2-mod-php4 php4-common \
- scp scripts over then run
ln -s /root/script /etc/skel/.kde/Autostart/script
make sure you
chown knoppix.knoppix /root/script
- move your new background.jpg file over to
/mnt/hda1/knx/master/background.jpg
- install your other proprietary apps too
