免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 4187 | 回复: 5
打印 上一主题 下一主题

[应用] /proc/partitions 与 /dev/mtdblock 个数不对应的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-12-23 11:12 |只看该作者 |倒序浏览
请各位大侠帮忙看看是什么原因:

PPC的板子,所有东西都放nor flash上面。nor分了5个区,nand分了6个区。
启动后使用 cat /proc/partitions 可以看到 mtdblock0~10,共11个分区,是正确的。
但是在dev下面只能看到 mtdblock0~6,看不到7~10这几个分区,为什么呀?如何才能看到?谢谢。

论坛徽章:
0
2 [报告]
发表于 2013-12-23 11:26 |只看该作者
看一下dts里面的配置,是不是只定义了六个block设备。

论坛徽章:
0
3 [报告]
发表于 2013-12-23 13:55 |只看该作者
dts部分内容如下,看是都定义了的(nor有5个,nand有6个)。

        cpus {
                #address-cells = <1>;
                #size-cells = <0>;

                PowerPC,8313@0 {
                        device_type = "cpu";
                        reg = <0>;
                        d-cache-line-size = <20>;        // 32 bytes
                        i-cache-line-size = <20>;        // 32 bytes
                        d-cache-size = <4000>;                // L1, 16K
                        i-cache-size = <4000>;                // L1, 16K
                        timebase-frequency = <0>;        // from bootloader
                        bus-frequency = <0>;                // from bootloader
                        clock-frequency = <0>;                // from bootloader
                        32-bit;
                };
        };

        memory {
                device_type = "memory";
                reg = <00000000 08000000>;        // 128MB at 0
        };

                nand@e2800000 {
                        device_type = "nand";
                        compatible = "fsl-nand";
                        reg = <e2800000 2000>;
                        partitions = <
                                00000000 00100001 /* U-BOOT 1M R0 */
                                00100000 00800000 /* JFFS2 8M RW */
                                00900000 00400001 /* RAMDISK 4M RO */
                                00d00000 01000000 /* Reserve 16M RW */
                                01d00000 00200001 /* Kernel 2M RO */
                                01f00000 00100001>;/* DTB 1M RO */
                        partition-names = "U-Boot-NAND", "JFFS2-NAND", "Ramdisk-NAND",
                                        "Reserve-NAND", "Kernel-NAND", "DTB-NAND";
        };

        nor@fe000000 {
                device_type = "rom";
                compatible = "direct-mapped";
                reg = <fe000000 00800000>; /*8MB*/
                probe-type = "CFI";
                bank-width = <2>;
                partitions = <
                        00000000 00100001  /* U-BOOT  1M RO */
                        00100000 00200001  /* kernel 2M RO  */
                        00300000 00400000  /* Ramdisk File system 4M RW  */
                        00700000 00080001  /*  DTB 512K RO */
                        00780000 00080000>; /* JFFS2 512K RW */
                partition-names = "U-Boot", "Kernel", "Ramdisk", "DTB", "JFFS2" ;
        };

论坛徽章:
0
4 [报告]
发表于 2013-12-23 22:56 |只看该作者
目前手动创建了mtd7与mtdblock7,可以mount某一个目录上,挂载过程出现错误“Erase at 0x00028000 failed immediately: -EROFS. Is the sector locked?
”好多这种错误,用df -h查看后发现使用100%,进去该目录一个文件都没有。是怎么回事??

论坛徽章:
0
5 [报告]
发表于 2013-12-24 10:57 |只看该作者
看一下MAX_MTD_DEVICES的值

论坛徽章:
0
6 [报告]
发表于 2013-12-24 22:37 |只看该作者
jackyard 发表于 2013-12-24 10:57
看一下MAX_MTD_DEVICES的值


多谢 jackyard 兄弟的建议。
大概知道原因了,没来的及验证。mtd分区时,在指定分区大小时最后一位不能为1,否则会出现mount的情况。应该是这个问题吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP