Я только что поиграл с debootstrap
и schroot
. Я настраиваю свою среду с помощью debootstrap
. Я не использую опцию --second-stage
для debootstrap
.
Когда и как мне нужно использовать эту опцию. Что debootstrap
делает на втором этапе?
Разделение двух этапов необходимо только в том случае, если вы загружаете дистрибутив для сторонней архитектуры ( CrossDebootstrap ). См. Описание опции --foreign
на справочной странице . Например, используя машину x86 для создания установки Debian / Ubuntu для встроенной системы ARM или PowerPC.
На первом этапе загружаются необходимые файлы .deb и распаковывается в указанную вами директорию. На втором этапе запускаются все сценарии конфигурации пакета, которые должны быть выполнены с использованием целевой архитектуры (или с помощью qemu-user-static
для эмуляции целевой архитектуры).
Если вы не собираете установку для сторонней архитектуры, этапы объединяются, и вы можете игнорировать опцию --second-stage
.
Пример того, как использовать debootstrap --second-stage
Если бы Вы хотите к debootstrap arm64 изображение Ubuntu 18.04 от хоста Ubuntu 18.04 amd64, Вы сделали бы:
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
пакет в Ubuntu 18.04 также идет с a qemu-debootstrap
сценарий, который делает в основном то же самое, как мы сделали, но сделал вывод ко всему archs. Это не находится в основном исходном дереве QEMU как бы то ни было.
Вот моя полная установка для выполнения сгенерированной системы на полной системной эмуляции QEMU: там кто-либо предварительно создается изображение Ubuntu QEMU (32 бита) онлайн?
Протестированный на Ubuntu 18.04.