Die unterschiedlichen Scripts, die da verwendet werden, waren früher offen im Netz
Auf der Knoppix-ISO selbst wird der Ort genannt und zwar befinden sich diese Quellen unter
https://knopper.net/knoppix-sources/
Nach oberflächlicher Betrachtung ist das Erstellen eines einfachen "Knoppix-Sticks" mit Hilfe eines Knoppix-ISO wirklich rudimentär und braucht quasi keine externen Programme. Es wird nur ein Teil eines MBR benötigt, den Syslinux beiträgt.
Das habe ich auch gerade getestet (mit einem Ubuntu 16.04) und auf einem PC erfolgreich gebootet.
Vielleicht will ich das besser dokumentieren und auch hier einstellen, ich weiß noch nicht. Denn: für wen?
Wer sich nicht weiter mit der Materie befassen möchte, nimmt doch einfach die Vorgaben und wird damit glücklich. Eine zusätzliche Dokumentation mit exotischen Herangehensweisen macht diese Gruppe von Nutzern nicht glücklich.
Die Leute, die sich mit der Materie aus purem Interesse befassen, brauchen keine detaillierte Dokumentation, sondern nur die grobe Beschreibung der durchgeführten Maßnahmen. Das will ich hier versuchen.
- KNOPPIX ISO ist vorhanden und verifiziert (sha -Summen geprüft)
- Ein freies Medium ist vorhanden und von Partitionen und Daten befreit (mittels dd if=/dev/zero of=/dev/sdx ...)
*Das freie Medium vorbereiten:
- eine Partitionstabelle im msdos-Format anlegen
- eine erste primäre Partition für FAT32 anlegen und nach Belieben einen Label vergeben
-- die Partition in FAT32 formatieren
-- bootlabel für diese Partition/Filesystem = on setzen
- eine zweite primäre Partition in einem "Linux-Dateisystem" anlegen
-- beliebigen Label setzen
-- im entsprechenden Dateisystem formatieren
-- womöglich tuneables anpassen (zB für EXT2: Errors behavior: Continue, Filesystem features: ext_attr resize_inode dir_index filetype sparse_super large_file, Maximum mount count: -1...)
- die angehängten 440B mittels
|
Quellcode
|
1
|
dd if=syl_mbr.txt of=/dev/sdx bs=440 count=1
|
schreiben. Diese 440B sind Teil des MBR, der von Syslinux gestellt wird. Wenn man dieses auf seinem System (Ubuntu) installiert (als Paket vorhanden), findet man diesen Teil-MBR. Er ist auch auf der Knoppix-DVD (bzw dem ISO) vorhanden, aber dann muss man erst noch das gepackte Image KNOPPIX/KNOPPIX1 mounten, um ihn davon zu kopieren. Deshalb stelle ich diese 440B als Anhang hier rein, das ist einfacher.
Das Medium auswerfen und neu stecken. Muss vielleicht nicht sein, habe ich zur Sicherheit aber doch gemacht.
Wichtig ist: das korrekte /dev muss bearbeitet werden!
Und zwar haben wir nun einen Stick (/dev/sdx) mit zwei Partitionen (/dev/sdx1 und /dev/sdx2) wovon eine in einem FAT32 formatiert ist und die andere in einem beliebigen "Linux-Dateisystem".
Nochmal gesagt, was wir haben: einen Stick mit einer FAT32-Partition und einer Linux-Partition.
- Die FAT32-Partition wird demnächst mit Knoppix befüllt
- Die Linux-Partition wird unsere Overlay
*Die Knoppix.iso muss gemountet werden und dazu bietet mir das benutzte Ubuntu16.04 mittels rechter Maus-Klick ein Kontextmenü mit entsprechender Auswahl.
Das geht natürlich auch manuell, worauf ich hier nicht eingehe.
*folgende Schritte durchführen
- die relevanten Teile aus dem gemounteten ISO auf die FAT-Partition des Sticks kopieren (/boot, /efi, /KNOPPIX)
- auf der FAT alles was isolinux heißt nach syslinux umbenennen (/boot/syslinux, /boot/syslinux/syslinux.cfg, /boot/syslinux/syslinux.bin)
- auf der FAT /KNOPPIX/knoppix-data.inf editieren und die Partitionsnummer für die Overlay richtig setzen und das Dateisystem ggfs anpassen (bei mir mit ext2 auf der zweiten Partition etwa: 2 /KNOPPIX-DATA ext2)
*fertig
- Stick auswerfen und davon booten, Kontrolle der Overlay
- Anpassungen vornehmen
-- die syslinux.cfg Dateien nach eigenen Vorlieben anpassen
-- zusätzliche Programme installieren oder Konfigurationen durchführen (ist bereits ein Knoppix mit gleicher Version im Einsatz, kann der Inhalt der Overlay von diesem übernommen werden)
Das ist also wirklich ganz einfach und kein Hexenwerk.
Aber: es ist auch nur ein einfaches Knoppix. Das flash-knoppix Script berücksichtigt mehr und kann auch eine verschlüsselte Overlay anlegen. Naja, das könnte man auch manuell machen, will ich aber nicht.
Was wirklich ziemlich cool ist (ungetestet): die notwendigen Schritte können quasi aus jedem beliebigem unixartigen System durchgeführt werden, das FAT32 und ein Linux-Dateisystem(1) und mit dd 440B schreiben kann. Zusätzliche SW braucht es nicht.
(1)Mit Linux-Dateisystem ist eines gemeint, das direkt vom Kernel unterstützt wird und Dateirechte berücksichtigt. Es sollte hier (für einen Stick!) kein Journaling gewählt werden.
[attach]1186[/attach]