답변:
두 단계를 분리하는 것은 외부 아키텍처 ( CrossDebootstrap ) 의 배포를 부트 스트랩하는 경우에만 필요합니다 . 매뉴얼 페이지 에서 --foreign
옵션에 대한 설명을 참조하십시오 . 예를 들어 x86 시스템을 사용하여 내장 ARM 또는 PowerPC 시스템 용 데비안 / 우분투 설치를 만듭니다.
첫 번째 단계에서는 필요한 .deb 파일을 다운로드하고 지정한 디렉토리에 압축을 풉니 다. 두 번째 단계에서는 모든 패키지 구성 스크립트를 실행합니다.이 스크립트는 대상 아키텍처를 사용하거나 대상 아키텍처 qemu-user-static
를 에뮬레이션하기 위해 수행해야합니다 .
외부 아키텍처 용 설치를 구축하지 않는 경우 단계가 결합되어 --second-stage
옵션을 무시할 수 있습니다.
사용 방법의 예 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"
qemu-user-static
우분투 18.04 의 패키지 qemu-debootstrap
에는 기본적으로 우리가했던 것과 동일하지만 모든 아치에 일반화 된 스크립트가 제공됩니다 . 그러나 QEMU 기본 소스 트리에는 없습니다.
QEMU 전체 시스템 에뮬레이션에서 생성 된 시스템을 실행하기위한 전체 설정은 다음과 같습니다. 온라인에서 사전 구축 된 QEMU Ubuntu 이미지 (32 비트)가 있습니까?
우분투 18.04에서 테스트되었습니다.
--foreign
과--second-stage
옵션 에 대한 좋은 정보가 있습니다.