在我的嵌入式设备上,使用 RPi 4,我想在不使用 SD 卡的情况下启动 Linux。我的想法是,使用 uboot,我将从 .ext3 映像创建 rootfs 分区,就像在 SD 卡上创建一样,但不是在 SD 上,而是在 RAM 中的某个地方。我尝试使用 加载 .ext3 文件,tftpboot 0x00800000 rootfs.ext3
然后传递内核参数root=/dev/ram0 rw initrd=0x00800000,300M ramdisk_size=307200
。内核开始启动,但随后失败end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
。
创建 RAM 磁盘是否需要任何额外的步骤,或者是 fs 格式不正确,或者是内核参数不正确?
编辑:我尝试过构建 cpio.gz 映像,这应该是实现此目的的常用方法,但我得到了Wrong Ramdisk Image Format
和Ramdisk image is corrupt or invalid
。然后我尝试用处理它mkimage -A arm -O linux -T ramdisk -C gzip -d ramdisk.cpio.gz uRamdisk
,但我又一次遇到了第一个内核恐慌。