选择目标编译固件平台

cd ~/source
编辑前检查

make defconfig
make prereq

设置固件默认大小及自定义新硬件
想生成自定义名称固件、机器型号需要修改8处地方
主板CPU是MT7620N
硬件是和ZBT WR8305RT的硬件一样
板子上的真实型号是JGX-X5
固件容量: 16M
十六进制: 0xfb0000
十进制: 16121856≈15.375

`cd ~/source/target/linux/ramips/``

第1步:定义profile文件,用于make menuconfig显示菜单

file="./image/mt7620.mk"
cat >>$file <<EOFdefine Device/jlcsswrtDTS:= JLCSSWRTBLOCKSIZE := 64kIMAGE_SIZE := $(ralink_default_fw_size_16M)DEVICE_TITLE := MYWRT
endef
TARGET_DEVICES += jlcsswrt
EOF

第2步:sed使用“”时:\t表示制表符

file="./base-files/lib/ramips.sh"
grep "jlcsswrt" $file
if [ $? -ne 0 ];then
num=`grep -A1 -n 'name.*wr8305rt.*' $file  |grep ';;' |awk -F '-' '{print $NR}'`
sed -i "${num}a\\\t*\"MYWRT\")" $file
num=$[$num+1]
sed -i "${num}a\\\t\\tname=\"jlcsswrt\"" $file
num=$[$num+1]
sed -i "${num}a\\\t\\t;;" $file
fi
grep ".*jlcsswrt.*" $file -C4 -i

第3步:sed使用‘’时:\t表示制表符

file="./base-files/lib/upgrade/platform.sh"
grep "jlcsswrt" $file
if [ $? -ne 0 ];then
sed-i '/wr8305rt/a\\tjlcsswrt|\\' $file
fi
grep "jlcsswrt" $file -C1

第4步:

file="./base-files/etc/diag.sh"
grep "jlcsswrt" $file
if [ $? -ne 0 ];then
sed -i '/wr8305rt/i\\tjlcsswrt|\\' $file
fi
grep 'jlcsswrt' $file -C1

第5步:定义系统led接口

file="./base-files/etc/board.d/01_leds"
grep "jlcsswrt" $file
if [ $? -ne 0 ];then
sed-i '/wr8305rt/i\jlcsswrt|\\' $file
fi
grep "jlcsswrt" $file -A1

第6步:定义network接口

file="./base-files/etc/board.d/02_network"
grep "jlcsswrt" $file
if [ $? -ne 0 ];then
sed -i '/wr8305rt/i\\tjlcsswrt|\\' $file
fi
grep "jlcsswrt" $file -C1

第7步:定义DTS文件,设备型号、内存大小、分区信息等
修改flash分区
由于我们的flash是16M的,修改firmware分区大小为0xfb0000(L45)
(firmware)+(factory)+(uboot-env)+(uboot)=flash
(kernel)+(rootfs)=firmware
(squashfs(ro))+(jffs2(rw,rootfs_data))=rootfs

\cp ./dts/ZBT-WR8305RT.dts./dts/MYWRT.dts
file="./dts/MYWRT.dts"
com=`grep 'compatible.*mt7620n.*$' $file|awk -F '"' '{print $2}'`
sed -i "s#${com}#jlcsswrt#g"$file
model=`grep 'model.*' $file |awk -F'"' '{print $2}'`
sed -i "s#${model}#MYWRT#g"$file
label=`echo $com |awk -F ',' '{print $2}'`
sed -i "s#${label}#jlcsswrt#g"$file
sed -i '/0x50000/s/0x7b0000/0xfb0000/g'$file    #设置固件大小为16M grep -i 'MYWRT' $file

第8步:删除文件并重新选择目标固件

rm -rf ~/source/tmp

进入编译菜单,选择目标平台
make menuconfig

Target System (MediaTek Ralink MIPS)  ---> (X) MediaTek Ralink MIPS #选择厂商
Subtarget (MT7620 based boards)  --->(X) MT7620 based boards         #选择CPU类型
Target Profile (MYWRT)  --->(X) MYWRT                #选择目标平台
LuCI --->1. Collections  ---><*> luci                                        #启用web界面支持
LuCI --->2. Modules  --->Translations  ---><*> Chinese (zh-cn)    #添加中文语言包
LuCI --->3. Modules --->Translations ---><*> English (en)               #添加英文语言包
LuCI --->4. Themes ---><*>luci-theme-material          #添加主题

退出前保存

make V=s 编译;
原文:http://www.luyouqiwang.com/xinwen/20402/

转载于:https://blog.51cto.com/linuxcgi/2044602

LEDE嵌入式无线路由系统定制相关推荐

  1. OpenWrt分支LEDE嵌入式无线路由系统定制-1.编辑环境搭建

    编辑环境搭建 选择Ubuntu16.04 LTS 32位操作系统进行OpenWrt编译 系统安装在vm12里面,网卡桥接模式,系统自动分区 安装时建立用户:openwrt,密码:jlcssadmin ...

  2. 嵌入式Linux串口终端的定制,基于PC/104平台嵌入式Linux系统定制方法

    基于PC/104平台的嵌入式Linux技术在海洋自动观测系统中具有广泛的应用前景,Linux定制方法的研究是嵌入式Linux系统研制的关键工作.本文结合PC/104平台嵌入式Linux系统的研制,详细 ...

  3. 构建嵌入式linux系统_用于构建嵌入式Linux系统的4种工具

    构建嵌入式linux系统 Linux正在被部署到比Linus Torvalds在他的宿舍里工作的设备更多的设备中. 受支持的各种芯片架构令人震惊,并导致各种大小的设备都使用Linux. 从庞大的IBM ...

  4. 嵌入式linux结构框图,嵌入式linux系统的结构

    原标题:嵌入式linux系统的结构 1.嵌入式系统的硬件架构 嵌入式系统硬件模型结构,此系统主要由微处理器MPU.外围电路,以及外设组成,微处理器为ARM嵌入式处理芯片,如ARM7TMDI系列及ARM ...

  5. pc安装linux内核,PC/104平台嵌入式Linux系统核心定制方法

    摘 要:基于PC/104平台的嵌入式Linux技术在海洋自动观测系统中具有广泛的应用前景,Linux核心定制方法的研究是嵌入式Linux系统研制的关键工作.本文结合PC/104平台嵌入式Linux系统 ...

  6. 嵌入式linux+io+优化,嵌入式Linux系统内存优化使用方法研究

    [摘要] 嵌入式系统功能的提高,占用了较大内存空间,继而时常出现运行无响应.基于用户方面看,由于系统内存问题影响运行,针对系统内存与进程应用状态研究,可以调整系统数值与执行文件elf分析,进行系统优化 ...

  7. 嵌入式Linux系统基础知识

    一.嵌入式Linux系统的构成 1.硬件 2.内核 3.应用程序(形成根文件系统) 二.构建嵌入式Linux系统的主要任务 1.内核部分 2.应用程序部分 嵌入式Linux的开发大致可分为三个层次:引 ...

  8. 战斗机嵌入式训练系统中的智能虚拟陪练

    战斗机嵌入式训练系统中的智能虚拟陪练 人工智能技术与咨询 来源:<航空学报> ,作者陈斌等 摘 要:智能化"实虚"对抗是现代先进战斗机嵌入式训练系统的重要功能需求.自主 ...

  9. 嵌入式Linux初始化硬件RTC,嵌入式Linux系统中的快速启动技术研究

    嵌入式Linux系统主要特点在于使用Bootloader替代了桌面系统的BIOS,同时对系统进行了规模上的裁剪,但硬件上的劣势往往导致系统启动速度较慢,而嵌入式产品使用者又对系统的开机速度比较敏感,样 ...

最新文章

  1. 【转】无法将notepad++添加到打开方式列表中的解决办法
  2. LaTeX入门最终集 :LaTeX格式的调整LaTeX中怎么打出数学公式LaTeX的各种上下标
  3. 学习笔记Hive(八)—— 查询优化
  4. 第六课:不要为金钱而工作
  5. Vue warn Failed to mount component: template or render function not defined
  6. JavaFX 2.0布局窗格– FlowPane和TilePane
  7. 异常(Exception )
  8. MySQL 8.0 异步复制的三种方式
  9. CentOS6.5配置网易163做yum源
  10. git提交代码到github
  11. application.properties和bootstrap.yml到底先读哪个文件
  12. 笔记本进入pe却看不到计算机硬盘,一些笔记本进WINPE后找不到硬盘的解决办法...
  13. SPSS 检验后显著性识别
  14. CTF_crypto常见加密密文特征
  15. 【面试问题】进程和线程的区别——通俗易懂
  16. 苹果审核团队_如何才能跟 App Store 审核团队有效沟通?
  17. 【P4论文分享】基于P4的可编程数据平面研究及其应用
  18. 从我的角度体会平安车险的服务
  19. php博客系统答辩ppt,个人博客系统设计与实现答辩PPT.ppt
  20. grep -v grep的作用

热门文章

  1. Matlab多项式和符号函数简介
  2. jenkins创建新用户_Jenkins凭据管理
  3. 深富策略核心资产崩了
  4. java判断版本号大小,比较版本号大小
  5. 自签名多级证书亲测可用
  6. TensorFlow batch
  7. maya xgen基础头发
  8. 一个简单的方法修复ubuntu引导损坏
  9. 炒鸡详细的windows安装python教程
  10. 逐句回答,流式返回,ChatGPT采用的Server-sent events后端实时推送协议Python3.10实现,基于Tornado6.1