当前位置: 技术问答>linux和unix
MTD驱动获取flash布局的疑问
来源: 互联网 发布时间:2016-08-21
本文导语: 我的内核启动以后可以看到 ······ Searching for RedBoot partition table in ar7100-nor0 at offset 0x2fc00 0x00000000-0x0002fc00 : "RedBoot" 0x0002fc00-0x00030000 : "FIS directory" 0x00030000-0x00040000 : "config.bin" 0x00040000-0x00340000 : "linux" 0x0...
我的内核启动以后可以看到
······
Searching for RedBoot partition table in ar7100-nor0 at offset 0x2fc00
0x00000000-0x0002fc00 : "RedBoot"
0x0002fc00-0x00030000 : "FIS directory"
0x00030000-0x00040000 : "config.bin"
0x00040000-0x00340000 : "linux"
0x00240000-0x00440000 : "rootfs"
0x006ff000-0x00700000 : "RedBoot config"
······
这个应该是正确获取了flash中的分区布局吧,RedBoot、FIS directory和config.bin这三个分区是在一个block里
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xBF000000 0x00000000 0x0002FC00 0x00000000
FIS directory 0xBF02FC00 0x00000000 0x00000400 0x00000000
config.bin 0xBF030000 0x00000000 0x00010000 0x00000000
linux 0xBF040000 0x80300000 0x00300000 0x80300408
rootfs 0xBF340000 0x80600000 0x00200000 0x80600000
RedBoot config 0xBFFFF000 0x00000000 0x00001000 0x00000000
内核命令行如下:
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashf
s init=/sbin/init
然后就悲剧了:
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
疑问了,到底应该怎么算MTDblock呢?按flash的block来算我觉得我是对的啊,当然如果按分区算的话仍然是无法识别rootfs,请老大指教指教!!!!
······
Searching for RedBoot partition table in ar7100-nor0 at offset 0x2fc00
0x00000000-0x0002fc00 : "RedBoot"
0x0002fc00-0x00030000 : "FIS directory"
0x00030000-0x00040000 : "config.bin"
0x00040000-0x00340000 : "linux"
0x00240000-0x00440000 : "rootfs"
0x006ff000-0x00700000 : "RedBoot config"
······
这个应该是正确获取了flash中的分区布局吧,RedBoot、FIS directory和config.bin这三个分区是在一个block里
RedBoot> fis list
Name FLASH addr Mem addr Length Entry point
RedBoot 0xBF000000 0x00000000 0x0002FC00 0x00000000
FIS directory 0xBF02FC00 0x00000000 0x00000400 0x00000000
config.bin 0xBF030000 0x00000000 0x00010000 0x00000000
linux 0xBF040000 0x80300000 0x00300000 0x80300408
rootfs 0xBF340000 0x80600000 0x00200000 0x80600000
RedBoot config 0xBFFFF000 0x00000000 0x00001000 0x00000000
内核命令行如下:
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashf
s init=/sbin/init
然后就悲剧了:
VFS: Cannot open root device "mtdblock2" or unknown-block(31,2)
疑问了,到底应该怎么算MTDblock呢?按flash的block来算我觉得我是对的啊,当然如果按分区算的话仍然是无法识别rootfs,请老大指教指教!!!!
|
Kernel command line: console=ttyS0,115200 root=/dev/mtdblock2 rootfstype=squashf
你把启动参数里的 root=/dev/mtdblock2
改成 root=/dev/mtdblock4 试试。
你把启动参数里的 root=/dev/mtdblock2
改成 root=/dev/mtdblock4 试试。
|
你这个是nor 还是nand
nor似乎是不带block的
如果是两者混用 从nor启 若nor分到mtd0~mtdn 则nand就是从mtdblockn+1开始
nor似乎是不带block的
如果是两者混用 从nor启 若nor分到mtd0~mtdn 则nand就是从mtdblockn+1开始
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。