首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MTD分区的命名方案

MTD分区的命名方案
EN

Unix & Linux用户
提问于 2018-07-15 12:00:55
回答 1查看 1.5K关注 0票数 1

以下引导日志中列出的MTD分区的命名方案是什么?

代码语言:javascript
复制
5 cmdlinepart partitions found on MTD device phys_mapped_flash
Creating 5 MTD partitions on "phys_mapped_flash":
0x00000000-0x00080000 : "bootloader" 
0x00080000-0x00680000 : "kernel"
0x00680000-0x01680000 : "rootfs" 
0x01680000-0x01780000 : "data"
0x01780000-0x017a0000 : "bootload-env"

特别是,我想知道在prompt提示符中使用什么命名方案来指定"rootfs“分区作为命令的参数:

代码语言:javascript
复制
setenv bootargs 'root= ???????'

我需要指定root=,因为引导日志显示内核不知道根设备是什么。

代码语言:javascript
复制
VFS: Cannot open root device "<NULL>" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

...and还显示了启动日志:

代码语言:javascript
复制
Kernel command line:  bootoctlinux 0x2a00200 mtdparts=phys_mapped_flash:512k(bootloader)ro,6M(kernel),16M(rootfs),1024k(data),128k(bootload-env) console=ttyS0,115200

BTW:根文件系统存储在内核ELF文件(.init.ramfs)的嵌入式部分(vmlinux64)中,就像gzipped压缩的cpio存档和引导日志指示的那样,它成功地加载到内存中:

代码语言:javascript
复制
Loading .init.ramfs @ 0xffffffff806ac000 (0x185ac7 bytes)

这是在一个只有32 an闪存的嵌入式系统上(LinuxKernelv2.6.21.7(分区: Cavium-Octeon for MIPS64 ) )。

U 1.1.1 (开发构建,svnversion: 176)

编辑:有人说是MTD1,有些人说MTD2是/dev/MTD1 1,有些人说是MTDblock1,有些人说是mtdblock1,有些人说是mtdblock2,有些人说是ubi:mtdblock2 1(为什么是冒号?)等等..。

真相是什么?如何从prompt提示符或引导日志中发现它?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-07-16 21:12:44

root=/dev/mtdblock3或一些UBI选项。您没有注意到,对于不同的文件系统,不同的建议是:-)。我不知道/dev/mtd3是否用于任何树内文件系统。

如果根文件系统是基于块(非mtd感知的)文件系统的只读实例,则使用/dev/mtdblock3

如果根文件系统是JFFS2的一个实例,那么使用/dev/mtdblock3。请参阅https://www.denx.de/wiki/DULG/RootFileSystemOnAJFFS2FileSystem和其他文件系统的一些示例,您可以查看http://www.denx.de/wiki/publish/DULG/DULG-enbw_cmc.html#Section_9.5。 (但本节没有提到UBI)。

如果rootfs使用UBI,则使用一些UBI选项。不过,您还没有展示有关UBI的任何细节--在您能够让root=使用任何UBI设备/卷之前,应该会有一些关于UBI设备/卷的内核引导消息。参见这里:http://www.linux-mtd.infradead.org/faq/ubifs.html#L_坐骑_泛影,它给出了一个UBI选项的示例:ubi.mtd=0 root=ubi0:rootfs rootfstype=ubifs。由于mtd分区直接称为"rootfs",所以我认为它不是UBI。

我将避免使用root=mtdblock3格式,至少如果您不确定的话。不同之处在于,某些initramfs可能不支持它。然而,当您使用内核挂载根文件系统而不使用initramfs时,内核理解root=/dev/mtdblock3格式。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/456418

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档