我想这不是一个大问题,但我还是看不出到底出了什么问题。
我正在使用 Buildroot 2013.11 为嵌入式 Linux (2.6.39) ARM9 系统构建映像,该系统从 SD 卡启动。我尝试了不同的文件系统格式,其中一些无法启动。
我为上班族做了什么:例如:rootfs.cramfs正在工作,在Linux menuconfig中我选择了
File Systems
- Miscellaneous filesystems
- - Compressed ROM file system support (cramfs)
然后我将内核放在 SD 的第一个分区上,对于第二个分区,我使用了命令dd
:
sudo dd if=/[path-to-rootfs]/rootfs.cramfs of=/dev/sdb2 bs=2048
内核命令行如下所示:
console=ttyS0,115200 root=/dev/mmcblk0p2 rootwait
并且它可以毫无问题地启动系统。
我为那些不起作用的人做了什么:例如:rootfs.ubifs(还有许多其他的)。实际上我做了与上面几乎相同的步骤。内核命令行保持不变。我修改的内容在 linux-menuconfig 中:
File Systems
- Miscellaneous filesystems
- - SquashFS 4.0 - Squashed file system support
- - - Squashfs XATTR support
- - - Include support for LZO compressed file systems
- - - Include support for XZ compressed file systems
和 dd 命令:
sudo dd if=/[path-to-rootfs]/rootfs.ubifs of=/dev/sdb2 bs=2048
(顺便说一句:执行此步骤后,主机系统将无法再读取 2 分区的内容)。
但随后它在启动过程中崩溃并显示以下消息:
No filesystem could mount root
然后发生内核恐慌(由于上面的行)。如果有兴趣,我可以将 .config 文件放在这里。
有人看到我的错误吗?
答案1
答案2
根据UBIFS 文档它根本不适用于 MMC/SD 等块设备。所以我想这就是错误。