Openwrt修改flash大小

前言:在我们编辑固件选择软件包的时候会使固件逐渐变大,但是要符合你使用的型号,所以就修改固件大小来改变它。由于openwrt下默认一些固件大小是8M,所以在此来修改成16M,来支持我们的使用。

在新的版本中,已经加了对16M的支持,openwrt/tools/firmware-utils/src/mktplinkfw.c

代码如下

static struct flash_layout layouts[] = {
    {
        .id     = "4M",
        .fw_max_len = 0x3c0000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x140000,
    }, {
        .id     = "4Mlzma",
        .fw_max_len = 0x3c0000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x100000,
    }, {
        .id     = "8M",
        .fw_max_len = 0x7c0000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x140000,
    }, {
        .id     = "8Mlzma",
        .fw_max_len = 0x7c0000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x100000,
    }, {
        .id     = "16M",
        .fw_max_len = 0xf80000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x140000,
    }, {
        .id     = "16Mlzma",
        .fw_max_len = 0xf80000,
        .kernel_la  = 0x80060000,
        .kernel_ep  = 0x80060000,
        .rootfs_ofs = 0x100000,
    }, {
        .id     = "16Mppc",
        .fw_max_len = 0xf80000,
        .kernel_la  = 0x00000000,
        .kernel_ep  = 0xc0000000,
        .rootfs_ofs = 0x2a0000,
    }, {
        /* terminating entry */
    }
};

所以这里就不进行修改了

1.修改dts

文件目录:openwrt/target/linux/ramips/dts,在该目录下找到自己想要修改的dts文件,这里以mt7620a_mt7610e做示例

修改处dts代码展示:

                partition@50000 {
                    label = "firmware";
                    reg = <0x50000 0xfb0000>;
                };

值得一提的是,7b=8M fb=16M

2.修改Makefile

文件目录:openwrt/target/linux/ramips/image,由于我刚刚修改的是mt7620a_mt7610e,所以找到相关代码

Image/Build/Profile/MT7620a_MT7610e=$(call BuildFirmware/Default16M/$(1),$(1),mt7620a_mt7610e,MT7620a_MT7610e)

注意,这里是我修改之后的,以前是Default8M,现在改成16M,修改完之后编译,就可以看到你之前由于固件大于8M从而没有被编译出来的固件了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值