Odpowiedzi:
Rozdzielenie dwóch etapów jest konieczne tylko wtedy, gdy ładujesz dystrybucję dla architektury obcej ( CrossDebootstrap ). Zobacz opis --foreign
opcji na stronie podręcznika . Na przykład użycie komputera x86 do utworzenia instalacji Debian / Ubuntu dla wbudowanego systemu ARM lub PowerPC.
Pierwszy etap pobiera potrzebne pliki .deb i rozpakowuje je do wskazanego katalogu. W drugim etapie uruchamiane są wszystkie skrypty konfiguracyjne pakietu, które należy wykonać przy użyciu architektury docelowej (lub przy użyciu qemu-user-static
emulacji architektury docelowej).
Jeśli nie budujesz instalacji dla architektury obcej, etapy są łączone i możesz zignorować tę --second-stage
opcję.
Przykład użycia debootstrap --second-stage
Jeśli chcesz zdebootować pasek obrazu arm64 Ubuntu 18.04 z hosta Ubuntu 18.04 amd64, wykonaj następujące czynności:
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"
qemu-user-static
Pakiet w Ubuntu 18.04 jest również wyposażony w qemu-debootstrap
skrypt, który robi w zasadzie to samo, co my, ale uogólnione do wszystkich łuków. Nie ma go jednak w głównym drzewie źródeł QEMU.
Oto moja pełna konfiguracja do uruchomienia wygenerowanego systemu na pełnej emulacji systemu QEMU: Czy jest jakiś wstępnie zbudowany obraz Ubuntu QEMU (32-bitowy) online?
Testowane na Ubuntu 18.04.
--foreign
i--second-stage
opcjach.