[OpenWrt] Flash 由4M改8M(或者16M), openwrt源码的修改

2023-11-12

http://www.right.com.cn/forum/thread-75309-1-1.html

trunk/tools/firmware-utils/src/mktplinkfw.c
只修改fw_max_len为0xfc0000,16M flash

                .id                = "4M",
                .fw_max_len        = 0xfc0000,
                .kernel_la        = 0x80060000,
                .kernel_ep        = 0x80060000,
                .rootfs_ofs        = 0x140000,
新版只用改fw的大小,分区表会自动认,不用像老版自己定义每个分区大小了。
==========================================================
trunk/tools/firmware-utils/src/mktplinkfw.c

点击(此处)折叠或打开

  1. static struct flash_layout layouts[] = {
  2.     {
  3.         .id        = "4M",
  4.         .fw_max_len    = 0x3c0000,
  5.         .kernel_la    = 0x80060000,
  6.         .kernel_ep    = 0x80060000,
  7.         .rootfs_ofs    = 0x140000,
  8.     }, {
  9.         .id        = "4Mlzma",
  10.         .fw_max_len    = 0x3c0000,
  11.         .kernel_la    = 0x80060000,
  12.         .kernel_ep    = 0x80060000,
  13.         .rootfs_ofs    = 0x100000,
  14.     }, {
  15.         .id        = "8M",
  16.         .fw_max_len    = 0x7c0000,
  17.         .kernel_la    = 0x80060000,
  18.         .kernel_ep    = 0x80060000,
  19.         .rootfs_ofs    = 0x140000,
  20.     }, {
  21.         .id        = "8Mlzma",
  22.         .fw_max_len    = 0x7c0000,
  23.         .kernel_la    = 0x80060000,
  24.         .kernel_ep    = 0x80060000,
  25.         .rootfs_ofs    = 0x100000,
  26.     }, {
  27.         /* terminating entry */
  28.     }
  29. };

  30. static struct board_info boards[] = {
  31.     {
  32.         .id        = "TL-MR3020v1",
  33.         .hw_id        = HWID_TL_MR3020_V1,
  34.         .hw_rev        = 1,
  35.         .layout_id    = "4Mlzma",
  36.     }, {
  37.         .id        = "TL-MR3220v1",
  38.         .hw_id        = HWID_TL_MR3220_V1,
  39.         .hw_rev        = 1,
  40.         .layout_id    = "4M",
  41.     }, {
  42.         .id        = "TL-MR3420v1",
  43.         .hw_id        = HWID_TL_MR3420_V1,
  44.         .hw_rev        = 1,
  45.         .layout_id    = "4M",
  46.     }, {
  47.         .id        = "TL-WA701Nv1",
  48.         .hw_id        = HWID_TL_WA701N_V1,
  49.         .hw_rev        = 1,
  50.         .layout_id    = "4M",
  51.     }, {
  52.         .id        = "TL-WA901NDv1",
  53.         .hw_id        = HWID_TL_WA901ND_V1,
  54.         .hw_rev        = 1,
  55.         .layout_id    = "4M",
  56.     }, {
  57.         .id = "TL-WA901NDv2",
  58.         .hw_id = HWID_TL_WA901ND_V2,
  59.         .hw_rev = 1,
  60.         .layout_id    = "4M",
  61.     }, {
  62.         .id        = "TL-WR741NDv1",
  63.         .hw_id        = HWID_TL_WR741ND_V1,
  64.         .hw_rev        = 1,
  65.         .layout_id    = "4M",
  66.     }, {
  67.         .id        = "TL-WR741NDv4",
  68.         .hw_id        = HWID_TL_WR741ND_V4,
  69.         .hw_rev        = 1,
  70.         .layout_id    = "4Mlzma",
  71.     }, {
  72.         .id        = "TL-WR740Nv1",
  73.         .hw_id        = HWID_TL_WR740N_V1,
  74.         .hw_rev        = 1,
  75.         .layout_id    = "4M",
  76.     }, {
  77.         .id        = "TL-WR740Nv3",
  78.         .hw_id        = HWID_TL_WR740N_V3,
  79.         .hw_rev        = 1,
  80.         .layout_id    = "4M",
  81.     }, {
  82.         .id        = "TL-WR743NDv1",
  83.         .hw_id        = HWID_TL_WR743ND_V1,
  84.         .hw_rev        = 1,
  85.         .layout_id    = "4M",
  86.     }, {
  87.         .id        = "TL-WR841Nv1.5",
  88.         .hw_id        = HWID_TL_WR841N_V1_5,
  89.         .hw_rev        = 2,
  90.         .layout_id    = "4M",
  91.     }, {
  92.         .id        = "TL-WR841NDv3",
  93.         .hw_id        = HWID_TL_WR841ND_V3,
  94.         .hw_rev        = 3,
  95.         .layout_id    = "4M",
  96.     }, {
  97.         .id        = "TL-WR841NDv5",
  98.         .hw_id        = HWID_TL_WR841ND_V5,
  99.         .hw_rev        = 1,
  100.         .layout_id    = "4M",
  101.     }, {
  102.         .id        = "TL-WR841NDv7",
  103.         .hw_id        = HWID_TL_WR841ND_V7,
  104.         .hw_rev        = 1,
  105.         .layout_id    = "4M",
  106.     }, {
  107.         .id        = "TL-WR941NDv2",
  108.         .hw_id        = HWID_TL_WR941ND_V2,
  109.         .hw_rev        = 2,
  110.         .layout_id    = "4M",
  111.     }, {
  112.         .id        = "TL-WR941NDv4",
  113.         .hw_id        = HWID_TL_WR941ND_V4,
  114.         .hw_rev        = 1,
  115.         .layout_id    = "4M",
  116.     }, {
  117.         .id        = "TL-WR1043NDv1",
  118.         .hw_id        = HWID_TL_WR1043ND_V1,
  119.         .hw_rev        = 1,
  120.         .layout_id    = "8M",
  121.     }, {
  122.         .id        = "TL-WR2543Nv1",
  123.         .hw_id        = HWID_TL_WR2543N_V1,
  124.         .hw_rev        = 1,
  125.         .layout_id    = "8Mlzma",
  126.     }, {
  127.         .id        = "TL-WR703Nv1",
  128.         .hw_id        = HWID_TL_WR703N_V1,
  129.         .hw_rev        = 1,
  130.         .layout_id    = "4Mlzma",//-->8Mlzma
  131.     }, {
  132.         /* terminating entry */
  133.     }
  134. };

