Edited on 2007-08-21 15:48:30 by DeUser [building a freenet live-cd/installation-cd based on debian live-cd (update)]
Additions:
Steht nicht bereits ein passendes Build-Environments zur Verfügung gibt es mehrere Möglichkeiten eines rasch zu erzeugen. Eins vorweg, die Image-Erzeugung mit Qemu ist klarerweise bedeutend langsamer als über ein Chroot-Environment oder ein normales Host-System. Das Howto ist auf Debian Etch als Host-System ausgerichtet. Ob es für andere Linux-Distributionen oder Windows-Versionen ähnliche Methoden zu einigen Punkten gibt, ist mir leider nicht bekannt. **Warnung: Die Ausführung aufgeführter Befehle erfolgt auf eigene Verantwortung. Für Fehler in diesem Howto übernehme ich keine Haftung.**
Downloade ein Image einer aktuellen Debian-Installations-CD, bspw. die Network Install-CD (debian-40r0-i386-netinst.iso - Nachfolgeversion ist derzeit in Arbeit, 159MB) (Debian 4.0-r0-i386: [[http://www.us.debian.org/CD/http-ftp/ Homepage]]).
%%qemu-img create -f raw debian_env.img 6G%%
Das Image sollte mindestens eine Größe von 3.5 GB vorweisen (für ein bequemes Kompilieren besser 6GB), weil ansonsten zu wenig Platz zur Erzeugung der LiveCD vorhanden ist. Je nach Einstellung ist mal mehr, mal weniger Speicherplatz notwendig. Die Option "-f raw" hat den Vorteil, dass das Image bei bestimmten Dateisystemen (wie ext2 oder ext3) nur langsam wächst, da erst Speicherplatz am Host-System verbraucht wird, sobald dieser auch im emulierten System belegt wird. Im Gegensatz zu den anderen Image-Formaten lässt es sich auch mounten (siehe unten). Am Host-System muss eine Netzwerkverbindung zu einem Debian-Server bestehen. Die Installation wird gestartet mit:
Unter bspw. GNU/Linux erfolgt das Mounten für lesenden und schreibenden Zugriff mit:
#mount -o loop,rw,offset=32256 debian_env.img /mnt/debian_img #TODO:?
Ein Chroot-Environment erhält man durch Neuinstallation oder Nutzung einer bestehenden Installation. Für ersteres ist zu empfehlen, sich nach einer Installationsvariante für das jeweilige Host-System selbst zu informieren (//cdebootstrap// dürfte u.a. notwendig sein) oder sich eine fertige Installation zu besorgen. Hat man eine Debian-Installation bereits in Qemu eingerichtet, bietet sich an diese zur Beschleunigung der LiveCD-Image-Erzeugung zu verwenden.
Dazu wird das Qemu-Image entweder lesend oder schreibend gemountet:
Bei schreibendem Zugriff kann gleich die Installation in ///mnt/debian_img// genutzt werden. Bei lesendem Zugriff wird stattdessen die Verzeichnisstruktur in ein neues Verzeichnis (///mnt/debian_chroot///)kopiert:
cp -a /mnt/debian_img /mnt/debian_chroot
Nun wird ins Chroot-Environment gechrootet und mit dem Kapitel **Erstellung der LiveCD** fortgefahren:
chroot -t proc /proc /mnt/debian_img/proc
chroot /mnt/debian_img /bin/bash
# oder
chroot -t proc /proc /mnt/debian_chroot/proc
chroot /mnt/debian_chroot /bin/bash
Wird das Chroot-Environment nicht mehr benötigt, dieses wieder unmounten:
umount /mnt/debian_img/proc
umount /mnt/debian_img
# oder
umount /mnt/debian_chroot/proc
umount /mnt/debian_chroot
Die LiveCD kann beliebig zusammengestellt werden. Für einen minimalen Betrieb reicht Java. Bei Verwendung von zB Frost oder Thaw ist weiters die X11-Oberfläche erforderlich. In diesem Howto wurde als kleine aber doch nicht zu spartanische Oberfläche Xfce4 gewählt. Da eine Xfce4-Desktopumgebung bereits als Paketliste inkludiert ist, erleichtert es die Paketerweiterung. Sollen die Daten auch auf anderen PCs erreichbar sein, ist der Zugriff entweder über fproxy möglich oder durch Einrichtung eines Samba- oder OpenSSH-Servers. Sicherheitsprogramme wie clamd, checksecurity, etc. sind weitere potentielle Serverfunktionen.
Nun steht die Standardkonfiguration zur Modifikation zur Verfügung. Es sind nur geringfügige Änderungen notwendig. Als Paketlisten werden "standard" (für "headless"-Version; ohne X, links als Browser) und "xfce" (für "x11"-Version; Desktop für Thaw, Frost, ...) verwendet. Sonstige gewünschte Pakete (Programme) sind in eigenen Paketlisten in //config/chroot_local-packageslists/// aufgeführt. Die Variablennamen und Parameter können sich durch die ständige Weiterentwicklung von //Debian Live// geringfügig unterscheiden (zB LIVE_* start LH_*). Die headless-Konfiguration wird nicht extra beschrieben, weil diese durch die x11-Konfiguration abgedeckt wird.
Bootparameter (optional, auch Direktübergabe beim Booten möglich):
Freischaltung der contrib- und non-free-Zweige (notwendig u.a. für Java):
für headless (ohne X):
%%LH_PACKAGES_LISTS="standard"%%
für xfce4:
%%LH_PACKAGES_LISTS="xfce"%%
Die Java-Installation benötigt die Zustimmung zur Lizenz. Da das nur interaktiv geschehen kann, wird Java nicht über eine Paketliste sondern über einen Hook im späteren Verlauf der Installation installiert. Das Originalskript "sun-java5.sh" (inkl. Kommentar) findet sich in ///usr/share/live-helper/examples/hooks///:
DEBIAN_FRONTEND="dialog" apt-get install --yes sun-java5-bin
Einige Male gab es Probleme mit dem Java-Path, weil die libs in ein falsches Verzeichnis verlinkt wurden. Das Resultat ist eine Fehlermeldung bei Aufruf von //java//. Abhilfe schafft ein soft-link:
Der Xorg-Server kann mit //dexconf// konfiguriert werden. Ein dementsprechendes Skript sähe so aus:
__config/chroot_local-packageslists/__
Die Auswahl der zu installierenden Pakete wird in einer Paketliste (Package List) definiert. (Eigene) Paketlisten, die in diesem Verzeichnis hinterlegt sind, werden bei der Installation zusätzlich abgearbeitet. Vordefinierte Paketlisten aus ///usr/share/live-helper/lists/// können (müssen aber nicht) folgendermaßen inkludiert werden:
# name_der_paketliste
z.B.:
# junior
Eine Auswahl diverser kleiner Programmen sähe folgendermaßen aus (weitere Beispiele am Ende dieser Seite):
__config/chroot_local-packageslists/freenet-tools__
## LH: freenet-tools
less mc links
Die Dateizugriffsrechte für die "x11"-Konfigurationsdateien (wichtig für die zu inkludierenden Dateien) sind wie folgt gesetzt:
.:
insgesamt 4
drwxr-xr-x 5 root root 4096 2007-08-21 10:41 config
./config:
insgesamt 32
-rw-r--r-- 1 root root 2237 2007-08-21 15:24 binary
-rw-r--r-- 1 root root 1302 2007-08-20 01:05 bootstrap
-rw-r--r-- 1 root root 1310 2007-08-21 15:24 chroot
drwxr-xr-x 2 root root 4096 2007-08-21 02:03 chroot_local-hooks
drwxr-xr-x 5 root root 4096 2007-08-20 16:11 chroot_local-includes
drwxr-xr-x 2 root root 4096 2007-08-21 02:02 chroot_local-packageslists
-rw-r--r-- 1 root root 2707 2007-08-19 01:44 common
-rw-r--r-- 1 root root 212 2007-08-19 01:44 source
./config/chroot_local-hooks:
insgesamt 4
-rwxr-xr-x 1 root root 762 2007-08-21 01:51 sun-java5.sh
./config/chroot_local-includes:
insgesamt 12
drwxr-xr-x 3 root root 4096 2007-08-21 15:17 etc
drwxr-xr-x 3 999 999 4096 2007-08-16 16:09 files
drwxr-xr-x 3 root root 4096 2007-08-17 11:05 usr
./config/chroot_local-includes/etc:
insgesamt 12
-rw-r--r-- 1 root root 113 2007-08-17 11:08 crypttab
-rw-r--r-- 1 root root 124 2007-08-17 11:08 fstab
drwxr-xr-x 2 root root 4096 2007-08-17 01:58 X11
./config/chroot_local-includes/etc/X11:
insgesamt 4
-rw-r--r-- 1 root root 14 2007-08-16 16:08 default-display-manager
./config/chroot_local-includes/files:
insgesamt 4
drwxr-xr-x 2 999 999 4096 2007-08-21 15:14 freenet
./config/chroot_local-includes/files/freenet:
insgesamt 8
-rwxr-xr-x 1 999 999 43 2007-08-16 16:10 freenet_install_offline.sh
-rwxr-xr-x 1 999 999 150 2007-08-16 16:10 freenet_install_online.sh
-rwxr-xr-x 1 999 999 0 2007-08-21 15:14 installer_offline.jar.placeholder
./config/chroot_local-includes/usr:
insgesamt 4
drwxrwsr-x 3 root staff 4096 2007-08-17 11:05 local
./config/chroot_local-includes/usr/local:
insgesamt 4
drwxrwsr-x 2 root staff 4096 2007-08-21 15:19 sbin
./config/chroot_local-includes/usr/local/sbin:
insgesamt 36
-rwxrwsr-x 1 root staff 44 2007-08-17 10:20 crypt_close.sh
-rwxrwsr-x 1 root staff 44 2007-08-17 11:07 crypt_format.sh
-rwxrwsr-x 1 root staff 115 2007-08-17 10:19 crypt_mount.sh
-rwxrwsr-x 1 root staff 53 2007-08-17 10:16 crypt_open.sh
-rwxrwsr-x 1 root staff 31 2007-08-17 10:19 crypt_unmount.sh
-rwxrwsr-x 1 root staff 70 2007-08-17 10:14 part_create.sh
-rwxrwsr-x 1 root staff 60 2007-07-28 10:49 set_java-path.sh
-rwxrwsr-x 1 root staff 76 2007-08-05 23:15 set_java-version.sh
-rwxrwsr-x 1 root staff 19 2007-08-21 15:19 set_X11.sh
./config/chroot_local-packageslists:
insgesamt 20
-rw-r--r-- 1 root root 55 2007-08-21 02:00 freenet-encryption
-rw-r--r-- 1 root root 31 2007-08-21 02:01 freenet-net
-rw-r--r-- 1 root root 41 2007-08-21 02:01 freenet-samba
-rw-r--r-- 1 root root 50 2007-08-21 01:58 freenet-ssh
-rw-r--r-- 1 root root 36 2007-08-21 01:58 freenet-tools
Es gibt mehrere Methoden, die sich in der Anzahl ihrer Zwischenschritte unterscheiden.
__Methode 1:__
__Methode 2:__
Die Erstellung des Images kann in Teilschritten erfolgen. Alle Befehle werden in //debian_builddir/// aufgerufen.
2.2 Danach Erzeugung der Verzeichnisstruktur der Chroot-Umgebung //debian_builddir/chroot///:
Sind noch Änderungen in der Verzeichnisstruktur notwendig, ist dies jetzt durchführbar.
2.3 Nun wird ein bootbares CD-Image generiert (für USB-Speicher u.ä. die entsprechenden Konfigurationsparameter setzen):
Das fertige LiveCD-ISO liegt nun als //binary.iso// in //debian_builddir/// und lässt sich mit einem Brennprogramm auf CD brennen.
Bei mehrmaligen Versuchen ist das nochmalige Downloaden der meisten Pakete durch Verwendung des Dienstes //apt-cacher// vermeidbar. Wird apt-cacher bereits verwendet, ist der Download der meisten regulären Pakete von einem Debian-Server sogar unnötig. Apt-cacher hält Debian-Pakete vor und bietet diese selbst über einen Serverdienst an. Der einzige Nachteil ist der nicht mögliche Download des memtest86+-Images //vmlinuz//. Apt-cacher beschränkt sich auf deb-Pakete, weshalb bei Nutzung von memtest86+ auf apt-cacher verzichtet werden muss. Zum erstmaligen Downloaden der Pakete bei bereits bestehender Nutzung ist es jedoch immer noch von Vorteil und spart Downloadvolumen.
Dazu wird //config/bootstrap// durch Hinzufügen von //localhost:3142// als Proxy angepasst:
Nun kann das Verzeichnis //debian_builddir// gelöscht werden ohne später nochmals alle Pakete downloaden zu müssen. Einige der Pakete müssen dennoch jedesmal neu gedownloadet werden.
**Alternativ** bewahrt man sich alle ///debian_builddir/cache/packages_*///-Verzeichnisse auf und verwendet diese bei einer neuen Image-Generierung wieder. Damit ist der nochmalige Download dieser Pakete nicht notwendig.
==Bearbeitung des Images==
Sind noch Modifikationen des LiveCD-Images notwendig, kann dieses schreibend geöffnet werden. Unter GNU/Linux mit:
Das squash-Dateisystem wird anschließend folgendermaßen gemountet: !?!? (TODO: nicht beschreibbar/writable, trotz -o rw)
Das Basissystem bildet die LiveCD. Ist genug RAM vorhanden, kann der LiveCD-Inhalt sogar ins RAM kopiert werden. Dazu wird am Bootprompt dem Kernel der Parameter "toram" übergeben (am Bootprompt "live toram" eingeben).
Das übergeordnete Verzeichnis der Freenet-Installation muss vom Nutzer "freenet" gelesen und beschrieben werden können. Wird ein anderer Nutzer im //run.sh//-Script gesetzt, müssen die Dateizugriffsrechte dementsprechend angepasst werden. Treten beim Setzen der Dateizugriffsrechte von ///mnt/freenet/// Probleme auf, ist dies einfach zu umgehen, indem man stattdessen ///mnt/freenet/core/// als Installationsverzeichnis nimmt. Damit bleiben die Dateizugriffsrechte von core auch nach Unmounten und nochmaligem Mounten erhalten.
Die Freenet-Installation lässt sich vor fremden Blicken schützen, indem die Partition verschlüsselt wird. Weder lässt sich der Festplatteninhalt im Offline-Betrieb auslesen, da die Daten ohne Entschlüsselungs-Passwort nicht entschlüsselt werden können, noch ist ein Zugriff im Online-Betrieb möglich, falls die Login-Passwörter vernünftig gewählt wurden und keine Shell offen bleibt.
Wichtig! Die Partitionsnamen korrekt angegeben, um Datenverlust vorzubeugen! Sind diese nicht im Vorhinein bekannt, vorerst die Befehle händisch eingeben. Vielleicht ersetze ich die Skripte später einmal durch verbesserte.
Definiert den Mountpunkt für die verschlüsselte Partition. Wird beim Booten automatisch gemountet. Der "exec"-Parameter scheint notwendig zu sein, da sonst die Scripte (wie ./run.sh) nicht ausgeführt werden können. **Wird jedoch entweder nicht korrekt ins Image übernommen oder bei jedem Bootvorgang neu generiert, funktioniert damit bei der LiveCD nicht!**
__config/chroot_local-packageslists/freenet-encryption__
Die notwendigen Pakete sind in "freenet-encryption" enthalten:
## LH: freenet-encryption
Zuerst wird die verschlüsselte Partition erstellt und sowohl der Verschlüsselungsalgorithmus festgelegt als auch nach dem gewünschten Entschlüsselungspasswort gefragt. Anpassung des Partitionsnamens nicht vergessen!
Wird sie nicht mehr gebraucht, sie wieder unmounten
und schließen
Mounten und unmouten funktioniert alternativ mit (falls ///etc/fstab/// angepasst wurde)
Ab nun wird die verschlüsselte Partition beim Booten automatisch geöffnet und gemountet und beim Shutdown automatisch ungemountet und geschlossen. Die Entschlüsselungspasswort-Abfrage erfolgt während des Bootvorgangs.
===Sonstiges===
Neben //freenet-tools// und //freenet-encrypted// sind weitere inkludierte, aber noch nicht getestete, Paketlisten:
__config/chroot_local-packageslists/freenet-net__
## LH: freenet-net
pptp-linux
__config/chroot_local-packageslists/freenet-samba__
## LH: freenet-samba
samba samba-common
__config/chroot_local-packageslists/freenet-ssh__
## LH: freenet-ssh
openssh-client openssh-server
===Downloads===
Von der ersten deutschen Test-Version sind netzwerkintern die Konfigurationsdateien ([[http://localhost:8888/CHK@iSbXcI-956BMSS8rLJoOuOKOnBeezlqGX~y9TDES2ZI,WUSQqyznEkUZqmtDOq6eZj1oG8nFjddUgaErC1ZGTlM,AAIC--8/freenet-config-v0.01.zip freenet-config-v0.01.zip]]) downloadbar. Images der headless- und der x11-Version und möglicherweise eine Freesite und/oder ein Thaw-Index folgen.
Deletions:
Steht nicht bereits ein passendes Build-Environments zur Verfügung gibt es mehrere Möglichkeiten eines rasch zu erzeugen. Eins vorweg, die Image-Erzeugung mit Qemu ist klarerweise bedeutend langsamer als über ein Chroot-Environment oder ein normales Host-System.
Downloade ein Image einer aktuellen Debian-Installations-CD, bspw. die Network Install-CD (159MB) (Debian 4.0-r0-i386 [[http://www.us.debian.org/CD/http-ftp/ Beschreibung]], [[http://cdimage.debian.org/debian-cd/4.0_r0/i386/iso-cd/debian-40r0-i386-netinst.iso direkter Downloadlink]]).
%%qemu-img create -f raw debian_env.img 5G%%
Das Image sollte mindestens eine Größe von 3.5 GB vorweisen (besser 5GB), weil ansonsten zu wenig Platz zur Erzeugung der LiveCD vorhanden ist. Die Option "-f raw" hat den Vorteil, dass das Image bei bestimmten Dateisystemen (wie ext2 oder ext3) nur langsam wächst, da erst Speicherplatz am Host-System verbraucht wird, sobald dieser auch im emulierten System belegt wird. Im Gegensatz zu den anderen Image-Formaten lässt es sich auch mounten (siehe unten). Am Host-System muss eine Netzwerkverbindung zu einem Debian-Server bestehen. Die Installation wird gestartet mit:
Unter bspw. GNU/Linux erfolgt das Mounten für lesenden und schreiben Zugriff mit:
folgt noch
==Download eines Build-Environments:==
Sobald Debian 4.0-r1-i386 als Network Install-CD erhältlich ist, stelle ich ein fertiges Build-Environment als Qemu-Image (raw) zum Download im Freenet-Netzwerk bereit.
Die LiveCD kann beliebig zusammengestellt werden. Für einen minimalen Betrieb reicht Java. Bei Verwendung von zB Frost oder Thaw ist weiters die X11-Oberfläche erforderlich. In diesem Howto wurde Xfce4 als kleine aber doch nicht zu spartanische Oberfläche gewählt. Zudem erleichtert es die Paketanpassung, da eine Xfce4-Desktopumgebung bereits als Paketliste inkludiert ist. Sollen die Daten auch auf anderen PCs erreichbar sein, ist der Zugriff entweder über fproxy möglich oder durch Einrichtung eines Samba- oder OpenSSH-Servers. Sicherheitsprogramme wie clamd, checksecurity, etc. sind weitere potentielle Serverfunktionen.
Nun steht die Standardkonfiguration zur Modifikation zur Verfügung. Es sind im Vergleich zur Paketliste "xfce" nur geringfügige Änderungen notwendig. Die Variablennamen können sich geringfügig unterscheiden (zB LIVE_* start LH_*).
beim Bootvorgang (optional):
Freischaltung der contrib- und non-free-Zweige (notwendig für u.a. Java):
%%LH_PACKAGES_LISTS="freenet"%%
Die Java-Installation benötigt die Zustimmung zur Lizenz. Da das nur interaktiv geschehen kann, wird Java nicht über die Paketliste "freenet" sondern über einen Hook im späteren Verlauf der Installation installiert. Das Originalskript "sun-java5.sh" (inkl. Kommentar) findet sich in ///usr/share/live-helper/examples/hooks///:
DEBIAN_FRONTEND="dialog" apt-get install --yes sun-java5-bin sun-java5-demo \
sun-java5-doc sun-java5-fonts sun-java5-jdk sun-java5-jre \
sun-java5-plugin sun-java5-source
Einige Male gab es Probleme mit dem Java-Path, weil die libs in ein falsches Verzeichnis verlinkt wurden. Abhilfe schafft ein soft-link:
Der Xorg-Server kann mit //dexconf// konfiguriert werden.
__/usr/share/live-helper/lists/freenet__
Die Auswahl der zu installierenden Pakete wird in einer Paketliste (Package List) des live-helpers definiert.
Eine Auswahl mit xfce, ssh, iceweasel/firefox, wlan und diverser kleiner Programme sähe folgendermaßen aus:
## LH: Xfce
# xfce
mc xterm openssh-client openssh-server pptp-linux iceweasel
linux-wlan-ng linux-wlan-ng-source linux-wlan-ng-firmware
Wird wlan als Netzverbindung verwendet, ist etwas mehr Aufwand notwendig. Z.B. für die Netgear WG511 muss die Firmware //isl3890// in ///usr/lib/hotplug/firmware/// hinterlegt werden. Zusätzliche sicherheitsrelevante Absicherung sollte nicht vergessen werden.
Es gibt mehrere Wege, die sich in der Anzahl ihrer Zwischenschritte unterscheiden.
__Weg 1:__
__Weg 2:__
Die Erstellung des Images kann in Teilschritten erfolgen.
2.2 Danach Generierung der Verzeichnisstruktur in der Chroot-Umgebung //debian_builddir/chroot///:
2.3 Nun wird die Chroot-Umgebung mitsamt dem Bootstrap in ein Image gepackt:
Das fertige LiveCD-ISO liegt nun als //binary.iso// in //debian_builddir// und lässt sich mit einem Brennprogramm auf CD brennen.
__Java-Doc:__
Bei der Java-Hook-Installation wird folgende Meldung erscheinen:
This package is an installer package, it does not actually contain the
J2SDK documentation. You will need to go download one of the
archives:
jdk-1_5_0-doc.zip jdk-1_5_0-doc-ja.zip
(choose the non-update version if this is the first installation).
Please visit
http://java.sun.com/j2se/1.5.0/download.html
now and download. The file should be owned by root.root and be copied
to /tmp.
Die downgeloadete Datei //jdk-1_5_0-doc.zip// bzw. //jdk-1_5_0-doc-ja.zip// (wahlweise entweder engl. oder jap. Dokumentation) muss nach //debian_builddir/chroot/tmp/// kopiert werden, nicht ///tmp/// des Host-Systems. Das vergaß ich selbst mehr als einmal.
Bei mehrmaligen Versuchen ist das nochmalige Downloaden der Pakete durch Verwendung des Dienstes //apt-cacher// vermeidbar. Wird apt-cacher bereits verwendet, ist der Download der meisten regulären Pakete von einem Debian-Server sogar unnötig. Apt-cacher hält Debian-Pakete vor und bietet diese selbst über einen Serverdienst an. Der einzige Nachteil ist der nicht mögliche Download des memtest86+-Images //vmlinuz//. Apt-cacher beschränkt sich auf deb-Pakete, weshalb bei Nutzung von memtest86+ auf apt-cacher verzichtet werden muss. Zum erstmaligen Downloaden der Pakete bei bereits bestehender Nutzung ist es jedoch immer noch von Vorteil und erspart Downloadvolumen.
Dazu muss //config/bootstrap// durch Hinzufügen von //localhost:3142// als Proxy ein wenig angepasst werden:
Nun kann das Verzeichnis //debian_builddir// gelöscht werden, ohne später nochmals alle Pakete downloaden zu müssen.
**Alternativ** bewahrt man sich alle ///debian_builddir/cache/packages_*///-Verzeichnisse auf und verwendet diese bei einer neuen Image-Generierung wieder. Damit ist der nochmalige Download der Pakete nicht notwendig. Löscht man den Rest bis auf ///debian_builddir/config/// ist das Build-Verzeichnis einfach wiederverwendbar.
===Bearbeitung des Images===
Sind noch Modifikationen des LiveCD-Image notwendig, kann diese geöffnet werden. Unter GNU/Linux mit:
Das squash-Dateisystem wird anschließend folgendermaßen gemountet: !?!? (TODO: nicht writable, trotz -o rw)
Das Basissystem bildet die LiveCD. Ist genug RAM vorhanden, kann der LiveCD-Inhalt sogar ins RAM kopiert werden. Dazu wird am Bootprompt dem Kernel der Parameter "toram" übergeben.
Das übergeordnete Verzeichnis der Freenet-Installation muss vom Nutzer "freenet" gelesen und beschrieben werden können. Wird ein anderer Nutzer im run.sh-Script gesetzt, müssen die Dateizugriffsrechte dementsprechend angepasst werden. Treten beim Setzen der Dateizugriffsrechte von ///mnt/freenet/// Probleme auf, ist dies einfach zu umgehen, indem man stattdessen ///mnt/freenet/core/// als Installationsverzeichnis nimmt. Damit bleiben die Dateizugriffsrechte von core auch nach Unmounten und nochmaligem Mounten erhalten.
Die Freenet-Installation lässt sich vor fremden Blicken schützen, indem die Partition verschlüsselt wird. Weder lässt sich der Festplatteninhalt im Offline-Betrieb auslesen, da die Daten ohne Passwort nicht entschlüsselt werden können, noch ist ein Zugriff im Online-Betrieb möglich, falls die Passwörter vernünftig gewählt wurden und keine Shell offen bleibt.
Wichtig! Die Partitionsnamen korrekt angegeben, um Datenverlust vorzubeugen! Sind diese nicht im Vorhinein bekannt, vorerst die Befehle händisch eingeben. Vielleicht ersetze ich die Scripte später einmal durch verbesserte.
Definiert den Mountpunkt für die verschlüsselte Partition. Wird beim Booten automatisch gemountet. Der "exec"-Parameter scheint notwendig zu sein, da sonst die Scripte (wie ./run.sh) nicht ausgeführt werden können.
__/usr/share/live-helper/lists/freenet__
Zur Paketliste müssen die Pakete //cryptsetup//, //dmsetup// und //hashalot// hinzugefügt werden. Diese sieht nun bspw. wie folgt aus:
## LH: Xfce
# xfce
mc xterm openssh-client openssh-server pptp-linux iceweasel
linux-wlan-ng linux-wlan-ng-source linux-wlan-ng-firmware
Zuerst wird die verschlüsselte Partition erstellt und sowohl der Verschlüsselungsalgorithmus festgelegt als auch nach dem gewünschten Entschlüsselungspasswort gefragt.
Wird sie nicht mehr gebraucht, wird sie ungemountet
und geschlossen
Mounten und unmouten funktioniert alternativ mit
Ab nun wird die verschlüsselte Partition beim Booten automatisch geöffnet und gemountet und beim Shutdown automatisch ungemountet und geschlossen.
Edited on 2007-08-18 01:21:37 by DeUser [Building a freenet live-cd/installation-cd based on debian live-cd]
Additions:
Zur Paketliste müssen die Pakete //cryptsetup//, //dmsetup// und //hashalot// hinzugefügt werden. Diese sieht nun bspw. wie folgt aus:
cryptsetup dmsetup hashalot
Edited on 2007-08-18 01:17:30 by DeUser [Building a freenet live-cd/installation-cd based on debian live-cd]
Additions:
Steht nicht bereits ein passendes Build-Environments zur Verfügung gibt es mehrere Möglichkeiten eines rasch zu erzeugen. Eins vorweg, die Image-Erzeugung mit Qemu ist klarerweise bedeutend langsamer als über ein Chroot-Environment oder ein normales Host-System.
Downloade ein Image einer aktuellen Debian-Installations-CD, bspw. die Network Install-CD (159MB) (Debian 4.0-r0-i386 [[http://www.us.debian.org/CD/http-ftp/ Beschreibung]], [[http://cdimage.debian.org/debian-cd/4.0_r0/i386/iso-cd/debian-40r0-i386-netinst.iso direkter Downloadlink]]).
%%qemu-img create -f raw debian_env.img 5G%%
Das Image sollte mindestens eine Größe von 3.5 GB vorweisen (besser 5GB), weil ansonsten zu wenig Platz zur Erzeugung der LiveCD vorhanden ist. Die Option "-f raw" hat den Vorteil, dass das Image bei bestimmten Dateisystemen (wie ext2 oder ext3) nur langsam wächst, da erst Speicherplatz am Host-System verbraucht wird, sobald dieser auch im emulierten System belegt wird. Im Gegensatz zu den anderen Image-Formaten lässt es sich auch mounten (siehe unten). Am Host-System muss eine Netzwerkverbindung zu einem Debian-Server bestehen. Die Installation wird gestartet mit:
"-boot d" legt das cdrom-Image als Boot-Device fest. "-net nic" und "-net user" konfigurieren die Netzwerkverbindung zwischen Host-System und simulierter Umgebung (hier die Installations-CD). Das Debian-Grundsystem wird jetzt wie üblich installiert. Danach bootet Debian mit:
Der Dateiaustausch kann auf verschiedenen Arten erfolgen:
- diverse Server (Samba, SSH, FTP, ...) am Host-System oder anderen PCs
Im Fall von Samba ist die dazu notwendige Konfiguration des integrierten Samba-Servers bereits auf vielen Webseiten dokumentiert (u.a. [[http://www.linuxforen.de/forums/showthread.php?t=141201 linuxforen.de]]).
- Mounten des Images:
Unter bspw. GNU/Linux erfolgt das Mounten für lesenden und schreiben Zugriff mit:
==Download eines Build-Environments:==
Sobald Debian 4.0-r1-i386 als Network Install-CD erhältlich ist, stelle ich ein fertiges Build-Environment als Qemu-Image (raw) zum Download im Freenet-Netzwerk bereit.
===Erstellung der LiveCD===
Die LiveCD kann beliebig zusammengestellt werden. Für einen minimalen Betrieb reicht Java. Bei Verwendung von zB Frost oder Thaw ist weiters die X11-Oberfläche erforderlich. In diesem Howto wurde Xfce4 als kleine aber doch nicht zu spartanische Oberfläche gewählt. Zudem erleichtert es die Paketanpassung, da eine Xfce4-Desktopumgebung bereits als Paketliste inkludiert ist. Sollen die Daten auch auf anderen PCs erreichbar sein, ist der Zugriff entweder über fproxy möglich oder durch Einrichtung eines Samba- oder OpenSSH-Servers. Sicherheitsprogramme wie clamd, checksecurity, etc. sind weitere potentielle Serverfunktionen.
Erstelle ein Verzeichnis, in dem das LiveCD-Image erzeugt werden soll, wechsle in dieses und lasse die Konfigurationsdateien erzeugen.
Nun steht die Standardkonfiguration zur Modifikation zur Verfügung. Es sind im Vergleich zur Paketliste "xfce" nur geringfügige Änderungen notwendig. Die Variablennamen können sich geringfügig unterscheiden (zB LIVE_* start LH_*).
beim Bootvorgang (optional):
- Wählen der Ländereinstellung (locale)
%%LH_BOOTAPPEND="locale=de acpi=off xdebconf"%%
Inkludierung des Festplatten-Installers (optional):
%%LH_DEBIAN_INSTALLER="enabled"%%
Verwendung von "freenet" als Benutzernamen (optional):
%%LH_USERNAME="freenet"%%
Freischaltung der contrib- und non-free-Zweige (notwendig für u.a. Java):
%%LH_SECTIONS="main contrib non-free"%%
%%LH_PACKAGES_LISTS="freenet"%%
__config/chroot_local-hooks/__
Die Java-Installation benötigt die Zustimmung zur Lizenz. Da das nur interaktiv geschehen kann, wird Java nicht über die Paketliste "freenet" sondern über einen Hook im späteren Verlauf der Installation installiert. Das Originalskript "sun-java5.sh" (inkl. Kommentar) findet sich in ///usr/share/live-helper/examples/hooks///:
**config/chroot_local-hooks/sun-java5.sh**
sun-java5-doc sun-java5-fonts sun-java5-jdk sun-java5-jre \
sun-java5-plugin sun-java5-source
__config/chroot_local-includes/__
Treten Probleme mit den automatisch vorkonfigurierten Xorg-Display-Einstellungen auf, kann der automatische Start von gdm unterbunden werden, um eine manuelle Konfiguration vor dem Start von Xorg vorzunehmen. Dazu wird die Datei //default-display-manager// während der Installation durch eine leicht modifizierte Version ersetzt (das System sucht in dieser Datei nach dem zu verwendenden Displaymanager):
**config/chroot_local-includes/etc/X11/default-display-manager**
In //chroot_local_includes/files/// (Verzeichnis frei wählbar) können eigene Dateien hinterlegt, z.B. der [[http://freenetproject.org/download.html Freenet-Offline-Installer]]. Bei Zensur, bei der möglicherweise freenetproject.org geblockt wird, dient sich an, den Offline-Installer zu inkludieren.
Einfache Installations-Skripte wären (gemäß der [[http://freenetproject.org/download.html offiziellen Installationsanleitung]]):
__config/chroot_local-includes/files/freenet/freenet_install_offline.sh__
__config/chroot_local-includes/files/freenet/freenet_install_online.sh__
__config/chroot_local-includes/__
Einige Male gab es Probleme mit dem Java-Path, weil die libs in ein falsches Verzeichnis verlinkt wurden. Abhilfe schafft ein soft-link:
__config/chroot_local-includes/usr/local/sbin/set_java-path.sh__
ln -s / /filesystem.squashfs
Bei einigen Images gab es ein weiteres Problem mit der falschen Default-Java-Version (1.4 statt 1.5). Ein Umschalten der Default-Java-Version hilft:
__config/chroot_local-includes/usr/local/sbin/set_java-version.sh__
update-alternatives-java -s java-1.5.0-sun 53
__Sonstige Tipps:__
Der Xorg-Server kann mit //dexconf// konfiguriert werden.
Die Auswahl der zu installierenden Pakete wird in einer Paketliste (Package List) des live-helpers definiert.
Wird wlan als Netzverbindung verwendet, ist etwas mehr Aufwand notwendig. Z.B. für die Netgear WG511 muss die Firmware //isl3890// in ///usr/lib/hotplug/firmware/// hinterlegt werden. Zusätzliche sicherheitsrelevante Absicherung sollte nicht vergessen werden.
==Erzeugung des Images==
Es gibt mehrere Wege, die sich in der Anzahl ihrer Zwischenschritte unterscheiden.
__Weg 1:__
Nach Modifikation der Konfigurationsdateien reicht an und für sich ein einziger Befehl:
cd debian_builddir
lh_build
__Weg 2:__
Die Erstellung des Images kann in Teilschritten erfolgen.
2.1 Erzeugung des Bootstraps:
cd debian_builddir
lh_bootstrap
2.2 Danach Generierung der Verzeichnisstruktur in der Chroot-Umgebung //debian_builddir/chroot///:
%%lh_chroot%%
2.3 Nun wird die Chroot-Umgebung mitsamt dem Bootstrap in ein Image gepackt:
%%lh_binary%%
2.4 Zuletzt wird ???:
%%lh_source%%
Das fertige LiveCD-ISO liegt nun als //binary.iso// in //debian_builddir// und lässt sich mit einem Brennprogramm auf CD brennen.
==Tipps==
__Java-Doc:__
Bei der Java-Hook-Installation wird folgende Meldung erscheinen:
This package is an installer package, it does not actually contain the
J2SDK documentation. You will need to go download one of the
archives:
jdk-1_5_0-doc.zip jdk-1_5_0-doc-ja.zip
(choose the non-update version if this is the first installation).
Please visit
http://java.sun.com/j2se/1.5.0/download.html
now and download. The file should be owned by root.root and be copied
to /tmp.
Die downgeloadete Datei //jdk-1_5_0-doc.zip// bzw. //jdk-1_5_0-doc-ja.zip// (wahlweise entweder engl. oder jap. Dokumentation) muss nach //debian_builddir/chroot/tmp/// kopiert werden, nicht ///tmp/// des Host-Systems. Das vergaß ich selbst mehr als einmal.
__apt-cacher:__
Bei mehrmaligen Versuchen ist das nochmalige Downloaden der Pakete durch Verwendung des Dienstes //apt-cacher// vermeidbar. Wird apt-cacher bereits verwendet, ist der Download der meisten regulären Pakete von einem Debian-Server sogar unnötig. Apt-cacher hält Debian-Pakete vor und bietet diese selbst über einen Serverdienst an. Der einzige Nachteil ist der nicht mögliche Download des memtest86+-Images //vmlinuz//. Apt-cacher beschränkt sich auf deb-Pakete, weshalb bei Nutzung von memtest86+ auf apt-cacher verzichtet werden muss. Zum erstmaligen Downloaden der Pakete bei bereits bestehender Nutzung ist es jedoch immer noch von Vorteil und erspart Downloadvolumen.
Dazu muss //config/bootstrap// durch Hinzufügen von //localhost:3142// als Proxy ein wenig angepasst werden:
LH_MIRROR_BOOTSTRAP="http://localhost:3142/ftp.debian.org/debian/"
LH_MIRROR_BOOTSTRAP_SECURITY="http://localhost:3142/security.debian.org/"
Nun kann das Verzeichnis //debian_builddir// gelöscht werden, ohne später nochmals alle Pakete downloaden zu müssen.
**Alternativ** bewahrt man sich alle ///debian_builddir/cache/packages_*///-Verzeichnisse auf und verwendet diese bei einer neuen Image-Generierung wieder. Damit ist der nochmalige Download der Pakete nicht notwendig. Löscht man den Rest bis auf ///debian_builddir/config/// ist das Build-Verzeichnis einfach wiederverwendbar.
Sind noch Modifikationen des LiveCD-Image notwendig, kann diese geöffnet werden. Unter GNU/Linux mit:
mkdir /mnt/livecd
mount -o loop,rw binary.iso /mnt/livecd
Das squash-Dateisystem wird anschließend folgendermaßen gemountet: !?!? (TODO: nicht writable, trotz -o rw)
mkdir /mnt/livecd_squashfs
mount -o loop,rw -t squashfs /mnt/livecd/casper/filesystem.squashfs /mnt/livecd_squashfs/
Zuvor muss sichergestellt sein, dass der Kernel squashfs unterstützt, und gegebenfalls das squashfs-Kernelmodul nachgeladen werden.
Beispiel:
aptitude install squashfs-modules-2.6.18-4-486
modprobe squashfs
Wichtig im Vorhinein zu wissen ist, dass root-Zugriff über
%%sudo bash%%
erfolgt. Ein neues root-Passwort kann einfach über
%%sudo passwd%%
gesetzt werden.
Die Installation des Basissystem erfolgt über die Eingabe von "install" am Bootprompt der LiveCD. Weitere Optionen sind über die Funktionstasten abrufbar. Danach wird die LiveCD nicht mehr benötigt.
Die Freenet-Installation erfolgt wie auf der [[http://freenetproject.org/ Freenet-Homepage]] beschrieben.
Das Basissystem bildet die LiveCD. Ist genug RAM vorhanden, kann der LiveCD-Inhalt sogar ins RAM kopiert werden. Dazu wird am Bootprompt dem Kernel der Parameter "toram" übergeben.
#als root oder mit sudo
Das übergeordnete Verzeichnis der Freenet-Installation muss vom Nutzer "freenet" gelesen und beschrieben werden können. Wird ein anderer Nutzer im run.sh-Script gesetzt, müssen die Dateizugriffsrechte dementsprechend angepasst werden. Treten beim Setzen der Dateizugriffsrechte von ///mnt/freenet/// Probleme auf, ist dies einfach zu umgehen, indem man stattdessen ///mnt/freenet/core/// als Installationsverzeichnis nimmt. Damit bleiben die Dateizugriffsrechte von core auch nach Unmounten und nochmaligem Mounten erhalten.
#als root oder mit sudo
chown freenet:freenet /mnt/freenet
## bzw.
# chown freenet:freenet /mnt/freenet/core
Die Freenet-Installation lässt sich vor fremden Blicken schützen, indem die Partition verschlüsselt wird. Weder lässt sich der Festplatteninhalt im Offline-Betrieb auslesen, da die Daten ohne Passwort nicht entschlüsselt werden können, noch ist ein Zugriff im Online-Betrieb möglich, falls die Passwörter vernünftig gewählt wurden und keine Shell offen bleibt.
Die Handhabung ist mit wenigen Scripten und angepassten Dateien erledigt. Die Vorgehensweise habe ich von [[http://www.linuxforen.de/forums/showthread.php?t=207968 linuxforen.de]] übernommen.
**Konfigurationsdateien:**
__Verschlüsselungsskripte:__
Wichtig! Die Partitionsnamen korrekt angegeben, um Datenverlust vorzubeugen! Sind diese nicht im Vorhinein bekannt, vorerst die Befehle händisch eingeben. Vielleicht ersetze ich die Scripte später einmal durch verbesserte.
Folgende Parameter sind jeweils frei wählbar:
/dev/hda5 ...... Partition, die verschlüsselt werden soll
freenetEnc ..... Name des device-files der verschlüsselten Partition
/mnt/freenet ... Mountpunkt der verschlüsselten Partition
__config/chroot_local-includes/usr/local/sbin/part_create.sh:__
Erstellt die verschlüsselte Partition.
cryptsetup -c aes-cbc-essiv:sha256 -y luksFormat /dev/hda5
__config/chroot_local-includes/usr/local/sbin/crypt_format.sh:__
Formatiert die verschlüsselte Partition.
mkfs.ext2 /dev/mapper/freenetEnc
__config/chroot_local-includes/usr/local/sbin/crypt_open.sh:__
Öffnet die verschlüsselte Partition.
cryptsetup luksOpen /dev/hda5 freenetEnc
__config/chroot_local-includes/usr/local/sbin/crypt_close.sh:__
Schließt die verschlüsselte Partition.
cryptsetup luksClose freenetEnc
__config/chroot_local-includes/usr/local/sbin/crypt_mount.sh:__
Mountet die verschlüsselte Partition.
mount /dev/mapper/freenetEnc /mnt/freenet
__config/chroot_local-includes/usr/local/sbin/crypt_umount.sh:__
Unmountet die verschlüsselte Partition.
umount /mnt/freenet
__config/chroot_local-includes/etc/crypttab:__
Definiert das device-file für die verschlüsselte Partition. Der Dienst ///etc/init.d/cryptdisks// aktiviert es automatisch beim Booten.
#
freenetEnc /dev/hda5 none luks,cipher=aes-cbc-essiv:sha256
__config/chroot_local-includes/etc/fstab:__
Definiert den Mountpunkt für die verschlüsselte Partition. Wird beim Booten automatisch gemountet. Der "exec"-Parameter scheint notwendig zu sein, da sonst die Scripte (wie ./run.sh) nicht ausgeführt werden können.
unionfs / unionfs rw 0 0
tmpfs /tmp tmpfs nosuid,nodev 0 0
/dev/mapper/freenetEnc /mnt/freenet ext2 defaults,user,exec 0 0
==Einrichten der verschlüsselten Partition==
Die Verschlüsselungsskripte müssen prinzipiell nur maximal 1x genutzt werden, wenn nicht die manuelle Eingabe sogar bevorzugt wird.
Zuerst wird die verschlüsselte Partition erstellt und sowohl der Verschlüsselungsalgorithmus festgelegt als auch nach dem gewünschten Entschlüsselungspasswort gefragt.
%%/usr/local/sbin/part_create.sh%%
Danach wird die verschlüsselte Partition durch Eingabe des Passworts geöffnet.
%%/usr/local/sbin/crypt_open.sh%%
Nun muss die Partition einmalig formatiert werden.
%%/usr/local/sbin/crypt_format.sh%%
Nach dem Mounten der Partition ist diese frei verwendbar.
%%/usr/local/sbin/crypt_mount.sh%%
Wird sie nicht mehr gebraucht, wird sie ungemountet
%%/usr/local/sbin/crypt_umount.sh%%
und geschlossen
%%/usr/local/sbin/crypt_close.sh%%
Öffnen und schließen funktioniert alternativ mit
%%/etc/init.d/cryptdisks start%%
und
%%/etc/init.d/cryptdisks stop%%
Mounten und unmouten funktioniert alternativ mit
%%mount /mnt/freenet%%
und
%%umount /mnt/freenet%%
Ab nun wird die verschlüsselte Partition beim Booten automatisch geöffnet und gemountet und beim Shutdown automatisch ungemountet und geschlossen.
Deletions:
Hast du kein bestehendes Build-Environments stehen mehrere Möglichkeiten zur Verfügung, dieses rasch zu erzeugen. Eins vorweg, die Erzeugung über Qemu ist klarerweise bedeutend langsamer als über ein Chroot-Environment oder überhaupt ein normales Host-System.
Downloade ein Image einer aktuellen Debian-Installations-CD, bspw. die Network Install ([[http://www.us.debian.org/CD/http-ftp/ Beschreibung]], [[http://cdimage.debian.org/debian-cd/4.0_r0/i386/iso-cd/debian-40r0-i386-netinst.iso direkter Downloadlink]]).
%%qemu-img create -fmt raw debian_env.img 5G%%
Das Image sollte mindestens eine Größe von 3GB haben, weil ansonsten zu wenig Platz zur Erzeugung der LiveCD vorhanden ist. Die Option "-fmt raw" lässt das Image langsam wachsen, indem Speicherplatz erst belegt wird sobald Daten geschrieben werden (nur bei bestimmten Dateisystem unterstützt, zB ext3). Am Host-System muss eine Netzwerkverbindung zu einem Debian-Server bestehen. Die Installation wird gestartet mit:
"-boot d" legt das das cdrom-Image als Bootdevice fest. "-net nic" und "-net user" konfigurieren die Netzwerkverbindung zwischen Host-System und simulierter Umgebung (hier die Installations-CD). Das Debian-Grundsystem wird jetzt wie üblich installiert. Danach bootet Debian mit:
Optional für Dateiaustausch durch Samba:
%%qemu -net nic -net user -hda debian_env.img -asdasdafs%%
Unter bspw. GNU/Linux kann alternativ das Image lesend und schreibend gemountet werden:
===Erstellung des Images===
Die LiveCD kann beliebig zusammengestellt werden. Für einen minimalen Betrieb reicht Java. Bei Verwendung von zB Frost oder Thaw ist weiters die X11-Oberfläche erforderlich. In diesem HowTo wurde Xfce4 als kleine aber doch nicht zu spartanische Oberfläche gewählt. Zudem ist es eine bereits vorhandene Zusammenstellung. Sollen die Daten auch auf anderen PCs erreichbar sein, ist der Zugriff entweder über fproxy möglich oder durch Einrichtung eines Samba- oder OpenSSH-Servers. Sicherheitsprogramme wie clamd, checksecurity, etc. sind weitere potentielle Serverfunktionen.
Erstelle ein Verzeichnis, in dem das Image erzeugt werden soll, wechsle in dieses und lasse die Konfigurationsdateien erzeugen.
Nun steht die Standardkonfiguration zur Modifikation zur Verfügung. Es sind im Vergleich zur Auswahl "xfce" nur geringfügige Änderungen notwendig.
beim Bootvorgang:
- wählen der Ländereinstellung (locale)
%%LIVE_BOOTAPPEND="locale=de acpi=off xdebconf"%%
Inkludierung des Installers, falls gewünscht:
%%LIVE_DEBIAN_INSTALLER="enabled"%%
Freischaltung der contrib- und non-free-Zweige:
%%LIVE_SECTIONS="main contrib non-free"%%
%%LIVE_PACKAGES_LISTS="freenet"%%
__chroot_local-hooks__
Die Java-Installation benötigt die Zustimmung zur Lizenz. Da das nur interaktiv geschehen kann, wird Java nicht über die Paketliste "freenet" sondern über einen Hook im späteren Verlauf der Installation installiert. Das Originalskript findet sich in ///usr/share/live-helper/examples/hooks///:
**chroot_local-hooks/sun-java5.sh**
sun-java5-fonts sun-java5-jdk sun-java5-jre
__chroot_local-includes__
Treten Probleme mit den automatisch vorkonfigurierten X11/Xorg-Display-Einstellungen auf, kann der automatische Start von gdm unterbunden werden, um eine manuelle Konfiguration vor dem Start von Xorg vorzunehmen. Dazu wird die Datei //default_display_manager// während der Installation durch eine modifizierte Version ersetzt (das System sucht in dieser Datei nach dem zu verwendenden Displaymanager):
**chroot_local-includes/etc/X11/default_display_manager**
In //chroot_local_includes/files/// können spezifische Dateien hinterlegt, zB [[http://freenetproject.org/download.html Freenet-Offline-Installer]]. Bei Zensur, bei der möglicherweise freenetproject.org nicht erreicht wird, dient sich an, den Offline-Installer zu inkludieren. Die Installation erfolgt wie gewohnt.
Einfache Installations-Skripte wären:
__chroot_local-includes/files/freenet/freenet_install_offline.sh__
__chroot_local-includes/files/freenet/freenet_install_online.sh__
Die Auswahl der zu installierenden Pakete wird in einer Package List des live-helpers definiert.
Die Installation des Basissystem erfolgt über die Eingabe von "install" am Bootprompt. Weitere Optionen sind über die Funktionstasten abrufbar.
Die Freenet-Installation erfolgt wie auf der [[http://freenetproject.org/ Freenet-Homepage]] beschrieben. Danach wird die LiveCD nicht mehr benötigt.
Das Basissystem bildet die LiveCD. Ist genug RAM vorhanden, kann der LiveCD-Inhalt sogar ins RAM kopiert werden. Dazu wird beim Bootvorgang dem Kernel der Parameter "toram" übergeben.
Die Installation des Basissystem erfolgt über die Eingabe von "install" am Bootprompt. Weitere Optionen sind über die Funktionstasten abrufbar.
Die Freenet-Installation erfolgt wie auf der [[http://freenetproject.org/ Freenet-Homepage]] beschrieben. Danach wird die LiveCD nicht mehr benötigt.
Deletions:
gerhard@debian:/mnt/lin/freenet-live/misc/includes/config$ cat /usr/share/live-helper/lists/freenet
Die Installation erfolgt wie auf der [[http://freenetproject.org/ Freenet-Homepage]] beschrieben. Danach wird die LiveCD nicht mehr benötigt.
The oldest known version of this page was created on 2007-08-14 01:00:30 by DeUser [Building a freenet live-cd/installation-cd based on debian live-cd]