本实验基于以下实验文档:lab1/README.md · NelsonCheung/SYSU-2023-Spring-Operating-System - Gitee.com
在按照如文档所示内容进行操作后,在最后一步加载busybox中的启动qemu出现了错误,查阅命令行页面的活动日志,原因主要是IO-APIC和定时器初始化失败

推测主要是因为版本不同,Linux内核中的一些默认设置出现了变化,导致前面制作的Initramfs出现了问题,没有成功进入qemu。
实验文档中采用的是Linux-5.10.19内核,我使用的是Linux-5.10.234内核。如果更改内核为5.10.19版本,则原命令下可以正常进入:
cd ~/lab1
qemu-system-i386 -kernel linux-5.10.19/arch/x86/boot/bzImage -initrd initramfs-busybox-x86.cpio.gz -nographic -append "console=ttyS0"

当然如果使用Linux-5.10.234依然可以进入qemu,但是需要更改命令。两种方式
1.禁用APIC,添加noapic:
cd ~/lab1
qemu-system-i386 -kernel linux-5.10.234/arch/x86/boot/bzImage -initrd initramfs-busybox-x86.cpio.gz -append "console=ttyS0 noapic" -nographic
2.直接指定CPU类型:
cd ~/lab1
qemu-system-i386 -kernel ~/lab1/linux-5.10.234/arch/x86/boot/bzImage -initrd initramfs-busybox-x86.cpio.gz -append "console=ttyS0" -cpu qemu32 -nographic
结果如下

1234

被折叠的 条评论
为什么被折叠?



