Eine CryptoBox CD wird in wenigen Schritten erstellt. Die Basisarbeit erledigt 'dfsbuild' und die genaue Konfiguration macht 'cbox-build'.
Das Linux Grundsystem für die CryptoBox CD wird mit dfsbuild gebaut. Das ist ein Programm, welches eine Debian Live-CD erzeugt.
(Wir entwickeln die CryptoBox bisher auf Debian/Linux-Systemen. Prinzipiell dürfte es auch mit deiner Lieblingsdistro funktionieren, nur der anfängliche Einrichtungsaufwand wird dadurch größer.)
Für "dfsbuild" bietet sich apt-cacher an. Damit brauchst du nicht für jeden Bau des Grundsystems alle Debian-Pakete erneut herunter laden.
Installation:
apt-get install dfsbuild apt-cacher
Die dfsbuild-Dokumentation ist noch recht spärlich. Du kommst aber kaum in direkten Kontakt mit dfsbuild, da es durch 'cbox-build' aufgerufen wird. Die folgenden Links helfen dir vielleicht trotzdem weiter:
Die wichtige Kleinarbeit, damit aus dem dfsbuild-System eine CryptoBox wird, erledigt cbox-build.sh.
Das Script und die bestehenden Konfigurationsdateien liegen im cryptobox-Repository.
Mit diesem Script baust du deine eigene CryptoBox-CD. Hier ein verkürzter Überblick:
Aktion |
Beschreibung |
dfsbuild |
startet dfsbuild und legt eine Arbeitskopie an |
config |
konfiguriert das Basissystem |
harden |
entfernt das devel-feature.sh Skript und einige unnötige Pakete |
iso |
erstellt ein iso-image |
chroot |
für kleine Tests reicht auch chroot (Vorsicht: dabei riskierst du, deine reale Festplatte zu überschreiben) |
qemu |
startet das iso-image mit qemu (zum sicheren Testen) |
revert |
Wiederherstellung des dfsbuild-Endprodukts - falls mensch mit config die Arbeitskopie übertrieben verschmutzt hat |
release |
Abkürzung für dfsbuild config harden iso - es wird also eine Release-CD erstellt |
Das kannst mehrere Aktionen nacheinander als Parameter angeben.
Weitere Aktionen, die die Entwicklung erleichtern, werden unter CryptoBoxDevFeatures beschrieben.
Das fertige iso-Image findest du unter _builddir/cd1/cryptobox.iso.
./cbox-build.sh dfsbuild
./cbox-build.sh config iso qemu
Release-CD erstellen: ./cbox-build.sh release
Der Kernel für die CryptoBox wird statisch kompiliert. Wenn du ihn selbst bauen/verändern willst, dann am einfachsten so:
apt-get install kernel-tree-2.6.8
schnapp dir /boot/config-2.6.8 von einer gebauten CryptoBox CD und verändere sie nach deinen Wünschen
zum Erstellen des Debian-Pakets: make-kpkg --revision=1.dfs --rootcmd=fakeroot kernel_image
nun musst du eventuell in der dfsbuild.conf den Namen des vorherigen Kernel-Pakets durch deinen neuen ersetzen
Erstellung einer lokalen Arbeitskopie des Entwickler-Repositories: svn checkout https://svn.systemausfall.org/svn/cryptobox deincryptoboxverzeichnis
Deine Änderungen an der CryptoBox klannst du per svn commit in unser Repository übertragen. Dazu musst du, aber vorher Schreibrechte erhalten (die wir gerne vergeben).
Hier werden wichtige interne Abläufe der Cryptobox beschrieben.
checken ob config partition auf der platte liegt
testmount der ersten partition
wenn ja, configs einlesen und system normal starten
wenn nicht:
webserver starten und anbieten die gefundene platte "hinzurichten"
nutzerdaten sammeln (ip adresse, netzwerkname usw.)
abfrage ob wirklich: wipe -f -k -R /dev/urandom /dev/?d? (fortschritt anzeigen)
wenn nicht, dann hilfeseite zeigen
partitionen anlegen
erste part. mkfs & mount (config)
fstab drauf schreiben
crypttab dito
interfaces dito
smb.conf dito
kennwort abfrage per cgi
zweite part. cryptsetup & mkfs & mount (crypto)
pw abfrage
checken ob mount geklappt hat
samba starten
...
nach timeout oder auf wunsch samba stoppen
cryptodevice entfernen
unter qemu trat immer wieder ein Fehler "interleaved files not (yet) supported" auf
willkürlich waren manche Verzeichnisse ungültig (also hatten nur das Datei-Attribut)
die nicht-standardkonformen mkisofs-Optionen "-U -D" haben das Problem nicht behoben
eventuell hängt dies mit dem vorherigen Fehler zusammen: das System verhält sich systematisch fehlerhaft (beispielsweise löst der Start von nmbd generell ein segfault aus)
Du brauchst etwa 1GB Plattenplatz für den Bau einer Cryptobox. Das eigentliche CD-Image wird aber nur knapp 250MB groß.
Für dfsbuild bietet sich apt-cacher an. Damit müssen die Debian-Pakete nicht bei jedem neuen dfsbuild-Vorgang erneut heruntergeladen werden.
cbox-build muss für folgende Vorgänge mit root Rechten laufen: dfsbuild, config, chroot, revert
cbox-build.sh verwendet relative Pfad-Angaben - du solltest es also aus dem Verzeichnis heraus starten, in dem sich beispielsweise auch cbox-build.sh befindet.
Netzwerk für qemu:
dein Systemkernel muss das tun/tap-Netzwerkgerät unterstützen
CONFIG_TUN=m
eventuell musst du "misc/qemu-ifup.sh" an dein System anpassen
Hier findest du ältere Ideen, die zum Teil schon recht umfangreiche Gestalt angenommen haben aber momentan von uns nicht weiter verfolgt werden.
last edited 2005-08-08 08:33:33 by