回答:
2つのステージを分離する必要があるのは、外部アーキテクチャ(CrossDebootstrap)のディストリビューションをブートストラップする場合のみです。マニュアルページの--foreign
オプションの説明を参照してください。たとえば、x86マシンを使用して、組み込みARMまたはPowerPCシステム用のDebian / Ubuntuインストールを作成します。
最初の段階では、必要な.debファイルをダウンロードし、指定したディレクトリに解凍します。2番目のステージでは、すべてのパッケージ構成スクリプトを実行します。これは、ターゲットアーキテクチャを使用して(またはターゲットアーキテクチャqemu-user-static
をエミュレートするために使用して)実行する必要があります。
外部アーキテクチャ用のインストールを構築しない場合は、ステージが組み合わされ、--second-stage
オプションを無視できます。
使用例 debootstrap --second-stage
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 のパッケージにqemu-debootstrap
は、基本的に私たちが行ったのと同じことをするスクリプトが付属していますが、すべてのアーチに一般化されています。ただし、QEMUのメインソースツリーにはありません。
QEMUフルシステムエミュレーションで生成されたシステムを実行するための私のフルセットアップは次のとおりです。構築済みのQEMU Ubuntuイメージ(32ビット)はオンラインでありますか?
Ubuntu 18.04でテスト済み。
--foreign
および--second-stage
オプションについての良い情報もあります。