Gem5 ARM FS-内核死机-不同步:VFS:无法在未知块上装载根FS(8,1)
我试图在Gem5中运行我的第一个完整系统模拟,但是我得到了以下错误Gem5 ARM FS-内核死机-不同步:VFS:无法在未知块上装载根FS(8,1),arm,gem5,Arm,Gem5,我试图在Gem5中运行我的第一个完整系统模拟,但是我得到了以下错误 [ 5.703750] VFS: Cannot open root device "sda1" or unknown-block(8,1): error -6 [ 5.704398] Please append a correct "root=" boot option; here are the available partitions: [ 5.706209] 080
[ 5.703750] VFS: Cannot open root device "sda1" or unknown-block(8,1): error -6
[ 5.704398] Please append a correct "root=" boot option; here are the available partitions:
[ 5.706209] 0800 252 sda
[ 5.706370] driver: sd
[ 5.707223] Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
[ 5.708000] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.18.0+ #1
[ 5.708570] Hardware name: V2P-CA15 (DT)
[ 5.709020] Call trace:
[ 5.709601] dump_backtrace+0x0/0x1c0
[ 5.710230] show_stack+0x14/0x20
[ 5.710844] dump_stack+0x8c/0xac
[ 5.711375] panic+0x130/0x288
[ 5.711980] mount_block_root+0x1a8/0x294
[ 5.712617] mount_root+0x140/0x174
[ 5.713243] prepare_namespace+0x138/0x180
[ 5.713891] kernel_init_freeable+0x1c0/0x1e0
[ 5.714489] kernel_init+0x10/0x108
[ 5.715069] ret_from_fork+0x10/0x18
[ 5.715584] Kernel Offset: disabled
[ 5.716051] CPU features: 0x21c0649a
[ 5.716509] Memory Limit: 512 MB
[ 5.717254] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1) ]---
gem5命令的输出是
warn: Tried to write RVIO at offset 0xa8 (data 0) that doesn't exist
warn: Tried to read RealView I/O at offset 0x8 that doesn't exist
warn: Tried to read RealView I/O at offset 0x48 that doesn't exist
warn: EnergyCtrl: Disabled handler, ignoring read from reg 0
info: Dumping kernel dmesg buffer to system.workload.dmesg...
warn: Kernel panic in simulated kernel
我正在使用
- Gem5 20.1.0.2(稳定分支)
- cmd:
/build/ARM/gem5.opt configs/example/fs.py--cpu类型=计时SimpleCPU--cpu时钟=1GHz--kernel=binaries/vmlinux.arm64--disk image=disks/m5_exit.squashfs.arm64--bootloader=binaries/boot.arm64
root=
kernel CLI参数不正确:使用了默认的sda1
而不是所需的sda
在fs.py上,正确的根=
可以设置为:
--command-line 'earlyprintk=pl011,0x1c090000 lpj=19988480 rw loglevel=8 mem=256MB root=/dev/sda console_msg_format=syslog nokaslr norandmaps panic=-1 printk.devkmsg=on printk.time=y rw console=ttyAMA0 - lkmc_home=/lkmc'
我认为没有办法在fs.py中只设置root=
,因此所有其他选项都是从默认的fs.py内核CLI复制的,只是修改了--root
。这也可以。您提到的问题指向:其中包含此错误的详细诊断步骤
因此,从内核消息中,我们清楚地看到root=
kernel CLI参数不正确:使用了默认的sda1
而不是所需的sda
在fs.py上,正确的根=
可以设置为:
--command-line 'earlyprintk=pl011,0x1c090000 lpj=19988480 rw loglevel=8 mem=256MB root=/dev/sda console_msg_format=syslog nokaslr norandmaps panic=-1 printk.devkmsg=on printk.time=y rw console=ttyAMA0 - lkmc_home=/lkmc'
我认为没有办法在fs.py中只设置
root=
,因此所有其他选项都是从默认的fs.py内核CLI复制的,只是修改了--root
。这也可以。谢谢,这解决了我的问题,但现在我尝试使用packer创建自定义磁盘映像。但是,我得到了无法解锁端口锁文件的错误。除了使用qemu系统arm
和ubuntu服务器for arm外,我还需要使用packer的任何特定设置吗?@Dauto98我从未使用过packer,最好另外问一个问题。如果你愿意,那么我可以帮你。谢谢,这解决了我的问题,但现在我尝试使用packer创建一个自定义磁盘映像。但是,我得到了无法解锁端口锁文件的错误。除了使用qemu系统arm
和ubuntu服务器for arm外,我还需要使用packer的任何特定设置吗?@Dauto98我从未使用过packer,最好另外问一个问题。“如果你愿意的话,我可以帮你。”老定时器:你能澄清一下理由吗?值得注意的是,这与QEMU的平均问题有什么不同?老实说,我认为人们提出的问题大部分都是有成效的,所以这是一个回答问题的好地方。@old_timer:你能澄清一下基本原理吗?值得注意的是,这与QEMU的平均问题有什么不同?老实说,我认为大多数人都在问一些富有成效的问题,而这正是回答这些问题的好地方。