Red Hat Training

A Red Hat training course is available for Red Hat Satellite

Kapitel 9. Boot-Geräte

Die automatisierte Installation (oder Kickstart) ist ein wesentlicher Aspekt beim effizienten Provisioning von Systemen. Dieses Kapitel beschreibt, wie verschiedene Arten von Boot-Medien zum Kickstarten von Clients vorbereitet werden.
Detailliertere Informationen über den Einsatz von Kickstarts beim Provisioning finden Sie im RHN Satellite Server Handbuch zum Einstieg.
Das Red Hat Enterprise Linux CD Boot-Image boot.iso ist eine erforderliche Voraussetzung zum Erstellen von Boot-Geräten. Stellen Sie sicher, dass es auf dem System verfügbar ist und notieren Sie sich dessen Speicherort.

Prozedur 9.1. CD Boot-Medium

Anmerkung

Das Backslash-Zeichen "\" wird nachfolgend verwendet um anzuzeigen, dass diese Zeile am Shell-Prompt in derselben Zeile fortgeführt werden soll.
  1. Erstellen Sie ein Arbeitsverzeichnis für das Boot-Image:
    mkdir -p temp cd/isolinux
    
  2. Hängen Sie das Boot-Image im temp-Verzeichnis ein:
    mount -o loop boot.iso temp
    
  3. Kopieren Sie die erforderlichen Dateien für ein CD-Medium-Bootgerät in das zuvor erstellte Verzeichnis:
    cp -aP temp/isolinux/* cd/isolinux/
    
  4. Hängen Sie das temp-Verzeichnis aus und ändern Sie die Berechtigungen auf dem cd-Verzeichnis, um es für den Benutzer les- und schreibbar zu machen:
    umount temp
    chmod -R u+rw cd
    
  5. Wechseln Sie in das ./cd-Verzeichnis:
    cd ./cd
    
  6. Kopieren Sie die /usr/lib/syslinux/menu.c32-Datei auf die CD:
    cp -p /usr/lib/syslinux/menu.c32 isolinux
    
  7. Öffnen Sie die isolinux/isolinux.cfg-Datei in einem Texteditor Ihrer Wahl und fügen Sie die folgende Zeile hinzu:
    mkisofs -o ./custom-boot.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \
      -boot-load-size 4 -boot-info-table -J -l -r -T -v -V "Custom RHEL Boot" .
    
  8. Passen Sie die Boot-Parameter und Ziele in isolinux.cfg für das Booten von CD an.
  9. Brennen Sie die Daten auf die CD, um den Vorgang abzuschließen.

Prozedur 9.2. PXE Boot

  1. Erstellen Sie ein Arbeitsverzeichnis für das Boot-Image:
    mkdir -p temp pxe/pxelinux.cfg
    
  2. Hängen Sie das Boot-Image im temp-Verzeichnis ein:
    mount -o loop boot.iso temp
    
  3. Kopieren Sie die erforderlichen Dateien für ein PXE-Bootgerät in das zuvor erstellte Verzeichnis:
    cp -aP temp/isolinux/* pxe/
    
  4. Hängen Sie das temp-Verzeichnis aus und ändern Sie die Berechtigungen auf dem cd-Verzeichnis, um es für den Benutzer les- und schreibbar zu machen:
    umount temp
    chmod -R u+rw pxe
    
  5. Wechseln Sie in das /pxe-Verzeichnis:
    cd ./pxe
    
  6. Kopieren Sie die /usr/lib/syslinux/menu.c32-Datei in das /pxe-Verzeichnis:
    cp -p /usr/lib/syslinux/menu.c32 .
    
  7. Verschieben Sie die isolinux.cfg-Datei nach pxelinux.cfg/default:
    mv isolinux.cfg pxelinux.cfg/default
    
  8. Löschen Sie die temporären Dateien:
    rm -f isolinux.bin TRANS.TBL
    
  9. Kopieren Sie die /usr/lib/syslinux/pxelinux.0-Datei in das /pxe-Verzeichnis:
    cp -p /usr/lib/syslinux/pxelinux.0 .
    
  10. Öffnen Sie die pxelinux.cfg/default-Datei in einem Texteditor Ihrer Wahl und passen Sie die Boot-Parameter und Ziele für das PXE Booten an.

Prozedur 9.3. USB Boot-Medium

Warnung

Seien Sie extrem vorsichtig, wenn Sie diese Befehle als Root ausführen (für die meisten der kritischen Stellen ist dies erforderlich). Diese Befehle greifen auf die Gerätedateien zu, und eine fehlerhafte Änderung könnte Ihr System unter Umständen irreparabel beschädigen. Das nachfolgende Beispiel nutzt /dev/loop0 zum Einhängen; stellen Sie sicher, dass Sie das korrekte Gerät für Ihr System verwenden. Mit dem Befehl losetup -f können Sie überprüfen, welches Gerät das richtige ist.
  1. Erstellen Sie ein Arbeitsverzeichnis für das Boot-Image:
    mkdir -p temp usb/extlinux
    
  2. Hängen Sie das Boot-Image im temp-Verzeichnis ein:
    mount -o loop boot.iso temp
    
  3. Kopieren Sie die erforderlichen Dateien für ein USB-Medium-Bootgerät in das zuvor erstellte Verzeichnis:
    cp -aP temp/isolinux/* usb/extlinux/
    
  4. Hängen Sie das temp-Verzeichnis aus und ändern Sie die Berechtigungen auf dem cd-Verzeichnis, um es für den Benutzer les- und schreibbar zu machen:
    umount temp
    chmod -R u+rw usb
    
  5. Wechseln Sie in das /usb-Verzeichnis:
    cd ./usb
    
  6. Kopieren Sie die /usr/lib/syslinux/menu.c32-Datei in das extlinux/-Verzeichnis:
    cp -p /usr/lib/syslinux/menu.c32 extlinux/
    
  7. Verschieben Sie die extlinux/isolinux.cfg-Datei nach extlinux/extlinux.conf:
    mv extlinux/isolinux.cfg extlinux/extlinux.conf
    
  8. Löschen Sie die temporären Dateien:
    rm -f extlinux/isolinux.bin extlinux/TRANS.TBL
    
  9. Konvertieren Sie die custom-boot.img-Datei und kopieren Sie sie:
    dd if=/dev/zero of=./custom-boot.img bs=1024 count=30000
    
  10. Bestimmen Sie den richtigen Einhängepunkt für das Loopback-Gerät:
    losetup -f
    /dev/loop0
    
    Richten Sie das Loopback-Gerät mit dem Boot-Image ein:
    losetup /dev/loop0 ./custom-boot.img
    
  11. Öffnen Sie das fdisk-Dienstprogramm:
    fdisk /dev/loop0
    
    Erstellen Sie eine primäre, bootbare Partition auf dem Gerät. Sie erreichen dies durch Drücken der folgenden Tasten: n p 1 Eingabe Eingabe a 1 p w
  12. Kopieren Sie den Master Boot Record (MBR) auf das Loopback-Gerät:
    dd if=/usr/lib/syslinux/mbr.bin of=/dev/loop0
    
  13. Fügen Sie Partitionszuordnungen zum Loopback-Gerät hinzu:
    kpartx -av /dev/loop0
    
  14. Erzeugen Sie das Dateisystem:
    mkfs.ext2 -m 0 -L "Custom RHEL Boot" /dev/mapper/loop0p1
    
  15. Hängen Sie das Gerät ein:
    mount /dev/mapper/loop0p1 temp
    
  16. Löschen Sie temporäre Dateien:
    rm -rf temp/lost+found
    
  17. Kopieren Sie das extlinux/-Verzeichnis an einen temporären Speicherort:
    cp -a extlinux/* temp/
    
  18. Installieren Sie den Bootloader an diesem temporären Speicherort:
    extlinux temp
    
  19. Hängen Sie den temporären Speicherort aus:
    umount temp
    
  20. Löschen Sie die Partitionszuordnungen auf dem Loopback-Gerät:
    kpartx -dv /dev/loop0
    
  21. Löschen Sie das Loopback-Gerät:
    losetup -d /dev/loop0
    
    Synchronisieren Sie die Änderungen am Dateisystem:
    sync
    
  22. Öffnen Sie die extlinux.conf-Datei in einem Texteditor Ihrer Wahl und passen Sie die Boot-Parameter und Ziele für das Booten von USB an.
  23. Übertragen Sie das Image auf ein USB-Gerät, um das Verfahren abzuschließen. Stecken Sie das USB-Gerät ein und führen den dmesg-Befehl aus, um den Einhängepunkt zu überprüfen. In diesem Beispiel ist dies /dev/sdb.
    Hängen Sie das USB-Gerät aus:
    umount /dev/sdb
    
    Kopieren Sie das Image auf das USB-Gerät:
    dd if=./custom-boot.img of=/dev/sdb