1,配置编译qemu
配置qemu:
cd qemu/
mkdir build
cd build/
$ ../configure --enable-slirp \
--enable-slirp-smbd --smbd=/home/hipper/ex_ubuntu-22.4.4-live-server_qemu/smba_00 \
--target-list="riscv32-softmmu riscv64-softmmu x86_64-softmmu"
注意,不要enable_kvm 和 enable_debug
编译 qemu:
make -j
2,安装虚拟系统
2.1创建磁盘文件:
$ ./qemu/build/qemu-img create ubuntu-220404-kernel-00.qcow2 -f qcow2 150G
2.2 安装系统:
sudo ./qemu/build/qemu-system-x86_64 -m 196608M -smp 12 -boot c \
-hda ubuntu-220404-kernel-00.qcow2 \
-net nic -net user,smb=/home/hipper/ex_ubuntu-22.4.4-live-server_qemu/smba_00 \
--nographic -append console=ttyS0 \
-cdrom ubuntu-22.04.4-live-server-amd64.iso \
-kernel ./ubuntu-220404/iso_ubuntu-22.04.4-live-server-amd64/casper/vmlinuz \
-initrd ./ubuntu-220404/iso_ubuntu-22.04.4-live-server-amd64/casper/initrd
不带 -c host --enable-kvm
2.3 重启验证:
sudo ./qemu/build/qemu-system-x86_64 -m 32768M -smp 6 -boot c \
-hda ubuntu-220404-kernel-00.qcow2 --nographic \
-net nic -net user,smb=/home/hipper/ex_ubuntu-22.4.4-live-server_qemu/smba_00,hostfwd=tcp::2222-:22
3,调试kernel:
3.1 指定 -kernel vmlinux 启动
sudo ./qemu/build/qemu-system-x86_64 -m 32768M -smp 6 -boot c \
-kernel ./debug_kernel/linux-source-5.15.0/vmlinux \
-hda ubuntu-220404-kernel-00.qcow2 --nographic \
-net nic -net user,smb=/home/hipper/ex_ubuntu-22.4.4-live-server_qemu/smba_00,hostfwd=tcp::2222-:22 \
-s -S
3.2 调试 kernel
host :
$ gdb
#载入 debug 版本的 vmlinux
(gdb) file ./debug_kernel/linux_5.15.0/vmlinux
(gdb) target remote:1234
(gdb) b start_kernel
(gdb) start #忘记这个要不要了
(gdb) c
效果:
断点处stop,
未完待续。。。