製作自動定義鏡像的方式很多種,這裏介紹使用supermin的方式來完成,下面的實驗在ubuntu 18.04 上進, 具體步驟可以參考man supermin。 supermin鏡像製作分成兩個階段,第一個階段是prepare, 第二是build
1. prepare:
supermin --prepare bash mount coreutils -o supermin.d
這裏準備要安裝的軟件包
2. 準備init文件:
cat > init <<EOF
#!/bin/bash
mount -t proc /proc /proc
mount -t sysfs /sys /sys
echo Welcome to supermin
bash -i
EOF
chmod +x init
tar zcf supermin.d/init.tar.gz ./init
3. build
supermin --build supermin.d --format ext2 -o appliance.d/
這一步完成之後在appliance.d 目錄下有kernel,initrd, root
4. 啓動qemu:
sudo qemu-system-x86_64 --nodefaults -nographic -kernel appliance.d/kernel -initrd appliance.d/initrd -hda appliance.d/root -serial stdio -append "console=ttyS0 \
root=/dev/sda rw"