选择目标编译固件平台css
cd ~/source
编辑前检查linux
make defconfig make prereq
设置固件默认大小及自定义新硬件
想生成自定义名称固件、机器型号须要修改8处地方
主板CPU是MT7620N
硬件是和ZBT WR8305RT的硬件同样
板子上的真实型号是JGX-X5
固件容量: 16M
十六进制: 0xfb0000
十进制: 16121856≈15.375web
`cd ~/source/target/linux/ramips/``ide
第1步:定义profile文件,用于make menuconfig显示菜单code
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表示制表符orm
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步:ip
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接口ci
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/