启动参数:
qemu-system-aarch64 -M virt-4.0 -cpu cortex-a57 -nographic -kernel Image-5.10.0 -initrd openeuler-image-qemu-aarch64-20220803102612.rootfs.cpio.gz -device virtio-9p-device,fsdev=fs1,mount_tag=host -fsdev local,security_model=passthrough,id=fs1,path=/ --append "console=ttyAMA0 rdinit=/linuxrc"
错误输出:
2.392391] Run /init as init process
/init: error while loading shared libraries: libtirpc.so.3: cannot open shared object file: No such file or directory
[ 2.450080] Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00
[ 2.451237] CPU: 0 PID: 1 Comm: init Not tainted 5.10.0 #1
[ 2.451661] Hardware name: linux,dummy-virt (DT)
[ 2.452241] Call trace:
[ 2.452539] dump_backtrace+0x0/0x184
[ 2.452885] show_stack+0x18/0x24
[ 2.453109] dump_stack+0xc0/0x104
[ 2.453394] panic+0x164/0x358
[ 2.453609] do_exit+0x180/0x9ec
[ 2.453840] do_group_exit+0x50/0x9c
[ 2.454036] __wake_up_parent+0x0/0x2c
[ 2.454333] el0_svc_common.constprop.0+0xf8/0x17c
[ 2.454698] do_el0_svc+0x1c/0x28
[ 2.454943] el0_svc+0x20/0x30
[ 2.455143] el0_sync_handler+0xcc/0x154
[ 2.455428] el0_sync+0x160/0x180
[ 2.456234] Kernel Offset: disabled
[ 2.457013] CPU features: 0x0000,00000022,41002002
[ 2.457955] Memory Limit: none
[ 2.458688] ---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00007f00 ]---
问题原因:qemu仿真默认内存大小128M不够,需要手动配置下,加参数 -m 512, 如下所示:
qemu-system-aarch64 -M virt-4.0 -cpu cortex-a57 -nographic -m 512 -kernel Image-5.10.0 -initrd openeuler-image-qemu-aarch64-20220803102612.rootfs.cpio.gz -device virtio-9p-device,fsdev=fs1,mount_tag=host -fsdev local,security_model=passthrough,id=fs1,path=/ --append "console=ttyAMA0 rdinit=/linuxrc"