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