Wofür ist Debootstrap - Second-Stage?


11

Ich habe nur mit debootstrapund herumgespielt schroot. Ich richte meine Umgebungen mit ein debootstrap. Ich benutze keine --second-stageOption von debootstrap.

Wann und wie muss ich diese Option verwenden? Was macht debootstrapman in der zweiten Stufe?

Antworten:


11

Die Trennung der beiden Phasen ist nur erforderlich, wenn Sie eine Distribution für eine fremde Architektur ( CrossDebootstrap ) booten . Siehe die Beschreibung der --foreignOption auf der Manpage . Verwenden Sie beispielsweise einen x86-Computer, um eine Debian / Ubuntu-Installation für ein eingebettetes ARM- oder PowerPC-System zu erstellen.

In der ersten Phase werden die erforderlichen .deb-Dateien heruntergeladen und in das von Ihnen angegebene Verzeichnis entpackt. In der zweiten Phase werden alle Paketkonfigurationsskripts ausgeführt, die mithilfe der Zielarchitektur (oder mithilfe qemu-user-staticder Emulation der Zielarchitektur) ausgeführt werden müssen.

Wenn Sie keine Installation für eine fremde Architektur erstellen, werden die Phasen kombiniert und Sie können die --second-stageOption ignorieren .


1
Dieser Beitrag auf der Unix Stack Exchange enthält auch gute Informationen zu --foreignund --second-stageOptionen.
GDP2

1

Beispiel für die Verwendung debootstrap --second-stage

Wenn Sie ein arm64 Ubuntu 18.04-Image von einem Ubuntu 18.04 amd64-Host entfernen möchten, gehen Sie wie folgt vor:

sudo apt-get install \
  debootstrap \
  qemu-user-static \
;
debootstrap_dir=debootstrap
sudo debootstrap \
  --arch arm64 \
  --foreign \
  bionic \
  "$debootstrap_dir" \
  http://ports.ubuntu.com/ubuntu-ports \
;
sudo mkdir -p "${debootstrap_dir}/usr/bin"
sudo cp "$(which qemu-aarch64-static)" "${debootstrap_dir}/usr/bin"
sudo chroot "$debootstrap_dir" /debootstrap/debootstrap --second-stage
sudo rm -f "$root_filesystem"

Das qemu-user-staticPaket in Ubuntu 18.04 enthält auch ein qemu-debootstrapSkript, das im Grunde das Gleiche tut wie wir, aber auf alle Bögen verallgemeinert ist. Es befindet sich jedoch nicht im QEMU-Hauptquellenbaum.

Hier ist mein vollständiges Setup, um das generierte System mit der vollständigen QEMU-Systememulation auszuführen: Gibt es ein vorgefertigtes QEMU-Ubuntu-Image (32 Bit) online?

Getestet unter Ubuntu 18.04.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.