wiki:LINBO-Boot-Medien

LINBO-Live-Medien erstellen

Diese Anleitung setzt linuxmuster-linbo >= 1.99.16 voraus.

Ab Version 1.1.13 stellt LINBO ein neues Skript zur Erstellung von Bootmedien bereit: Mit dem Befehl make-linbo-media können USB- und CDROM-Boot-Medien erstellt werden.1

Übersicht der Befehlsoptionen und -parameter:

Option Parameter Erklärung
-h zeigt die Hilfe an.
-b erzeugt für jede Gruppe zusätzlich einen Debug-Menüeintrag.
-c erstellt ein CDROM-Medium.
-d <Gerät> erstellt CDROM- oder USB-Medium direkt auf dem angegebenen Gerät.
-g <Gruppe1,Gruppe2,...> optional, erzeugt Menüeinträge für die angegebenen Gruppen, lässt man diese Option weg wird ein Default-Eintrag erzeugt.
-i <Ausgabeverz.> erstellt ein ISO-Image im angegebenen Ausgabeverzeichnis (nur zusammen mit -c).
-n erlaubt passwortbasierte Logins auf dem LINBO-Client (nur zusammen mit -p).
-p <Passwort> setzt die lokalen LINBO-Admin- und Root-Passwörter auf den angegebenen Wert.2
-r entfernt den öffentlichen SSH-Schlüssel des Server-Roots (passwortlose Logins als Benutzer root vom Server aus sind dann nicht mehr möglich).
-u erstellt ein USB-Medium.
-z <Ausgabeverz.> erstellt ein Zip-Archiv mit Dateien für den USB-Stick im angegebenen Ausgabeverzeichnis (nur zusammen mit -u).

Die aktuellen LINBO-Live-ISO- und USB-Zip-Dateien finden Sie hier.

Bootbare CDROM erstellen

Falls der Server über ein CDRW-Laufwerk verfügt, kann man die LINBO-Boot-CDROM direkt auf dem Server in einem Arbeitsgang erstellen. Der Befehl

# make-linbo-media -c -d /dev/cdrom

erstellt eine LINBO-Boot-CD mit einem Default-Menü-Eintrag. Die Befehlseingabe

# make-linbo-media -c -d /dev/cdrom -g fs

wiederum erstellt nur einen Startmenü-Eintrag für die Gruppe fs.

Soll ein ISO-Image erstellt werden, das man später auf einem Client auf einen Rohling brennt, gibt man zum Beispiel

# make-linbo-media -c -i /home/administrators/administrator

ein und erhält damit eine ISO-Image-Datei linbo_default_1.1.13-1.iso im Homeverzeichnis des Benutzers administrator. Ein ISO-Image, das neben dem Default-Startmenü-Eintrag auch noch einen für die Rechnergruppe fs enthält, mit zusätzlichen Menüpunkten für den LINBO-Start im Debugmodus, erhält man mit dem Befehl

# make-linbo-media -c -i /home/administrators/administrator -g default,fs -b

Die resultierende Datei heißt dann zum Beispiel linbo_default-fs_1.1.13-1.iso.

Bootbaren USB-Stick direkt auf dem Server erstellen

Die folgende Anleitung geht davon aus, dass der USB-Stick als Festplatte und nicht als Superfloppy eingerichtet wurde.3

Hat man Zugang zu den USB-Schnittstellen des Servers, kann ein bootbarer USB-Stick direkt am Server erstellt werden. Nachdem der Stick eingesteckt wurde, ermittelt man mit dem Befehl

# dmesg

zunächst den Gerätenamen, den er vom System zugewiesen bekommen hat:

[ 5005.390704] Initializing USB Mass Storage driver...
[ 5005.393719] scsi4 : SCSI emulation for USB Mass Storage devices
[ 5005.395170] usbcore: registered new interface driver usb-storage
[ 5005.395179] USB Mass Storage support registered.
[ 5005.395454] usb-storage: device found at 2
[ 5005.395456] usb-storage: waiting for device to settle before scanning
[ 5010.386828] usb-storage: device scan complete
[ 5010.388068] scsi 4:0:0:0: Direct-Access     UT163    USB Flash Disk   0.00 PQ: 0 ANSI: 2
[ 5010.389688] sd 4:0:0:0: [sdc] 2015231 512-byte hardware sectors (1032 MB)
[ 5010.390678] sd 4:0:0:0: [sdc] Write Protect is off
[ 5010.390683] sd 4:0:0:0: [sdc] Mode Sense: 00 00 00 00
[ 5010.390685] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[ 5010.394044] sd 4:0:0:0: [sdc] 2015231 512-byte hardware sectors (1032 MB)
[ 5010.395042] sd 4:0:0:0: [sdc] Write Protect is off
[ 5010.395046] sd 4:0:0:0: [sdc] Mode Sense: 00 00 00 00
[ 5010.395047] sd 4:0:0:0: [sdc] Assuming drive cache: write through
[ 5010.395051]  sdc: sdc1
[ 5010.501523] sd 4:0:0:0: [sdc] Attached SCSI removable disk

