good read...thanx! i'll be using your tips along with the scripts to create my rescue cd
Updated Sunday June 12, 2005
Please read through this and if possible please test it out as I would like to get rid of any mistakes
More updates & additions soon!
Knoppix 3.9 has a buggy UnionFS and this makes remastering Knoppix 3.9 fail. If you intend to remaster, then you must use Knoppix 3.8.1 or 3.8.2.
HOWTO: Remaster KNOPPIX the easy way using menu based remaster scripts.
** CHANGELOG **
- Version 1.0.4 - Monday May 2, 2005
- - - Tested & confirmed this HOWTO with Knoppix 3.8.1
- - - Added 'chmod' to deal with /tmp permissions
- Version 1.0.3 - Saturday December 18, 2004
- - - Credit Ian Naylor as a creator of the remastering scripts
- - - Changed title of HOWTO
- Version 1.0.2 - Monday December 13, 2004
- - - Edit some sections for clarity but not content
- - - Added paragraph stating that remaster can be done all in runlevel 2
- - - Tested & verified that this HOWTO works with Knoppix 3.6, 3.7 Pro (PC Welt), and Knoppix 3.7 public
- Version 1.0.1 - Monday November 22, 2004
- - - Fixed typographical error
- Version 1.0.0 - Friday October 8, 2004
- - - First full posting of HOWTO
- - - Major edits & corrections
** DISCLAIMER **
Use this at your own risk. I am not responsible for anything that might go wrong. I am human and I may have made a mistake in this HOWTO. Please private message me if you notice any typos or errors. Corrections & suggestions are welcome.
** WHY REMASTER **
Knoppix is the best Linux live CD available. However, you might have the desire to have your own custom Knoppix. The remastering process is a way creating a new Knoppix CD based off your customizations. Some obvious reasons for making a custom Knoppix CD:
- Knoppix does not have the programs that you require.
- Knoppix is too big to fit on a USB flash drive.
- Knoppix does not support your language.
- You wish to change the default KDE themes & settings.
See the Knoppix Wish List for more ideas.
** WHY I WROTE THIS HOWTO **
This HOWTO is compiled from my numerous attempts of remastering, the knoppix.net documentation, and the brilliant posters in the forums. At knoppix.net, the documentation is well done and thorough and the remastering/customization documentation references a detailed and involved method of remastering. I have used this method of remastering and it works. In August, two Knoppix developers, Klaus Knopper & Fabian Franz, created a new set of scripts that "wrap around" the older method with a menu system. This menu simplifies the remastering process and hides the long and sometimes confusing commands from the user. This is my attempt to bring to light this new method that uses these scripts.
From http://www.ukuug.org/events/linux2004/knoppix.shtml:** CREDITS **Remastering KNOPPIX has always been a lot of hassle -- requiring numerous intricate steps on the command line making it easy to forget an important step. While there are several HOWTOs on the net that explain the steps, Ian Naylor thought it would be a good idea to write some scripts to automate the process. He described this during this year's UKUUG Linux conference in Leeds, England. Ian presented a talk on "Building your own Live CD based on KNOPPIX". Fabian Franz, a member of the KNOPPIX team who attended the talk, said afterwards: Ian's scripts just opened my eyes -- it was a very clear structure and for the first time in my life I understood the remastering process from a user's point of view.
Ian and Fabian started talking after the presentation and were inspired to develop a new graphical remastering tool to build acustomised KNOPPIX distribution. One day later Fabian was demonstrating the new script to a stunned audience. Unlike previous efforts to solve the same problem this is based on Klaus Knopper's originalscripts and written in a way so that future improvements in themaster scripts will be reflected in these.
I make no claims that I "discovered or invented" the remastering scripts (see the quoted text above.) My thanks to Klaus Knopper, Ian Naylor, Fabian Franz, Debian developers, KDE developers, the knoppix.net forum moderators, the plethora of knowledgeable forum posters and certainly knoppix.net site admin eadz for creating knoppix.net
** ASSUMPTIONS **
This HOWTO assumes that the user has basic knowledge of the command line programs such as ls, mv, cp, df -h, mkdir, etc. You will probably need to use a command line text editor such as vim, emacs, joe, zile. If you remaster in KDE then you can use any of the graphical editors. You will also need a basic understanding of the Debian apt-get method of package management. At any point during the remastering process, you can make a backup of your progress. This allows you to fully experiment with your remaster and you can add or delete as you see fit without having to start all over. You can read about making a backup in a section I labeled as "THIS IS COMPLETELY OPTIONAL".
** REQUIREMENTS **
The total remastering time is dependant on the time it takes to make all the changes, the HD drive speed and CPU speed. I estimate about 2.5 hours for a mid-range system that follows the package changes listed below.
The first half of the HOWTO can either be done from the command line runlevel 2 or inside X at runlevel 5. The only time you are forced to drop to a console session is running X from the chroot. If you choose to remaster from within KDE (runlevel 5), then when you must follow the steps listed at the section labeled "** END OF FIRST HALF **".
The HOWTO as a whole can be done from command line runlevel 2 without having to jump into KDE & runlevel 5. I use runlevel 5 because I like synaptic over aptitiude/apt-get and I hate the default Knoppix transparent menus and the Keramik widget style. I learned how to remaster just to install the kdeartwork package just so I can get the plastik widgets (which will be default style for KDE 3.4 thank god). If you don't need to custom configure the knoppix user's KDE desktop, and if you are comfortable with the command line and aptitude/apt-get, then you can stay in runlevel 2 and complete the remastering process.
My system:
AMD 1.6 GHz Duron
768MB RAM
IDE hard drive /dev/hda is 40GB
IDE hard drive /dev/hdb is 40GB
IDE DVD-ROM drive is /dev/hdc
IDE CD-RW drive /dev/hdd
This HOWTO has been tested with versions:
- - - Knoppix 3.6
- - - Knoopix 3.7 Pro (German PC Welt)
- - - Knoppix 3.7 public
You will need a PC that can boot Knoppix 3.6 or 3.7 to a graphical KDE desktop. You should be able to remaster on that PC as long as you have at least 1 GB combined swap & RAM and 3GB of hard drive space. The 3GB figure is calculated using a remaster filesystem of about 2.1GB which compresses down to about 685MB CD ISO.
NOTE: You do not need to format your C: drive or lose data. This system is my test & experiment system. I format/partition/reinstall Linux & windows on that system regularly. This means I completely lose whatever was on the hard drives.
** BEGIN REMASTERING **
I boot to the console command line (called runlevel 2) with Knoppix 3.6 english using cheatcodes.Get to the console command line (called runlevel 2) with Knoppix 3.7 using cheatcodes.Code:knoppix 2 vga=normalAlternatively, I could use the boot cheatcodes to boot directly to KDE (runlevel 5) and perform the first half of the remastering process from within KDE.Code:knoppix 2 lang=us vga=normalOr If I am using Knoppix 3.7 then I use cheatcodesCode:knoppixWhen it brings me to the command prompt I use cfdisk and partition hda & hdb as follows:Code:knoppix lang=us
- hda1 swap 1GBCode:cfdisk /dev/hda
- hda2 6GB
- the rest of hda is left free
I partition /dev/hdb as into hdb1 ext3 40GBCode:cfdisk /dev/hdb
I exit cfdisk, it tells me that I have to reboot to make the system recognize the newly created partitions. So I type use the following command to reboot.Again I boot with the appropriate cheatcodes.Code:init 6
At the command prompt I format the filesystems.
Next I mount the hda2 partition which will be the place where I extract out the remasterCode:mkswap /dev/hda1 swapon /dev/hda1 mke2fs -vj /dev/hda2 mke2fs -vj /dev/hdb1
Now I get the remastering scripts located at http://debian.tu-bs.de/knoppix/remaster/, extract the scripts, and setup my directories.Code:mount -t ext3 /dev/hda2 /mnt/hda2 mkdir /mnt/hda2/remaster cd /mnt/hda2
I edit the config file so that my remastered CD is personalized. The config file is in the scripts folder at KNOPPIX.build/remaster_config. I leave the _FILESYSTEM variables alone. I leave the REMASTER_COMPRESSION_BEST variable alone even though the best compression might be better since it would take about 4 to 6 times longer to make the compressed filesystem.Code:wget http://debian.tu-bs.de/knoppix/remas...r_0.1-6.tar.gz tar zxvf remaster_0.1-6.tar.gz mv remaster-0.1 scripts cd scripts
** PROXY SETTINGS **
The cleanup remaster script uses apt-get and must access the internet or the cleanup will fail. If you are behind a proxy and must authenticate against it to access the internet, then first gather the required proxy info and write it down in the following form
I need to edit the knoppix-remaster script and add the proxy settings. At line 136, I add new line for the proxy
Becomes136: cp -f /etc/dhcpc/resolv.conf "$REMASTER_CHOICE"/etc/dhcpc/
137: CREATE_COMPRESSED_FS="yes" CLEANUP="$REMASTER_CLEANUP" COMPRESSION_BEST="${REMASTER_COMPRESSION_BEST:+--best}" chroot $REMASTER_CHOICE" /KNOPPIX.build/Knoppix-3.4.mkcompressed "$REMASTER_MASTER" auto
** END PROXY SETTINGS **136: cp -f /etc/dhcpc/resolv.conf "$REMASTER_CHOICE"/etc/dhcpc/
137: export http_proxy="http://usernameasswd@yourproxy.company.comortnumber/"
138: CREATE_COMPRESSED_FS="yes" CLEANUP="$REMASTER_CLEANUP" COMPRESSION_BEST="${REMASTER_COMPRESSION_BEST:+--best}" chroot $REMASTER_CHOICE" /KNOPPIX.build/Knoppix-3.4.mkcompressed "$REMASTER_MASTER" auto
Run the remastering script with the following command.
Then I follow the menus and create a new remaster and hit <ENTER> for the default path. It will extract the contents of the CD. When it is done it will ask if I want to chroot into the extracted enviornment. Choose the chroot option & it will drop me into a command line enviornment that is inside the extracted Knoppix filesystem. To exit the chroot and get back to the menu, type exit or use the keyboard keys <CTRL-D>.Code:./knoppix-remaster /mnt/hda2/remaster
** BEGIN CHROOT INFO **
If you do not want to know more about the chroot, then skip this section.
Chroot changes the perceived root ( / ) of the filesystem. Please examine the following command.
That command when run outside a chroot will give us a listing of all .conf files in /etc which are physically on the Knoppix CD. However, that command run inside the chroot will give us a listing of all the .conf files in /etc which is really /mnt/hda2/etc. This means that in our case /mnt/hda2/remaster is mapped to /. Also, all commands run in a chroot only affect the chroot filesystem. See the following links for more info.Code:ls /etc/*.conf
http://www.ketec.ie/WebHelp/oh_site_about_chroot.htm
http://www.ss64.com/bash/chroot.html
http://en.wikipedia.org/wiki/Chroot
** END CHROOT INFO **
The following examples are MY way of customizing Knoppix. (I have no need for other international locales or languages, so I remove them. I do not like the openoffice that is bundled with Knoppix so I replace it.)
I use following command to get a listing of all packages installed.While that command is useful, I use grep to sort out which packages I want to remove. The following command shows me packages that kde uses for internationalization support and strips off all the other extraneous information.Code:dpkg-query -l | lessI can feed this to apt-get so that it will remove those packages.Code:dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3I remove openoffice and other German tools as follows.Code:apt-get remove `dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3`I remove enigma and bacula as followsCode:apt-get remove openoffice-de-en manpages-de trans-de-enI also remove emacs since I don't like it or use it.Code:apt-get remove enigma bacula-commonThis gives me a reasonable base to begin updating and adding packages to this system. First I configure /etc/apt/sources.list and add the appropriate entries for a local Debian mirror.Code:apt-get remove emacs21 emacs21-bin-common emacs21-common emacsen-common gettext-el zile
** PROXY SETTINGS **
If you are behind a proxy and must authenticate against it to access the internet, then use the following command.
** END PROXY SETTINGS **Code:export http_proxy="http://username:passwd@yourproxy.company.com:portnumber/"
Next I update the system's package listing with the command.Code:apt-get update
After that is finished, I add three useful packages.Localepurge will only keep the locales that are marked. This means that it will free up additional space. Aptitude is a console menu front end to apt and dpkg, while synaptic is a graphical front end to apt & dpkg.Code:apt-get install localepurge aptitude synaptic
So far, all of the tasks I have done have been on the command line and requires quite a bit of knowledge and some people view the command line as tedious work. Fortunately I can also use synaptic to add/remove packages. Before I enter a graphical enviornment, I need to make sure it is configured. This next command must be done outside the chroot. From virtual terminal 2 <ALT-F2>, I copy the XF86Config-4 file from /etc/X11 to /mnt/hda2/etc/X11.I am done with commands outside the chroot and the rest of the commands need to be done inside the chroot. Flip back to virtual terminal 1 <ALT-F1> and copy /etc/skel to /home/knoppixCode:cp /etc/X11/XF86Config-4 /mnt/hda2/remaster/etc/X11Change the user of /home/knoppix & its files to user knoppixCode:cp -Rp /etc/skel /home/knoppix** END OF FIRST HALF **Code:chown -R knoppix:knoppix /home/knoppix
If you performed the first half of this HOWTO from within KDE, then you must follow these steps.
If you perfored the first half of the HOWTO from console command line session, then DO NOT DO THESE STEPS! You can skip down to the start of the last half.
Exit the chroot by typing exit or <CTRL-D>. Exit the menu by choosing option 6 "Quit the program." Use the following command to go to runlevel 2.It will close KDE and leave you at a command prompt.Code:init 2
Choose "No", I do not want to create a new remaster. Hit <ENTER> to choose the path /mnt/hda2/remaster as default. Choose the chroot option to enter the chroot.Code:cd /mnt/hda2/scripts ./knoppix-remaster /mnt/hda2/remaster
This section is complete.
** START OF LAST HALF **
For Knoppix 3.8.1 only
Now inside the chroot as root user, change the permissions of /tmp to full read/write and execute. If you do not, then KDE will not run.End For Knoppix 3.8.1 onlyCode:chmod 777 /tmp
Become the user knoppixStart X which will start KDE and bring us to a graphical desktopCode:su - knoppixNow that it is in KDE, I can change the fonts to Bitstream Vera Sans and enable anti-aliasing. I can disable the menu translucency and the konsole translucency. I can use synaptic to add mozilla firefox, openoffice.org, vncviewer, kdeartwork which contains the Plastik widget style, and I can even update KDE from 3.2.3 to 3.3. If I do update all or parts of KDE, it is suggested that I exit KDE (close session), drop back to the command prompt and rerun startx to make sure it is applied.Code:startx
When I am happy with all the changes that I have made, then it is time to exit KDE. I exit KDE (close session) and I am dropped back at the prompt. I type exit to exit my session as the user knoppix and I am now root.
** THIS IS COMPLETELY OPTIONAL **
This assumes that you have at least 3GB of additional free hard disk space.
At this point I want to make a safe backup copy of all the changes that I have made. If you do not want to make a backup copy then skip this part.
I exit the chroot by either typing exit or using the keyboard <CTRL-D>. Now back at the menu, I choose option 6, and quit the program. Next I mount hdb1Now I copy the whole remaster to hdb1 for safe keeping.Code:mount -t ext3 /dev/hdb1 /mnt/hdb1With that complete, I unmount hdb1.Code:cp -Rp /mnt/hda2/remaster /mnt/hdb1/backup-remaster
When that is complete I rerun the knoppix-remaster command and tell it "No", I do not want to create a new remaster. Hit <ENTER> to choose the path /mnt/hda2/remaster as default.Code:umount /mnt/hdb1
I choose option 1 and chroot into the remaster.Code:./knoppix-remaster /mnt/hda2/remaster
** END OF COMPLETELY OPTIONAL **
NOTE: The rest of the steps are written with the assumption that it is being done from runlevel 2. However they can be done within KDE by typing init 5, running the knoppix-remaster script, and then chroot into the remaster.
Now I need to make the changes to the system so that the knoppix CD will boot without errors. As a reminder, these commands need to be done inside the chroot, virtual terminal 1 <ALT-F1>.
Delete the existing /etc/skel.Move /home/knoppix to /etc.Code:rm -rf /etc/skelChange the owner back to root.Code:mv /home/knoppix /etc/skelRemove the XF86Config-4 file as it will get recreated on every bootup.Code:chown -R root:root /etc/skelFor Knoppix 3.8.1 onlyCode:rm /etc/X11/XF86Config-4
Now inside the chroot as root user, change the permissions of /tmp back to read and execute.End For Knoppix 3.8.1 onlyCode:chmod 555 /tmp
I must now mention the file /etc/X11/Xsession.d/45xsession. This script controls how knoppix behaves & how knoppix creates the knoppix user's home directory. I am looking for the ninth occurence of rsync in the script and it is found at the line 128:
It is line 128 which populates the /home/knoppix folder. So In line 128, I delete from & including the { to the }. It is changed as follows.126: if [ -z "$DONTCHANGE" ]; then
127: # No persistent homedir, copy everything
128: rsync -Ha --ignore-existing /etc/skel/{.kde*,Desktop} $HOME/ 2>/dev/null
129: [ "$USER" = "knoppix" ] && rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2>/dev/null
Make the change and save the 45xsession file. Enter the following command to clean up the downloaded .deb packages.126: if [ -z "$DONTCHANGE" ]; then
127: # No persistent homedir, copy everything
128: rsync -Ha --ignore-existing /etc/skel/ $HOME/ 2>/dev/null
129: [ "$USER" = "knoppix" ] && rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2>/dev/nullI want to remove any traces of recently used programs in KDE so I edit /etc/skel/.kde/share/config/kickerrc and I find the field that reads something likeCode:apt-get clean
I edit the line and leave the end blankRecentAppsStat=9 1096000374 /usr/share/applications/mozilla.desktop
I am now all done with the customization and want to exit the chroot by either typing exit or using the keyboard <CTRL-D>. I flip back to virtual terminal 2 <ALT-F2>, and since I am paranoid, I delete /mnt/hda2/remaster/etc/skel/.bash_history & delete /mnt/hda2/remaster/root/.bash_history.RecentAppsStat=I flip back to virtual terminal 1 <ALT-F1> and run the knoppix-remaster script.Code:rm /mnt/hda2/remaster/etc/skel/.bash_history /mnt/hda2/remaster/root/.bash_history
I choose option 2 "Create compressed fs". It will ask me "Do you want to cleanup your remaster?" & I choose yes.Code:./knoppix-remaster /mnt/hda2/remaster
NOTE: a remaster filesystem of about 2.1GB compresses down to about 685MB CD ISO. I can check the system size by issuing the commands df -h or du -h --max-depth=1.
At this point it is fully automated and will create compressed Knoppix filesystem that is found on the Knoppix CD.
Compression times that I have experienced
Pentium 3 - 450 MHz 384MB aprox. 1hr 15min
Duron 1.6 GHz 768MB RAM aprox. 25 min
Opteron 242 (1.4GHz) 1GB RAM aprox 12 min
When the compressed filesystem step is complete, I choose option 3 "Create isofs" to create the ISO file. Again, through the wonders of these scripts, it is all automated. Once that step is complete, I choose the option 6 & quite the program.
I finished ISO file is located at /mnt/hda2/remaster/Knoppix.build/Knoppix.Master/KNOPPIX-CUSTOM.iso.
At this point I burn the ISO to CD. If you have an available CDRW drive in your system like my /dev/hdd, then type init 5 to go to runlevel 5 where it runs KDE and you can burn the CD with K3B. Or you can burn the CD from the command line. First get the CDRW device ID numbers viaIt will scan your system and display a list of devices. Identify the ID numbers in form #,#,#. My CDRW is 1,1,0. Load the CDRW drive with a blank CDR and use the command below to burn the ISO to the CDR.Code:cdrecord -scanbus
If you do not have a available CDRW drive, then perhaps you can boot into the graphical KDE environment via init 5. In KDE you can use the Knoppix menu and start the samba service to permit sharing of the hard drives via Windows network filesharing. Or you can copy the ISO to a FAT32 partition.Code:cdrecord -v gracetime=2 dev=1,1,0 speed=32 -dao driveropts=burnfree -eject -data /mnt/hda2/remaster/Knoppix.build/Knoppix.Master/KNOPPIX-CUSTOM.iso
** END REMASTERING **
This ends my HOWTO. Please private message me if you notice any typos or errors. Corrections & suggestions are welcome.
Happy remastering!
good read...thanx! i'll be using your tips along with the scripts to create my rescue cd
tried it today...
the good:
slimmed my iso down to 280mb!!!
the bad:
apt broke...when i go into aptitude it doesn't show the "Installed Packages" section
I think it happened during the cleanup phase of the scripts just before you do the compress_fs
That is great! No really. Congrats to you. I haven't yet gotten my knoppix smaller than 350MB, though I admit that I didn't try too hard.Originally Posted by bizarro
I think I have seen that before myself. Either something broke, I experienced a aptitude bug, or umm I just remembered that there is way to change the view in aptitude from Status (installed, not installed, upgradeable) to Sections (Base, Communications, Development).the bad:
apt broke...when i go into aptitude it doesn't show the "Installed Packages" section
I think it happened during the cleanup phase of the scripts just before you do the compress_fs
Perhaps that might help.
James
nope...not with the view...upon further investigation i find that i can't even apt-get any new apps...i can however apt-get remove...but no install anymore ...maybe i just took out too much
i'm trying again tonight
I updated the HOWTO. It is now easier to read, gives the user alternatives and better explantions, lists possible reasons for remastering, and is in a better sectional format.
i tried it again twice...
1st attempt i did everything exactly as i did before with my mods and changes and ran all the way through including the cleanup section and had the same result...installed packages disapeared from aptitude and it removed the ability to install more if i needed to later...
my 2nd attempt faired better when i avoided running the cleanup method...result was a larger iso BUT the ability to install packages later if i wanted to.
i then inspected the script for cleanup and ran everything manually except for the apt portion...
any ideas?
btw, thanx for this...well thought out and well written...
Have you already tried to compile your own kernel for a remastered knoppix?
Any suggestion?
Sorry, I have no idea why it might disable the installed packages portion.Originally Posted by bizarro
Thanks for the followup and thanks for the compliments.
No, I have not tried to compile my own Knoppix kernel. That is certainly something for me to try in the future.Originally Posted by sante
Hello, I've found a typo
Last line should beFortunately I can also use synaptic to add/remove packages. Before I enter a graphical enviornment, I need to make sure it is configured. This next command must be done outside the chroot. From virtual terminal 2 <ALT-F2>, I copy the XF86Config-4 file from /etc/X11 to /mnt/hda2/etc/X11.
Code:
cp /etc/X11/XF86Config-4 /mnt/hda2/etc/X11
I owe you a beer for this howto, if you'd come to Rome...cp /etc/X11/XF86Config-4 /mnt/hda2/remaster/etc/X11
Intel Core i7-7700 3.60GHz Quad-Core CPU
$38.47
Intel - Core i9-14900K 14th Gen 24-Core 32-Thread - 4.4GHz (6.0GHz Turbo) Soc...
$548.99
Intel Core i7-12700KF - Alder Lake 12-Core (8P+4E) 3.6GHz LGA 1700 125W CPU
$183.99
AMD Ryzen 9 7950X3D Gaming Processor - 16 Core And 32 Threads - 5.70 GHz Max Boo
$449.99
AMD Ryzen 7 5700G Processor (4.6 GHz, 8 Cores, Socket AM4) Tray
$140.00
Intel - Core i5-14600K 14th Gen 14-Core 20-Thread - 4.0GHz (5.3GHz Turbo) Soc...
$305.99
Intel Xeon E5-2680 v4 SR2N7 2.40GHz 35MB 14-Core LGA2011-3 CPU Processor
$14.99
Intel Xeon E5-2690 V4 @2.60GHz SR2N2 Socket LGA2011 Server CPU Processor
$30.99
** Intel i3 10100F CPU Processor - USED **
$47.99
Intel Core i5-13600K - 13th Gen Raptor Lake 14-Core (6P+8E) 3.5GHz LGA CPU
$259.96