debootstrap --second-stage 有什么用处

debootstrap --second-stage 有什么用处

我只是尝试了一下debootstrapschroot。我正在使用来设置我的环境debootstrap。我没有使用--second-stage选项debootstrap

我何时以及如何使用此选项。debootstrap第二阶段做什么?

答案1

仅当你为外部架构引导发行版时才需要分离这两个阶段(交叉引导--foreign)查看选项说明。手册页。例如,使用 x86 机器为嵌入式 ARM 或 PowerPC 系统创建 Debian/Ubuntu 安装。

第一阶段下载所需的 .deb 文件并将其解压到您指定的目录中。第二阶段运行所有软件包配置脚本,这必须使用目标体系结构来完成(或通过使用来qemu-user-static模拟目标体系结构)。

如果您没有为外部架构构建安装,则阶段将合并,您可以忽略该--second-stage选项。

答案2

使用示例debootstrap --second-stage

如果您想从 Ubuntu 18.04 amd64 主机解引导 arm64 Ubuntu 18.04 映像,您可以执行以下操作:

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"

Ubuntu 18.04 中的软件包qemu-user-static还附带一个qemu-debootstrap脚本,该脚本的功能与我们基本相同,但适用于所有架构。然而,它不在 QEMU 主源代码树中。

以下是在 QEMU 完整系统仿真上运行生成的系统的完整设置:网上有没有预建的 QEMU Ubuntu 映像(32 位)?

在 Ubuntu 18.04 上测试。

相关内容