LEDE嵌入式无线路由系统定制

简介:

选择目标编译固件平台

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 <<EOF

define Device/jlcsswrt
    DTS:= JLCSSWRT
    BLOCKSIZE := 64k
    IMAGE_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/


本文转自 Linux_woniu 51CTO博客,原文链接:http://blog.51cto.com/linuxcgi/2044602


相关文章
|
4月前
|
缓存 监控 数据安全/隐私保护
|
监控 安全 网络协议
设备组态网络应用与通信系统
设备组态网络应用与通信系统
|
7月前
|
物联网 网络架构 智能硬件
智能家电设备连接硬件准备
智能家电设备连接硬件准备
58 1
|
网络协议 物联网 5G
教你如何进行嵌入式网络模块的联网操作
教你如何进行嵌入式网络模块的联网操作
208 0
教你如何进行嵌入式网络模块的联网操作
|
网络协议 C语言 Perl
西门子S7-200 SMART硬件设备如何组态?通信如何组态,通信参数如何设置?
本篇我们来讲一下西门子S7-200 SMART硬件设备如何组态以及通信参数如何设置。
西门子S7-200 SMART硬件设备如何组态?通信如何组态,通信参数如何设置?
|
存储 索引
西门子S7-200SMART与变频器的通信如何设置?USS通信协议如何组态?
今天我们来介绍西门子S7-200SMART与变频器的通信如何设置,USS通信协议如何组态,下面先介绍一下变频器参数设置。
西门子S7-200SMART与变频器的通信如何设置?USS通信协议如何组态?
|
存储 索引
西门子S7-200 SMART USS通信,变频器通信程序如何编写?
今天我们继续来学习西门子S7-200 SMART USS通信,本篇我们来介绍如何编写与变频器通信的程序。打开STEP7 Micro/WIN SMART编程软件,双击项目树下的系统块设置,RS485端口地址设置为2,波特率设置为9.6kbps。
西门子S7-200 SMART USS通信,变频器通信程序如何编写?
|
存储 索引
西门子S7-200 SMART USS通信,编写与变频器通信程序
今天我们继续来学习西门子S7-200 SMART USS通信,本篇我们来介绍如何编写与变频器通信的程序。
西门子S7-200 SMART USS通信,编写与变频器通信程序
|
XML JSON API
嵌入式设备如何显示IP属地?
嵌入式设备如何显示IP属地?
301 0
嵌入式设备如何显示IP属地?
|
移动开发 网络协议 Linux
嵌入式之一款GPRS模块的应用
嵌入式之一款GPRS模块的应用
194 0
嵌入式之一款GPRS模块的应用