mtd分区写保护关闭

openwrt源码版本:barrier_breaker
svn信息:
Working Copy Root Path: /home/openwrt
URL: svn://svn.openwrt.org/openwrt/branches/barrier_breaker
版本库根: svn://svn.openwrt.org/openwrt
版本库 UUID: *****************************
版本: 46980
节点种类: 目录
调度: 正常
最后修改的作者: rmilecki
最后修改的版本: 46817
最后修改的时间: 2015-09-08 19:03:39 +0800 (二, 2015-09-08)

编译tl743 v3版本,路由器tl740 v5
在target/linux/ar71xx/files/drivers/mtd,打开文件tplinkpart.c
找到以下
parts[0].name = "u-boot";
parts[0].offset = 0;
parts[0].size = offset;
parts[0].mask_flags = MTD_WRITEABLE;

parts[1].name = "kernel";
parts[1].offset = offset;
parts[1].size = rootfs_offset - offset;

parts[2].name = "rootfs";
parts[2].offset = rootfs_offset;
parts[2].size = art_offset - rootfs_offset;

parts[3].name = "art";
parts[3].offset = art_offset;
parts[3].size = TPLINK_ART_LEN;
parts[3].mask_flags = MTD_WRITEABLE;

parts[4].name = "firmware";
parts[4].offset = offset;
parts[4].size = art_offset - offset;

这是一个数组表示mtd分区的,name是分区名字,而mask_flags就是写保护
例如我想写art分区,就把parts[3].mask_flags = MTD_WRITEABLE;去掉就可以了。

重新编译。

使用命令
dd if=art.bin  of=/dev/mtd4
或者
mtd -r write art.bin art
来写入art

如果还出现
dd: can't open '/dev/mtd4': Permission denied
或者
Could not open mtd device: art
Can't open device for writing!
那么
可能是target目录修改的内容未同步到build_dir中,只需要把build_dir目录删掉,重新编译一下就可以了。(时间很久)

本文章由作者:佐须之男 整理编辑,原文地址: mtd分区写保护关闭
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