Réponses:
La séparation des deux étapes n'est nécessaire que si vous amorcez une distribution pour une architecture étrangère ( CrossDebootstrap ). Voir la description de l' --foreign
option sur la page de manuel . Par exemple, utiliser une machine x86 pour créer une installation Debian / Ubuntu pour un système ARM ou PowerPC intégré.
La première étape télécharge les fichiers .deb nécessaires et les décompresse dans le répertoire que vous spécifiez. La deuxième étape exécute tous les scripts de configuration de package, ce qui doit être fait en utilisant l'architecture cible (ou en utilisant qemu-user-static
pour émuler l'architecture cible).
Si vous ne construisez pas d'installation pour une architecture étrangère, les étapes sont combinées et vous pouvez ignorer l' --second-stage
option.
Exemple d'utilisation debootstrap --second-stage
Si vous souhaitez débootstrap une image arm64 Ubuntu 18.04 à partir d'un hôte Ubuntu 18.04 amd64, vous feriez:
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"
Le qemu-user-static
paquet dans Ubuntu 18.04 est également livré avec un qemu-debootstrap
script qui fait essentiellement la même chose que nous, mais généralisé à toutes les arches. Cependant, il n'est pas dans l'arborescence source principale de QEMU.
Voici ma configuration complète pour exécuter le système généré sur une émulation système complète QEMU: Y a - t-il une image Ubuntu QEMU préconstruite (32 bits) en ligne?
Testé sur Ubuntu 18.04.
--foreign
et--second-stage
.