Part Three: Compile your openwrt firmware:

1. Checkout trunk and update feeds as other common tutorials
2. Modify Openwrt code to support and partition your flash:

/trunk/tools/firmware-utils/src/mktplinkfw.c

fw_max_len = 0x7c0000 /* for 8M Flash, use 0xfc0000 for 16M flash*/







3. menuconfig and make your image as common tutorials. save the image openwrt-ar71xx-generic-tl-mr3420-v1-squashfs-factory.bin for future usage.
4. back up your 64k art (wirelss driver data, without it your wireless does not work.) this is important! you can also use the backup one from other tp-link ar7241 chipset routers.

http://www.right.com.cn/forum/thread-75309-1-1.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[OpenWrt] Flash 由4M改8M(或者16M), openwrt源码的修改 的相关文章

  • ZeroTierr的moon云服务器搭建和使用

    搭建moon 本质上是在云服务器上建立一个moon服务器 也加入zerotier的Network ID 服务器记录请求路径来做类似于DNS的解析 让设备之间p2p直连 问题是ZeroTier One本身的服务器都在国外访问速度很慢 可以通过
  • [OpenWrt] Flash 由4M改8M(或者16M), openwrt源码的修改

    http www right com cn forum thread 75309 1 1 html trunk tools firmware utils src mktplinkfw c 只修改fw max len为0xfc0000 16M
  • ubuntu18.04编译Openwrt出现的问题解决

    ubuntu18 04编译Openwrt出现的问题解决 问题1 Build dependency Please install Git git core gt 1 6 5 问题2 gdate c 2497 7 error format no
  • openwrt luci使用本地软件源更新软件包,更新package.sig签名

    官方的源在国外 一般访问速度比较慢 本地源可以快速解决这个问题 有时自己编译的软件升级发布版本使用本地源 能够更好的维护与安装 为了保证兼容性 尽量使用同一个源提供的SDK打包的源软件 把编译出来的ipk文件上传到本地服务器 在索引中添加新
  • openwrt篇修改WiFi热点默认名称和主机名

    在如下图文件中 修改ssid 在如下图文件中修改hostname
  • OpenWrt系统配置UCI

    UCI简介 UCI Unified Configuration Interface 是 Openwrt 中的统一配置接口 官方文档参考 每一个程序的配置文件都保存在 etc config 目录 可以通过文本编辑器 uci 一个可执行程序 以
  • 从零开始学习OpenWrt完美教程

    Cisco Linksys在2003年发布了WRT54G这款无线路由器 同年有人发现它的OS是基于Linux的 然而Linux是基于GPL许可证发布的 按照该许可证Cisco应该把WRT54G 的OS的源代码公开 2003年3月 Cisco
  • openwrt中计划任务的设置

    寝室的供网规则为周一到周五零点断网 六点开网 双休日通宵供网 故设置一套计划任务提高路由器使用效率 crontab命令常见于Unix和类Unix的操作系统之中 用于设置周期性被执行的指令 操作符号 在一个区域里填写多个数值的方法 逗号 分开
  • openwrt调试用到的

    PC间文件共享 python3 m http server 在共享的电脑上 打开浏览器 直接输入 serverip 8000 NFS Ubuntu PC端 sudo apt get install nfs kernel server sud
  • Ubuntu16.04下交叉编译适配openwrt(CC版本)的swoole扩展库(swoole-1.10.3)

    Ubuntu16 04下交叉编译适配openwrt CC版本 的swoole扩展库 swoole 1 10 3 文章目录 Ubuntu16 04下交叉编译适配openwrt CC版本 的swoole扩展库 swoole 1 10 3 一 简
  • opkg 更新软件

    opkg 不同的版本存在不同的配置文件 一般常用的是 etc opkg conf etc opkg customfeeds conf 和 etc opkg distfeeds conf三个 这三个配置文件将会影响opkg运行时软件资源的取向
  • 红米ac2100 刷openwrt以及刷回记录

    redmiac2100 刷机 参考 手动升级漏洞固件 https wwx lanzoux com i6iqxhqp98f 或者百度网盘链接 https pan baidu com s 1H355Ym9p TLrVOux2w2b7Q 提取码
  • Openwrt按键检测分析-窥探Linux内核与用户空间通讯机制netlink使用

    首先看一下Openwrt系统中关于按键功能的使用和修改 以18 06版本为例 按键功能实现在脚本中 比如18 06 package base files files etc rc button reset bin sh lib functi
  • OpenWRT添加模块(一)Makefile和Config.in

    第一次接触到openwrt 真是被毁三观啊 不要说makefile 连源代码在哪里都找不到 知道嵌入式系统水深 没想到迈出第一步就没过了脖子 好在旁边有人指点 直接在芯片厂商提供的既有代码上做二次开发 项目进展倒也完全满足了前期计划的目标
  • 在openwrt使用C语言增加ubus接口(包含C uci操作)

    在openwrt使用C语言增加ubus接口 包含C uci操作 文章目录 在openwrt使用C语言增加ubus接口 包含C uci操作 创建自己的软件包 软件包结构 编写代码和启动脚本 重点 案例大致分析 实现过程 ubus demo i
  • linux下安装awk

    sudo apt get install gawk 注意名称
  • 获取openwrt wan口ip方法

    2020年7月30日14点39分 更新 之前写的方法 获取的是wan口的ip和网关 使用过程发现 以有线上网模式为例 获取wan口网关时 若网关中出现连续的1 1 会获取失败 表明该正则表达式是有问题的 即下面这个grep oE 之后的内容
  • OpenWrt 学习记录

    OpenWrt 学习记录 ssh setting CodePath review Makefile CURDIR MAKEFILE LIST ssh setting keygen ssh keygen t rsa C hugh win10W
  • 为什么在 Makefile 中安装文件时 $(INSTALL_BIN) 和 $(INSTALL_DATA) 总是删除软链接

    在 OpenWrt 包 Makefile 的安装部分 以下代码将从 lib 文件中删除软链接并将实例复制到 1 在构建 编译部分 我们在 PKG BUILD DIR 下构建了 3 个库 PKG BUILD DIR libapi so gt
  • 安装“opkg”?

    我正在尝试将软件包安装到我的 OpenWrt SDK 中 为此 您必须通过键入以下内容来使用 OPKG 包管理器 opkg update opkg install

