web-dev-qa-db-fra.com

Quel est debootstrap - deuxième étape pour

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?

10
cheffo

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.

10
Matt

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.