exec -c "root=/dev/mtdblock2" ????

发布于 2022-09-28 10:13:29 字数 168 浏览 18 评论 0

嵌入式内核启动时,是用exec命令,有时候可以在后面添加一些参数.如:
exec -c "root=/dev/mtdblock2"
请问,加这些参数的目的是什么?
另外,mtdblock2这个文件是如何确定的?因为在mtd分区的时候有至少一个mtdblock,你怎么知道是哪一个?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

护你周全 2022-10-05 10:13:29

flash的分区。由驱动定好了分区,然后把rootdisk烧到相应的分区
一般的  0 是bootloader, 1是kernel 2是rootdisk

草莓酥 2022-10-05 10:13:29

这是我的redboot中的flash空间分布:
Name                   FLASH  addr  Mem addr    Length      Entry point
RedBoot             0xBFC00000  0xBFC00000  0x00030000  0x00000000
rootfs                 0xBFC30000  0xBFC30000  0x00141000  0x00000000
linux                   0xBFD80000  0x80002000  0x0006C986  0x8013A040
RedBoot config  0xBFFC0000  0xBFFC0000  0x00001000  0x00000000
FIS directory      0xBFFD0000  0xBFFD0000  0x00010000  0x00000000

而我的mtd分区是这样分的:
<5>Creating 5 MTD partitions on "Physically mapped flash":
<5>0x00000000-0x00030000 : "RedBoot"
<5>0x00030000-0x00230000 : "rootfs"
<5>0x00230000-0x002a0000 : "linux"
<5>0x002a0000-0x002b0000 : "RedBoot config"
<5>0x002b0000-0x002c0000 : "FIS directory"

是不是就意味着我的命令应该是root=/dev/mtdblock1?
谢谢!

莫相离 2022-10-05 10:13:29

自己支持一下自己!
在"root=/dev/mtdblock2"的命令中.就现在我的系统而言,命令应该是"root=/dev/mtdblock2"这个命令中的mtd分区应该指的是文件系统的分区.
mtd0(mtdblock0)指的是整个flash, mtd1(mtdblock1)指的是redboot.mtd2(mtdblock2)指的是我的文件系统.等等.
所以在我的命令里就应该是"root=/dev/mtdblock2"
以上是根据楼上的mtd分区确定的.
但如果我的mtd分区是这样的话flash的空间分布还是不变的)
<5>Creating 5 MTD partitions on "hysically mapped flash":
<5>0x00000000-0x00030000 : "RedBoot"
<5>0x00230000-0x002a0000 : "linux"
<5>0x00030000-0x00230000 : "rootfs"
<5>0x002a0000-0x002b0000 : "RedBoot config"
<5>0x002b0000-0x002c0000 : "FIS directory"
那么命令就应该是"root=/dev/mtdblock3"

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文