<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://mail.knoppix.net/wiki3/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>https://mail.knoppix.net/wiki3/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ml</id>
		<title>Knoppix Documentation Wiki - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="https://mail.knoppix.net/wiki3/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ml"/>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Special:Contributions/Ml"/>
		<updated>2026-09-19T03:07:50Z</updated>
		<subtitle>User contributions</subtitle>
		<generator>MediaWiki 1.23.3</generator>

	<entry>
		<id>https://mail.knoppix.net/wiki/USB_Based_FAQ</id>
		<title>USB Based FAQ</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/USB_Based_FAQ"/>
				<updated>2008-12-23T10:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==KNOPPIX USB==&lt;br /&gt;
&lt;br /&gt;
Knoppix is a GNU/Linux distribution that boots and runs completely from cd it can also boot and run completely from a USB drive.&lt;br /&gt;
&lt;br /&gt;
To boot an unmodified Knoppix from a USB stick or USB hard drive is quite easy although it requires a few steps.  This tutorial assumes that you are already running GNU/Linux (and has been tested on [[Debian]]).&lt;br /&gt;
&lt;br /&gt;
Attach your USB device to your computer and create a partition (using e.g. cfdisk) large enough to hold the contents of the ISO image plus about 5%.  The rest of this discussion assumes that you can address this partition using /dev/sda1.&lt;br /&gt;
&lt;br /&gt;
Create a file system on the partition.&lt;br /&gt;
You can use an existing VFAT filesystem (to keep compatibility with Windows/DOS). &lt;br /&gt;
Regardless, make sure the partition type (set when you partition the drive) matches the filesystem you install.  (If they differ, grub-install will fail with a confusing message &amp;quot;file ...boot/grub/stage1 not read correctly&amp;quot;.)  Assuming you settle on an ext3 filesystem:&lt;br /&gt;
&lt;br /&gt;
 # mke2fs -j /dev/sda1&lt;br /&gt;
&lt;br /&gt;
'''Warning:''' Newer versions of mke2fs now create filesystems with inode sizes of 256 by default (instead of 128), which is causing compatibility issues with a lot of ext2/ext3 tools out there. If you want to be able to access your files from windows (using explore2fs for instance) make sure you do this instead:&lt;br /&gt;
&lt;br /&gt;
 # mke2fs -j -I 128 /dev/sda1&lt;br /&gt;
&lt;br /&gt;
To prevent fsck from being run on it:&lt;br /&gt;
&lt;br /&gt;
 # tune2fs -c 0 -i 0 /dev/sda1&lt;br /&gt;
&lt;br /&gt;
Mount the partition and copy the contents of the KNOPPIX ISO image (named KNOPPIX.iso below) to it:&lt;br /&gt;
&lt;br /&gt;
 # mount /dev/sda1 /mnt&lt;br /&gt;
 # mkdir knoppix&lt;br /&gt;
 # mount -o loop ./KNOPPIX.iso knoppix&lt;br /&gt;
 # cp -r knoppix/* /mnt&lt;br /&gt;
 # sync&lt;br /&gt;
 # umount knoppix&lt;br /&gt;
 # rmdir knoppix&lt;br /&gt;
&lt;br /&gt;
To set up Grub to boot from the USB drive, copy Grub's working files, namely, stage1, stage2 and the appropriate stage1_5 file, to the partition.  It is easiest to simply copy all of Grub's files.  Assuming your distribution has Grub's loader in /boot/grub:&lt;br /&gt;
&lt;br /&gt;
 # mkdir -p /mnt/boot/grub&lt;br /&gt;
 # cp -r /boot/grub/* /mnt/boot/grub&lt;br /&gt;
&lt;br /&gt;
(Note - You may want to try the grub-install command below before bothering to find those stage* files, since a recent version will do the copy itself.)&lt;br /&gt;
To install the stage1 boot loader to the drive's master boot record (MBR), edit the device.map file to tell grub-install that /dev/sda1 is a bios drive:&lt;br /&gt;
&lt;br /&gt;
 # echo '(hd0) /dev/sda' &amp;gt; /mnt/boot/grub/device.map&lt;br /&gt;
&lt;br /&gt;
and then install Grub to /dev/sda:&lt;br /&gt;
&lt;br /&gt;
 # grub-install --root-directory=/mnt --no-floppy '(hd0)'&lt;br /&gt;
&lt;br /&gt;
Finally, create a menu.lst file. (Note: On Redhat/Fedora based systems, the grub configuration file is called grub.conf, not menu.lst as on Debian systems, so replace menu.lst with grub.conf below.) Look at /mnt/boot/isolinux/isolinux.cfg.  These are the different default Knoppix configurations.  The default configuration on 4.0.2 is:&lt;br /&gt;
&lt;br /&gt;
 DEFAULT linux&lt;br /&gt;
 APPEND ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix&lt;br /&gt;
&lt;br /&gt;
Converting this to a Grub boot is relatively straight forward.  On booting, the root is set to the boot device.  This is the Knoppix partition which is exactly what we want.  The line starting with DEFAULT tells isolinux which kernel in /boot/isolinux to use.  APPEND tells isolinux the arguments to pass to the kernel.  Grub needs to load the initrd on its own and the arguments go on the kernel line.  With a bit of rearranging, we get the following:&lt;br /&gt;
&lt;br /&gt;
 title           Knoppix&lt;br /&gt;
 kernel          /boot/isolinux/linux ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791 initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix&lt;br /&gt;
 initrd          /boot/isolinux/minirt.gz&lt;br /&gt;
 boot&lt;br /&gt;
&lt;br /&gt;
Add the above to /mnt/boot/grub/menu.lst. Add the following lines to the beginning of the file to have Knoppix boot automatically:&lt;br /&gt;
&lt;br /&gt;
 default         0&lt;br /&gt;
 timeout         2&lt;br /&gt;
&lt;br /&gt;
Finally, unmount the partition.&lt;br /&gt;
&lt;br /&gt;
 # umount /mnt&lt;br /&gt;
