Что такое debootstrap - второй этап для

Я просто играл с debootstrap а также schroot, Я настраиваю свою среду с debootstrap, Я не пользуюсь --second-stage вариант debootstrap,

Когда и как мне нужно использовать эту опцию. Что значит debootstrap делать на втором этапе?

2 ответа

Решение

Разделение двух этапов необходимо только в том случае, если вы загружаете дистрибутив для сторонней архитектуры ( 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.

Другие вопросы по тегам