1.制作rootfs
- 通过alpine-minirootfs制作rootfs
# dd if=/dev/zero of=rootfs.ext4 bs=1G count=20
# mkfs.ext4 rootfs.ext4
# mkdir -p /mnt/rootfs
# mount rootfs.ext4 /mnt/rootfs && cd /mnt/rootfs
# wget http://dl-cdn.alpinelinux.org/alpine/latest-stable/releases/x86_64/alpine-minirootfs-3.12.0-x86_64.tar.gz
# tar -zxvf alpine-minirootfs-3.12.0-x86_64.tar.gz
# rm -f alpine-minirootfs-3.12.0-x86_64.tar.gz
# rm sbin/init && touch sbin/init && cat > sbin/init <<EOF
#! /bin/sh
mount -t devtmpfs dev /dev
mount -t proc proc /proc
mount -t sysfs sysfs /sys
ip link set up dev lo
exec /sbin/getty -n -l /bin/sh 115200 /dev/ttyS0
poweroff -f
EOF
# chmod +x sbin/init
# umount /mnt/rootfs
2. 准备vmlinuz并启动
# cp /boot/vmlinuz-$(uname -r) ./
# /usr/bin/qemu-system-x86_64 \
-kernel vmlinuz-$(uname -r) \
- drive format-raw,file=rootfs.ext4 \
- append "init=/sbin/init root=/dev/sda rw panic=1 reboot=k console=ttyS0" \
- smp 4 \
- M accel=kvm \
- cpu host \
- serial stdio