linux分区写保护,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
节点种类: 目录
调度: 正常
最后修改的版本: 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: cant open /dev/mtd4: Permission denied
或者
Could not open mtd device: art
Cant open device for writing!
那么
可能是target目录修改的内容未同步到build_dir中,只需要把build_dir目录删掉,重新编译一下就可以了。(时间很久)
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 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 节点种类: 目录 调度: 正常 最后修改的版本: 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: cant open /dev/mtd4: Permission denied 或者 Could not open mtd device: art Cant open device for writing! 那么 可能是target目录修改的内容未同步到build_dir中,只需要把build_dir目录删掉,重新编译一下就可以了。(时间很久)