In unserem Beispiel ist der Stick also unter dem Gerätenamen /dev/sdc ansprechbar. Der Befehl

# make-linbo-media -u -d /dev/sdc

erstellt nun den bootbaren LINBO-USB-Stick4. Mehr ist nicht zu tun, der Stick ist sofort einsetzbar. Einträge für weitere Gruppen und Debugmodus erzeugt man mit den oben angegebenen Optionen.

Zip-Archiv mit USB-Dateien auf dem Server erstellen

Falls man nicht die Möglichkeit hat, den LINBO-USB-Stick direkt auf dem Server zu erstellen, muss man für die auf dem USB-Stick notwendigen Dateien zunächst ein Zip-Archiv erzeugen, das man dann auf einem Client weiterverarbeiten kann. Der Befehl

# make-linbo-media -u -z /home/administrators/administrator -g default,fs

erstellt im Homeverzeichnis des Benutzers administrator zum Beispiel eine Archiv-Datei linbo_default-fs_1.1.13-1.usb.zip, die die für den LINBO-USB-Boot benötigten Dateien erhält. Dieses Archiv entpackt man dann auf dem Client direkt auf den Stick. Es sollten sich danach entsprechend unserem Beispiel folgende Dateien und Ordner im obersten Verzeichnis des Sticks befinden (Ausgabe von ls -l auf einem Linux-Client):

drwxr-xr-x 3 root root     4096 2009-03-25 11:33 boot
-rw-r--r-- 1 root root  2578064 2009-03-25 11:33 linbo
-rw-r--r-- 1 root root 10543068 2009-03-25 11:33 linbofs.gz
drwxr-xr-x 4 root root     4096 2009-03-25 11:33 utils

Neben dem LINBO-Kernel linbo und der linbofs-Ramdisk sehen wir die Ordner boot, in dessen Unterordner syslinux sich die für den USB-Boot notwendigen Dateien befinden, und utils, der Werkzeuge für die Herstellung der Bootfähigkeit des Sticks unter Linux und Windows enthält. Das weitere Vorgehen hängt nun vom verwendeten Betriebssystem ab.

Bootbaren USB-Stick auf einem Linux-Client erstellen

Wenn Sie den Stick eingesteckt haben, ermitteln Sie zunächst den Gerätenamen. Das Gerät wird in der Regel automatisch eingebunden, sodass man das mit Hilfe des Konsolenbefehls mount schnell erledigt hat. Im Folgenden gehen wir davon aus, dass der Stick als Gerät /dev/sdc angesprochen wird und die Stick-Partition /dev/sdc1 unter /media/disk ins Dateisystem eingehängt ist. Die für die Herstellung der Bootfähigkeit benötigten Werkzeuge finden wir daher unter dem Pfad /media/disk/utils/linux. Damit der Stick das Booten lernt, müssen wir zwei Befehle absetzen:

  1. Schreiben des Master Boot Record
    # /media/disk/utils/linux/install-mbr /dev/sdc
    
  2. Schreiben des syslinux-Bootloaders auf die Partition
    # /media/disk/utils/linux/syslinux /dev/sdc1
    

Danach kann der USB-Speicher als LINBO-Boot-Medium verwendet werden.

Bootbaren USB-Stick auf einem Windows-Client erstellen

Laden Sie zunächst das freie Programm  TestDisk herunter und entpacken Sie das Archiv zum Beispiel nach C:\testdisk. Im nächsten Schritt schreiben wir mit Hilfe von  TestDisk den MBR auf das Medium. Starten Sie dazu das Programm in einem Befehlsfenster:

C:\testdisk\win\testdisk_win.exe

Im Startdialog wählen Sie mit der Pfeiltaste die Option [ No Log ]:

Use arrow keys to select, then press Enter key:
[ Create ]  Create a new log file
[ Append ]  Append information to log file
[ No Log ]  Don't record anything

Im nächsten Dialog sehen Sie die gefundenen Festplatten mit ihrem Linux-Gerätenamen aufgelistet:

  TestDisk is free software, and
comes with ABSOLUTELY NO WARRANTY.

Select a media (use Arrow keys, then press Enter):
Disk /dev/sda - 160 GB / 149 GiB - ATA WDC WD1600JS-00M
Disk /dev/sdb - 160 GB / 149 GiB - ATA SAMSUNG HD160JJ
Disk /dev/sdc - 1053 MB / 1004 MiB - Usb 2.0 Flash Disk

[Proceed ]  [  Quit  ]

Wählen Sie mit der Pfeiltaste die USB-Disk aus (im Beispiel /dev/sdc) und bestätigen Sie mit ENTER. Nun ist [Intel ] als Partitionstyp auszuwählen:

Disk /dev/sdc - 1053 MB / 1004 MiB - Usb 2.0 Flash Disk

Please select the partition table type, press Enter when done.
[Intel  ]  Intel/PC partition
[EFI GPT]  EFI GPT partition map (Mac i386, some x86_64...)
[Mac    ]  Apple partition map
[None   ]  Non partitioned media
[Sun    ]  Sun Solaris partition
[XBox   ]  XBox partition
[Return ]  Return to disk selection

Da Sie den Master Boot Record schreiben wollen, wählen Sie jetzt die Option [ MBR Code ]:

Disk /dev/sdc - 1053 MB / 1004 MiB - CHS 1021 33 61

[ Analyse  ]  Analyse current partition structure and search for lost partitions
[ Advanced ]  Filesystem Utils
[ Geometry ]  Change disk geometry
[ Options  ]  Modify options
[ MBR Code ]  Write TestDisk MBR code to first sector
[ Delete   ]  Delete all data in the partition table
[ Quit     ]  Return to disk selection

Die folgende Abfrage muss mit Y bestätigt werden:

Disk /dev/sdc - 1053 MB / 1004 MiB - CHS 1021 33 61

Write a new copy of MBR code to first sector? (Y/N) 

Und nochmal:

Write a new copy of MBR code, confirm ? (Y/N)

Nun ist es geschafft, der MBR wurde geschrieben:

A new copy of MBR code has been written.
You have to reboot for the change to take effect.

[Ok]

Den Neustart können wir uns allerdings sparen. Nachdem wir das Programm verlassen haben, müssen wir noch den syslinux-Bootloader auf das Medium schreiben. Das geht deutlich einfacher, denn das dazu notwendige Werkzeug befindet sich schon auf dem Stick. Angenommen der USB-Speicher ist als Wechseldatenträger unter Laufwerk F: eingebunden, heißt der aufzurufende Befehl:

F:\utils\win32\syslinux.exe F:

Nun kann der Stick als LINBO-Boot-Medium benutzt werden.

Das LINBO-Startmenü

Nachdem ein Client über ein LINBO-Boot-Medium gestartet wurde, präsentiert sich das LINBO-Startmenü:

Bei obigem Beispiel wurde ein Boot-Medium für die Gruppen default und fs erzeugt. LINBO kann also entweder mit den Standardbootparametern oder mit den Bootparametern für die Gruppe fs gestartet werden.5 Betätigt man die [Tab]-Taste, ist man in der Lage die Bootparameter des gerade ausgewählten Menüeintrages zu editieren:

Mit [Esc] gelangt man wieder zurück ins Menü, mit [Enter] startet man den ausgewählten Eintrag. Erstellt man das Boot-Medium mit der Option -b erhält man zusätzlich bei jeder Gruppe einen Menüeintrag für den Start im Debugmodus:

Weitere Menüeinträge erlauben den lokalen Start von der ersten im System gefundenen Festplatte, den PXE-Boot und den Neustart des Rechners. Erfolgt 30 Sekunden lang keine Eingabe, wird automatisch der erste Menüeintrag gestartet. Diese und andere Einstellungen lassen sich in der Datei /boot/syslinux/syslinux.cfg anpassen. Entsprechendes Knowhow vorausgesetzt lassen sich durch Einträge in syslinux.cfg weitere bootbare Systeme auf dem Stick integrieren.  Anleitungen dazu findet man im Netz unzählige.


  1. Die Bootfähigkeit des USB-Sticks erzeugen wir mit Hilfe von  syslinux und  mbr, für die CDROM verwenden wir  isolinux.
  2. Wird der LINBO-Client ohne Verbindung zum LINBO-Server gebootet, ermöglicht dieses Passwort das Einloggen auf der Imaging-Seite der LINBO-Client-Oberfläche. Konfiguriert man außerdem den LINBO-SSH-Server für passwortbasierte Logins (Parameter -n), kann man sich als Benutzer root mit diesem Passwort auf dem LINBO-Client einloggen.
  3. Der Stick muss partitioniert sein und als erste Partition eine FAT-Partition enthalten, siehe  http://wiki.winboard.org/index.php/Boot#Bootf.C3.A4hig_machen_von_USB_Speicher.
  4. Bereits auf dem Stick vorhandene Daten werden bei diesem Vorgang nicht verändert. Trotzdem sollte man sie vorsichtshalber vorher sichern. Auf das Medium werden ein Master Boot Record (MBR) und die für den LINBO-USB-Boot notwendigen Dateien geschrieben.
  5. Es werden die Kernel-Parameter aus der PXE-Boot-Konfiguration der Gruppe verwendet (siehe Handbuch-Abschnitt 7.3.2.1. PXE-Boot-Konfiguration).

Attachments