Matthias Scherrer >>KNOPPIX

Unix, Open Source, News & other random stuff...

* under construction
 

Inhalt:

1. Einleitung

KNOPPIX ist eine Linux Distribution, welche auf eine CD passt. Das Besondere an KNOPPIX ist, dass die CD bootbar ist, und keine Veränderungen am schon bestehenden System vornimmt. KNOPPIX ist deshalb besonders als Linux Demo CD geeignet - für Leute, die Linux kennenlernen möchten, ohne gleich ein komplettes Linux installieren zu müssen.

Das offizielle KNOPPIX gibts hier.

Da ich vor der Aufgabe stand, den Citrix Metaframe Client mit auf die CD zu packen, entstand dieses kleine HOWTO.

2. Aufbau der CD

Das KNOPPIX ISO9660 Image ist ca. 700MB gross, und passt somit nicht mehr auf jede 74min/650MB CD. Es empfiehlt sich deshalb, das Image auf 80min/700MB CDs zu brennen. Der Inhalt der CD besteht aus einigen Hilfs- und Demodateien, einem autostart für Windows Benutzer, sowie dem KNOPPIX Verzeichnis, welches die Boot Images (El-Torrito) und das eigentliche KNOPPIX (GNU Software, KDE, Gnome, Open Office, Mozilla usw.) enthät:
CD Struktur Sat Jun 28 19:58:58 CEST 2003


/cdrom/:
total 15
dr-xr-xr-x    3 root     root         2048 Nov  4  2001 Demos
dr-xr-xr-x    2 root     root         4096 Sep 22 01:12 KNOPPIX
dr-xr-xr-x    2 root     root         2048 May 15 00:33 Talks
-r-xr-xr-x    1 root     root           54 Jun 17  2001 autorun.bat
-r--r--r--    1 root     root           47 Aug 28 21:59 autorun.inf
-r--r--r--    1 root     root         2290 Aug 28 22:06 index.html
-r--r--r--    1 root     root         3262 Aug 28 21:57 knoppix.ico

/cdrom/Demos:
total 2
dr-xr-xr-x    2 root     root         2048 May 15 00:43 Audio

/cdrom/Demos/Audio:
total 10340
-r--r--r--    1 root     root          323 Aug 13  2001 README.txt
-r--r--r--    1 root     root         6421 May 15 00:41 green_openmusic_license.txt
-r--r--r--    1 root     root      3477411 Aug 13  2001 inside.ogg
-r--r--r--    1 root     root      3676646 Aug 13  2001 opensource.ogg
-r--r--r--    1 root     root      3426092 Aug 13  2001 penguinplanet.ogg

/cdrom/KNOPPIX:
total 706491
-r--r--r--    1 root     root     718490828 Sep 22 01:10 KNOPPIX
-r--r--r--    1 root     root        10387 Sep  4 21:51 KNOPPIX-FAQ-EN.txt
-r--r--r--    1 root     root        11697 Sep  4 21:51 KNOPPIX-FAQ.txt
-r--r--r--    1 root     root         2530 Aug 24  2001 README_Security.txt
-r--r--r--    1 root     root       287741 Jun 30 20:19 background.gif
-r--r--r--    1 root     root      1474560 Sep 22 00:41 boot-de.img
-r--r--r--    2 root     root      1474560 Sep 22 00:41 boot-en.img
-r--r--r--    1 root     root         2048 Sep 22 01:12 boot.cat
-r--r--r--    2 root     root      1474560 Sep 22 00:41 boot.img
-r--r--r--    1 root     root        10462 Aug 29 00:50 index.html
-r--r--r--    1 root     root         9983 Aug 29 00:51 index_en.html
-r--r--r--    1 root     root         4079 Aug 11 21:46 knoppix-cheatcodes.txt
-r--r--r--    1 root     root        31326 Jun 30 20:34 knoppix-header.gif
-r-xr-xr-x    1 root     root           27 Jun  5  2001 mkfloppy.bat
-r--r--r--    1 root     root         1669 Jun  5  2001 rawrite2-readme.txt
-r-xr-xr-x    1 root     root        17863 Jun  5  2001 rawrite2.exe
-r--r--r--    1 root     root       138803 May 16 03:52 web-background.gif

/cdrom/Talks:
total 1463
-r--r--r--    1 root     root       151195 Mar 12  2002 cloop-chlt4-screen.pdf
-r--r--r--    1 root     root       121958 May 15 00:33 freesoftware-paper.pdf
-r--r--r--    1 root     root       952733 May 15 00:30 freesoftware-screen.pdf
-r--r--r--    1 root     root       270862 Mar 12  2002 knoppix-chlt4-screen.pdf

Wie man erkennen kann, ist das KNOPPIX System in einem weiteren ISO Image untergebracht, welches jedoch komprimiert ist, und effektiv ca. 1.8GByte Software enthält.

Damit dies möglich ist, wird das cloop Modul benötigt.

3. cloop

Zuerst muss man sich die Datei cloop_0.65-1.tar.gz (oder neuer) besorgen, entpacken und übersetzen. Man sollte nun das Modul cloop.o, sowie die beiden Hilfsporgramme create_compressed_fs und extract_compressed_fs besitzen. Das README beschreibt grob den Umgang mit den neuen Tools.

Das cloop Device wird so erzeugt und angelegt:

make KERNEL_DIR=/path/to/linux-kernel/sources
# mkdir -p /lib/modules/misc && cp cloop.o /lib/modules/misc/ 
# depmod -a
# mknod /dev/cloop b 240 0

4. Kopieren von KNOPPIX auf die HD

Zuerst muss das ISO Image (bzw. die Original CDROM) gemountet werden,z.B. mit:
mount /cdrom
oder
mount -o ro -o loop knoppix.iso /mnt
Danach:
mkdir /KNOPPIX
cp -a /mnt/* /KNOPPIX

4.1 Mounten des komprimierten KNOPPIX Images

Das komprimierte Image kann nun mit dem cloop Modul gemountet werden:
umount /mnt
insmod cloop.o file=/KNOPPIX/KNOPPIX/KNOPPIX
mount -o ro /dev/cloop /mnt
Der Inhalt ist nun unter /mnt sichtbar, kann jedoch nicht verändert werden. Somit ist noch einmal ein kompletter Kopiervorgang notwendig:
mkdir /MEINKNOPPIX
cp -a /mnt/* /MEINKNOPPIX
umount /mnt
rmmod cloop
Erst jetzt ist das Linux System unter /MEINKNOPPIX beliebig veränderbar.

5. ISO Image erzeugen und CD brennen

Zuerst wird das komprimierte (neue) KNOPPIX Image erstellt, danach das ISO Image, welches auf CD gebrannt werden kann:

5.1 Komprimiertes Image erstellen

Dieses Image muss alle Unix Permission/Owner/Group beibehalten, und auch die Hidden-Files enthalten. Der mkisofs muss deshalb die Optionen -R und -L enthalten. "On the fly" wird dann auch noch komprimiert und das Original Image überschrieben:
mkisofs -R -L /MEINKNOPPIX | \
           create_compressed_fs - 65536 > /KNOPPIX/KNOPPIX/KNOPPIX

create_compressed_fs ist im cloop Paket enthalten und muss ausführbar sein !!!

Danach sollte man das Image Testmounten:

insmod cloop.o file=/KNOPPIX/KNOPPIX/KNOPPIX 
mount -o ro /dev/cloop /mnt
Insbesondere sollten Links (z.b. ls -l /mnt/bin/csh) und Filepermission (z.b. ls -l /mnt/var) überprüft werden. Danach mit umount /mnt wieder unmounten.

5.2 ISO9660 Image erstellen

Nun wird das endgültige Image erstellt und auf CD gebrannt:
mkisofs -r -v -J -T \
        -b KNOPPIX/boot.img \
        -c KNOPPIX/boot.cat \
        -o k.iso /KNOPPIX

cdrecord -v fs=8m speed=8 -eject dev=0,0,0 k.iso
Vor dem Brennen kann man das Image mit mount -o loop k.iso /mnt mounten, um sicher zu gehen, dass alles in Ordnung ist. Auch sollte man die Dateigrösse überprüfen und ggf. Files oder Pakete löschen.

6. Auf Harddisk kopieren

KNOPPIX ist ja eigentlich eine CD Distribution, trotzdem wird immer wieder gefragt: Wie kommt das Zeugs auf Disk?

Wenn man fit in Linux ist, dann kann man das manuell machen:

  • Disk partitionieren und formatieren (fdisk und mkfs)
  • Disks mounten
  • Daten kopieren z.B. mit cp -a /KNOPPIX/* /mnt
  • /mnt/etc/fstab anpassen
  • Bootmanager einrichten (z.B. LILO: vi /mnt/etc/lilo.conf ; chroot /mnt lilo)

Etwas einfacher gehts mit knx_hdinstall, welches noch in Entwicklunsphase ist, aber trotzdem schon funktioniert. Einfach KNOPPIX booten und in einem Terminal Fenster folgendes eingeben:

sudo su
/usr/local/bin/knx_hdinstall
Einen hübschen Artikel darüber hat Fabian Franz geschrieben.

7. Makefile

Mein Namensvetter Matthias Wientapper hat mir ein Makefile zugeschickt, welches einige der obengenannten Aktionen durch einfache make Aufrufe vereinfacht:

Makefile Sat Jun 28 19:58:58 CEST 2003


# Makefile von Matthias Wientapper

ISOFILE = KNOPPIX_V3.1-2003-01-01-DE.iso

copy-iso:
        mount -o ro -o loop $(ISOFILE) /mnt
        mkdir -p /KNOPPIX
        cp -a /mnt/* /KNOPPIX
        umount /mnt

mount-compressed:
        insmod /lib/modules/2.4.18-k7/misc/cloop.o file=/KNOPPIX/KNOPPIX/KNOPPIX
        mount -o ro /dev/cloop /mnt

copy-compressed:
        mkdir -p /MEINKNOPPIX
        cp -a /mnt/* /MEINKNOPPIX
        umount /mnt
        rmmod cloop


8. Final

Mit diesem Verfahren war es mir möglich, den Citrix Client auf die KNOPPIX CD zu bringen. Leider unterliegt der Citix Client nicht der GPL, somit darf diese CD nicht weitergegeben werden. Für den hausinternen Gebrauch habe ich nun aber alle wichtigen Unix Tools auf einer CD, und kann immer noch zum Metaframe Server die Verbindung herstellen.


This page last updated on Sat Jun 28 19:58:58 CEST 2003
Copyright © 2002 Matthias Scherrer. All rights reserved.
Valid HTML 4.01! Seitenanfang