ฉันเพียงแค่เล่นไปรอบ ๆ ด้วยและdebootstrap
ฉันตั้งค่าสภาพแวดล้อมของฉันด้วยschroot
debootstrap
ฉันไม่ได้ใช้ตัวเลือกในการ--second-stage
debootstrap
ฉันต้องใช้ตัวเลือกนี้เมื่อใดและอย่างไร สิ่งที่ไม่debootstrap
ต้องทำในขั้นตอนที่สอง?
ฉันเพียงแค่เล่นไปรอบ ๆ ด้วยและdebootstrap
ฉันตั้งค่าสภาพแวดล้อมของฉันด้วยschroot
debootstrap
ฉันไม่ได้ใช้ตัวเลือกในการ--second-stage
debootstrap
ฉันต้องใช้ตัวเลือกนี้เมื่อใดและอย่างไร สิ่งที่ไม่debootstrap
ต้องทำในขั้นตอนที่สอง?
คำตอบ:
การแยกสองขั้นตอนจำเป็นเฉพาะเมื่อคุณทำการบูตการกระจายสำหรับสถาปัตยกรรมต่างประเทศ ( CrossDebootstrap ) SSEE คำอธิบายของ--foreign
ตัวเลือกบนหน้าคน ตัวอย่างเช่นการใช้เครื่อง x86 เพื่อสร้างการติดตั้ง Debian / Ubuntu สำหรับระบบ ARM หรือ PowerPC ในตัว
ขั้นตอนแรกจะดาวน์โหลดไฟล์. deb ที่จำเป็นและคลายไฟล์ลงในไดเรกทอรีที่คุณระบุ ขั้นตอนที่สองรันสคริปต์การกำหนดค่าแพคเกจทั้งหมดซึ่งจะต้องดำเนินการโดยใช้สถาปัตยกรรมเป้าหมาย (หรือโดยใช้qemu-user-static
เพื่อจำลองสถาปัตยกรรมเป้าหมาย)
หากคุณไม่ได้สร้างการติดตั้งสำหรับสถาปัตยกรรมต่างประเทศขั้นตอนจะถูกรวมเข้าด้วยกันและคุณสามารถข้าม--second-stage
ตัวเลือกนี้ได้
ตัวอย่างการใช้งาน debootstrap --second-stage
หากคุณต้องการ debootstrap ภาพ 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
สคริปต์ที่ไม่โดยทั่วไปเป็นสิ่งเดียวกับที่เราทำ แต่โดยทั่วไปจะ archs ทั้งหมด มันไม่ได้อยู่ในแผนผังต้นกำเนิดหลักของ QEMU
นี่คือการตั้งค่าแบบเต็มของฉันเพื่อเรียกใช้ระบบที่สร้างขึ้นในการจำลองระบบเต็มรูปแบบ QEMU: มีภาพ QEMU Ubuntu (32 บิต) ที่สร้างไว้ล่วงหน้าออนไลน์หรือไม่
ทดสอบบน Ubuntu 18.04
--foreign
และ--second-stage