OpenWrt添加新Flash支持
本文主要基于mtk-openwrt-sdk-20160324-8f8e4f1e.tar.bz2 SDK。部分新的Flash在旧的OpenWrt内核中并不支持,需要自行添加Flash型号来使用,否则在OpenWrt启动时会系统自行分配一款Flash芯片,则很可能导致系统运行出现BUG。添加新Flash支持有两种办法,一种是直接修改dl文件夹下的Linux内核,另一种是修改build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.10.14/drivers/mtd/ralink/ralink_spi.c 文件和build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.10.14/drivers/mtd/ralink/ralink_bbu_spi.c 文件。
修改Linux内核
- 解压
openwrt-sdk/dl/linux-3.10.14.tar.xz ,tar.xz的解压方法参考Linux实用记录(1)–Linux命令行下的压缩文件及解压中tar.xz的解压及压缩方法。得到openwrt-sdk/dl/linux-3.10.14 文件夹。 - 打开
openwrt-sdk/dl/linux-3.10.14/ldrivers/mtd/ralink/ralink_bbu_spi.c 文件。在static struct chip_info chips_data 数组中添加新的Flash型号,该数组与Uboot中的Flash型号数组结构相同,所以添加方式参考MT7628开发(1)–Uboot添加新Flash支持即可。 - 打开
openwrt-sdk/dl/linux-3.10.14/drivers/mtd/ralink/ralink_spi.c 文件。修改方式与上一步的ralink_bbu_spi.c 文件相同。 - 将
openwrt-sdk/dl/linux-3.10.14 文件夹重新压缩为linux-3.10.14.tar.xz ,在openwrt-sdk/dl 文件夹目录下使用命令md5sum linux-3.10.14.tar.xz 计算得到新的linux-3.10.14.tar.xz的md5值。修改openwrt-sdk/dl/linux-3.10.14.md5 文件,将文件中的MD5数值替换为新的linux-3.10.14.tar.xz的md5值。 - 重新编译openwrt即可,重新编译完成后可到
build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.10.14/drivers/mtd/ralink/ralink_bbu_spi.c 和build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/linux-ramips_mt7628/linux-3.10.14/drivers/mtd/ralink/ralink_spi.c 文件中检查确认是否有新添加的Flash型号。
修改.c文件来支持新Flash
添加64M大小的固件
|