在使用openwrt的过程中,发现其可以通过firmware固件的形式进行升级,而且这个升级可以是全系统级的,要支持这种升级,合适的flash分区非常重要。
以下讨论的平台是:
1.版本:openwrt trunk reversion 39055
2.板级平台:wr703
系统启动打印的分区信息如下:
- [ 0.690000] Creating 5 MTD partitions on "spi0.0":
- [ 0.700000] 0x000000000000-0x000000020000 : "u-boot"
- [ 0.700000] 0x000000020000-0x000000101dd8 : "kernel"
- [ 0.720000] 0x000000101dd8-0x0000007f0000 : "rootfs"
- [ 0.750000] 0x000000680000-0x0000007f0000 : "rootfs_data"
- [ 0.760000] 0x0000007f0000-0x000000800000 : "art"
- [ 0.760000] 0x000000020000-0x0000007f0000 : "firmware"
以上分区对应如下图:
![](http://image109.360doc.com/DownloadImg/2018/03/1417/127186680_1_20180314050728608)
openwrt系统先分别编译出kernel及文件系统,然后以这个分区格式制作成firmware固件,烧写的时候,通过mtd
write将整个firmware.bin文件烧写到firmware分区(图中红色部分),即将原先的系统覆盖了,重启之后,将引导进入新系统。如何制作该image,接下来研究了再记录下来。
|