Je viens de jouer avec debootstrap
et schroot
. Je configure mes environnements avec debootstrap
. Je n'utilise pas l'option --second-stage
de debootstrap
.
Quand et comment dois-je utiliser cette option? Que fait debootstrap
dans la deuxième étape?
La séparation des deux étapes n’est nécessaire que si vous démarrez une distribution pour une architecture étrangère ( CrossDebootstrap ). Voir la description de l’option --foreign
sur page de manuel . Par exemple, utiliser un ordinateur x86 pour créer une installation Debian/Ubuntu pour un système intégré ARM ou PowerPC.
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 paquet, 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'option --second-stage
.
Exemple d'utilisation de debootstrap --second-stage
Si vous souhaitez lancer une image arm64 Ubuntu 18.04 arm64 à partir d'un hôte AMD64 Ubuntu 18.04, vous devez procéder comme suit:
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 paquetage qemu-user-static
dans Ubuntu 18.04 est également livré avec un script qemu-debootstrap
qui fait essentiellement la même chose que nous, mais généralisé à tous les archs. Cependant, il ne figure 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 de système complet QEMU: Existe-t-il une image QEMU Ubuntu 32 bits prédéfinie en ligne?
Testé sur Ubuntu 18.04.