#選擇目標編譯固件平臺linux
cd ~/source
#編輯前檢查web
make defconfig make prereq
#設置固件默認大小及自定義新硬件bash
#想生成自定義名稱固件、機器型號須要修改8處地方多線程
#主板CPU是MT7620Nide
#硬件是和ZBT WR8305RT的硬件同樣spa
#固件容量: 16M線程
#十六進制: 0xfb0000orm
#十進制: 16121856≈15.375接口
cd ~/source/target/linux/ramips/
#第1步:定義profile文件,用於make menuconfig顯示菜單ip
file="./p_w_picpath/mt7620.mk" cat >>$file <<EOF define Device/mywrt DTS:= MYWRT DEVICE_TITLE := MYWRT endef TARGET_DEVICES += mywrt EOF
#第2步:sed使用「」時:\\t表示製表符
file="./base-files/lib/ramips.sh" grep "mywrt" $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=\"mywrt\"" $file num=$[$num+1] sed -i "${num}a\\\t\\t;;" $file fi grep ".*mywrt.*" $file -C4 -i
#第3步:sed使用‘’時:\t表示製表符
file="./base-files/lib/upgrade/platform.sh" grep "mywrt" $file if [ $? -ne 0 ];then sed-i '/wr8305rt/a\\tmywrt|\\' $file fi grep "mywrt" $file -C1
#第4步:
file="./base-files/etc/diag.sh" grep "mywrt" $file if [ $? -ne 0 ];then sed -i '/wr8305rt/i\\tmywrt|\\' $file fi grep 'mywrt' $file -C1
#第5步:定義系統led接口
file="./base-files/etc/board.d/01_leds" grep "mywrt" $file if [ $? -ne 0 ];then sed-i '/wr8305rt/i\mywrt|\\' $file fi grep "mywrt" $file -A1
#第6步:定義network接口
file="./base-files/etc/board.d/02_network" grep "mywrt" $file if [ $? -ne 0 ];then sed -i '/wr8305rt/i\\tmywrt|\\' $file fi grep "mywrt" $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}#mywrt#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}#mywrt#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 --->2. Modules --->Translations ---><*> English (en) #添加英文語言包
#退出前保存
#只下載不編輯(V=s 顯示詳細信息)
make download V=s
#能夠利用其餘軟件下載須要的源代碼包,拷貝到~/lede/source/dl目錄下
#開始第一次編譯#
第一次編譯時最好不使用多線程編譯,編譯一次後,之後能夠多線程編譯;
make V=s #或 make -j8 V=s