随机推荐

  • C#实现AES-ECB加解密

    using System using System Text using System Security Cryptography namespace Common API Test Test Demo class AES ecb Encr
  • java连接mysql数据库(3)插入数据,详细

    连接数据库并向表中插入数据 代码 public class today public static void main String args String url jdbc mysql localhost 3306 my url是固定的
  • [Unity]取消键盘W与Input.GetAxis(“Horizontal“)的按键关联

    float fh 0 fv 0 fh Input GetAxis Horizontal fv Input GetAxis Vertical Edit ProjectSettings Input InputManager Axes Horiz
  • inittab详解

    文章转载地址 https blog csdn net kernel 32 article details 3860756 utm source blogxgwz1 linux System init init进程是系统中所有进程的父进程 i
  • Plaxis3D模型浏览器各选项概念及相互关系

    一 概念含义 二 控制与被控制关系 地层学控制土体 几何图形控制梁 板 界面 组控制梁 板 界面 梁控制本身 beam对应几何图形中的line 板控制本身 界面 界面 土体控制本身 控制示例 地层控制土体 几何模型控制梁 板 界面和土体 组
  • 关于shiro反序列化漏洞一次完整的攻击

    1 1 漏洞原理 Apache Shiro框架提供了记住密码的功能 RememberMe 用户登录成功后会生成经过加密并编码的cookie 在服务端对rememberMe的cookie值 先base64解码然后AES解密再反序列化 就导致了
  • Web自动化测试04:Selenium-XPath、CSS定位

    系列文章目录 软件测试功能到自动化学习路线图 2022年最新版技术栈 软件测试01 从了解测试岗位职能和测试流程开始 附作业 软件测试02 6大实际案例手把手教你设计测试点 软件测试03 用例执行以及缺陷管理的学习 附禅道下载使用流程 软件
  • redis内部数据结构详解之字典dict

    redis内部数据结构详解之字典dict 对于redis的Dict 字典 虽说算法上跟市面上一般的Dict实现没有什么区别 但是redis的Dict有2个特殊的地方那就是它的rehash 重新散列 和它的字典节点单向链表 以下是dict用到
  • python中*args的使用

    文章目录 python中 args的使用 args python中 args的使用 args表示动态传入的参数 也就是参数传入的个数是可变的 可以是一个或者多个 在不需要的时候也可以传入不用给它传入任何值 注 动态参数必须放在所有的位置参数
  • arduino字符串处理函数

    判断字符串是否相等 equals 和equalsIgnoreCase 语法 string equals string2 string equalsIgnoreCase string 区别 是否忽略大小写 返回值布尔类型 将字符串复制到宁一个
  • 大数据毕业设计 B站数据分析与可视化系统 - python

    文章目录 0 前言 1 课题背景 2 实现效果 3 数据获取 4 数据可视化 5 最后 0 前言 这两年开始毕业设计和毕业答辩的要求和难度不断提升 传统的毕设题目缺少创新和亮点 往往达不到毕业答辩的要求 这两年不断有学弟学妹告诉学长自己做的
  • 启用与禁用游戏物体——unity

    Unity启用与禁用游戏物体gameObject activeInHierarchy 返回当前物体是否启用gameObject SetActive true 将物体启用gameObject SetActive false 将物体禁用 由于物
  • Vue中怎么设置图标

    在vue项目中 我们怎样设置浏览器图标 我们来看vue项目的目录结构 根目录下有一个index html 这个就相当于我们普通项目中的各个html页面文件 所以设置方法就是在index html的head标签中添加link标签 在这里要注意
  • 关联规则与提高算法效率

    关联规则与提高算法效率 提高效率关键点一 先验原理 如果一个项集是频繁的 则它的所有子集一定也是频繁的 原理的解释 考虑图6 3所示的项集格 假定 C
  • 苹果端性能测试

    iOS性能测试 1 APP启动时间 工具 Time Profiler 1 17s 初始化应用程序地址空间和动态链接所需的框架所需时间 62 90ms 从UlAppicationMain 或NSApplicationMain 启动到完成did
  • MySQL - 视图操作

    视图操作 视图是从一个或多个表中导出来的表 是一种虚拟存在的表 视图就像一个窗口 通过这个窗口可以看到系统专门提供的数据 这样用户可以不看整个数据库表中的数据 而只关心对自己有用的数据 视图可以使用户的操作更方便 而且可以保障数据库系统的安
  • MAC-允许任何来源没有了怎么办

    允许任何来源开启方法 首先看看系统设置中有没有 任何来源 的选项 先打开 系统偏好设置 gt 安全与隐私 gt 通用 选项 检查是否已经启用了 任何来源 选项 如果没有启用 先点击左下角的小黄锁图标解锁 然后选中 任何来源 如果需要恢复允许
  • Mysql 5.6 双主互备高可用(Keepalived+mysql) (一)

    安装环境 Redhat 5 8 mysql版本 mysql 5 6 25 DB机器A 主 192 168 8 193 主机名 mysql01 DB机器B 192 168 8 194 主机名 mysql02 mysql VIP IP 192
  • Python-PyEcharts绘制折线图(Line)

    Python PyEcharts绘制折线图 Line 一 简介 参考官网地址 https pyecharts org zh cn intro Echarts框架的Python版本 PyEcharts包 安装PyEcharts包 pip in
  • [OpenWrt] Flash 由4M改8M(或者16M), openwrt源码的修改

    http www right com cn forum thread 75309 1 1 html trunk tools firmware utils src mktplinkfw c 只修改fw max len为0xfc0000 16M