之前在开发板上,使用了支持32M flash的修改,现在支持了64M,只是对固件中dts设备树又进行了修改 如下 主要是对partion@50000这项
附:关于dts 32Mflash的支持
原来的
partion@50000{
label = “fireware”
reg = <0x50000 0x7b0000>;
};
改为了
partion@50000{
label = “fireware”
reg = <0x50000 0x1fb0000>;
};
这个0x1fb0000是怎么计算出来的,基于第二个参数表示大小32M = 32 * 1024 *1024 Byte = 0x200000
还有这些分区地址我在手册中没有看到,是不开放吗?
答:0x7b0000 是7.6875M的固件 8M的flash是0x800000 32Mflash的要改的话就是把固件的大小增加24M 即增加0x1800000 加上之前的0x7b0000就等于0x1fb0000
答:0x1fb0000是用0x2000000减去0x50000得到的。
现在使用的硬件板子是64Mflash的,所以按照上面理解,做如下修改
64M flash = 64
1024
1024 Bytre = 0x40000000
然后减去前面的0x50000 = 0x3fb0000
修改好以后,可以启动了,一切正常
由于固件是基于之前16MB SPI
FLASH
,而实际板载的是32MB,现在要把剩余的16MB利用起来,在网上搜集资料并实践,整理了下来。
更改之前先用df -h查看磁盘利用率,看到剩余磁盘空间8.2MB。
1、进入target/linux/ramips/
dts
,选择和硬件相对应的设备树文件,我是U7628-01-128M-16M.
dts
:
partition@50000 {
compa...
官方MT7688的
openwrt
版本适配为ram 128M、
flash
16M,而手头上的硬件设备是ram
64M
、
flash
8M,选择和硬件不匹配的配置,很容易出现kernal panic错误。
二、配置文件
在
OpenWrt
系统源码中,采用MTK芯片的板子硬件配置文件
DTS
(Device tree source)一般都放在
openwrt
/target/linux/ramips/d...
编译生产的sysupgrade.bin文件是一个升级文件,无法直接提供给工厂进行nand
flash
烧录使用。因为
flash
的每一个page是由data+ecc组成的,烧录的时候需要一起烧录,但是sysupgade.bin是原始data内容,没有ecc。
OpenWrt
添加新
Flash
支持
本文主要基于mtk-
openwrt
-sdk-20160324-8f8e4f1e.tar.bz2SDK。部分新的
Flash
在旧的
OpenWrt
内核中并不
支持
,需要自行添加
Flash
型号来使用,否则在
OpenWrt
启动时会系统自行分配一款
Flash
芯片,则很可能导致系统运行出现BUG。添加新
Flash
支持
有两种办法,一种是直接修改dl文件夹下的Linux内核,另一种是修改build_dir/target-mipsel_24kec+dsp_uClibc-0.9.33.2/lin
新建./
openwrt
/target/linux/ath79/
dts
/ar9344_netgear_wndr4300_128m.
dts
,写入如下内容
// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
#include "ar9344_n.
Flash
分区
硬件
Flash
为16M,默认编译时分区参数为mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14528k(rootfs),1472k(kernel),64k(art)ro,16000k@0x50000(firmware) rootfstype=squashfs,jffs2 noinitrd
控制台打印信息如下:
[ ] m2...
加入了博客园,这是第一篇博文,不多写了,从以前博客搬东西过来吧。
买来一个
OpenWrt
的路由器,今天刚到的货,赶快拆开看看是不是替我换了RAM和
FLASH
的。那么怎么查看它是不是真的有那么大呢?
在字符界面下,查看RAM的命令是这个:
cat /proc/meminfo
root@
OpenWrt
:~# cat /proc/meminfo
MemTotal: ...
如何实现
openwrt
在32M spi
flash
上运行
Cup是MT7620a ,
Openwrt
默认是
支持
8M
Flash
,而如想在16M或32 M
flash
上面运行需要修改MT7620a.
dts
,其所在目录如下
root@ubuntu: /home/topeet/git/
openwrt
/chaos_calmer/target/linux/ramips/
dts
cd git/...
很多玩家都会选择改ROM,比如说很多路由只有4MB ROM 很多人都会选择改成8MB或者更大,淘宝上亦有很多改好的或者是像GL-iNet这种自己做
OpenWRT
路由的产品,DIYer不免遇到需要刷
OpenWRT
官方原版固件的情况,而此时就会遇到原版固件是4MB ROM可你已经改成8MB ROM,刷机后导致有4MB的ROM空间无法利用的问题。此时就需要自己修改参数,编译固件了。
安装依赖:
apt-get install subversion build-essential libncurses5-dev zlib1g-dev gawk git ccache gettext libssl-dev xsltproc gcc g++ binutils patch bzip2 fle