问题描述:
root@cmcc:/# mtd unlock /dev/mtd1
Could not open mtd device: /dev/mtd1
Could not open mtd device: /dev/mtd1
root@cmcc:/#
root@cmcc:/# cat /proc/mtd
dev: size erasesize name
mtd0: 08000000 00020000 "spi0.0"
mtd1: 00100000 00020000 "BL2"
mtd2: 00080000 00020000 "u-boot-env"
解决方案:
(1)下载:
git clone https://github.com/jclehner/mtd-rw.git mtd-rw-git-20160214
(2)编译:
CONFIG_PACKAGE_kmod-mtd-rw=m
(3)采用scp/tftp/...从PC端拷贝bl2镜像及驱动mtd-rw.ko到机器:
scp bl2_img_2k-ddr3-bga.img root@192.168.1.1:/tmp
scp mtd-rw.ko root@192.168.1.1:/tmp
(4)从PC端telnet进入机器:
telnet 192.168.1.1
(5)查看机器分区List
cat /proc/mtd
(6)备份当前bl2镜像
dd if=/dev/mtd1 of=/tmp/mtd1_BL2.bin
(7)记录镜像md5值
cd /tmp
md5sum mtd1_BL2.bin
md5sum bl2_img_2k-ddr3-bga.img
(8)加载驱动,使能mtd写操作
insmod mtd-rw.ko i_want_a_brick=1
(9)Bl2镜像写入对应分区
mtd write bl2_img_2k-ddr3-bga.img BL2
(10)确认分区镜像
mtd verify bl2_img_2k-ddr3-bga.img BL2
(11)判断
OK->reboot
Failed->mtd write mtd1_BL2.bin BL2
Note:
Sets the MTD_WRITEABLE
flag on all MTD partitions.