&lt;br /&gt;
You should now be booting Knoppix from your USB drive.&lt;br /&gt;
&lt;br /&gt;
==Booting to an Image on an Alternative Device==&lt;br /&gt;
&lt;br /&gt;
Poor Man's USB Based Boot (Boot from USB flash memory stick and then continue boot with Knoppix image stored on a harddisk or a CD or an external USB harddisk ) How To:&lt;br /&gt;
&lt;br /&gt;
What you will need:&lt;br /&gt;
&lt;br /&gt;
* Computer with [http://www.wikipedia.org/wiki/BIOS BIOS] capable of booting from USB keydrive (select USB-HDD). (Unfortunately, some buggy BIOS just wont boot from my USB stick, such as all versions up to F9 for the Gigabyte GA-8IEXP motherboard).&lt;br /&gt;
* USB keydrive that can boot as USB-HDD device. Make sure you read the product specification, only some USB flash sticks support this feature. (or see this 4/05 review on Ars Technica http://arstechnica.com/reviews/hardware/flash2005.ars .  Only 3 of 10 reviewed sticks are bootable.)&lt;br /&gt;
* Linux with [http://en.wikipedia.org/wiki/GRUB GRUB] grub boot loader already installed. I just use Knoppix.&lt;br /&gt;
* Read [[Win Partition]] Poor Man Installation for the more versatile boot mechanism we gonna utilize here.&lt;br /&gt;
&lt;br /&gt;
Steps:&lt;br /&gt;
(Cautions: Unmount usb stick before you remove it from USB slot to avoid data loss. Backup the MBR of harddisk and USB stick, see the [http://www.knoppix.net/forum/viewtopic.php?p=64999#64999 link] above)&lt;br /&gt;
&lt;br /&gt;
# Insert the USB stick, use cfdisk to create a partition with boot flag on this device ( cfdisk /dev/sda ). Create a file system on the newly created partition.(eg. mke2fs -m0 /dev/sda1)&lt;br /&gt;
# Mount the partition and install grub boot loader on this device ( mount /dev/sda1 /mnt/usb &amp;amp;&amp;amp; grub-install --root-directory=/mnt/usb /dev/sda ). Now the USB stick is already bootable, you will enter the interactive GRUB shell enviroment if you boot with it.&lt;br /&gt;
# Copy kernel and initrd to USB stick. To continue boot from an knoppix 3.6 ISO image stored on a NTFS/FAT harddisk partition, you will need the kernel and miniroot.gz files from [http://s94002264.onlinehome.us/grub/grube.zip Ruymbeke's files].&lt;br /&gt;
# Create a file ''menu.lst'' under dir ''/mnt/usb/boot/grub'', I just copied the one from [http://s94002264.onlinehome.us/grub/grube.zip Ruymbeke's files] pasted in [[Win Partition]] PMI. Specify the location of the newly copied kernel and minirt files in this file, note (hd0,0) is the first partition on USB stick when you boot from it, and the first harddisk likes to be hd1. To find out how GRUB map devices, press key '''c''' when you see GRUB boot menu at boot time, then type ''root ('' and press '''''TAB''''' key, see the GRUB texinfo for detail.&lt;br /&gt;
&lt;br /&gt;
DONE.&lt;br /&gt;
&lt;br /&gt;
I have created a 32M boot partition on a 128M USB flash stick, and use it to boot Knoppix ISO image stored in a FAT32 partition shared by Windows, or to boot ubuntu live CD (basemodule is Morphix) already copied to another partition. The purpose is to reduce the time to burn these Linux Live CDs and less CDs to carry with.&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-31T23:55:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Poor man's install, grub and ntfs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Poor man's install, grub and ntfs ====&lt;br /&gt;
Let's say we have a windows only pc, with just one ntfs partition.&lt;br /&gt;
We want a way to copy the cd to the hd so we don't need the cd anymore (poor man's install).&lt;br /&gt;
&lt;br /&gt;
We'll install grub on hd so we don't even rely on the cd for booting. Except for that, we want minimal&lt;br /&gt;
changes done to the machine. especially, no repartitioning.&lt;br /&gt;
&lt;br /&gt;
* First, we need a version of grub that can read ntfs, since that's the only place we can install it. From windows, install [http://grub4dos.sourceforge.net/ wingrub] using the boot.ini method.&lt;br /&gt;
* grub will look for things in C:/boot/grub. If there's a C:/grub instead, create boot directory and move it there.&lt;br /&gt;
* copy boot/vmlinuz and boot/miniroot.gz from knoppix cd to C:/boot/knoppix/&lt;br /&gt;
* copy cd's KNOPPIX/ directory to C:/&lt;br /&gt;
* edit C:/boot/grub/menu.lst :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
title           Windows&lt;br /&gt;
rootnoverify    (hd0,0)&lt;br /&gt;
makeactive&lt;br /&gt;
chainloader     +1&lt;br /&gt;
&lt;br /&gt;
title           My Knoppix&lt;br /&gt;
root            (hd0,0)&lt;br /&gt;
kernel          /boot/knoppix/vmlinuz fromhd lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 quiet BOOT_IMAGE=knoppix dma&lt;br /&gt;
initrd          /boot/knoppix/miniroot.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* If you don't want to install grub on the mbr stop here, otherwise go on.&lt;br /&gt;
* In wingrub make sure you do the base install.&lt;br /&gt;
* reboot, ntldr menu lets you choose between windows and grub. choose grub.&lt;br /&gt;
* press ESC or c to go to command line. type&lt;br /&gt;
  root (hd0,0)&lt;br /&gt;
  setup (hd0) &lt;br /&gt;
grub is now installed in mbr.&lt;br /&gt;
* reboot under windows this time, rerun wingrub. uninstall grub from boot.ini&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese (which i don't speak), so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from [http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb], fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-31T23:21:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: poor man's install, grub and ntfs&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Poor man's install, grub and ntfs ====&lt;br /&gt;
Let's say we have a windows only pc, with just one ntfs partition.&lt;br /&gt;
We want a way to copy the cd to the hd so we don't need the cd anymore (poor man's install).&lt;br /&gt;
&lt;br /&gt;
We'll install grub on hd so we don't even rely on the cd for booting. Except for that, we want minimal&lt;br /&gt;
changes done to the machine. especially, no repartitioning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese (which i don't speak), so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from [http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb], fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T16:14:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* accelerated knoppix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese (which i don't speak), so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from [http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb], fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T16:13:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* accelerated knoppix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese (which i don't speak), so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from [http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb], fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Remastering_Hacks</id>
		<title>Remastering Hacks</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Remastering_Hacks"/>
				<updated>2006-05-11T16:12:05Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are so many howtos cropping up, each with individual tips and customization examples for Knoppix remasters, that it seems good to have a place to put generic tips, no matter how you go about remastering, be it using scripts, completely by hand, or via a HD install, Morphix, etc...  Please add your tips and example &amp;quot;hacks&amp;quot; here.  &lt;br /&gt;
&lt;br /&gt;
= Remastering Process Tips =&lt;br /&gt;
== Saving space while running chroot environment ==&lt;br /&gt;
* If you booted from CD, even on a HD install (example: Pivot Install) instead of copying the original CD and KNOPPIX directory to the HD, you can use them directly from their mount points.&lt;br /&gt;
* Another alternative is to mount an ISO image of the original CD as a loop device and mount the KNOPPIX image as a '''cloop''' device. You will save close to 2GB of space. Script to mount from an ISO image:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Assumes that the current directory is the working space&lt;br /&gt;
 # original.iso is an image of the CD we will be using as master&lt;br /&gt;
 mount -t iso9660 original.iso ./oldcd -o ro,loop&lt;br /&gt;
 # initialize the compressed loop device&lt;br /&gt;
 losetup /dev/cloop1 ./oldcd/KNOPPIX/KNOPPIX&lt;br /&gt;
 mount -t iso9660 /dev/cloop1 ./KNOPPIX -o ro,loop&lt;br /&gt;
&lt;br /&gt;
= Installing software and clearing up space with Apt =&lt;br /&gt;
&lt;br /&gt;
== Get the best apt mirror ==&lt;br /&gt;
&lt;br /&gt;
* Get '''apt-spy''' and use it to modify the sources.list file with the best mirrors for your particular region. This will speed up the downloading. Backup the original '''sources.list''' just in case.&lt;br /&gt;
* Another technique is to modify '''sources.list'''. Replace the string '''.de.''' in the ftp addresses (ftp.de.debian.org) with the code corresponding to your country. Examples: USA -&amp;gt; .us. (ftp.us.debian.org), Brazil -&amp;gt; .br. (ftp.br.debian.org). Check the Debian site for debian.org mirrors in your country.&lt;br /&gt;
* Remember to uncomment the '''linuxtag''' ftp addresses to get the latest and greatest from Knoppix&lt;br /&gt;
&lt;br /&gt;
== Update all packages ==&lt;br /&gt;
&lt;br /&gt;
* Use '''apt-get update''' to get the lists with the latest releases and patches. Do not update a package if you don't need to, it may lead to the use of additional disk space (precious commodity when you want to keep everything below 700MB) and you may brake something else without knowing. Abuse the '''-s''' option to simulate the installation.&lt;br /&gt;
* Before doing the update, I modified my default releases to '''testing''', that means that the software I'll be using will have a good balance of stability and features. Knoppix uses '''unstable''' by default, which is too risky for my personal taste.&lt;br /&gt;
&lt;br /&gt;
== Configuring locale settings ==&lt;br /&gt;
&lt;br /&gt;
* Get '''[apt-get install] locale''' and configure it with the locales you are going to use. It will save lots of space when downloading applications with plenty of locale modules and localized manual pages.&lt;br /&gt;
&lt;br /&gt;
*NOTE: Knoppix 4.0.2 (possibly other 4.x and 3.9 versions too) already has the 'locales' package installed.  In this case it is easy to get the right locale set.  Just run the command '''dpkg-reconfigure locales''' as the '''root''' user.  This will allow you to select/de-select the locales that you will use, and choose a default locale for your system.&lt;br /&gt;
&lt;br /&gt;
== Character based pkg mgt w/Aptitude ==&lt;br /&gt;
&lt;br /&gt;
* I use '''aptitude''' to get/remove applications, it is character based so it works with init 2. As you mark packages for install/update/removal, it will tell you how much disk space you will save/use, try to solve depencies problems and give you plenty control to fix them manually when possible.&lt;br /&gt;
* After you are done, '''aptitude''' may leave some files behind. Here's a clean up script I use:&lt;br /&gt;
&lt;br /&gt;
 # !/bin/bash&lt;br /&gt;
 # Clean package files generated by aptitude&lt;br /&gt;
 rm /var/log/aptitude&lt;br /&gt;
 rm /var/lib/apt/lists/*debian*&lt;br /&gt;
 rm /var/lib/apt/lists/*knoppix*&lt;br /&gt;
&lt;br /&gt;
== Cleaning up space when removing apps ==&lt;br /&gt;
&lt;br /&gt;
* When removing/purging applications, they may leave behind non-empty directories. Usually this is announced by aptitude, apt-get or any other installation utilty. Make sure to check the messages and manually remove those directories.&lt;br /&gt;
&lt;br /&gt;
== Removing a bunch of Internationalization support to save space`using Apt and grep ==&lt;br /&gt;
&lt;br /&gt;
The  following command returns a listing of all packages installed.&lt;br /&gt;
&lt;br /&gt;
 dpkg-query -l | less&lt;br /&gt;
&lt;br /&gt;
While that command is useful, you can use grep to sort out which packages you to remove. The following command shows me packages that kde uses for internationalization support and strips off all the other extraneous information.&lt;br /&gt;
&lt;br /&gt;
 dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3&lt;br /&gt;
&lt;br /&gt;
I can feed this to apt-get so that it will remove those packages.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove `dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3`&lt;br /&gt;
&lt;br /&gt;
You could remove openoffice and other German tools as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove openoffice-de-en manpages-de trans-de-en&lt;br /&gt;
&lt;br /&gt;
== Other packages commonly removed for custom images ==&lt;br /&gt;
&lt;br /&gt;
Remove enigma and bacula as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove enigma bacula-common&lt;br /&gt;
&lt;br /&gt;
Remove emacs as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove emacs21 emacs21-bin-common emacs21-common emacsen-common gettext-el zile&lt;br /&gt;
&lt;br /&gt;
German Language user package&lt;br /&gt;
&lt;br /&gt;
 apt-get remove user-de&lt;br /&gt;
&lt;br /&gt;
This results in a reasonable base to begin updating and adding packages to this system. First configure /etc/apt/sources.list and add the appropriate entries for a local Debian mirror.&lt;br /&gt;
&lt;br /&gt;
== What to do when behind a proxy ==&lt;br /&gt;
&lt;br /&gt;
If you are behind a proxy and must authenticate against it to access the internet, then use the following command.&lt;br /&gt;
export http_proxy=&amp;quot;http://username:passwd@yourproxy.company.com:portnumber/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Useful packages for install packages and cleaning up locales ==&lt;br /&gt;
&lt;br /&gt;
Add three useful packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install localepurge aptitude&lt;br /&gt;
&lt;br /&gt;
Localepurge will only keep the locales that are marked. This means that it will free up additional space. After running through the configuration removing locales you don't need, you must run it from the command line:&lt;br /&gt;
&lt;br /&gt;
 localepurge&lt;br /&gt;
&lt;br /&gt;
NOTE: localepurge may not be able to be installed by the '''apt-get install''' command (ie. you get the error &amp;quot;Couldn't find package localepurge&amp;quot; when you try to install), but you can install it with the '''aptitude''' interface.&lt;br /&gt;
&lt;br /&gt;
Aptitude is a console menu front end to apt and dpkg.&lt;br /&gt;
&lt;br /&gt;
=== Package updates within the GUI ===&lt;br /&gt;
&lt;br /&gt;
 apt-get install synaptic&lt;br /&gt;
&lt;br /&gt;
Synaptic is a graphical front end to apt &amp;amp; dpkg.&lt;br /&gt;
&lt;br /&gt;
= Boot =&lt;br /&gt;
&lt;br /&gt;
== Boot logo ==&lt;br /&gt;
&lt;br /&gt;
The boot logo : The boot image is logo.16 and is a lss16 format image. To start make a 16 color image (in Gimp, create the image and use the Image -&amp;gt; Mode -&amp;gt; Indexed menu to export to 16 colors) you want to use. The image must be 640x480 or less. 640x400 leaves room at the bottom for the boot prompt. Save the image as a bmp format (in gimp you can save as ppm as well to skip the first conversion). Then run:&lt;br /&gt;
&lt;br /&gt;
 bmptoppm mylogo.bmp &amp;gt; logo16.ppm&lt;br /&gt;
 ppmtolss16 &amp;lt; logo16.ppm &amp;gt; logo.16&lt;br /&gt;
&lt;br /&gt;
When using the script method [[Knoppix Remastering with Menu Based Scripts]], the logo file will be located somewhere like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;path-to-remaster dir&amp;gt;KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/boot/isolinux&lt;br /&gt;
&lt;br /&gt;
There are also some files in KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/KNOPPIX/images that might be interesting to look at.&lt;br /&gt;
&lt;br /&gt;
== Grub on CD, graphic menu ==&lt;br /&gt;
here are my [[User:Ml#grub_gfx_boot|notes]] on using grub instead of isolinux as the cd bootloader, and&lt;br /&gt;
tweaking the graphic boot menu (ala morphix and kanotix)&lt;br /&gt;
&lt;br /&gt;
== Accelerated Knoppix ==&lt;br /&gt;
i put together some [[User:Ml#accelerated_knoppix|notes]] on using accelerated knoppix to speed up boot and apps when remastering.&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== To keep certain desktop settings persistent ===&lt;br /&gt;
&lt;br /&gt;
I must now mention the file /etc/X11/Xsession.d/45xsession. This script controls how knoppix behaves &amp;amp; how knoppix creates the knoppix user's home directory. &lt;br /&gt;
&lt;br /&gt;
Edit the file /etc/X11/Xsession.d/45xsession and look for the ninth occurence of rsync in the script and it is found at or around line 128:&lt;br /&gt;
&lt;br /&gt;
 126: if [ -z &amp;quot;$DONTCHANGE&amp;quot; ]; then&lt;br /&gt;
 127: # No persistent homedir, copy everything&lt;br /&gt;
 128: rsync -Ha --ignore-existing /etc/skel/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
 129: [ &amp;quot;$USER&amp;quot; = &amp;quot;knoppix&amp;quot; ] &amp;amp;&amp;amp; rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is line 128 which populates the /home/knoppix folder. So In line 128, I delete from &amp;amp; including the { to the }. It is changed as follows.&lt;br /&gt;
&lt;br /&gt;
 126: if [ -z &amp;quot;$DONTCHANGE&amp;quot; ]; then&lt;br /&gt;
 127: # No persistent homedir, copy everything&lt;br /&gt;
 128: rsync -Ha --ignore-existing /etc/skel/ $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
 129: [ &amp;quot;$USER&amp;quot; = &amp;quot;knoppix&amp;quot; ] &amp;amp;&amp;amp; rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
Make the change and save the 45xsession file.&lt;br /&gt;
&lt;br /&gt;
=== Making a permanent desktop background change ===&lt;br /&gt;
&lt;br /&gt;
Replace the &amp;lt;path to chroot env&amp;gt;/KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/KNOPPIX/background.png from outside the chroot env to be the one you would like for the default desktop background.&lt;br /&gt;
&lt;br /&gt;
=== Changing the desktop splash screen ===&lt;br /&gt;
&lt;br /&gt;
Replace /usr/share/apps/ksplash/Themes/Default/splash_top.png &lt;br /&gt;
&lt;br /&gt;
(400X248 px is the normal size of this image)&lt;br /&gt;
&lt;br /&gt;
== Adding Icons ==&lt;br /&gt;
&lt;br /&gt;
Plonk them into /etc/skel/Desktop or if you are working under a knoppix home directory, plonk them there.  Under any KDE or GNOME system you can find examples of the format for these files.&lt;br /&gt;
&lt;br /&gt;
= Startup =&lt;br /&gt;
== Adding init scripts that should run ==&lt;br /&gt;
&lt;br /&gt;
Say you need to make sure certain services are started up at boot time.  You would think you could put them in the proper /etc/rc&amp;lt;num&amp;gt;.d/ directory and they would just work eh.  Ha.  Ha.  To get something to always start, you have to actually modify the /etc/init.d/knoppix-autoconfig script and have it start the services.  The init scripts will always be in the /etc/init.d/ directory, but they won't stay in the /etc/rc&amp;lt;num&amp;gt;.d directories, even if you put them there.  It will make you sad.&lt;br /&gt;
&lt;br /&gt;
For example, to add a custom vpn script and turn on some of the NFS client utils, one could add some lines after the automounty stuff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start automounter now&lt;br /&gt;
/etc/init.d/autofs start &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;${GREEN}Automounter started for: ${MAGENTA}${AUTOMOUNTS}${GREEN}.${NORMAL}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
#&lt;br /&gt;
# CUSTOM SCRIPTY STUFF&lt;br /&gt;
#&lt;br /&gt;
if [ -f /etc/init.d/portmap ] ; then&lt;br /&gt;
        /etc/init.d/portmap start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}Portmapper started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /etc/init.d/nfs-common ] ; then&lt;br /&gt;
        /etc/init.d/nfs-common start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}NFS Common Services started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
# Start VPN&lt;br /&gt;
if [ -f /etc/init.d/vtundvpn ] ; then&lt;br /&gt;
        /etc/init.d/vtundvpn start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}VPN started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
#&lt;br /&gt;
# END CUSTOM SCRIPTY STUFF&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Making the CD fallback default language not German ==&lt;br /&gt;
&lt;br /&gt;
Again, you want to modify the /etc/init.d/knoppix-autoconfig script and find where the LANGUAGE variable gets set.  Change it to the desired default language (for example, from 'de' to 'us'.)&lt;br /&gt;
&lt;br /&gt;
[[Category: Remastering Knoppix]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Remastering_Hacks</id>
		<title>Remastering Hacks</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Remastering_Hacks"/>
				<updated>2006-05-11T16:00:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There are so many howtos cropping up, each with individual tips and customization examples for Knoppix remasters, that it seems good to have a place to put generic tips, no matter how you go about remastering, be it using scripts, completely by hand, or via a HD install, Morphix, etc...  Please add your tips and example &amp;quot;hacks&amp;quot; here.  &lt;br /&gt;
&lt;br /&gt;
= Remastering Process Tips =&lt;br /&gt;
== Saving space while running chroot environment ==&lt;br /&gt;
* If you booted from CD, even on a HD install (example: Pivot Install) instead of copying the original CD and KNOPPIX directory to the HD, you can use them directly from their mount points.&lt;br /&gt;
* Another alternative is to mount an ISO image of the original CD as a loop device and mount the KNOPPIX image as a '''cloop''' device. You will save close to 2GB of space. Script to mount from an ISO image:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Assumes that the current directory is the working space&lt;br /&gt;
 # original.iso is an image of the CD we will be using as master&lt;br /&gt;
 mount -t iso9660 original.iso ./oldcd -o ro,loop&lt;br /&gt;
 # initialize the compressed loop device&lt;br /&gt;
 losetup /dev/cloop1 ./oldcd/KNOPPIX/KNOPPIX&lt;br /&gt;
 mount -t iso9660 /dev/cloop1 ./KNOPPIX -o ro,loop&lt;br /&gt;
&lt;br /&gt;
= Installing software and clearing up space with Apt =&lt;br /&gt;
&lt;br /&gt;
== Get the best apt mirror ==&lt;br /&gt;
&lt;br /&gt;
* Get '''apt-spy''' and use it to modify the sources.list file with the best mirrors for your particular region. This will speed up the downloading. Backup the original '''sources.list''' just in case.&lt;br /&gt;
* Another technique is to modify '''sources.list'''. Replace the string '''.de.''' in the ftp addresses (ftp.de.debian.org) with the code corresponding to your country. Examples: USA -&amp;gt; .us. (ftp.us.debian.org), Brazil -&amp;gt; .br. (ftp.br.debian.org). Check the Debian site for debian.org mirrors in your country.&lt;br /&gt;
* Remember to uncomment the '''linuxtag''' ftp addresses to get the latest and greatest from Knoppix&lt;br /&gt;
&lt;br /&gt;
== Update all packages ==&lt;br /&gt;
&lt;br /&gt;
* Use '''apt-get update''' to get the lists with the latest releases and patches. Do not update a package if you don't need to, it may lead to the use of additional disk space (precious commodity when you want to keep everything below 700MB) and you may brake something else without knowing. Abuse the '''-s''' option to simulate the installation.&lt;br /&gt;
* Before doing the update, I modified my default releases to '''testing''', that means that the software I'll be using will have a good balance of stability and features. Knoppix uses '''unstable''' by default, which is too risky for my personal taste.&lt;br /&gt;
&lt;br /&gt;
== Configuring locale settings ==&lt;br /&gt;
&lt;br /&gt;
* Get '''[apt-get install] locale''' and configure it with the locales you are going to use. It will save lots of space when downloading applications with plenty of locale modules and localized manual pages.&lt;br /&gt;
&lt;br /&gt;
*NOTE: Knoppix 4.0.2 (possibly other 4.x and 3.9 versions too) already has the 'locales' package installed.  In this case it is easy to get the right locale set.  Just run the command '''dpkg-reconfigure locales''' as the '''root''' user.  This will allow you to select/de-select the locales that you will use, and choose a default locale for your system.&lt;br /&gt;
&lt;br /&gt;
== Character based pkg mgt w/Aptitude ==&lt;br /&gt;
&lt;br /&gt;
* I use '''aptitude''' to get/remove applications, it is character based so it works with init 2. As you mark packages for install/update/removal, it will tell you how much disk space you will save/use, try to solve depencies problems and give you plenty control to fix them manually when possible.&lt;br /&gt;
* After you are done, '''aptitude''' may leave some files behind. Here's a clean up script I use:&lt;br /&gt;
&lt;br /&gt;
 # !/bin/bash&lt;br /&gt;
 # Clean package files generated by aptitude&lt;br /&gt;
 rm /var/log/aptitude&lt;br /&gt;
 rm /var/lib/apt/lists/*debian*&lt;br /&gt;
 rm /var/lib/apt/lists/*knoppix*&lt;br /&gt;
&lt;br /&gt;
== Cleaning up space when removing apps ==&lt;br /&gt;
&lt;br /&gt;
* When removing/purging applications, they may leave behind non-empty directories. Usually this is announced by aptitude, apt-get or any other installation utilty. Make sure to check the messages and manually remove those directories.&lt;br /&gt;
&lt;br /&gt;
== Removing a bunch of Internationalization support to save space`using Apt and grep ==&lt;br /&gt;
&lt;br /&gt;
The  following command returns a listing of all packages installed.&lt;br /&gt;
&lt;br /&gt;
 dpkg-query -l | less&lt;br /&gt;
&lt;br /&gt;
While that command is useful, you can use grep to sort out which packages you to remove. The following command shows me packages that kde uses for internationalization support and strips off all the other extraneous information.&lt;br /&gt;
&lt;br /&gt;
 dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3&lt;br /&gt;
&lt;br /&gt;
I can feed this to apt-get so that it will remove those packages.&lt;br /&gt;
&lt;br /&gt;
 apt-get remove `dpkg-query -l | grep i18n | grep kde | cut -d' ' -f3`&lt;br /&gt;
&lt;br /&gt;
You could remove openoffice and other German tools as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove openoffice-de-en manpages-de trans-de-en&lt;br /&gt;
&lt;br /&gt;
== Other packages commonly removed for custom images ==&lt;br /&gt;
&lt;br /&gt;
Remove enigma and bacula as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove enigma bacula-common&lt;br /&gt;
&lt;br /&gt;
Remove emacs as follows:&lt;br /&gt;
&lt;br /&gt;
 apt-get remove emacs21 emacs21-bin-common emacs21-common emacsen-common gettext-el zile&lt;br /&gt;
&lt;br /&gt;
German Language user package&lt;br /&gt;
&lt;br /&gt;
 apt-get remove user-de&lt;br /&gt;
&lt;br /&gt;
This results in a reasonable base to begin updating and adding packages to this system. First configure /etc/apt/sources.list and add the appropriate entries for a local Debian mirror.&lt;br /&gt;
&lt;br /&gt;
== What to do when behind a proxy ==&lt;br /&gt;
&lt;br /&gt;
If you are behind a proxy and must authenticate against it to access the internet, then use the following command.&lt;br /&gt;
export http_proxy=&amp;quot;http://username:passwd@yourproxy.company.com:portnumber/&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Useful packages for install packages and cleaning up locales ==&lt;br /&gt;
&lt;br /&gt;
Add three useful packages:&lt;br /&gt;
&lt;br /&gt;
 apt-get install localepurge aptitude&lt;br /&gt;
&lt;br /&gt;
Localepurge will only keep the locales that are marked. This means that it will free up additional space. After running through the configuration removing locales you don't need, you must run it from the command line:&lt;br /&gt;
&lt;br /&gt;
 localepurge&lt;br /&gt;
&lt;br /&gt;
NOTE: localepurge may not be able to be installed by the '''apt-get install''' command (ie. you get the error &amp;quot;Couldn't find package localepurge&amp;quot; when you try to install), but you can install it with the '''aptitude''' interface.&lt;br /&gt;
&lt;br /&gt;
Aptitude is a console menu front end to apt and dpkg.&lt;br /&gt;
&lt;br /&gt;
=== Package updates within the GUI ===&lt;br /&gt;
&lt;br /&gt;
 apt-get install synaptic&lt;br /&gt;
&lt;br /&gt;
Synaptic is a graphical front end to apt &amp;amp; dpkg.&lt;br /&gt;
&lt;br /&gt;
= Boot =&lt;br /&gt;
&lt;br /&gt;
== Boot logo ==&lt;br /&gt;
&lt;br /&gt;
The boot logo : The boot image is logo.16 and is a lss16 format image. To start make a 16 color image (in Gimp, create the image and use the Image -&amp;gt; Mode -&amp;gt; Indexed menu to export to 16 colors) you want to use. The image must be 640x480 or less. 640x400 leaves room at the bottom for the boot prompt. Save the image as a bmp format (in gimp you can save as ppm as well to skip the first conversion). Then run:&lt;br /&gt;
&lt;br /&gt;
 bmptoppm mylogo.bmp &amp;gt; logo16.ppm&lt;br /&gt;
 ppmtolss16 &amp;lt; logo16.ppm &amp;gt; logo.16&lt;br /&gt;
&lt;br /&gt;
When using the script method [[Knoppix Remastering with Menu Based Scripts]], the logo file will be located somewhere like:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;path-to-remaster dir&amp;gt;KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/boot/isolinux&lt;br /&gt;
&lt;br /&gt;
There are also some files in KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/KNOPPIX/images that might be interesting to look at.&lt;br /&gt;
&lt;br /&gt;
== grub on CD, graphic menu ==&lt;br /&gt;
here are my [[User:Ml#grub_gfx_boot|notes]] on using grub instead of isolinux as the cd bootloader, and&lt;br /&gt;
tweaking the graphic boot menu (ala morphix and kanotix)&lt;br /&gt;
&lt;br /&gt;
== Desktop ==&lt;br /&gt;
&lt;br /&gt;
=== To keep certain desktop settings persistent ===&lt;br /&gt;
&lt;br /&gt;
I must now mention the file /etc/X11/Xsession.d/45xsession. This script controls how knoppix behaves &amp;amp; how knoppix creates the knoppix user's home directory. &lt;br /&gt;
&lt;br /&gt;
Edit the file /etc/X11/Xsession.d/45xsession and look for the ninth occurence of rsync in the script and it is found at or around line 128:&lt;br /&gt;
&lt;br /&gt;
 126: if [ -z &amp;quot;$DONTCHANGE&amp;quot; ]; then&lt;br /&gt;
 127: # No persistent homedir, copy everything&lt;br /&gt;
 128: rsync -Ha --ignore-existing /etc/skel/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
 129: [ &amp;quot;$USER&amp;quot; = &amp;quot;knoppix&amp;quot; ] &amp;amp;&amp;amp; rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It is line 128 which populates the /home/knoppix folder. So In line 128, I delete from &amp;amp; including the { to the }. It is changed as follows.&lt;br /&gt;
&lt;br /&gt;
 126: if [ -z &amp;quot;$DONTCHANGE&amp;quot; ]; then&lt;br /&gt;
 127: # No persistent homedir, copy everything&lt;br /&gt;
 128: rsync -Ha --ignore-existing /etc/skel/ $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
 129: [ &amp;quot;$USER&amp;quot; = &amp;quot;knoppix&amp;quot; ] &amp;amp;&amp;amp; rsync -Ha --ignore-existing /usr/share/knoppix/profile/{.kde*,Desktop} $HOME/ 2&amp;gt;/dev/null&lt;br /&gt;
&lt;br /&gt;
Make the change and save the 45xsession file.&lt;br /&gt;
&lt;br /&gt;
=== Making a permanent desktop background change ===&lt;br /&gt;
&lt;br /&gt;
Replace the &amp;lt;path to chroot env&amp;gt;/KNOPPIX.build/Knoppix.Master/KNOPPIX-CUSTOM/KNOPPIX/background.png from outside the chroot env to be the one you would like for the default desktop background.&lt;br /&gt;
&lt;br /&gt;
=== Changing the desktop splash screen ===&lt;br /&gt;
&lt;br /&gt;
Replace /usr/share/apps/ksplash/Themes/Default/splash_top.png &lt;br /&gt;
&lt;br /&gt;
(400X248 px is the normal size of this image)&lt;br /&gt;
&lt;br /&gt;
== Adding Icons ==&lt;br /&gt;
&lt;br /&gt;
Plonk them into /etc/skel/Desktop or if you are working under a knoppix home directory, plonk them there.  Under any KDE or GNOME system you can find examples of the format for these files.&lt;br /&gt;
&lt;br /&gt;
= Startup =&lt;br /&gt;
== Adding init scripts that should run ==&lt;br /&gt;
&lt;br /&gt;
Say you need to make sure certain services are started up at boot time.  You would think you could put them in the proper /etc/rc&amp;lt;num&amp;gt;.d/ directory and they would just work eh.  Ha.  Ha.  To get something to always start, you have to actually modify the /etc/init.d/knoppix-autoconfig script and have it start the services.  The init scripts will always be in the /etc/init.d/ directory, but they won't stay in the /etc/rc&amp;lt;num&amp;gt;.d directories, even if you put them there.  It will make you sad.&lt;br /&gt;
&lt;br /&gt;
For example, to add a custom vpn script and turn on some of the NFS client utils, one could add some lines after the automounty stuff:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Start automounter now&lt;br /&gt;
/etc/init.d/autofs start &amp;gt;/dev/null &amp;amp;&amp;amp; echo &amp;quot;${GREEN}Automounter started for: ${MAGENTA}${AUTOMOUNTS}${GREEN}.${NORMAL}&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
#&lt;br /&gt;
# CUSTOM SCRIPTY STUFF&lt;br /&gt;
#&lt;br /&gt;
if [ -f /etc/init.d/portmap ] ; then&lt;br /&gt;
        /etc/init.d/portmap start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}Portmapper started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
if [ -f /etc/init.d/nfs-common ] ; then&lt;br /&gt;
        /etc/init.d/nfs-common start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}NFS Common Services started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
# Start VPN&lt;br /&gt;
if [ -f /etc/init.d/vtundvpn ] ; then&lt;br /&gt;
        /etc/init.d/vtundvpn start &amp;gt;/dev/null &amp;amp;&amp;amp; \&lt;br /&gt;
        echo &amp;quot;${GREEN}VPN started&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
#&lt;br /&gt;
# END CUSTOM SCRIPTY STUFF&lt;br /&gt;
#&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Making the CD fallback default language not German ==&lt;br /&gt;
&lt;br /&gt;
Again, you want to modify the /etc/init.d/knoppix-autoconfig script and find where the LANGUAGE variable gets set.  Change it to the desired default language (for example, from 'de' to 'us'.)&lt;br /&gt;
&lt;br /&gt;
[[Category: Remastering Knoppix]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Knoppix_Remastering_Howto</id>
		<title>Knoppix Remastering Howto</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Knoppix_Remastering_Howto"/>
				<updated>2006-05-11T12:45:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Test remastered version without creating cloop file/iso */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide that will show you how to remaster KNOPPIX. (Note: commands should appear on one line, so please maximize the window. If you have any comments/suggestions please post below.)&lt;br /&gt;
&lt;br /&gt;
You may wish to start from an already customized Knoppix, so you don't have to do as much work (such as removing programs). If so, see [[Knoppix Customizations]].&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
*CD-ISO&lt;br /&gt;
** at least 1 GB of FREE RAM+Swap total (e.g. 256M ram, and 750M swap AVAILABLE) (unless you use a different compression program - look in this page for compressloop)&lt;br /&gt;
** 3 GB free on a '''Linux filesystem (ext2/3, xfs, etc.)''' formatted disk partition&lt;br /&gt;
*DVD-ISO&lt;br /&gt;
** 5 GB free RAM + swap (for fullsized DVD)&lt;br /&gt;
** 15 GB free on a '''Linux filesystem (ext2/3, xfs, etc.)''' formatted disk partition&lt;br /&gt;
&lt;br /&gt;
=Instructions=&lt;br /&gt;
==Setting up for Remastering==&lt;br /&gt;
# Boot from the ''Knoppix CD''&lt;br /&gt;
# Open a root shell:&lt;br /&gt;
#* Menu: Kmenu-&amp;gt;Knoppix-&amp;gt;Root Shell&lt;br /&gt;
#* Note: All commands below are run from this root shell.&lt;br /&gt;
# Configure your Internet connection (we'll need this later). If you use DHCP, it should already be configured.&lt;br /&gt;
#* Note: Run '''ifconfig''' to check.&lt;br /&gt;
# Find the partition you will use to work on. In this example it is called '''hda1''' . The partition should have a minimum of 3 GB free space&lt;br /&gt;
# Mount the partition:&lt;br /&gt;
#*&amp;lt;pre&amp;gt;mount -rw /dev/hda1 /mnt/hda1&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Note: Make sure that it is read/write or you will get errors when you later chroot. To check: run '''mount'''&lt;br /&gt;
# Create a root directory to work in -- if you put all your files here it will be easy to clean up&lt;br /&gt;
#* &amp;lt;pre&amp;gt;mkdir /mnt/hda1/knx&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you don't have 1 GB RAM ('''cat /proc/meminfo''' (physical+swap)) then you will need a swapfile:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /mnt/hda1/knx&lt;br /&gt;
dd if=/dev/zero of=swapfile bs=1M count=750&lt;br /&gt;
mkswap swapfile&lt;br /&gt;
swapon swapfile&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Make 2 directories, one for your new Master CD, one for the source, on a disk partition. Also, make additional directories under these named KNOPPIX:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;mkdir -p /mnt/hda1/knx/master/KNOPPIX&lt;br /&gt;
mkdir -p /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now, copy the KNOPPIX files to your source directory :&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Note: This will take a long time (you are copying 2GB).  Warning: you will be tempted to replace this copy command with a much faster procedure: create an empty directory, then use unionfs to merge the empty directory with /KNOPPIX in order to create the read-write copy.  However, as of Knoppix 4.0.2, there is a bug in unionfs that causes this faster procedure to fail.  For now, stick with the copy-command shown above.&lt;br /&gt;
# Additionally, copy the 'boot' folder from your cdrom - you'll need these files to build the ISO later.&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp -ar /cdrom/boot /mnt/hda1/knx/master/boot&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Copy the main HTML page for the startup page:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /cdrom/index.html /mnt/hda1/knx/master/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Copy everything necessary files except the ~700 Mb KNOPPIX file.&lt;br /&gt;
#* &amp;lt; 3.4:&lt;br /&gt;
#** &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /cdrom/KNOPPIX &amp;amp;&amp;amp; find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* &amp;gt;= 3.4:&lt;br /&gt;
#** &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /cdrom &amp;amp;&amp;amp; find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* for the DVD Version you have to use -size -15000k and copy the KNOPPIX2 folder like this&lt;br /&gt;
#** cp /cdrom/KNOPPIX/KNOPPIX2 /mnt/hda1/knx/master/KNOPPIX/&lt;br /&gt;
# Now you can &amp;quot;chroot&amp;quot; into the copied KNOPPIX:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;chroot /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you see errors regarding &amp;lt;tt&amp;gt;/dev/null&amp;lt;/tt&amp;gt;, see the [[#Common Problems|common problems]] section&lt;br /&gt;
You are now chrooted. &amp;quot;/&amp;quot; is actually &amp;quot;/mnt/hda1/knx/source/KNOPPIX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Working in the Chroot Environment==&lt;br /&gt;
Remember that anything you do or create in the chrooted environment will get burned to the CD.  If you make any changes (e.g,. to the APT configuration, proxy settings, etc.), make a note to back the changes out before remastering.&lt;br /&gt;
===Internet Access===&lt;br /&gt;
To use the Internet you need to mount /proc:&lt;br /&gt;
 mount -t proc /proc proc&lt;br /&gt;
(You get a warning - &amp;quot;warning: can't open /etc/fstab: No such file or directory&amp;quot; but it still mounts) &lt;br /&gt;
and edit &amp;lt;tt&amp;gt;/etc/resolv.conf&amp;lt;/tt&amp;gt; to add your nameserver or exit the chroot and copy the outer &amp;lt;tt&amp;gt;resolv.conf&amp;lt;/tt&amp;gt; into the chroot folder: &lt;br /&gt;
 cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf&lt;br /&gt;
(proxies (a.k.a. doing it at work): you can type &amp;quot;export http_proxy=http://your.proxy.com:&amp;lt;port&amp;gt;&amp;quot;)&amp;lt;BR&amp;gt;&lt;br /&gt;
To check your chrooted internet connection,&lt;br /&gt;
 ping google.com&lt;br /&gt;
(if ICMP is barred at some corporate firewall or something then try &amp;quot;lynx http://www.google.com&amp;quot; and see if you get the page -after a cookie &amp;quot;allow&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===SMB access===&lt;br /&gt;
Also change smb.conf to your MS group if you want smbd support (MSHOME is XP Home ed. usually, and WORKGROUP is 9x Windows)&lt;br /&gt;
===APT===&lt;br /&gt;
Update your package list with '''apt-get update'''.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Note: If ''''apt-get update''' fails with &amp;quot;FATAL -&amp;gt; Could not set non-blocking flag Bad file descriptor&amp;quot;, you need to make sure your chrooted environment is mounted without the &amp;quot;nodev&amp;quot; option. (see above where it talks about the /dev/null errors when entering the chroot environment for the first time)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''Warning''': apt-get upgrade is a ''BAD IDEA''. It will, quite probably, render your KNOPPIX remaster unbootable, or broken in some way. A far safer method is to only upgrade packages as necessary.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before you can add stuff, you will probably need to remove some packages.  To get a list of packages installed, type this:&lt;br /&gt;
 dpkg-query -l&lt;br /&gt;
If you are looking for big installed packages then the command&lt;br /&gt;
 dpkg-awk &amp;quot;Status: .* installed$&amp;quot; -- Package Installed-Size | \&lt;br /&gt;
   awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \&lt;br /&gt;
   perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg&lt;br /&gt;
will list the  packages  with size in descending order.&lt;br /&gt;
&lt;br /&gt;
At least ten times faster is the command&lt;br /&gt;
 dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n&lt;br /&gt;
and you don't need dpkg-awk or awk or perl; however it does not exclude packages that are not installed.  If you have trouble with the above sort command, try using KPackage, expanded all the trees and sorted by the size column to find big packages.&lt;br /&gt;
&lt;br /&gt;
Or, you could use this command to get the qpkg-query speed with the non-installed packages not listed:&lt;br /&gt;
 dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1&amp;quot; &amp;quot;$2}'&lt;br /&gt;
It does the same thing as above, I assume.  I couldn't get the first one to work because I don't have dpkg-awk.&lt;br /&gt;
&lt;br /&gt;
To remove a package (and all packages dependant on it), type this:&lt;br /&gt;
 apt-get remove --purge ''name-of-package-to-remove''&lt;br /&gt;
To check for orphaned packages, type this:&lt;br /&gt;
 deborphan&lt;br /&gt;
Want to save more space by getting rid of those pesky orphans (how cruel!), type this ('''Warning''', you won't be prompted yes/no to remove these packages.  When you press Enter after this command, those packages ''will be gone''):&lt;br /&gt;
 deborphan | xargs apt-get -y remove&lt;br /&gt;
If you're uncertain about the previous command and want to see what will happen without making any changes, just add the '''-s''' option to the apt-get command like this (you can do this with all of the apt-get commands, and it's a good habit to use this option before mass operations like this one):&lt;br /&gt;
 deborphan | xargs apt-get -s -y remove&lt;br /&gt;
Now the good stuff.  If you wish to add a package, type this:&lt;br /&gt;
 apt-get install '''name-of-package-to-install''&lt;br /&gt;
What, don't know what packages to install?  Type this.  When the list appears, you can peruse (over 13k lines!) or search for things using &amp;lt;tt&amp;gt;/''search-term''&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 apt-cache search .* | sort | less&lt;br /&gt;
When you're done removing and adding packages, a good way to clean up is by typing this&lt;br /&gt;
 COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P&lt;br /&gt;
Also, because the Debian package system keeps a cache of downloaded packages, you may want to run the following to clear out those spare files:&lt;br /&gt;
 apt-get clean&lt;br /&gt;
===User Settings===&lt;br /&gt;
User settings are in /etc/skel.  This directory will be copied to make new user home directories.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;tip: don't put files in /root they will be only available (at runtime) in /KNOPPIX/root&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Autorunning Programs===&lt;br /&gt;
When you want to autorun some programs, one can create a script and put it in the directory &amp;lt;tt&amp;gt;/etc/rc5.d/&amp;lt;/tt&amp;gt; (This only loads items before X loads).  Read up on the SysV init process for more possibilities.&lt;br /&gt;
&lt;br /&gt;
==KNOPPIX Autoconfiguration==&lt;br /&gt;
interesting stuff in /etc/init.d/knoppix-autoconfig :&lt;br /&gt;
&lt;br /&gt;
* The X background file is /cdrom/KNOPPIX/background.gif '''(in knoppix 3.4: background.jpg)'''&lt;br /&gt;
* As well as floppyconfig, there is cdromconfig which will run cdrom/KNOPPIX/knoppix.sh&lt;br /&gt;
&lt;br /&gt;
==X Session Configuration==&lt;br /&gt;
When testing X-based programs, you will have to &lt;br /&gt;
 export DISPLAY=localhost:0.0&lt;br /&gt;
which will allow you to connect to your normal X session.  Alternately (if you need to test window managers), you can create a nested X session.  Outside of the chroot, run&lt;br /&gt;
 Xnest -ac :1&lt;br /&gt;
Within the chroot, set your DISPLAY variable&lt;br /&gt;
 export DISPLAY=localhost:1&lt;br /&gt;
&lt;br /&gt;
Interesting stuff in /etc/init.d/xsession :&lt;br /&gt;
* it ALSO sets background as /usr/local/lib/knoppix.gif&lt;br /&gt;
&lt;br /&gt;
==Leaving the Chroot==&lt;br /&gt;
If you mounted it, you'll need to unmount /proc - very important! &lt;br /&gt;
 umount /proc&lt;br /&gt;
Press '''CTRL+D''' to leave being chrooted.&lt;br /&gt;
&lt;br /&gt;
==Remastering the ISO==&lt;br /&gt;
We've finished customizing and ready to burn!&lt;br /&gt;
First do some cleanup: &lt;br /&gt;
* remove any .bash_history files, tmp files, etc.&lt;br /&gt;
* back out any changes you don't want burned back to the disc&lt;br /&gt;
* &amp;lt;pre&amp;gt;rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KNOPPIX Compressed Image===&lt;br /&gt;
Now we'll make the big &amp;lt;tt&amp;gt;KNOPPIX&amp;lt;/tt&amp;gt; file which is an ISO 9660 filesystem compressed for use by the &amp;lt;tt&amp;gt;cloop&amp;lt;/tt&amp;gt; driver: &lt;br /&gt;
 mkisofs -R -U -V &amp;quot;KNOPPIX.net filesystem&amp;quot; -publisher &amp;quot;KNOPPIX www.knoppix.net&amp;quot; \&lt;br /&gt;
      -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX \&lt;br /&gt;
   | nice -5 /usr/bin/create_compressed_fs - 65536 &amp;gt; /mnt/hda1/knx/master/KNOPPIX/KNOPPIX&lt;br /&gt;
the &amp;quot;www.knoppix.net&amp;quot; and &amp;quot;Knoppix.net filesystem&amp;quot; can be changed to what you want to call the file. You will get an error that it doesn't conform to ISO standards -- you can ignore this.  Note that, to run &amp;lt;tt&amp;gt;create_compressed_fs&amp;lt;/tt&amp;gt;, you'll need to have enough space to store the entire ISO in RAM/swap.  Ensure you have at least 800M of free space before starting.&lt;br /&gt;
&lt;br /&gt;
In Knoppix 3.4 the &amp;lt;tt&amp;gt;create_compressed_fs&amp;lt;/tt&amp;gt; script has been updated so be sure to use it to obtain the best result. It has a new option '''-b''' (best), which enables the best compression by using different compression schemes and tries to optimize that way, but be careful, because that option is slow (10x slower).&lt;br /&gt;
&lt;br /&gt;
===Live CD ISO===&lt;br /&gt;
If all went well, onto making the final CD-ROM Image:&lt;br /&gt;
 cd /mnt/hda1/knx/master'''&lt;br /&gt;
 find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin \&lt;br /&gt;
    -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
(this will update the md5 hashes of the files included in the ISO, used for integrity checking) Now to burn the image; for Knoppix &amp;lt;= 3.3:&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -b KNOPPIX/boot.img -c KNOPPIX/boot.cat \&lt;br /&gt;
    -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master&lt;br /&gt;
for Knoppix &amp;gt;= 3.4 or other isolinux based distributions:&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -no-emul-boot -boot-load-size 4 \&lt;br /&gt;
    -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \&lt;br /&gt;
    -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master&lt;br /&gt;
(the ISO is stored in &amp;lt;tt&amp;gt;/mnt/hda1/knx/knoppix.iso&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Burn the ISO using your favorite tools, and you're ready!&lt;br /&gt;
&lt;br /&gt;
=Tips=&lt;br /&gt;
I have had good results remastering working from the CD as root working from fluxbox. Just say &amp;quot;knoppix 2&amp;quot; at the boot prompt and it will boot you to a root prompt where you can then say &amp;quot;startx /usr/bin/fluxbox&amp;quot;. I like to use the xterm unicode shell.&lt;br /&gt;
&lt;br /&gt;
==Package Management==&lt;br /&gt;
While working chroot doing the remastering I like to use &lt;br /&gt;
 apt-get remove --purge pkg-name&lt;br /&gt;
to remove packages because before it does anything it will stop and show details on what it is fixing to remove and let you say &amp;quot;yes or no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you don't use the above &amp;quot;apt-get&amp;quot; instructions and have a lot to cleanup and purge, here's the easy way to do it: &lt;br /&gt;
  COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' &amp;gt;topurge&lt;br /&gt;
That will make a list of all removed packages to purge and then you just say &lt;br /&gt;
 dpkg -P `cat topurge `&lt;br /&gt;
and you're all done. &lt;br /&gt;
 COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P&lt;br /&gt;
is a one-line version of this. Also use &lt;br /&gt;
 deborphan | xargs dpkg -P .&lt;br /&gt;
&lt;br /&gt;
==Alternatives for Low-Memory Machines==&lt;br /&gt;
You don't really need 1G swap as there are two new tools to create compressed filesystems. Here are some candidates to make ''compressed'' fs:&lt;br /&gt;
* Valentijn's rewrite [http://projects.openoffice.nl/downloads/compressloop/]&lt;br /&gt;
* Quozl's port of compressloop for Knoppix 3.4 [http://quozl.linux.org.au/compressloop-1.9-64bit.c]&lt;br /&gt;
* Quozl's distributed compressloop (use more than one processor to speed things up) [http://quozl.linux.org.au/knoppix/compressloop/] or [http://quozl.netrek.org/knoppix/compressloop/]&lt;br /&gt;
* Justin's patch [http://s.bouncybouncy.net/~justin/code/] (link broken) I also just wrote a distributed cloop compressor(or for smp)  It's in that same directory.&lt;br /&gt;
&lt;br /&gt;
==Test CD Image Without Burning a CD==&lt;br /&gt;
If you have a spare partition with at least 700MB free space formatted with ext2, ext3 or Vfat, you can use this for test by booting from a floppy disk. A floppy boot will look for a partiton with /KNOPPIX/ in the root, and the compressed image /KNOPPIX/KNOPPIX. Instead of using the sub-directory /mnt/hda1/knx/master/KNOPPIX/ as described above, it should be called /mnt/hda2/KNOPPIX/ . The root index.html will then be located at /mnt/hda2/index.html and the compressed image will be at /mnt/hda2/KNOPPIX/KNOPPIX . Now you can boot from floppy and use /mnt/hda2 as your image. For further information see [[Hd BasedHowTo]].&lt;br /&gt;
&lt;br /&gt;
If you don't have an extra partition or you don't want to do so much for it, you can use Qemu ( see [http://fabrice.bellard.free.fr/qemu/] ) with the ISO image like this:&lt;br /&gt;
 qemu -m 128 -cdrom /temp/knoppix-custom.iso -boot d -user-net&lt;br /&gt;
You even do not have to build a hard disk image before, just install Qemu and try this. Amazing!&lt;br /&gt;
&lt;br /&gt;
==Test remastered version without creating cloop file/iso==&lt;br /&gt;
i use a setup similar to knoppix terminal server to test the remastered files without having to recreate a&lt;br /&gt;
cloop image every time: the remastered files live in an ext2 filesytem in a loopfile (knoppix_loop) mounted rw (this is where i chroot in). when i want to test the current setup, i have another machine network boot and use the files from the loopfile directly (needs another miniroot.gz). See [[User:Ml#dev_setup]]&lt;br /&gt;
&lt;br /&gt;
If you want to use only one machine, you'll have to reboot (or use qemu) and use the &amp;quot;loopfile&amp;quot; and &amp;quot;fromhd&amp;quot; cheatcodes (see [[User:Ml#miniroot_changes]]). For example, this is what my grub boot entry looks like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
title           Remastered Knoppix&lt;br /&gt;
root            (hd0,0)&lt;br /&gt;
kernel          /boot/myknoppix/vmlinuz fromhd=/dev/hda4 loopfile=/samba/share/isos/knoppix_loop lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 quiet BOOT_IMAGE=knoppix&lt;br /&gt;
initrd          /boot/myknoppix/miniroot.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Booting Knoppix images with GRUB==&lt;br /&gt;
* First copy /boot off the Knoppix cd to your boot partition (or even your dos partition). I named mine boot.knoppix&lt;br /&gt;
''' Copy the /KNOPPIX directory to your '''root directory* of any hard disk. You may place it somewhere other than the boot partition (ext2/3, reiserfs, vfat are supported).&lt;br /&gt;
* for Knoppix &amp;lt;= 3.3, put the following in your /boot/grub/menu.lst:&lt;br /&gt;
 title KNOPPIX&lt;br /&gt;
         root   (hd0,0)&lt;br /&gt;
         kernel /boot.knoppix/vmlinuz 2 fromhd=/dev/hda4 lang=us&lt;br /&gt;
         initrd /boot.knoppix/miniroot.gz&lt;br /&gt;
* for Knoppix &amp;gt;= 3.4 or other isolinux based distributions:&lt;br /&gt;
 title KNOPPIX&lt;br /&gt;
         root   (hd0,0)&lt;br /&gt;
         kernel /boot.knoppix/isolinux/linux 2 fromhd=/dev/hda4 lang=us&lt;br /&gt;
         initrd /boot.knoppix/isolinux/minirt.gz&lt;br /&gt;
* notice the fromhd parameter: it's the location of the /KNOPPIX directory&lt;br /&gt;
* reboot and have fun.&lt;br /&gt;
&lt;br /&gt;
==Helpful Scripts==&lt;br /&gt;
----&lt;br /&gt;
This is the recommended directory layout for remastering KNOPPIX:&lt;br /&gt;
 . (invoke ../remaster from here)&lt;br /&gt;
 |-- master (invoke ../../[[u]]mountbootimage from here)&lt;br /&gt;
 |   |-- KNOPPIX&lt;br /&gt;
 |   |   |-- KNOPPIX (compressed image)&lt;br /&gt;
 |   |   |-- boot.img (boot floppy image)&lt;br /&gt;
 |   |   `-- (other files snipped)&lt;br /&gt;
 |   `-- index.html&lt;br /&gt;
 `-- source&lt;br /&gt;
 `-- KNOPPIX (this directory can be chrooted into)&lt;br /&gt;
 |-- bin&lt;br /&gt;
 |-- boot&lt;br /&gt;
 |-- cdrom&lt;br /&gt;
 |-- dev&lt;br /&gt;
 |-- etc&lt;br /&gt;
 |-- floppy&lt;br /&gt;
 |-- home&lt;br /&gt;
 |-- initrd&lt;br /&gt;
 |-- lib&lt;br /&gt;
 |-- mnt&lt;br /&gt;
 |-- none&lt;br /&gt;
 |-- opt&lt;br /&gt;
 |-- proc&lt;br /&gt;
 |-- root&lt;br /&gt;
 |-- sbin&lt;br /&gt;
 |-- tmp -&amp;gt; /var/tmp&lt;br /&gt;
 |-- usr&lt;br /&gt;
 |-- var&lt;br /&gt;
 `-- vmlinuz -&amp;gt; boot/vmlinuz-2.4.22-xfs&lt;br /&gt;
----&lt;br /&gt;
the following script &amp;quot;remaster&amp;quot; will do the remaster process for you. Use as root, or you will end up with wrong access rights in the image.&lt;br /&gt;
&lt;br /&gt;
The script has last been tried out on Debian sid on 2004-04-02.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash -x&lt;br /&gt;
 # This script builds a new KNOPPIX ISO image.&lt;br /&gt;
 # Copyright (C) 2004 by Marc Haber &amp;lt;mh+knoppix-remaster@zugschlus.de&amp;gt;&lt;br /&gt;
 # License: GPL V2&lt;br /&gt;
 &lt;br /&gt;
 ROOT=&amp;quot;$PWD&amp;quot;&lt;br /&gt;
 SOURCE=&amp;quot;$ROOT/source/KNOPPIX&amp;quot;&lt;br /&gt;
 MASTER=&amp;quot;$ROOT/master&amp;quot;&lt;br /&gt;
 CLOOPTARGET=&amp;quot;$ROOT/master/KNOPPIX/KNOPPIX&amp;quot;&lt;br /&gt;
 TARGET=&amp;quot;$ROOT&amp;quot;&lt;br /&gt;
 EXCLUDELIST=&amp;quot;$ROOT/source/excludelist&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $SOURCE/.rr_moved&lt;br /&gt;
 &lt;br /&gt;
 cd $SOURCE&lt;br /&gt;
 mkisofs -R -U -V &amp;quot;KNOPPIX.net filesystem&amp;quot; \&lt;br /&gt;
 -P &amp;quot;KNOPPIX www.knoppix.net&amp;quot; \&lt;br /&gt;
 -hide-rr-moved -cache-inodes -no-bak -pad \&lt;br /&gt;
 -exclude-list $EXCLUDELIST \&lt;br /&gt;
 . | nice -5 /usr/bin/create_compressed_fs - 65536 &amp;gt; $CLOOPTARGET&lt;br /&gt;
 &lt;br /&gt;
 cd ../$MASTER&lt;br /&gt;
 rm -f KNOPPIX/md5sums&lt;br /&gt;
 find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; &amp;gt;&amp;gt; KNOPPIX/md5sums&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -b KNOPPIX/boot.img \&lt;br /&gt;
 -c KNOPPIX/boot.cat -hide-rr-moved -o $TARGET/knoppix.iso $MASTER&lt;br /&gt;
----&lt;br /&gt;
The following script will loop-mount boot floppy image and initrd image for modification. The umount function will build a new initrd image and put it back on the boot floppy image.&lt;br /&gt;
&lt;br /&gt;
The script has last been tried out on Debian sid on 2004-01-13.&lt;br /&gt;
&amp;lt;!-- lines starting with space a preformatted --&amp;gt;&lt;br /&gt;
 #!/bin/bash -x&lt;br /&gt;
 # This script will loop-mount boot floppy and initrd image&lt;br /&gt;
 # Copyright (C) 2004 by Marc Haber &amp;lt;mh+knoppix-remaster@zugschlus.de&amp;gt;&lt;br /&gt;
 # License: GPL V2&lt;br /&gt;
 unset CDPATH || true&lt;br /&gt;
 &lt;br /&gt;
 # if not root, re-invoke self as root&lt;br /&gt;
 if [[ &amp;quot;`id -u`&amp;quot; -ne 0 ]]; then&lt;br /&gt;
 export LOCUSER=&amp;quot;$USER&amp;quot;&lt;br /&gt;
 export LOCHOME=&amp;quot;$HOME&amp;quot;&lt;br /&gt;
 if [[ &amp;quot;${SHELLOPTS/xtrace/}&amp;quot; != &amp;quot;$SHELLOPTS&amp;quot; ]]; then&lt;br /&gt;
 sudo bash -x $0 $@&lt;br /&gt;
 exit $?&lt;br /&gt;
 else&lt;br /&gt;
 sudo $0 $@&lt;br /&gt;
 exit $?&lt;br /&gt;
 fi&lt;br /&gt;
 else&lt;br /&gt;
 LOCUSER=&amp;quot;${LOCUSER:-$USER}&amp;quot;&lt;br /&gt;
 LOCHOME=&amp;quot;${LOCHOME:-$HOME}&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 KNOPPIXDIR=&amp;quot;KNOPPIX&amp;quot;&lt;br /&gt;
 BOOTIMGFILE=&amp;quot;$KNOPPIXDIR/boot.img&amp;quot;&lt;br /&gt;
 BOOTIMGFS=&amp;quot;vfat&amp;quot;&lt;br /&gt;
 BOOTIMGDIR=&amp;quot;boot.img&amp;quot;&lt;br /&gt;
 INITRDGZ=&amp;quot;$BOOTIMGDIR/miniroot.gz&amp;quot;&lt;br /&gt;
 INITRDFILE=&amp;quot;$KNOPPIXDIR/miniroot&amp;quot;&lt;br /&gt;
 INITRDFS=&amp;quot;ext2&amp;quot;&lt;br /&gt;
 INITRDDIR=&amp;quot;miniroot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mountbootimage() {&lt;br /&gt;
 if ! modprobe loop; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: cannot load loop module&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if ! [[ -e &amp;quot;$BOOTIMGFILE&amp;quot; ]]; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: no $BOOTIMGFILE found&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 for nofile in $BOOTIMGDIR $INITRDGZ $INITRDFILE $INITRDDIR; do&lt;br /&gt;
 if [[ -e &amp;quot;$nofile&amp;quot; ]]; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: $nofile already exists&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p $BOOTIMGDIR&lt;br /&gt;
 mount -o loop,uid=$LOCUSER -t $BOOTIMGFS $BOOTIMGFILE $BOOTIMGDIR&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt; $INITRDGZ gunzip &amp;gt; $INITRDFILE&lt;br /&gt;
 mkdir -p $INITRDDIR&lt;br /&gt;
 mount -o loop -t $INITRDFS $INITRDFILE $INITRDDIR&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 umountbootimage() {&lt;br /&gt;
 dd if=/dev/zero of=$INITRDDIR/nullfile || true&lt;br /&gt;
 sync&lt;br /&gt;
 rm $INITRDDIR/nullfile&lt;br /&gt;
 umount $INITRDDIR&lt;br /&gt;
 rmdir $INITRDDIR&lt;br /&gt;
 &amp;lt; $INITRDFILE gzip --best &amp;gt; $INITRDGZ&lt;br /&gt;
 rm -f $INITRDFILE&lt;br /&gt;
 &lt;br /&gt;
 umount $BOOTIMGDIR&lt;br /&gt;
 rmdir $BOOTIMGDIR&lt;br /&gt;
 &lt;br /&gt;
 syslinux KNOPPIX/boot.img&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;`basename $0`&amp;quot; in&lt;br /&gt;
 mountbootimage)&lt;br /&gt;
 mountbootimage&lt;br /&gt;
 ;;&lt;br /&gt;
 umountbootimage)&lt;br /&gt;
 umountbootimage&lt;br /&gt;
 ;;&lt;br /&gt;
 *)&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: called with unknown name `basename $0`&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
==Tips around apt-get to install/update/remove applications==&lt;br /&gt;
(by gnarvaja)&lt;br /&gt;
* If you booted from CD, even on a HD install (example: Pivot Install) instead of copying the original CD and KNOPPIX directory to the HD, you can use them directly from their mount points.&lt;br /&gt;
* Another alternative is to mount an ISO image of the original CD as a loop device and mount the KNOPPIX image as a '''cloop''' device. You will save close to 2GB of space. Script to mount from an ISO image:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Assumes that the current directory is the working space&lt;br /&gt;
 # original.iso is an image of the CD we will be using as master&lt;br /&gt;
 mount -t iso9660 original.iso ./oldcd -o ro,loop&lt;br /&gt;
 # initialize the compressed loop device&lt;br /&gt;
 losetup /dev/cloop1 ./oldcd/KNOPPIX/KNOPPIX&lt;br /&gt;
 mount -t iso9660 /dev/cloop1 ./KNOPPIX -o ro,loop&lt;br /&gt;
&lt;br /&gt;
* Get '''apt-spy''' and use it to modify the sources.list file with the best mirrors for your particular region. This will speed up the downloading. Backup the original '''sources.list''' just in case.&lt;br /&gt;
* Another technique is to modify '''sources.list'''. Replace the string '''.de.''' in the ftp addresses (ftp.de.debian.org) with the code corresponding to your country. Examples: USA -&amp;gt; .us. (ftp.us.debian.org), Brazil -&amp;gt; .br. (ftp.br.debian.org). Check the Debian site for debian.org mirrors in your country.&lt;br /&gt;
* Remember to uncomment the '''linuxtag''' ftp addresses to get the latest and greatest from Knoppix&lt;br /&gt;
* Use '''apt-get update''' to get the lists with the latest releases and patches. Do not update a package if you don't need to, it may lead to the use of additional disk space (precious commodity when you want to keep everything below 700MB) and you may brake something else without knowing. Abuse the '''-s''' option to simulate the installation.&lt;br /&gt;
* Before doing the update, I modified my default releases to '''testing''', that means that the software I'll be using will have a good balance of stability and features. Knoppix uses '''unstable''' by default, which is too risky for my personal taste.&lt;br /&gt;
* Get '''[apt-get install] locale''' and configure it with the locales you are going to use. It will save lots of space when downloading applications with plenty of locale modules and localized manual pages.&lt;br /&gt;
* I use '''aptitude''' to get/remove applications, it is character based so it works with init 2. As you mark packages for install/update/removal, it will tell you how much disk space you will save/use, try to solve depencies problems and give you plenty control to fix them manually when possible.&lt;br /&gt;
* When installing applications it is likely that your '''/etc/rc?.d''' directories will have new entries, many of them unwanted or unplanned. Make sure you check them and remove the new entries based on your preferences. I usually leave '''/etc/rc2.d''' and '''/etc/rc5.d''' as close as the originals as possible and modify '''/etc/rc3.d''' and '''/etc/rc4.d''' to test new stuff. '''Example:''' You may want to have ntfs installed, but not necessarily running by default. Same with apache, mysql and many others.&lt;br /&gt;
* When removing/purging applications, they may leave behind non-empty directories. Usually this is announced by aptitude, apt-get or any other installation utilty. Make sure to check the messages and manually remove those directories.&lt;br /&gt;
* After you are done, '''aptitude''' may leave some files behind. Here's a clean up script I use:&lt;br /&gt;
&lt;br /&gt;
 # !/bin/bash&lt;br /&gt;
 # Clean package files generated by aptitude&lt;br /&gt;
 rm /var/log/aptitude&lt;br /&gt;
 rm /var/lib/apt/lists/*debian*&lt;br /&gt;
 rm /var/lib/apt/lists/*knoppix*&lt;br /&gt;
&lt;br /&gt;
=Common Problems=&lt;br /&gt;
* [[Dev_null_permission_denied|/dev/null: Permission Denied]] Chroot problems accessing device files&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
If my howto is too confusing, or you'd like a second opinion, check out charan's very nice remastering howto: http://gnubox.dyndns.org:8080/~sunil/knoppix.php.&lt;br /&gt;
Another Howto is at  http://www.stirnimann.com/mystuff/doc/knoppix.txt&lt;br /&gt;
&lt;br /&gt;
There is a wizard, which knows all the unpacking, compressing and CD-recording steps mentioned here. It also shows a shell where you can update the uncompressed KNOPPIX system using debian's standard software installation tools. It is called mmkcdrom and part of the plugscript package: [http://rcswww.urz.tu-dresden.de/~holzhey/plugscript]&lt;br /&gt;
&lt;br /&gt;
Yet another HOWTO, for shell freaks, is at http://quozl.linux.org.au/knoppix/&lt;br /&gt;
&lt;br /&gt;
Be sure to check out the [http://knoppix.net/forum/viewforum.php?f=2 Knoppix Customization Forum] for ideas and help with remastering.&lt;br /&gt;
&lt;br /&gt;
* If you want to add a custom kernel, check out the [[Knoppix Custom Kernel Howto]]&lt;br /&gt;
* There also a guide at O'Reilly on the same topic : [http://linux.oreillynet.com/lpt/a/4323 Using and Customizing Knoppix]&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
Thats it. This is an updated version of my previous howto. This is not meant for linux beginners, you will need to know your way around linux to get this to work. I'll update this as corrections/improvements/etc come through.&lt;br /&gt;
&lt;br /&gt;
=Thanks=&lt;br /&gt;
Thanks to aay, charan, Tech2k, and #knoppix for some corrections and tips and ideas.  Feel free to edit or add to this howto.&lt;br /&gt;
Note about swap:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Translations=&lt;br /&gt;
* German Version: [[Knoppix Remastering Howto Deutsch]]&lt;br /&gt;
* Spanish Version: [[Knoppix Remastering Howto Spanish]]  en español&lt;br /&gt;
* French Version: [[Knoppix Remastering Howto French]]&lt;br /&gt;
* Indonesian Version: [[Knoppix Remastering Howto Indonesian]]&lt;br /&gt;
* Russian Version: [[Knoppix Remastering Howto Russian]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Remastering Knoppix ]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Knoppix_Remastering_Howto</id>
		<title>Knoppix Remastering Howto</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Knoppix_Remastering_Howto"/>
				<updated>2006-05-11T12:29:45Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a guide that will show you how to remaster KNOPPIX. (Note: commands should appear on one line, so please maximize the window. If you have any comments/suggestions please post below.)&lt;br /&gt;
&lt;br /&gt;
You may wish to start from an already customized Knoppix, so you don't have to do as much work (such as removing programs). If so, see [[Knoppix Customizations]].&lt;br /&gt;
&lt;br /&gt;
=System Requirements=&lt;br /&gt;
*CD-ISO&lt;br /&gt;
** at least 1 GB of FREE RAM+Swap total (e.g. 256M ram, and 750M swap AVAILABLE) (unless you use a different compression program - look in this page for compressloop)&lt;br /&gt;
** 3 GB free on a '''Linux filesystem (ext2/3, xfs, etc.)''' formatted disk partition&lt;br /&gt;
*DVD-ISO&lt;br /&gt;
** 5 GB free RAM + swap (for fullsized DVD)&lt;br /&gt;
** 15 GB free on a '''Linux filesystem (ext2/3, xfs, etc.)''' formatted disk partition&lt;br /&gt;
&lt;br /&gt;
=Instructions=&lt;br /&gt;
==Setting up for Remastering==&lt;br /&gt;
# Boot from the ''Knoppix CD''&lt;br /&gt;
# Open a root shell:&lt;br /&gt;
#* Menu: Kmenu-&amp;gt;Knoppix-&amp;gt;Root Shell&lt;br /&gt;
#* Note: All commands below are run from this root shell.&lt;br /&gt;
# Configure your Internet connection (we'll need this later). If you use DHCP, it should already be configured.&lt;br /&gt;
#* Note: Run '''ifconfig''' to check.&lt;br /&gt;
# Find the partition you will use to work on. In this example it is called '''hda1''' . The partition should have a minimum of 3 GB free space&lt;br /&gt;
# Mount the partition:&lt;br /&gt;
#*&amp;lt;pre&amp;gt;mount -rw /dev/hda1 /mnt/hda1&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Note: Make sure that it is read/write or you will get errors when you later chroot. To check: run '''mount'''&lt;br /&gt;
# Create a root directory to work in -- if you put all your files here it will be easy to clean up&lt;br /&gt;
#* &amp;lt;pre&amp;gt;mkdir /mnt/hda1/knx&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you don't have 1 GB RAM ('''cat /proc/meminfo''' (physical+swap)) then you will need a swapfile:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /mnt/hda1/knx&lt;br /&gt;
dd if=/dev/zero of=swapfile bs=1M count=750&lt;br /&gt;
mkswap swapfile&lt;br /&gt;
swapon swapfile&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Make 2 directories, one for your new Master CD, one for the source, on a disk partition. Also, make additional directories under these named KNOPPIX:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;mkdir -p /mnt/hda1/knx/master/KNOPPIX&lt;br /&gt;
mkdir -p /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Now, copy the KNOPPIX files to your source directory :&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp -Rp /KNOPPIX/* /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* Note: This will take a long time (you are copying 2GB).  Warning: you will be tempted to replace this copy command with a much faster procedure: create an empty directory, then use unionfs to merge the empty directory with /KNOPPIX in order to create the read-write copy.  However, as of Knoppix 4.0.2, there is a bug in unionfs that causes this faster procedure to fail.  For now, stick with the copy-command shown above.&lt;br /&gt;
# Additionally, copy the 'boot' folder from your cdrom - you'll need these files to build the ISO later.&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp -ar /cdrom/boot /mnt/hda1/knx/master/boot&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Copy the main HTML page for the startup page:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cp /cdrom/index.html /mnt/hda1/knx/master/&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Copy everything necessary files except the ~700 Mb KNOPPIX file.&lt;br /&gt;
#* &amp;lt; 3.4:&lt;br /&gt;
#** &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /cdrom/KNOPPIX &amp;amp;&amp;amp; find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/KNOPPIX/ \;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* &amp;gt;= 3.4:&lt;br /&gt;
#** &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;cd /cdrom &amp;amp;&amp;amp; find . -size -10000k -type f -exec cp -p --parents '{}' /mnt/hda1/knx/master/ \;&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
#* for the DVD Version you have to use -size -15000k and copy the KNOPPIX2 folder like this&lt;br /&gt;
#** cp /cdrom/KNOPPIX/KNOPPIX2 /mnt/hda1/knx/master/KNOPPIX/&lt;br /&gt;
# Now you can &amp;quot;chroot&amp;quot; into the copied KNOPPIX:&lt;br /&gt;
#* &amp;lt;pre&amp;gt;&amp;lt;nowiki&amp;gt;chroot /mnt/hda1/knx/source/KNOPPIX&amp;lt;/nowiki&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
# If you see errors regarding &amp;lt;tt&amp;gt;/dev/null&amp;lt;/tt&amp;gt;, see the [[#Common Problems|common problems]] section&lt;br /&gt;
You are now chrooted. &amp;quot;/&amp;quot; is actually &amp;quot;/mnt/hda1/knx/source/KNOPPIX&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Working in the Chroot Environment==&lt;br /&gt;
Remember that anything you do or create in the chrooted environment will get burned to the CD.  If you make any changes (e.g,. to the APT configuration, proxy settings, etc.), make a note to back the changes out before remastering.&lt;br /&gt;
===Internet Access===&lt;br /&gt;
To use the Internet you need to mount /proc:&lt;br /&gt;
 mount -t proc /proc proc&lt;br /&gt;
(You get a warning - &amp;quot;warning: can't open /etc/fstab: No such file or directory&amp;quot; but it still mounts) &lt;br /&gt;
and edit &amp;lt;tt&amp;gt;/etc/resolv.conf&amp;lt;/tt&amp;gt; to add your nameserver or exit the chroot and copy the outer &amp;lt;tt&amp;gt;resolv.conf&amp;lt;/tt&amp;gt; into the chroot folder: &lt;br /&gt;
 cp /etc/dhcpc/resolv.conf /mnt/hda1/knx/source/KNOPPIX/etc/dhcpc/resolv.conf&lt;br /&gt;
(proxies (a.k.a. doing it at work): you can type &amp;quot;export http_proxy=http://your.proxy.com:&amp;lt;port&amp;gt;&amp;quot;)&amp;lt;BR&amp;gt;&lt;br /&gt;
To check your chrooted internet connection,&lt;br /&gt;
 ping google.com&lt;br /&gt;
(if ICMP is barred at some corporate firewall or something then try &amp;quot;lynx http://www.google.com&amp;quot; and see if you get the page -after a cookie &amp;quot;allow&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
===SMB access===&lt;br /&gt;
Also change smb.conf to your MS group if you want smbd support (MSHOME is XP Home ed. usually, and WORKGROUP is 9x Windows)&lt;br /&gt;
===APT===&lt;br /&gt;
Update your package list with '''apt-get update'''.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Note: If ''''apt-get update''' fails with &amp;quot;FATAL -&amp;gt; Could not set non-blocking flag Bad file descriptor&amp;quot;, you need to make sure your chrooted environment is mounted without the &amp;quot;nodev&amp;quot; option. (see above where it talks about the /dev/null errors when entering the chroot environment for the first time)&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''Warning''': apt-get upgrade is a ''BAD IDEA''. It will, quite probably, render your KNOPPIX remaster unbootable, or broken in some way. A far safer method is to only upgrade packages as necessary.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Before you can add stuff, you will probably need to remove some packages.  To get a list of packages installed, type this:&lt;br /&gt;
 dpkg-query -l&lt;br /&gt;
If you are looking for big installed packages then the command&lt;br /&gt;
 dpkg-awk &amp;quot;Status: .* installed$&amp;quot; -- Package Installed-Size | \&lt;br /&gt;
   awk '{print $2}' | egrep -v '^$' | xargs -n2 echo | \&lt;br /&gt;
   perl -pe 's/(\S+)\s(\S+)/$2 $1/' | sort -rg&lt;br /&gt;
will list the  packages  with size in descending order.&lt;br /&gt;
&lt;br /&gt;
At least ten times faster is the command&lt;br /&gt;
 dpkg-query -W --showformat='${Installed-Size} ${Package}\n' | sort -n&lt;br /&gt;
and you don't need dpkg-awk or awk or perl; however it does not exclude packages that are not installed.  If you have trouble with the above sort command, try using KPackage, expanded all the trees and sorted by the size column to find big packages.&lt;br /&gt;
&lt;br /&gt;
Or, you could use this command to get the qpkg-query speed with the non-installed packages not listed:&lt;br /&gt;
 dpkg-query -W --showformat='${Installed-Size} ${Package} ${Status}\n' | grep -v deinstall | sort -n | awk '{print $1&amp;quot; &amp;quot;$2}'&lt;br /&gt;
It does the same thing as above, I assume.  I couldn't get the first one to work because I don't have dpkg-awk.&lt;br /&gt;
&lt;br /&gt;
To remove a package (and all packages dependant on it), type this:&lt;br /&gt;
 apt-get remove --purge ''name-of-package-to-remove''&lt;br /&gt;
To check for orphaned packages, type this:&lt;br /&gt;
 deborphan&lt;br /&gt;
Want to save more space by getting rid of those pesky orphans (how cruel!), type this ('''Warning''', you won't be prompted yes/no to remove these packages.  When you press Enter after this command, those packages ''will be gone''):&lt;br /&gt;
 deborphan | xargs apt-get -y remove&lt;br /&gt;
If you're uncertain about the previous command and want to see what will happen without making any changes, just add the '''-s''' option to the apt-get command like this (you can do this with all of the apt-get commands, and it's a good habit to use this option before mass operations like this one):&lt;br /&gt;
 deborphan | xargs apt-get -s -y remove&lt;br /&gt;
Now the good stuff.  If you wish to add a package, type this:&lt;br /&gt;
 apt-get install '''name-of-package-to-install''&lt;br /&gt;
What, don't know what packages to install?  Type this.  When the list appears, you can peruse (over 13k lines!) or search for things using &amp;lt;tt&amp;gt;/''search-term''&amp;lt;/tt&amp;gt;:&lt;br /&gt;
 apt-cache search .* | sort | less&lt;br /&gt;
When you're done removing and adding packages, a good way to clean up is by typing this&lt;br /&gt;
 COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P&lt;br /&gt;
Also, because the Debian package system keeps a cache of downloaded packages, you may want to run the following to clear out those spare files:&lt;br /&gt;
 apt-get clean&lt;br /&gt;
===User Settings===&lt;br /&gt;
User settings are in /etc/skel.  This directory will be copied to make new user home directories.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;tip: don't put files in /root they will be only available (at runtime) in /KNOPPIX/root&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Autorunning Programs===&lt;br /&gt;
When you want to autorun some programs, one can create a script and put it in the directory &amp;lt;tt&amp;gt;/etc/rc5.d/&amp;lt;/tt&amp;gt; (This only loads items before X loads).  Read up on the SysV init process for more possibilities.&lt;br /&gt;
&lt;br /&gt;
==KNOPPIX Autoconfiguration==&lt;br /&gt;
interesting stuff in /etc/init.d/knoppix-autoconfig :&lt;br /&gt;
&lt;br /&gt;
* The X background file is /cdrom/KNOPPIX/background.gif '''(in knoppix 3.4: background.jpg)'''&lt;br /&gt;
* As well as floppyconfig, there is cdromconfig which will run cdrom/KNOPPIX/knoppix.sh&lt;br /&gt;
&lt;br /&gt;
==X Session Configuration==&lt;br /&gt;
When testing X-based programs, you will have to &lt;br /&gt;
 export DISPLAY=localhost:0.0&lt;br /&gt;
which will allow you to connect to your normal X session.  Alternately (if you need to test window managers), you can create a nested X session.  Outside of the chroot, run&lt;br /&gt;
 Xnest -ac :1&lt;br /&gt;
Within the chroot, set your DISPLAY variable&lt;br /&gt;
 export DISPLAY=localhost:1&lt;br /&gt;
&lt;br /&gt;
Interesting stuff in /etc/init.d/xsession :&lt;br /&gt;
* it ALSO sets background as /usr/local/lib/knoppix.gif&lt;br /&gt;
&lt;br /&gt;
==Leaving the Chroot==&lt;br /&gt;
If you mounted it, you'll need to unmount /proc - very important! &lt;br /&gt;
 umount /proc&lt;br /&gt;
Press '''CTRL+D''' to leave being chrooted.&lt;br /&gt;
&lt;br /&gt;
==Remastering the ISO==&lt;br /&gt;
We've finished customizing and ready to burn!&lt;br /&gt;
First do some cleanup: &lt;br /&gt;
* remove any .bash_history files, tmp files, etc.&lt;br /&gt;
* back out any changes you don't want burned back to the disc&lt;br /&gt;
* &amp;lt;pre&amp;gt;rm -rf /mnt/hda1/knx/source/KNOPPIX/.rr_moved&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===KNOPPIX Compressed Image===&lt;br /&gt;
Now we'll make the big &amp;lt;tt&amp;gt;KNOPPIX&amp;lt;/tt&amp;gt; file which is an ISO 9660 filesystem compressed for use by the &amp;lt;tt&amp;gt;cloop&amp;lt;/tt&amp;gt; driver: &lt;br /&gt;
 mkisofs -R -U -V &amp;quot;KNOPPIX.net filesystem&amp;quot; -publisher &amp;quot;KNOPPIX www.knoppix.net&amp;quot; \&lt;br /&gt;
      -hide-rr-moved -cache-inodes -no-bak -pad /mnt/hda1/knx/source/KNOPPIX \&lt;br /&gt;
   | nice -5 /usr/bin/create_compressed_fs - 65536 &amp;gt; /mnt/hda1/knx/master/KNOPPIX/KNOPPIX&lt;br /&gt;
the &amp;quot;www.knoppix.net&amp;quot; and &amp;quot;Knoppix.net filesystem&amp;quot; can be changed to what you want to call the file. You will get an error that it doesn't conform to ISO standards -- you can ignore this.  Note that, to run &amp;lt;tt&amp;gt;create_compressed_fs&amp;lt;/tt&amp;gt;, you'll need to have enough space to store the entire ISO in RAM/swap.  Ensure you have at least 800M of free space before starting.&lt;br /&gt;
&lt;br /&gt;
In Knoppix 3.4 the &amp;lt;tt&amp;gt;create_compressed_fs&amp;lt;/tt&amp;gt; script has been updated so be sure to use it to obtain the best result. It has a new option '''-b''' (best), which enables the best compression by using different compression schemes and tries to optimize that way, but be careful, because that option is slow (10x slower).&lt;br /&gt;
&lt;br /&gt;
===Live CD ISO===&lt;br /&gt;
If all went well, onto making the final CD-ROM Image:&lt;br /&gt;
 cd /mnt/hda1/knx/master'''&lt;br /&gt;
 find -type f -not -name md5sums -not -name boot.cat -not -name isolinux.bin \&lt;br /&gt;
    -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
(this will update the md5 hashes of the files included in the ISO, used for integrity checking) Now to burn the image; for Knoppix &amp;lt;= 3.3:&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -b KNOPPIX/boot.img -c KNOPPIX/boot.cat \&lt;br /&gt;
    -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master&lt;br /&gt;
for Knoppix &amp;gt;= 3.4 or other isolinux based distributions:&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -no-emul-boot -boot-load-size 4 \&lt;br /&gt;
    -boot-info-table -b boot/isolinux/isolinux.bin -c boot/isolinux/boot.cat \&lt;br /&gt;
    -hide-rr-moved -o /mnt/hda1/knx/knoppix.iso /mnt/hda1/knx/master&lt;br /&gt;
(the ISO is stored in &amp;lt;tt&amp;gt;/mnt/hda1/knx/knoppix.iso&amp;lt;/tt&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
Burn the ISO using your favorite tools, and you're ready!&lt;br /&gt;
&lt;br /&gt;
=Tips=&lt;br /&gt;
I have had good results remastering working from the CD as root working from fluxbox. Just say &amp;quot;knoppix 2&amp;quot; at the boot prompt and it will boot you to a root prompt where you can then say &amp;quot;startx /usr/bin/fluxbox&amp;quot;. I like to use the xterm unicode shell.&lt;br /&gt;
&lt;br /&gt;
==Package Management==&lt;br /&gt;
While working chroot doing the remastering I like to use &lt;br /&gt;
 apt-get remove --purge pkg-name&lt;br /&gt;
to remove packages because before it does anything it will stop and show details on what it is fixing to remove and let you say &amp;quot;yes or no&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
If you don't use the above &amp;quot;apt-get&amp;quot; instructions and have a lot to cleanup and purge, here's the easy way to do it: &lt;br /&gt;
  COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' &amp;gt;topurge&lt;br /&gt;
That will make a list of all removed packages to purge and then you just say &lt;br /&gt;
 dpkg -P `cat topurge `&lt;br /&gt;
and you're all done. &lt;br /&gt;
 COLUMNS=200 dpkg -l |grep ^rc |awk '{print $2} ' | xargs dpkg -P&lt;br /&gt;
is a one-line version of this. Also use &lt;br /&gt;
 deborphan | xargs dpkg -P .&lt;br /&gt;
&lt;br /&gt;
==Alternatives for Low-Memory Machines==&lt;br /&gt;
You don't really need 1G swap as there are two new tools to create compressed filesystems. Here are some candidates to make ''compressed'' fs:&lt;br /&gt;
* Valentijn's rewrite [http://projects.openoffice.nl/downloads/compressloop/]&lt;br /&gt;
* Quozl's port of compressloop for Knoppix 3.4 [http://quozl.linux.org.au/compressloop-1.9-64bit.c]&lt;br /&gt;
* Quozl's distributed compressloop (use more than one processor to speed things up) [http://quozl.linux.org.au/knoppix/compressloop/] or [http://quozl.netrek.org/knoppix/compressloop/]&lt;br /&gt;
* Justin's patch [http://s.bouncybouncy.net/~justin/code/] (link broken) I also just wrote a distributed cloop compressor(or for smp)  It's in that same directory.&lt;br /&gt;
&lt;br /&gt;
==Test CD Image Without Burning a CD==&lt;br /&gt;
If you have a spare partition with at least 700MB free space formatted with ext2, ext3 or Vfat, you can use this for test by booting from a floppy disk. A floppy boot will look for a partiton with /KNOPPIX/ in the root, and the compressed image /KNOPPIX/KNOPPIX. Instead of using the sub-directory /mnt/hda1/knx/master/KNOPPIX/ as described above, it should be called /mnt/hda2/KNOPPIX/ . The root index.html will then be located at /mnt/hda2/index.html and the compressed image will be at /mnt/hda2/KNOPPIX/KNOPPIX . Now you can boot from floppy and use /mnt/hda2 as your image. For further information see [[Hd BasedHowTo]].&lt;br /&gt;
&lt;br /&gt;
If you don't have an extra partition or you don't want to do so much for it, you can use Qemu ( see [http://fabrice.bellard.free.fr/qemu/] ) with the ISO image like this:&lt;br /&gt;
 qemu -m 128 -cdrom /temp/knoppix-custom.iso -boot d -user-net&lt;br /&gt;
You even do not have to build a hard disk image before, just install Qemu and try this. Amazing!&lt;br /&gt;
&lt;br /&gt;
==Test remastered version without creating cloop file/iso==&lt;br /&gt;
i use a setup similar to knoppix terminal server to test the remastered files without having to recreate a&lt;br /&gt;
cloop image every time: i have another machine network boot and use the files directly (needs another miniroot.gz). See [[User:Ml#dev_setup]]&lt;br /&gt;
&lt;br /&gt;
== Booting Knoppix images with GRUB==&lt;br /&gt;
* First copy /boot off the Knoppix cd to your boot partition (or even your dos partition). I named mine boot.knoppix&lt;br /&gt;
''' Copy the /KNOPPIX directory to your '''root directory* of any hard disk. You may place it somewhere other than the boot partition (ext2/3, reiserfs, vfat are supported).&lt;br /&gt;
* for Knoppix &amp;lt;= 3.3, put the following in your /boot/grub/menu.lst:&lt;br /&gt;
 title KNOPPIX&lt;br /&gt;
         root   (hd0,0)&lt;br /&gt;
         kernel /boot.knoppix/vmlinuz 2 fromhd=/dev/hda4 lang=us&lt;br /&gt;
         initrd /boot.knoppix/miniroot.gz&lt;br /&gt;
* for Knoppix &amp;gt;= 3.4 or other isolinux based distributions:&lt;br /&gt;
 title KNOPPIX&lt;br /&gt;
         root   (hd0,0)&lt;br /&gt;
         kernel /boot.knoppix/isolinux/linux 2 fromhd=/dev/hda4 lang=us&lt;br /&gt;
         initrd /boot.knoppix/isolinux/minirt.gz&lt;br /&gt;
* notice the fromhd parameter: it's the location of the /KNOPPIX directory&lt;br /&gt;
* reboot and have fun.&lt;br /&gt;
&lt;br /&gt;
==Helpful Scripts==&lt;br /&gt;
----&lt;br /&gt;
This is the recommended directory layout for remastering KNOPPIX:&lt;br /&gt;
 . (invoke ../remaster from here)&lt;br /&gt;
 |-- master (invoke ../../[[u]]mountbootimage from here)&lt;br /&gt;
 |   |-- KNOPPIX&lt;br /&gt;
 |   |   |-- KNOPPIX (compressed image)&lt;br /&gt;
 |   |   |-- boot.img (boot floppy image)&lt;br /&gt;
 |   |   `-- (other files snipped)&lt;br /&gt;
 |   `-- index.html&lt;br /&gt;
 `-- source&lt;br /&gt;
 `-- KNOPPIX (this directory can be chrooted into)&lt;br /&gt;
 |-- bin&lt;br /&gt;
 |-- boot&lt;br /&gt;
 |-- cdrom&lt;br /&gt;
 |-- dev&lt;br /&gt;
 |-- etc&lt;br /&gt;
 |-- floppy&lt;br /&gt;
 |-- home&lt;br /&gt;
 |-- initrd&lt;br /&gt;
 |-- lib&lt;br /&gt;
 |-- mnt&lt;br /&gt;
 |-- none&lt;br /&gt;
 |-- opt&lt;br /&gt;
 |-- proc&lt;br /&gt;
 |-- root&lt;br /&gt;
 |-- sbin&lt;br /&gt;
 |-- tmp -&amp;gt; /var/tmp&lt;br /&gt;
 |-- usr&lt;br /&gt;
 |-- var&lt;br /&gt;
 `-- vmlinuz -&amp;gt; boot/vmlinuz-2.4.22-xfs&lt;br /&gt;
----&lt;br /&gt;
the following script &amp;quot;remaster&amp;quot; will do the remaster process for you. Use as root, or you will end up with wrong access rights in the image.&lt;br /&gt;
&lt;br /&gt;
The script has last been tried out on Debian sid on 2004-04-02.&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash -x&lt;br /&gt;
 # This script builds a new KNOPPIX ISO image.&lt;br /&gt;
 # Copyright (C) 2004 by Marc Haber &amp;lt;mh+knoppix-remaster@zugschlus.de&amp;gt;&lt;br /&gt;
 # License: GPL V2&lt;br /&gt;
 &lt;br /&gt;
 ROOT=&amp;quot;$PWD&amp;quot;&lt;br /&gt;
 SOURCE=&amp;quot;$ROOT/source/KNOPPIX&amp;quot;&lt;br /&gt;
 MASTER=&amp;quot;$ROOT/master&amp;quot;&lt;br /&gt;
 CLOOPTARGET=&amp;quot;$ROOT/master/KNOPPIX/KNOPPIX&amp;quot;&lt;br /&gt;
 TARGET=&amp;quot;$ROOT&amp;quot;&lt;br /&gt;
 EXCLUDELIST=&amp;quot;$ROOT/source/excludelist&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 rm -rf $SOURCE/.rr_moved&lt;br /&gt;
 &lt;br /&gt;
 cd $SOURCE&lt;br /&gt;
 mkisofs -R -U -V &amp;quot;KNOPPIX.net filesystem&amp;quot; \&lt;br /&gt;
 -P &amp;quot;KNOPPIX www.knoppix.net&amp;quot; \&lt;br /&gt;
 -hide-rr-moved -cache-inodes -no-bak -pad \&lt;br /&gt;
 -exclude-list $EXCLUDELIST \&lt;br /&gt;
 . | nice -5 /usr/bin/create_compressed_fs - 65536 &amp;gt; $CLOOPTARGET&lt;br /&gt;
 &lt;br /&gt;
 cd ../$MASTER&lt;br /&gt;
 rm -f KNOPPIX/md5sums&lt;br /&gt;
 find -type f -not -name md5sums -not -name boot.cat -exec md5sum {} \; &amp;gt;&amp;gt; KNOPPIX/md5sums&lt;br /&gt;
 mkisofs -pad -l -r -J -v -V &amp;quot;KNOPPIX&amp;quot; -b KNOPPIX/boot.img \&lt;br /&gt;
 -c KNOPPIX/boot.cat -hide-rr-moved -o $TARGET/knoppix.iso $MASTER&lt;br /&gt;
----&lt;br /&gt;
The following script will loop-mount boot floppy image and initrd image for modification. The umount function will build a new initrd image and put it back on the boot floppy image.&lt;br /&gt;
&lt;br /&gt;
The script has last been tried out on Debian sid on 2004-01-13.&lt;br /&gt;
&amp;lt;!-- lines starting with space a preformatted --&amp;gt;&lt;br /&gt;
 #!/bin/bash -x&lt;br /&gt;
 # This script will loop-mount boot floppy and initrd image&lt;br /&gt;
 # Copyright (C) 2004 by Marc Haber &amp;lt;mh+knoppix-remaster@zugschlus.de&amp;gt;&lt;br /&gt;
 # License: GPL V2&lt;br /&gt;
 unset CDPATH || true&lt;br /&gt;
 &lt;br /&gt;
 # if not root, re-invoke self as root&lt;br /&gt;
 if [[ &amp;quot;`id -u`&amp;quot; -ne 0 ]]; then&lt;br /&gt;
 export LOCUSER=&amp;quot;$USER&amp;quot;&lt;br /&gt;
 export LOCHOME=&amp;quot;$HOME&amp;quot;&lt;br /&gt;
 if [[ &amp;quot;${SHELLOPTS/xtrace/}&amp;quot; != &amp;quot;$SHELLOPTS&amp;quot; ]]; then&lt;br /&gt;
 sudo bash -x $0 $@&lt;br /&gt;
 exit $?&lt;br /&gt;
 else&lt;br /&gt;
 sudo $0 $@&lt;br /&gt;
 exit $?&lt;br /&gt;
 fi&lt;br /&gt;
 else&lt;br /&gt;
 LOCUSER=&amp;quot;${LOCUSER:-$USER}&amp;quot;&lt;br /&gt;
 LOCHOME=&amp;quot;${LOCHOME:-$HOME}&amp;quot;&lt;br /&gt;
 fi&lt;br /&gt;
 set -e&lt;br /&gt;
 &lt;br /&gt;
 KNOPPIXDIR=&amp;quot;KNOPPIX&amp;quot;&lt;br /&gt;
 BOOTIMGFILE=&amp;quot;$KNOPPIXDIR/boot.img&amp;quot;&lt;br /&gt;
 BOOTIMGFS=&amp;quot;vfat&amp;quot;&lt;br /&gt;
 BOOTIMGDIR=&amp;quot;boot.img&amp;quot;&lt;br /&gt;
 INITRDGZ=&amp;quot;$BOOTIMGDIR/miniroot.gz&amp;quot;&lt;br /&gt;
 INITRDFILE=&amp;quot;$KNOPPIXDIR/miniroot&amp;quot;&lt;br /&gt;
 INITRDFS=&amp;quot;ext2&amp;quot;&lt;br /&gt;
 INITRDDIR=&amp;quot;miniroot&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 mountbootimage() {&lt;br /&gt;
 if ! modprobe loop; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: cannot load loop module&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 if ! [[ -e &amp;quot;$BOOTIMGFILE&amp;quot; ]]; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: no $BOOTIMGFILE found&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 &lt;br /&gt;
 for nofile in $BOOTIMGDIR $INITRDGZ $INITRDFILE $INITRDDIR; do&lt;br /&gt;
 if [[ -e &amp;quot;$nofile&amp;quot; ]]; then&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: $nofile already exists&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 fi&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 mkdir -p $BOOTIMGDIR&lt;br /&gt;
 mount -o loop,uid=$LOCUSER -t $BOOTIMGFS $BOOTIMGFILE $BOOTIMGDIR&lt;br /&gt;
 &lt;br /&gt;
 &amp;lt; $INITRDGZ gunzip &amp;gt; $INITRDFILE&lt;br /&gt;
 mkdir -p $INITRDDIR&lt;br /&gt;
 mount -o loop -t $INITRDFS $INITRDFILE $INITRDDIR&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 umountbootimage() {&lt;br /&gt;
 dd if=/dev/zero of=$INITRDDIR/nullfile || true&lt;br /&gt;
 sync&lt;br /&gt;
 rm $INITRDDIR/nullfile&lt;br /&gt;
 umount $INITRDDIR&lt;br /&gt;
 rmdir $INITRDDIR&lt;br /&gt;
 &amp;lt; $INITRDFILE gzip --best &amp;gt; $INITRDGZ&lt;br /&gt;
 rm -f $INITRDFILE&lt;br /&gt;
 &lt;br /&gt;
 umount $BOOTIMGDIR&lt;br /&gt;
 rmdir $BOOTIMGDIR&lt;br /&gt;
 &lt;br /&gt;
 syslinux KNOPPIX/boot.img&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 case &amp;quot;`basename $0`&amp;quot; in&lt;br /&gt;
 mountbootimage)&lt;br /&gt;
 mountbootimage&lt;br /&gt;
 ;;&lt;br /&gt;
 umountbootimage)&lt;br /&gt;
 umountbootimage&lt;br /&gt;
 ;;&lt;br /&gt;
 *)&lt;br /&gt;
 echo &amp;gt;&amp;amp;2 &amp;quot;ERR: called with unknown name `basename $0`&amp;quot;&lt;br /&gt;
 exit 1&lt;br /&gt;
 ;;&lt;br /&gt;
 esac&lt;br /&gt;
&lt;br /&gt;
==Tips around apt-get to install/update/remove applications==&lt;br /&gt;
(by gnarvaja)&lt;br /&gt;
* If you booted from CD, even on a HD install (example: Pivot Install) instead of copying the original CD and KNOPPIX directory to the HD, you can use them directly from their mount points.&lt;br /&gt;
* Another alternative is to mount an ISO image of the original CD as a loop device and mount the KNOPPIX image as a '''cloop''' device. You will save close to 2GB of space. Script to mount from an ISO image:&lt;br /&gt;
&lt;br /&gt;
 #!/bin/bash&lt;br /&gt;
 # Assumes that the current directory is the working space&lt;br /&gt;
 # original.iso is an image of the CD we will be using as master&lt;br /&gt;
 mount -t iso9660 original.iso ./oldcd -o ro,loop&lt;br /&gt;
 # initialize the compressed loop device&lt;br /&gt;
 losetup /dev/cloop1 ./oldcd/KNOPPIX/KNOPPIX&lt;br /&gt;
 mount -t iso9660 /dev/cloop1 ./KNOPPIX -o ro,loop&lt;br /&gt;
&lt;br /&gt;
* Get '''apt-spy''' and use it to modify the sources.list file with the best mirrors for your particular region. This will speed up the downloading. Backup the original '''sources.list''' just in case.&lt;br /&gt;
* Another technique is to modify '''sources.list'''. Replace the string '''.de.''' in the ftp addresses (ftp.de.debian.org) with the code corresponding to your country. Examples: USA -&amp;gt; .us. (ftp.us.debian.org), Brazil -&amp;gt; .br. (ftp.br.debian.org). Check the Debian site for debian.org mirrors in your country.&lt;br /&gt;
* Remember to uncomment the '''linuxtag''' ftp addresses to get the latest and greatest from Knoppix&lt;br /&gt;
* Use '''apt-get update''' to get the lists with the latest releases and patches. Do not update a package if you don't need to, it may lead to the use of additional disk space (precious commodity when you want to keep everything below 700MB) and you may brake something else without knowing. Abuse the '''-s''' option to simulate the installation.&lt;br /&gt;
* Before doing the update, I modified my default releases to '''testing''', that means that the software I'll be using will have a good balance of stability and features. Knoppix uses '''unstable''' by default, which is too risky for my personal taste.&lt;br /&gt;
* Get '''[apt-get install] locale''' and configure it with the locales you are going to use. It will save lots of space when downloading applications with plenty of locale modules and localized manual pages.&lt;br /&gt;
* I use '''aptitude''' to get/remove applications, it is character based so it works with init 2. As you mark packages for install/update/removal, it will tell you how much disk space you will save/use, try to solve depencies problems and give you plenty control to fix them manually when possible.&lt;br /&gt;
* When installing applications it is likely that your '''/etc/rc?.d''' directories will have new entries, many of them unwanted or unplanned. Make sure you check them and remove the new entries based on your preferences. I usually leave '''/etc/rc2.d''' and '''/etc/rc5.d''' as close as the originals as possible and modify '''/etc/rc3.d''' and '''/etc/rc4.d''' to test new stuff. '''Example:''' You may want to have ntfs installed, but not necessarily running by default. Same with apache, mysql and many others.&lt;br /&gt;
* When removing/purging applications, they may leave behind non-empty directories. Usually this is announced by aptitude, apt-get or any other installation utilty. Make sure to check the messages and manually remove those directories.&lt;br /&gt;
* After you are done, '''aptitude''' may leave some files behind. Here's a clean up script I use:&lt;br /&gt;
&lt;br /&gt;
 # !/bin/bash&lt;br /&gt;
 # Clean package files generated by aptitude&lt;br /&gt;
 rm /var/log/aptitude&lt;br /&gt;
 rm /var/lib/apt/lists/*debian*&lt;br /&gt;
 rm /var/lib/apt/lists/*knoppix*&lt;br /&gt;
&lt;br /&gt;
=Common Problems=&lt;br /&gt;
* [[Dev_null_permission_denied|/dev/null: Permission Denied]] Chroot problems accessing device files&lt;br /&gt;
&lt;br /&gt;
=See also=&lt;br /&gt;
&lt;br /&gt;
If my howto is too confusing, or you'd like a second opinion, check out charan's very nice remastering howto: http://gnubox.dyndns.org:8080/~sunil/knoppix.php.&lt;br /&gt;
Another Howto is at  http://www.stirnimann.com/mystuff/doc/knoppix.txt&lt;br /&gt;
&lt;br /&gt;
There is a wizard, which knows all the unpacking, compressing and CD-recording steps mentioned here. It also shows a shell where you can update the uncompressed KNOPPIX system using debian's standard software installation tools. It is called mmkcdrom and part of the plugscript package: [http://rcswww.urz.tu-dresden.de/~holzhey/plugscript]&lt;br /&gt;
&lt;br /&gt;
Yet another HOWTO, for shell freaks, is at http://quozl.linux.org.au/knoppix/&lt;br /&gt;
&lt;br /&gt;
Be sure to check out the [http://knoppix.net/forum/viewforum.php?f=2 Knoppix Customization Forum] for ideas and help with remastering.&lt;br /&gt;
&lt;br /&gt;
* If you want to add a custom kernel, check out the [[Knoppix Custom Kernel Howto]]&lt;br /&gt;
* There also a guide at O'Reilly on the same topic : [http://linux.oreillynet.com/lpt/a/4323 Using and Customizing Knoppix]&lt;br /&gt;
&lt;br /&gt;
=Conclusion=&lt;br /&gt;
Thats it. This is an updated version of my previous howto. This is not meant for linux beginners, you will need to know your way around linux to get this to work. I'll update this as corrections/improvements/etc come through.&lt;br /&gt;
&lt;br /&gt;
=Thanks=&lt;br /&gt;
Thanks to aay, charan, Tech2k, and #knoppix for some corrections and tips and ideas.  Feel free to edit or add to this howto.&lt;br /&gt;
Note about swap:&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Translations=&lt;br /&gt;
* German Version: [[Knoppix Remastering Howto Deutsch]]&lt;br /&gt;
* Spanish Version: [[Knoppix Remastering Howto Spanish]]  en español&lt;br /&gt;
* French Version: [[Knoppix Remastering Howto French]]&lt;br /&gt;
* Indonesian Version: [[Knoppix Remastering Howto Indonesian]]&lt;br /&gt;
* Russian Version: [[Knoppix Remastering Howto Russian]]&lt;br /&gt;
&lt;br /&gt;
[[Category: Remastering Knoppix ]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Cheat_Codes</id>
		<title>Cheat Codes</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Cheat_Codes"/>
				<updated>2006-05-11T12:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Links */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== Introduction ====&lt;br /&gt;
German Version: [[Cheat Codes Deutsch]] / French Version: [[Cheat Codes French]] /&lt;br /&gt;
Versión español: [[Cheat Codes Spanish]]&lt;br /&gt;
----&lt;br /&gt;
'''Cheatcodes''' are used to pass options to KNOPPIX to help with getting it working on difficult hardware. You type them into the boot screen and press enter/return.  The format is &amp;quot;kernel option option option ...&amp;quot;. Usually &amp;quot;'''knoppix'''&amp;quot; is the right selection for the &amp;quot;kernel&amp;quot;.  You can type more than one cheatcode before pressing enter.  Also note that some options can take on values.&lt;br /&gt;
&lt;br /&gt;
Example: &amp;quot;knoppix xvrefresh=60 noscsi floppyconfig&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Options ====&lt;br /&gt;
;lang=bg|be|ch|cn|cs|cz|da|de|dk|es|fi|fr|ie|it|ja|nl|pl|ru|sk|tr|tw|uk|us : specify language/keyboard&lt;br /&gt;
&lt;br /&gt;
: You can click on http://www.w3.org/WAI/ER/IG/ert/iso639.htm to see the two-letters code meanings.&lt;br /&gt;
&lt;br /&gt;
: For example, typing knoppix lang=us you change the keyboard/language to US english.&lt;br /&gt;
&lt;br /&gt;
: If you don´t change the keyboard, in the default DE-bootimage, Knoppix boots with the [http://en.wikipedia.org/wiki/International_keyboard_layouts#Germany_and_Austria_.28but_not_Switzerland.29 german keyboard layout] (i.e. '=' letter is located at Shift-0 at this keyboard). Print the german keyboard layout for your reference.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;keyboard=us : specify only [[console]] keyboard&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;xkeyboard=us : specify [[XFree86|X]] keyboard&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;atapicd  :Do NOT use SCSI-Emulation for IDE CD-Roms - Knoppix V3.4 and later&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;desktop=[[fluxbox]]|[[icewm]]|[[larswm]]|[[twm]]|[[wmaker]]|[[xfce]] : Use specified WM instead of KDE&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;screen=1280x1024 :Use specified Screen resolution for X&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;xvrefresh=60 or vsync=60 : Use 60 Hz vertical refresh rate for X&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;xhrefresh=80 or hsync=80 : Use 80 kHz horizontal refresh rate for X&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;xserver=XFree86|XF86_SVGA : Use specified X-Server&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;xmodule=ati|radeon|[[fbdev]]|vesa|savage|s3|nv|i810|mga|svga|tseng : Use specified XFree4-Module&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;wheelmouse : The mouse is a wheelmouse - not needed since 2003-04-15&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;nowheelmouse : Regular PS/2 mouse - 2003-04-15 and after.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;0 : Runlevel 0, Shutdown&lt;br /&gt;
;1 : Runlevel 1, Textmode, single user&lt;br /&gt;
;2 : Runlevel 2, Textmode only&lt;br /&gt;
;3 : Runlevel 3, Textmode only&lt;br /&gt;
;4 : Runlevel 4, Textmode only&lt;br /&gt;
;5 : Runlevel 5, Graphics mode, default&lt;br /&gt;
;6 : Runlevel 6, Reboot&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;myconfig=scan or floppyconfig or floppyconf (in recent versions) : Run '''knoppix.sh''' from a floppy. The &amp;quot;floppyconfig&amp;quot; option allows you to reconfigure the system after autoconfig, or install your own config files, by mounting a floppy disk and running a bourne shell script called '''knoppix.sh''' from the root directory on this floppy. There is a GUI to create such a configuration floppy disk calles &amp;quot;saveconfig&amp;quot; (also located in the KDE menu under &amp;quot;KNOPPIX&amp;quot;, but experts also know how to do this by creating their own shellscripts. The configuration with network and graphics setup are stored in '''configs.tbz'''. A file called ''knoppix.sh'', if located in the toplevel KNOPPIX directory on CD, will also be executed at startup. This makes it easier to create customized versions without having to change anything on the compressed filesystem KNOPPIX/KNOPPIX.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;myconf=/dev/sda1  :Run &amp;quot;knoppix.sh&amp;quot; from a partition - Knoppix V3.4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;myconf=scan (or config=scan) :Try to find &amp;quot;knoppix.sh&amp;quot; automatically - Knoppix V3.4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;noapic noagp noapm nodma nomce nofirewire nopcmcia noscsi noswap nousb nosmp noaudio : Skip parts of Hardware-detection, In case of a failing hardware autodetection, try booting with any of the &amp;quot;no-&amp;quot; options as shown in the table above, like in knoppix noagp noapm noapic nodma nopcmcia noscsi nousb to skip some critical parts of the autodetection system. The &amp;quot;noswap&amp;quot; option is useful for a forensic analysis without touching existing swap partitions.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;nofstab : By default Knoppix will look/scan the HDs to see if it contains partitions. If the HDs do have partitions, Knoppix will automatically build a '/etc/fstab' file and fill-in the appropriate partition entries and will also create the '/mnt/hdxx' mount points. The 'nofstab' cheat code prevents this look/scan and prevents the generation of the /etc/fstab and its mount points.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;nohwsetup : Skip hardware detection (does not run '''hwsetup''')&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;pci=irqmask=0x0e98 : Notebook if PS/2 mouse doesn't work,  Try &amp;quot;knoppix pci=irqmask=0x0e98&amp;quot; if (you have a notebook and) your PS/2 mouse doesn't work. (Possibly caused by a BIOS-flaw on your board.)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;ide2=0x180 nopcmia : boot from PCMCIA-CD (Transmeta notebooks)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;pci=biosirq : Will force the use of the BIOS assigned '''I'''nterrupt '''R'''e'''Q'''uests on the PCI bus. Possible cure for non-functioning hardware. Very handy for unruly IRQ conflicts. Look at '''dmesg''' and '''cat /proc/pci''' to find out if you have any such troubles..&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;mem=128M : Specify Memory size in MByte, Some Boards apparently don't pass the proper memory size to the linux-kernel. It may cause the message &amp;quot;Panic cannot mount root file system&amp;quot; and the system hangs. Use &amp;quot;knoppix mem=128M&amp;quot; to solve that problem if your system has 128MByte memory for example (caution you MUST use a capital &amp;quot;M&amp;quot; here). Stuff like mem=16320K also works.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;noeject : Do NOT eject CD after halt&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;noprompt : Its especially useful in combination with noeject. With noprompt, Knopix won't eject the CD and ask for a keypress. It was a much asked feature some time ago. Version 2003-09-22 and later.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;nodhcp : skip dhcp/network broadcast detection&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;splash : It shows the upper half of the KDE splash-screen, while booting up. You can press Esc anytime to see all the messages. Ever wanted to hide those cryptic messages? Version 2003-09-22 and later.&lt;br /&gt;
* New in 3.4: Animations (see for yourself) and the ability to press ''any'' key.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;modules-disk : This cheatcode allows you to insert a floppy disk with additional modules, for example USB-stick or similar. Yes, its also possible with &amp;quot;expert&amp;quot;, but there you loose the automatic configuration afterwards. Version 2003-09-22 and later.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;toram : Copy CD to RAM and run from there. Version 2003-09-05 and later.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;tohd : You can now do a &amp;quot;poor mans install&amp;quot; on vfat and ext2-Partitions with, '''knoppix tohd=/dev/hda1''' Version 2003-09-22 and later.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;fromhd : With this cheatcode the CD-Roms are ignored, so you can finally boot your &amp;quot;poor mans install&amp;quot; with just the original cdrom. Version 2003-09-05 and later. note - Cheatcode &amp;quot;toram&amp;quot; and &amp;quot;fromhd&amp;quot; work now together. Usage fromhd=/dev/hda1.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;bootfrom=/dev/hda1 : Access Image then boot from previously              copied CD-Image (enables booting from  NTFS / ReiserFS) - Knoppix V3.4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;bootfrom=/dev/hda1/KNX.iso : Access image, boot from ISO-Image. - Knoppix V3.4&lt;br /&gt;
&lt;br /&gt;
: NOTE: bootfrom needs access to a running Knoppix-System with the same Kernel as the Bootkernel, before it is able to mount the partition / ISO-Image.  This should allow a poor mans install from NTFS-Partitions and makes it also possible to boot an ISO-Image directly. You can also use wildcards in the ISO-Filename, but it must be unique. So: If you have just one KNOPPIX.iso on /dev/hda1 you can access it as: bootfrom=/dev/hda1/K*.iso, but if there are several, you need to make clear, which one you want. (Feature added by Fabian Franz.)&lt;br /&gt;
&lt;br /&gt;
: CAUTION: The 2.4 kernel that is in the KNOPPIX 3.4 CD does not support the ext3 filesystem so make sure that the ISO is stored in an ext2 filesystem.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;gmt|utc : Hardware clock is set to GMT/UTC&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;tz=Europe/Berlin : Hardware clock is set to timezone Europe/Berlin&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;vga=normal : No-framebuffer mode, but X&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;vga=ext : 50-line TEXT mode&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;dma : enable DMA for all IDE drives&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;home=scan :Set home directory. 'scan' will search for knoppix.img in the root of all partitions. To create a home directory, go K-menu -&amp;gt; Knoppix -&amp;gt; Configure -&amp;gt; Create persistant home directory. Be carefull when creating the home-dir, Do NOT use the entire partition unless you know what you are doing. Other options could be, home=/dev/hda1/knoppix.img home=/mnt/hda1/knoppix.img . If you are using a USB memory stick type home=/dev/sda1/knoppix.img but home=scan will probably do.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;blind :Start Braille-Terminal (no X)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;brltty=type,port,table :Parameters for Braille device.&lt;br /&gt;
For more information on brltty parameters see http://mielke.cc/brltty/guidelines.html&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;alsa :Autoconfigure alsa for an pci-soundcard&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;alsa=es1938 :Configure alsa for the snd-es1938.o-module pci-soundcard&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;testcd : Check CD data integrity, If your KNOPPIX CD makes strange noises during boot, or you see frequent errors like &amp;quot;cloop read error&amp;quot;, or programs on your KDE desktop keep crashing randomly, then your CD image is probably defective or incomplete, or your CD-burner created a defective CD due to wrong writing speed or bad media. This is the most common error reported. Please boot with &amp;quot;knoppix testcd&amp;quot; to check if the CD is OK, and/or even better, verify the MD5 checksums that are present on the mirrors before writing the CD. Also, please read the KNOPPIX-FAQ.&lt;br /&gt;
&lt;br /&gt;
: CAUTION: testcd can take a long time and the screen saver often starts while the testcd check is running. Hit SHIFT or CTRL to turn off the screen saver and continue, there is likely no need to reset the system or burn another CD at this point.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;pnpbios=off : No PnP Bios initialization&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;acpi=off  : Disable ACPI Bios completely&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;pci=bios : Workaround for bad PCI controllers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;knoppix_dir=KNOPPIX  : Directory to search for on the CD.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;knoppix_name=KNOPPIX : Cloop-File to search for on the CD.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
;-b : &amp;quot;Emergency Mode&amp;quot;, a quick-n-dirty boot, almost no HW detection, only 1 VT; hit enter at root-password prompt and start typing commands. Good if you just need to fdisk IDE devices, activate a different partition for booting, DD stuff, and you are planning on rebooting '''Real Fast''' after you're done. You can actually Alt-SysRQ-B safely ie. immediate reboot w/o worrying about shutting down nicely or anything, because nothing is mounted r/w at ALL - not even swap.  Also works on other Linux distros.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-----&lt;br /&gt;
&lt;br /&gt;
==== Kernels ====&lt;br /&gt;
For a complete listing of the kernels and kernel labels, see the isolinux.cfg file on the CD.&lt;br /&gt;
&lt;br /&gt;
;knoppix or linux : Default settings&lt;br /&gt;
 # cat /proc/cmdline&lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791&lt;br /&gt;
 initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix BOOT_IMAGE=linux&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;knoppix26 or linux26 : Boot the 2.6 kernel for use with the new Knoppix 3.4 and 3.4 c't Edition.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;knoppix-txt : No framebuffer at startup&lt;br /&gt;
 # cat /proc/cmdline&lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=normal&lt;br /&gt;
 initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix BOOT_IMAGE=linux&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;fb1280x1024 or fb1024x768 or fb800x600 : Use fixed framebuffer graphics&lt;br /&gt;
 # cat /proc/cmdline&lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=794&lt;br /&gt;
 xmodule=fbdev initrd=minirt.gz nomce quiet BOOT_IMAGE=knoppix BOOT_IMAGE=linux&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;failsafe : Boot with (almost) no hardware detection&lt;br /&gt;
 # cat /proc/cmdline                                              &lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us vga=normal atapicd&lt;br /&gt;
 nosound noapic noacpi pnpbios=off acpi=off nofstab noscsi &lt;br /&gt;
 nodma noapm nousb nopcmcia nofirewire noagp nomce nodhcp &lt;br /&gt;
 xmodule=vesa initrd=minirt.gz BOOT_IMAGE=knoppix BOOT_IMAGE=linux&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;expert : Interactive setup for experts, The &amp;quot;expert&amp;quot; mode provides a very simple and not yet well tested interface to loading additional Kernel modules from floppy disks (ext2 or vfat), plus interactive configuration of mouse/keyboard/soundcard/xserver. &amp;quot;expert&amp;quot; mode supports the same boot options as &amp;quot;knoppix&amp;quot;.&lt;br /&gt;
 # cat /proc/cmdline                                              &lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us apm=power-off vga=791&lt;br /&gt;
 initrd=minirt.gz nomce BOOT_IMAGE=expert BOOT_IMAGE=linux&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;expert26 : The same as above only with 2.6 kernel - Knoppix V3.4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;memtest : Run memtest86 instead of Linux - Knoppix V3.4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;debug : Pauses at various stages in the boot and shutdown processes.  Type 'exit' to move on to the next stage.&lt;br /&gt;
 # cat /proc/cmdline&lt;br /&gt;
 ramdisk_size=100000 init=/etc/init lang=us apm=power-off&lt;br /&gt;
 vga=normal initrd=minirt.gz debug BOOT_IMAGE=debug BOOT_IMAGE=linux&lt;br /&gt;
;userdef : useful kernel alias if you use knoppix-customize.  Type 'man knoppix-customize' for more information.  Very experimental.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Tips&amp;amp;Tricks ====&lt;br /&gt;
If you are unable to boot Knoppix (i.e. the screen goes blank, you see a kernel panic message, the screen flickers, you are dropped into a minimal shell, Knoppix simply freezes while booting, etc.), try these boot commands in order:&lt;br /&gt;
* '''boot: knoppix vga=0'''&lt;br /&gt;
* '''boot: knoppix acpi=off pnpbios=off noapic noapm''' Helpful for laptops&lt;br /&gt;
* '''boot: knoppix vga=0 debug -b 3''' Using this boot command will cause Knoppix to pause at various stages in the boot process. Just type 'exit' at each shell prompt to move on to the next stage. You will know that you are at the final stage when typing 'exit' does not do anything. If you get that far, type 'init 5' to go into graphics mode.&amp;lt;br&amp;gt;&lt;br /&gt;
* '''boot: failsafe debug -b 3''' That will do the same as the previous boot command, except turn off most of the hardware detection.&lt;br /&gt;
If you still have issues, please post in the [http://www.knoppix.net/forum/viewforum.php?f=9 Hardware &amp;amp; Booting] forum, tell us which of the above boot commands you tried, and how far in the boot process you were able to get.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Information for further troubleshooting:&lt;br /&gt;
&lt;br /&gt;
Most of the boot options are parsed by different programs and scripts during the booting process, roughly in this order:&lt;br /&gt;
&lt;br /&gt;
* the isolinux bootloader&lt;br /&gt;
* the linux kernel&lt;br /&gt;
* /linuxrc , which can be found in /cdrom/boot/isolinux/miniroot.gz -&amp;gt; linuxrc&lt;br /&gt;
* /etc/init.d/knoppix-autoconfig&lt;br /&gt;
* /etc/init.d/xsession&lt;br /&gt;
* /usr/sbin/mkxf86config&lt;br /&gt;
* /etc/init.d/knoppix-halt&lt;br /&gt;
* /etc/init.d/knoppix-reboot&lt;br /&gt;
&lt;br /&gt;
For more information on passing boot parameters to the kernel, see 'man boot' and 'man bootparam'.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Updates ====&lt;br /&gt;
; Updated for Knoppix 3.1 2003-01-05&amp;lt;br&amp;gt;&lt;br /&gt;
; Updated for Knoppix 3.2 : desktop=gnome is no longer available... (use [http://www.gnoppix.org Gnoppix]).&lt;br /&gt;
; Updated for Knoppix 3.8.2&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Links ====&lt;br /&gt;
* http://download.linuxtag.org/knoppix/knoppix-cheatcodes.txt Cheatcode last version.&lt;br /&gt;
* http://www.tldp.org/HOWTO/BootPrompt-HOWTO.html&lt;br /&gt;
* http://www.wlug.org.nz/bootparam%287%29&lt;br /&gt;
* [[kernel-parameters-2.6.11]]&lt;br /&gt;
* [[User:Ml#miniroot_changes]]: i added some new cheatcodes for exotic boot media (nocloop, fromiso, nbd, nfs etc). they're not supported by default so a new miniroot.gz is needed.&lt;br /&gt;
&lt;br /&gt;
[[Category: Cheat Codes]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/Hardware_FAQ</id>
		<title>Hardware FAQ</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/Hardware_FAQ"/>
				<updated>2006-05-11T12:09:06Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Q: Is it possible to use another CD while running Knoppix? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;*German Version: [[Hardware FAQ Deutsch]]&lt;br /&gt;
&lt;br /&gt;
*Versión española: [[Hardware FAQ Spanish]]&lt;br /&gt;
&lt;br /&gt;
*Versi Bahasa Indonesia: [[Indonesian Hardware FAQ]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
Return to [[Knoppix FAQ]]&lt;br /&gt;
----&lt;br /&gt;
==== Q: How can I set up my printer?. ====&lt;br /&gt;
&lt;br /&gt;
A: Click on &amp;quot;printer configuration&amp;quot; in the &amp;quot;Knoppix&amp;quot; menu, and use the wizard.&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I get support for my wheelmouse's mousewheel? ====&lt;br /&gt;
&lt;br /&gt;
A: Type &amp;quot;knoppix wheelmouse&amp;quot; at the boot prompt. Unfortunately, wheelmice cannot be auto-detected, and the wheelmouse protocol is incompatible with the standard ps/2 protocol. Therefore, the &amp;quot;normal&amp;quot; ps/2 protocol (without mousewheel support) is the safe default.&lt;br /&gt;
&lt;br /&gt;
==== Q: After finishing knx-hdinstall i am searching for a way to make a wheelmous work an a harddisk installation. What shall i do? Booting from CD with &amp;quot;knoppix wheelmouse&amp;quot; works fine. ====&lt;br /&gt;
&lt;br /&gt;
A: there are two options ('''NOT TESTED'''):&lt;br /&gt;
* edit the following file: &amp;quot;/etc/X11/XF86Config-4&amp;quot; (make backup before)&lt;br /&gt;
**add the following lines to the section &amp;quot;Input Device&amp;quot; :&lt;br /&gt;
 Option    &amp;quot;Protocol&amp;quot;  &amp;quot;IMPS/2&amp;quot;&lt;br /&gt;
 Option    &amp;quot;ZAxismapping&amp;quot;    &amp;quot;4  5&amp;quot;&lt;br /&gt;
 Option    &amp;quot;Buttons&amp;quot;     &amp;quot;5&amp;quot;&lt;br /&gt;
**If there is another line with an other protocol, you must delete it. BTW there are 3 sections for mice: serial, PS/2 and usb-Mice. You must find the correct Section.&lt;br /&gt;
&lt;br /&gt;
* edit the &amp;quot;/etc/lilo.conf&amp;quot; file&lt;br /&gt;
**and add &amp;quot;wheelmouse&amp;quot; in the line with &amp;quot;append&amp;quot; (there is a huge line of parameters).&lt;br /&gt;
**Then run &amp;quot;lilo -v&amp;quot; in a root-shell an hope there's no error message.&lt;br /&gt;
&lt;br /&gt;
==== Q: I use a Microsoft Wireless Intelli Mouse explorer (Optical, USB) and the mouspointer won't move. ====&lt;br /&gt;
&lt;br /&gt;
A: Open a Root-Console (Control-Alt-F2) and enter the following:&lt;br /&gt;
 modprobe -r usbmouse&lt;br /&gt;
 modprobe hid&lt;br /&gt;
&lt;br /&gt;
Pressing Control-Alt-F5 will bring you back to KDE.&lt;br /&gt;
&lt;br /&gt;
==== Q: I'm trying to use dialup but I've got a winmodem ====&lt;br /&gt;
&lt;br /&gt;
A: Sorry. Unfortunately some cheap modems have moved their functionality to almost completely software. Linux doesn't have support for nearly all of these ''thin'' modems and the best you can do is get another modem. You just discovered why it might have been worth purchasing a real modem. Infos about&lt;br /&gt;
GNU/Linux driver for Winmodems, see [http://www.linmodems.org linmodems.org]&lt;br /&gt;
&lt;br /&gt;
==== Q: My graphics card doesn't work! ====&lt;br /&gt;
&lt;br /&gt;
A: It may be that very new (or exotic) graphics cards are not in the hardware database yet. These will still usually work under Linux! You can type&lt;br /&gt;
 knoppix xmodule=vesa&lt;br /&gt;
or&lt;br /&gt;
 knoppix xmodule=fbdev&lt;br /&gt;
at the first boot screen, and the initial un-accelerated XFree86 modes will produce a usable screen. Version 31-01-2002 and later have a frame buffer boot option (especially for older notebooks) fb800x600 (instead of typing in knoppix), which uses a resolution of 800x600 pixels in frame buffer mode. Regardless of whether these workarounds are successful or not, support can be built into the next version of KNOPPIX more quickly if the PCI numbers of the graphics card along with a description can be sent to us via mail (&amp;quot;lspci ; lspci -n&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
If you have an onboard chip like: Intel® 82865G some users related that shared memory size should be fixed to 8Mb (look at your mainboard Bios).&lt;br /&gt;
&lt;br /&gt;
==== Q: Auto configuration doesn't work on my computer, or the computer hangs at boot. What should I do? ====&lt;br /&gt;
&lt;br /&gt;
A: It might work if portions of the auto configuration are skipped. This can be specified with &amp;quot;knoppix noscsi&amp;quot; or &amp;quot;knoppix nopcmcia&amp;quot;. If the problem can be identified -&amp;gt; please send the exact error message and when possible a proposed solution using the web form at http://www.knopper.net/kontakt/ ! Sometimes the output of &amp;quot;lspci ; lspci -n&amp;quot; is very helpful, especially if the problem involves incorrectly identified graphics cards.&lt;br /&gt;
&lt;br /&gt;
==== Q: My PS/2 mouse doesn't work! ====&lt;br /&gt;
&lt;br /&gt;
A: If the mouse pointer in the graphical user window is erratically moving around everywhere, the attached mouse is using an exotic protocol. Only booting into &amp;quot;expert&amp;quot; mode and setting the correct protocol for the XFree system will help in this case. However, if the pointer appears in the middle of the screen and doesn't respond to mouse movements at all, you probably have a board with a known BIOS bug (lately this problem has been appearing frequently with notebooks). Try to type in&lt;br /&gt;
 knoppix pci=irqmask=0x0e98&lt;br /&gt;
at the boot screen and see if this helps. Alternatively, you can find a BIOS update for your computer (you may want to do this anyway?).&lt;br /&gt;
&lt;br /&gt;
==== Q: My system memory is not fully detected, or the computer hangs shortly after starting with the message &amp;quot;Panic: cannot mount root file system&amp;quot;! ====&lt;br /&gt;
&lt;br /&gt;
A: Some boards apparently report the usable memory size incorrectly to the Linux kernel. Solution: specify the system memory size as an additional &amp;quot;knoppix&amp;quot; boot option. For example, for 128 Megabytes use&lt;br /&gt;
 knoppix mem=128M&lt;br /&gt;
(Note: make certain an upper-case M is typed after the memory size!)&lt;br /&gt;
&lt;br /&gt;
==== Q: I am able to rotate my monitor. How do i set up Knoppix to use portrait-mode? ====&lt;br /&gt;
&lt;br /&gt;
A: Edit the file /etc/X11/XF86Config-4 as root: In the section &amp;quot;Device&amp;quot; add the following line:&lt;br /&gt;
 Option &amp;quot;Rotation&amp;quot; &amp;quot;CW&amp;quot;&lt;br /&gt;
CW means  [http://en.wikipedia.org/wiki/Clockwise Clock Wise]. Also possible: CCW [http://en.wikipedia.org/wiki/Counterclockwise Counter Clock Wise]).&lt;br /&gt;
&lt;br /&gt;
==== Q: I'm looking for modules-floppies to load Emulex FC-drivers (just for demonstration purposes...) - which ones should I use, the actual [[Debian]] modules fl-images? ====&lt;br /&gt;
&lt;br /&gt;
==== Q: I have a RAID controller that doesn't have /dev entries (/dev/cciss/c0d0,/dev/cciss/c0d1, etc.) Can they be added for the next release? ====&lt;br /&gt;
&lt;br /&gt;
==== Q: How to update for new graphic card driver and reconfigure it (for hd-install or floppy-config...) ====&lt;br /&gt;
&lt;br /&gt;
A: The easiest method would probably be to simply power down, install the card, boot the latest Knoppix cd then assuming everything is working as expected, copy your /etc/X11/XF86Config-4 file from the booted cd into your hard drive install.  Rename your existing /etc/X11/XF86Config-4 to something like /etc/X11/XF86Config-4.bak so you'll still have it.&lt;br /&gt;
&lt;br /&gt;
==== Q:What are the names of the mouse? ====&lt;br /&gt;
&lt;br /&gt;
A:&lt;br /&gt;
*PS/2 is /dev/psaux&lt;br /&gt;
*Serial : /dev/ttys0 (similar to COM1 in Windows).&lt;br /&gt;
*USB: /dev/input/mice&lt;br /&gt;
&lt;br /&gt;
==== Q: How do I know hardware I want to buy is Linux compatible: ====&lt;br /&gt;
&lt;br /&gt;
A: The best way is seeing [[Tux]] in the box. You can read too --&amp;gt;&amp;gt; http://www.tldp.org/HOWTO/Hardware-HOWTO/index.html and http://www.tldp.org/HOWTO/Hardware-HOWTO/incompatible.html&lt;br /&gt;
&lt;br /&gt;
==== Q: Is it possible to use another CD while running Knoppix? ====&lt;br /&gt;
&lt;br /&gt;
A: ''(incomplete: if you know a more complete answer please contribute)''&lt;br /&gt;
This author only knows of a few vague leads on ways to do this. Namely:&lt;br /&gt;
&amp;lt;ol&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt;have two CD drives&lt;br /&gt;
&amp;lt;li&amp;gt;have more than a gig of ram so that you can install knoppix onto a ram disk (apparently this is somehow possible). Use the boot cheat code of &amp;quot;knoppix toram&amp;quot;. However, this needs about 1GB of ram.&lt;br /&gt;
 &amp;lt;li&amp;gt;network boot, with knoppix terminal server. this uses&lt;br /&gt;
[http://en.wikipedia.org/wiki/PXE Preboot eXecution Environment]. The PXE obsoletes boot roms, for information on how to set this up read the [http://www.knoppix.net/wiki/PXE_FAQ Knoppix PXE FAQ].&lt;br /&gt;
&amp;lt;li&amp;gt;copy an CD image to disk and then boot using &amp;quot;knoppix bootfrom=/dev/hda1/....iso&amp;quot; &lt;br /&gt;
&amp;lt;li&amp;gt;for more exotic boot media options you might be interested in [[User:Ml#miniroot_changes]]. (Note: uses a different miniroot.gz):&lt;br /&gt;
&amp;lt;ul&amp;gt;&lt;br /&gt;
&amp;lt;li&amp;gt; boot from iso without needing the cd at all (works on ntfs, reiserfs, ext3, vfat)&lt;br /&gt;
&amp;lt;li&amp;gt; boot from filesystem in a loopfile&lt;br /&gt;
&amp;lt;li&amp;gt; boot from network (nfs or nbd)&lt;br /&gt;
&amp;lt;li&amp;gt; boot from partition (no KNOPPIX cloop image)&lt;br /&gt;
&amp;lt;/ul&amp;gt;&lt;br /&gt;
&amp;lt;/ol&amp;gt;&lt;br /&gt;
&lt;br /&gt;
''In case anyone is interested, for me this question comes up because my only dvd-capable machine's hard drive failed. So I wanted to know if knoppix could somehow bend that way. :]''&lt;br /&gt;
[[User:Jesset77|Jesset77]] 04:07, 11 Jun 2005 (GMT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category : FAQ Page]]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:16:23Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from [http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.deb], fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:12:59Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layouts are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:11:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* accelerated knoppix */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured of the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization process] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:07:02Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Example setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf (the etherboot image didn't work for me, fortunately etherboot supports pxe as well, so it works with both pxe and etherboot clients)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:04:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* dev setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub's network stuff didn't work for me&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T11:02:54Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* grub gfx boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T10:01:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* grub gfx boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot; cellpadding=&amp;quot;5&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
|&lt;br /&gt;
| To try the bootloader in qemu, you can download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;pre&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/pre&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T09:57:55Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* grub gfx boot */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
{| width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|[http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/gfxboot/grub_gfx_sml.png]&lt;br /&gt;
| To try the bootloader in qemu, you can download [http://matthieu.lucotte.free.fr/myknoppix/gfxboot/gfxboot.iso.bz2 gfxboot.iso.bz2], extract it and run &amp;lt;code&amp;gt;qemu -cdrom gfxboot.iso&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T09:40:41Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* miniroot changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
'''warning''': /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (ie /home/knoppix already exists in the cloop image). If you don't want that, you should undo these diffs in linuxrc:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-mkdir -p /ramdisk/tmp /ramdisk/home/knoppix &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; chown knoppix.knoppix /ramdisk/home/knoppix &amp;amp;&amp;amp; ln -snf /ramdisk/home /home &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
+mkdir -p /ramdisk/tmp &amp;amp;&amp;amp; chmod 1777 /ramdisk/tmp &amp;amp;&amp;amp; mv /tmp /tmp.old &amp;amp;&amp;amp; ln -s /ramdisk/tmp /tmp &amp;amp;&amp;amp; rm -rf /tmp.old&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-   test &amp;quot;$i&amp;quot; = &amp;quot;home&amp;quot; -o &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
+   test &amp;quot;$i&amp;quot; = &amp;quot;tmp&amp;quot; &amp;amp;&amp;amp; continue&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-11T09:30:25Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* Example setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in it&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T18:50:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* dev setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
==== Example setup ====&lt;br /&gt;
&lt;br /&gt;
for reference, here's my setup using nbd (nfs would work fine as well)&lt;br /&gt;
&lt;br /&gt;
* /etc/dhcp3/dhcpd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# dhcpd.conf for KNOPPIX terminalserver&lt;br /&gt;
&lt;br /&gt;
# global settings&lt;br /&gt;
allow booting;&lt;br /&gt;
allow bootp;&lt;br /&gt;
default-lease-time 600;&lt;br /&gt;
max-lease-time 7200;&lt;br /&gt;
&lt;br /&gt;
subnet 10.0.0.0 netmask 255.0.0.0 {&lt;br /&gt;
  next-server 10.0.0.101;&lt;br /&gt;
#  if substring (option vendor-class-identifier, 0, 9) = &amp;quot;Etherboot&amp;quot; { filename &amp;quot;etherboot.nbi&amp;quot;; }&lt;br /&gt;
#  else { filename &amp;quot;pxelinux.0&amp;quot;; }&lt;br /&gt;
  filename &amp;quot;pxelinux.0&amp;quot;;&lt;br /&gt;
  option subnet-mask 255.0.0.0;&lt;br /&gt;
  range 10.0.0.201 10.0.0.250;&lt;br /&gt;
  option domain-name-servers  10.0.0.138;&lt;br /&gt;
  option routers  10.0.0.138;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /etc/nbd-server&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
NBD_PORT[0]=1234&lt;br /&gt;
NBD_FILE[0]=/mnt/space/samba/share/isos/knoppix_loop&lt;br /&gt;
NBD_SERVER_OPTS[0]=-r&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* add to /etc/inetd.conf&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tftp            dgram   udp     wait    root    /usr/sbin/in.tftpd      in.tftpd -v -s /tftpboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* setup [http://matthieu.lucotte.free.fr/myknoppix/tftpboot_nbd/ /tftpboot], copy vmlinuz and miniroot.gz&lt;br /&gt;
&lt;br /&gt;
* tftpboot/pxelinux.cfg/default:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
DEFAULT vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
TIMEOUT 300&lt;br /&gt;
&lt;br /&gt;
PROMPT 1&lt;br /&gt;
DISPLAY boot.msg&lt;br /&gt;
LABEL knoppix&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL normal&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 initrd=miniroot.gz quiet BOOT_IMAGE=knoppix&lt;br /&gt;
LABEL debug&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off vga=normal initrd=miniroot.gz debug BOOT_IMAGE=debug keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL knoppix-txt&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=normal initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL expert&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 BOOT_IMAGE=expert initrd=miniroot.gz keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb1024x768&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=791 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
LABEL fb800x600&lt;br /&gt;
KERNEL vmlinuz&lt;br /&gt;
APPEND nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp lang=us ramdisk_size=100000 init=/etc/init apm=power-off nomce vga=788 xmodule=fbdev initrd=miniroot.gz BOOT_IMAGE=knoppix keyboard=dvorak xkeyboard=dvorak&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* note: make sure you have the right network drivers inside miniroot.gz and the ips above are correct.&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T18:33:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T18:32:32Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== putting it all together ===&lt;br /&gt;
&lt;br /&gt;
* get and extract [http://matthieu.lucotte.free.fr/myknoppix/cd_skel.tar.bz2 cd_skel.tar.bz2]&lt;br /&gt;
&lt;br /&gt;
* copy [http://matthieu.lucotte.free.fr/myknoppix/vmlinuz vmlinuz] and [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz] in boot/&lt;br /&gt;
&lt;br /&gt;
* now you need a KNOPPIX cloop file with the above changes in KNOPPIX/. I can't distribute mine because it has copyrighted material in it, however you can create your own (these remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes] might be of use)&lt;br /&gt;
&lt;br /&gt;
* update md5sums: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
find -type f -not -name md5sums -not -name boot.cat -not -name iso9660_stage1_5 -exec md5sum '{}' \; &amp;gt; KNOPPIX/md5sums&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* (optional) accelerated knoppix profiling (see above)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T17:59:11Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* script changes :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;0&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
* remaster [http://matthieu.lucotte.free.fr/myknoppix/TODO notes]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T17:56:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* changes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot; cellpadding=&amp;quot;5&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| /etc/init.d/knoppix-autoconfig&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
|&amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
|- &lt;br /&gt;
| /etc/X11/Xsession.d/45xsession&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
| changes needed to have /home on unionfs&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/knoppix-terminalserver&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
| reuse miniroot from cd instead of building new one&lt;br /&gt;
|-&lt;br /&gt;
| /usr/sbin/mkxf86config&lt;br /&gt;
| [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig] [http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
| &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
notes&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T17:25:36Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb, fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* /etc/init.d/knoppix-autoconfig : &amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
* /etc/X11/Xsession.d/45xsession : changes needed to have /home on unionfs&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
* /usr/sbin/knoppix-terminalserver : reuse miniroot from cd instead of building new one&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
* /usr/sbin/mkxf86config&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
&lt;br /&gt;
notes&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T17:00:28Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
* added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
* via xorg/xfree drivers&lt;br /&gt;
** got via_drv.o for xfree 4.3.0 from http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
** fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
* /home on unionfs instead of ramdisk to save ram (my /home/knoppix is much bigger after i install firefox extensions etc)&lt;br /&gt;
&lt;br /&gt;
* in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
* various scripts changes&lt;br /&gt;
** /etc/init.d/knoppix-autoconfig : &amp;quot;xkeyboards&amp;quot; cheatcode, create /dev/dvd&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
** /etc/X11/Xsession.d/45xsession : changes needed to have /home on unionfs&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
** /usr/sbin/knoppix-terminalserver : reuse miniroot from cd instead of building new one&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
** /usr/sbin/mkxf86config&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;br /&gt;
&lt;br /&gt;
notes&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T16:43:24Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
in most scripts, replaced &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&amp;lt;/code&amp;gt; with &lt;br /&gt;
&amp;lt;code&amp;gt;CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&amp;lt;/code&amp;gt; &lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;br /&gt;
&lt;br /&gt;
/etc/init.d/knoppix-autoconfig &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-autoconfig.diff diff]&lt;br /&gt;
&lt;br /&gt;
/etc/X11/Xsession.d/45xsession&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/45xsession.diff diff]&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/knoppix-terminalserver&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/knoppix-terminalserver.diff diff]&lt;br /&gt;
&lt;br /&gt;
/usr/sbin/mkxf86config&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.orig orig]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/changes/mkxf86config.diff diff]&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T16:24:26Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* misc */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
added &amp;quot;xkeyboards&amp;quot; cheatcode to enable overriding of additional keyboard layouts (useful in addition to &amp;quot;keyboard&amp;quot; and &amp;quot;xkeyboard&amp;quot; cheatcodes if you want complete control over which layout are there)&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
in most scripts, replaced &lt;br /&gt;
  CMDLINE=&amp;quot;$(cat /proc/cmdline)&amp;quot;&lt;br /&gt;
with&lt;br /&gt;
  CMDLINE=&amp;quot; $(cat /proc/cmdline) &amp;quot;&lt;br /&gt;
to prevent bugs with keywords at the beginning/end when a leading/trailing space delimiter is looked for.&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T16:06:04Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* qemu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu 0.7.2 with kqemu accelerator&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T16:04:13Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* qemu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
&lt;br /&gt;
installed qemu gui: [http://emeitner.f2o.org/qemu_launcher qemu launcher] &lt;br /&gt;
&lt;br /&gt;
additional scripts needed for networking :&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu-ifup /etc/qemu-ifup] (edit to choose between bridge or forward setup)&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_bridge /usr/local/bin/qemu_bridge] : bridge virtual and ethernet interfaces&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_forward /usr/local/bin/qemu_forward] : use iptables to forward traffic to virtual interface&lt;br /&gt;
* [http://matthieu.lucotte.free.fr/myknoppix/qemu/qemu_prelaunch /usr/local/bin/qemu_prelaunch] : qemu_launcher  prelaunch script&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T15:48:44Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* miniroot changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
warning: /home lives in unionfs in my version, not in ramdisk as in knoppix 4.0.2 (/home/knoppix already exists in the cloop image)&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T15:37:17Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
The guys at http://www.alpha.co.jp/ac-knoppix/ have optimized the knoppix cd layout and boot process so it boots in under 50 seconds on some pcs. the cd layout optimization is done with a profiler, and it's possible&lt;br /&gt;
to use it to speed up apps as well.&lt;br /&gt;
&lt;br /&gt;
the main documentation is in japanese, so here's what i figured on the [http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/readme.txt optimization procedure] from&lt;br /&gt;
google automatic translation (&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/lcat_manual_eng.html manual] and a &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/accelerated_knoppix/accelerated_knoppix_tutorial.html tutorial]&lt;br /&gt;
).&lt;br /&gt;
&lt;br /&gt;
Downloads: get lcat_1.0.tar.bz2 from http://sourceforge.jp/projects/lcat/&lt;br /&gt;
&lt;br /&gt;
note: knoppix-terminal-server changes:&lt;br /&gt;
* build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
* building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T15:02:51Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
download new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
linuxrc: &lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc new]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/orig/linuxrc original]&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/linuxrc.diff diffs]&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T14:51:03Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=== grub gfx boot ===&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== dev setup ===&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
=== miniroot changes ===&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode, and direct support for reiserfs, ntfs and ext3 (i don't mind having a bigger miniroot)&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
==== new cheatcodes documentation ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== accelerated knoppix ===&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== qemu ===&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
=== misc ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T14:42:39Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* miniroot changes, dev setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes, dev setup ====&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together&lt;br /&gt;
(of course, the actual netboot miniroot still needs the right network modules added to it to work, but that's the only difference)&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a &amp;quot;nocloop&amp;quot; cheatcode to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode.&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
new miniroot: [http://matthieu.lucotte.free.fr/myknoppix/miniroot/accelerated_knoppix/miniroot.gz miniroot.gz]&lt;br /&gt;
&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/knoppix-cheatcodes.txt Cheatcodes doc] (see bottom for new ones)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Accelerated Knoppix&lt;br /&gt;
&lt;br /&gt;
knoppix chkblk=10000		    enable cloop profiling. profile data is&lt;br /&gt;
				    available in /proc/cloop/&lt;br /&gt;
knoppix nocbr			    don't use cloop readahead&lt;br /&gt;
knoppix noac45			    don't use 45xession fixes&lt;br /&gt;
knoppix noacka			    don't use knoppix-autoconfig fixes&lt;br /&gt;
knoppix noacxs			    don't use xsession fixes&lt;br /&gt;
knoppix noacit			    don't use inittab fixes&lt;br /&gt;
knoppix noac			    don't use any boot script/progs fixes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Misc cheatcodes:&lt;br /&gt;
&lt;br /&gt;
knoppix noac			    don't use accelerated knoppix fixes for&lt;br /&gt;
				    boot scripts/programs.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Alternative boot methods (ie not booting from cd).&lt;br /&gt;
Useful for testing while remastering knoppix.&lt;br /&gt;
&lt;br /&gt;
knoppix nbdhost=10.0.0.1            mount filesystem on network block device&lt;br /&gt;
        nbdport=1234                (nbd) served by specified host.&lt;br /&gt;
knoppix nfsdir=10.0.0.1:/knoppix    mount nfs directory                  (*)&lt;br /&gt;
nodhcp                              don't ask for ip (diskless clients)  (*)&lt;br /&gt;
knoppix fromiso=/dir/file.iso	    boot from iso directly. doesn't need cd&lt;br /&gt;
                                    as bootfrom cheatcode.&lt;br /&gt;
knoppix nocloop                     don't mount a KNOPPIX cloop image. other&lt;br /&gt;
                                    cheatcodes determine directory to use&lt;br /&gt;
				    as /KNOPPIX&lt;br /&gt;
knoppix loopfile=/dir/image         mount filesystem on specified file&lt;br /&gt;
                                    (implies nocloop)&lt;br /&gt;
&lt;br /&gt;
(*) : same cheatcodes as available on knoppix-terminal-server clients.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Examples&lt;br /&gt;
========&lt;br /&gt;
&lt;br /&gt;
Boot from knoppix iso on hd:&lt;br /&gt;
(the whole cd iso, not the KNOPPIX cloop file - compare with just fromhd=...)&lt;br /&gt;
  knoppix fromhd=/dev/hda4 fromiso=/share/isos/knoppix_402.iso&lt;br /&gt;
&lt;br /&gt;
Boot from ext2 filesystem in loop file /knoppix_loop on hd partition /dev/hda4:&lt;br /&gt;
  knoppix fromhd=/dev/hda4 loopfile=/knoppix_loop &lt;br /&gt;
&lt;br /&gt;
Boot from nfs on 10.0.0.101 serving content of knoppix cd (same as knoppix&lt;br /&gt;
terminal server):&lt;br /&gt;
  knoppix nfsdir=10.0.0.101:/mnt/tmp nodhcp &lt;br /&gt;
&lt;br /&gt;
Boot from nbd on 10.0.0.101 port 1234 serving same /knoppix_loop fileas above:&lt;br /&gt;
  knoppix nocloop nbdhost=10.0.0.101 nbdport=1234 nodhcp&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Filesystems&lt;br /&gt;
===========&lt;br /&gt;
&lt;br /&gt;
The cd's initrd image supports the following filesystems&lt;br /&gt;
  iso9660 reiserfs ext3 ext2 ntfs vfat&lt;br /&gt;
(original one only supports iso9660 ext2 vfat, so can't use fromhd on ntfs&lt;br /&gt;
for example. bootfrom has to be used instead, but requires the cd...)&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T14:32:00Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* miniroot changes, dev setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes, dev setup ====&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together.&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a cheatcode (nocloop) to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
note: the netboot client still uses pxelinux - grub network support sucks&lt;br /&gt;
&lt;br /&gt;
i also wanted a way to boot from an iso image on the hd, without needing the physical cd at all (i have a notebook without cd drive, hence &amp;quot;bootfrom&amp;quot; cheatcode wouldn't work there). so i added a &amp;quot;fromiso&amp;quot; cheatcode.&lt;br /&gt;
&lt;br /&gt;
lastly i merged changes from [http://www.alpha.co.jp/ac-knoppix/ accelerated knoppix], see next section for that.&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T14:14:50Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: /* miniroot changes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes, dev setup ====&lt;br /&gt;
&lt;br /&gt;
i wanted an easy way to test the remastered version from hd without having to reboot or create an iso each time, so i had another machine boot from the network just like knoppix terminal server, except with the current&lt;br /&gt;
state of my remastered version.&lt;br /&gt;
&lt;br /&gt;
i got tired of having 2 different miniroots (one for the cd, one for netboot) so i merged the 2 together.&lt;br /&gt;
&lt;br /&gt;
Also, knoppix terminal server still required a KNOPPIX cloop file, which i didn't want to create each time,&lt;br /&gt;
so i added a cheatcode (nocloop) to use the raw files instead. &lt;br /&gt;
&lt;br /&gt;
There are issues when using nfs + unionfs directly (which normally don't occur in knoppix terminal server since&lt;br /&gt;
it's nfs + cloop + unionfs - note: &amp;quot;nfsro&amp;quot; unionfs mount option seems to fix it, but shouldn't be needed), so i ended up putting the remastered files in an ext2 filesystem in a loop file (knoppix_loop) and accessing that from the diskless client.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
new cheatcodes etc&lt;br /&gt;
-&amp;gt; nbd setup etc&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T13:45:22Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes (added dvorak keyboard layout, kept only french and english languages, updated doc and menus)&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub files need to be setup under [http://matthieu.lucotte.free.fr/myknoppix/cd_skel/boot/grub boot/grub] on the knoppix cd.&lt;br /&gt;
&lt;br /&gt;
note: remember to make final iso image with :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
mkisofs -pad -l -f -r -J -V &amp;quot;MYKNOPPIX&amp;quot; -b boot/grub/iso9660_stage1_5 -c boot/grub/boot.cat -o&lt;br /&gt;
../myknoppix.iso -no-emul-boot -boot-load-size 1 -boot-info-table  knoppix_iso_directory&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
boot/grub/message is a cpio archive which controls the ui. to recreate it you need the tools from&lt;br /&gt;
[http://www.morphix.org/debian/source/gfxboot_2.4.orig.tar.gz gfxboot_2.4.orig.tar.gz]. &lt;br /&gt;
&lt;br /&gt;
Then you can use&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/cd_skel/KNOPPIX/remaster/gfxboot-grub/gfxboot-grub-0.1_my.tgz gfxboot-grub-0.1_my.tgz]&lt;br /&gt;
to recreate message (based on [http://www.morphix.org/debian/source/morphix-iso-grubtheme_0.1-2.tar.gz morphix-iso-grubtheme_0.1-2.tar.gz])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes ====&lt;br /&gt;
&lt;br /&gt;
new cheatcodes etc&lt;br /&gt;
-&amp;gt; nbd setup etc&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T13:23:33Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;(Work in progress)&amp;lt;br&amp;gt;&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes.&lt;br /&gt;
&lt;br /&gt;
screenshot&lt;br /&gt;
[http://matthieu.lucotte.free.fr/myknoppix/grub_gfx.png http://matthieu.lucotte.free.fr/myknoppix/grub_gfx_sml.png]&lt;br /&gt;
&lt;br /&gt;
grub: customized morphix grub boot&lt;br /&gt;
  gfxboot: &lt;br /&gt;
    http://www.morphix.org/debian/source/&lt;br /&gt;
      morphix-iso-grubtheme_0.1-2.tar.gz&lt;br /&gt;
      grub-gfxboot_0.95-1.tar.gz&lt;br /&gt;
  - added dvorak keyboard layout&lt;br /&gt;
  - updated menus, doc etc&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes ====&lt;br /&gt;
&lt;br /&gt;
new cheatcodes etc&lt;br /&gt;
-&amp;gt; nbd setup etc&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T12:34:26Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
Work in progress&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
i worked on a customized knoppix cd, based on knoppix 4.0.2.&lt;br /&gt;
I'm posting my changes here in case they might be of use to others.&lt;br /&gt;
&lt;br /&gt;
==== Grub gfx boot ====&lt;br /&gt;
i wanted the cd to boot using grub instead of isolinux (can be used for repairs/diagnostics). &lt;br /&gt;
morphix and kanotix are both using a cute graphic grub menu, which gives easy access to&lt;br /&gt;
various knoppix cheatcodes, documentation etc.&lt;br /&gt;
This one's based on morphix, with slight ui changes.&lt;br /&gt;
&lt;br /&gt;
grub: customized morphix grub boot&lt;br /&gt;
  gfxboot: &lt;br /&gt;
    http://www.morphix.org/debian/source/&lt;br /&gt;
      morphix-iso-grubtheme_0.1-2.tar.gz&lt;br /&gt;
      grub-gfxboot_0.95-1.tar.gz&lt;br /&gt;
  - added dvorak keyboard layout&lt;br /&gt;
  - updated menus, doc etc&lt;br /&gt;
&lt;br /&gt;
==== miniroot changes ====&lt;br /&gt;
&lt;br /&gt;
new cheatcodes etc&lt;br /&gt;
-&amp;gt; nbd setup etc&lt;br /&gt;
&lt;br /&gt;
==== accelerated knoppix ====&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== qemu ====&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
==== misc ====&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	<entry>
		<id>https://mail.knoppix.net/wiki/User:Ml</id>
		<title>User:Ml</title>
		<link rel="alternate" type="text/html" href="https://mail.knoppix.net/wiki/User:Ml"/>
				<updated>2006-05-10T08:11:40Z</updated>
		
		<summary type="html">&lt;p&gt;Ml: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----&lt;br /&gt;
Work in progress&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
grub: customized morphix grub boot&lt;br /&gt;
  gfxboot: &lt;br /&gt;
    http://www.morphix.org/debian/source/&lt;br /&gt;
      morphix-iso-grubtheme_0.1-2.tar.gz&lt;br /&gt;
      grub-gfxboot_0.95-1.tar.gz&lt;br /&gt;
  - added dvorak keyboard layout&lt;br /&gt;
  - updated menus, doc etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
knoppix accelerated changes: + notes&lt;br /&gt;
  dpkg -i lcat_1.0.0-1_i386.deb&lt;br /&gt;
  new miniroot, merged knoppix accelerated changes, added sg module&lt;br /&gt;
  noac cheatcode to turn off knoppix accelerated changes to boot scripts/progs&lt;br /&gt;
  knoppix-terminal-server:&lt;br /&gt;
    build miniroot from /cdrom/boot/miniroot.gz (or prompt user) instead of&lt;br /&gt;
    building from scratch (so we reuse whatever cloop module is in there)&lt;br /&gt;
&lt;br /&gt;
miniroot, cheatcodes etc&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
various scripts changes (fstype etc)&lt;br /&gt;
&lt;br /&gt;
home on unionfs&lt;br /&gt;
&lt;br /&gt;
notes&lt;br /&gt;
&lt;br /&gt;
qemu wrapper, conf etc&lt;br /&gt;
&lt;br /&gt;
via xorg/xfree drivers&lt;br /&gt;
  extracted via_drv.o for xfree 4.3.0 from&lt;br /&gt;
  http://www.physik.fu-berlin.de/~glaweh/debian/unichrome/xserver-xfree86_4.3.0.dfsg.1-10.1unichrome30.1_i386.d&lt;br /&gt;
eb&lt;br /&gt;
  fixed /usr/share/hwdata/pcitable to use via xfree driver&lt;/div&gt;</summary>
		<author><name>Ml</name></author>	</entry>

	</feed>