小白都会的手把手教你路由器固件编译padavan固件编译教程-爱搜啊博客

当前位置:首页» 路由刷机»正文

小白都会的手把手教你路由器固件编译padavan固件编译教程

发布:爱搜啊  时间:2018年11月11日  分类:路由刷机   评论

http://image.aisoa.cn/2018/11/201811112095_4814.jpg

首先是环境的问题,用虚拟机或者物理机安装linux,ubuntu或者debian之类的

没有git就要安装git

apt-get install git

没有root就加sudo

sudo apt-get install git

因为我最早使用老毛子虚拟机刷机的,所以就直接使用了虚拟机内的环境

目前我用过两个源码仓库

https://bitbucket.org/padavan/rt-n56u.git

https://github.com/Linaro1985/padavan-fw.git

使用过程种,第二个更好用,应该是说更适合初学者,因为第一个经常出现编译错误,而作为新手无法处理,不知道有没有人清楚怎么回事

进入某个目录克隆代码,例如opt

cd /opt
sudo git clone https://bitbucket.org/padavan/rt-n56u.git

等待克隆完毕

进入工具链目录

cd /opt/rt-n56u/toolchain-mipsel
sudo ./clean_sources
sudo ./build_toolchain

注意版本问题,clean_sources也可能是clean_sources.sh

创建工具链完毕,进入源码目录

cd /opt/rt-n56u/trunk

修改.config,这个是编译的配置文件

如果没有你的机型,从configs/templates中复制一个模板,改为.config放在trunk目录下

CPU类型,

CONFIG_PRODUCT=MT7620

路由器配置目录

CONFIG_FIRMWARE_PRODUCT_ID="rt-n56u"

锁定cpu频率

CONFIG_FIRMWARE_CPU_600MHZ=y

cpu休眠,一般不开,前面加#即可

#CONFIG_FIRMWARE_CPU_SLEEP=y

5Gwifi,根据cpu选,有多种,3.0、4.0等等

CONFIG_FIRMWARE_WIFI5_DRIVER=3.0

2.4Gwifi,根据cpu选,有多种,2.7、4.0等等

CONFIG_FIRMWARE_WIFI2_DRIVER=2.7

IPV6

CONFIG_FIRMWARE_ENABLE_IPV6=y

USB

CONFIG_FIRMWARE_ENABLE_USB=y

如果不知道那些功能有用可以都关闭,如果flash大也可以不关闭

语言选项默认

CONFIG_FIRMWARE_INCLUDE_LANG_RU=y

SSH功能

CONFIG_FIRMWARE_INCLUDE_DROPBEAR=y

还有其他的功能,比如硬盘格式支持,Aria2,Transmission,IPTV,QOS,等等,看情况开关

修改versions.inc,版本号

FIRMWARE_ROOTFS_VER=3.9
FIRMWARE_BUILDS_VER=099
FIRMWARE_BUILDS_REV=$(shell git rev-parse --short HEAD 2>/dev/null)

常见的3.4.3.9_099就是这么来的,后面跟的应该是源码版本,可以去掉或者改成别的

进入configs/boards/机型目录,刚才改.config的时候机型是rt-n56u,所以必须有个rt-n56u的机型目录

修改board.mk

##################################################################
# Board PID # Board Name       # PRODUCT # Note
##################################################################
此处是机型,要修改
# rt-n56u     # rt-n56u  # MT7620  #
##################################################################
CFLAGS += -DBOARD_rt-n56u
1表示打开usb,0关闭usb
BOARD_NUM_USB_PORTS=1

修改board.h

型号的修改自己看着改

复位键

BOARD_GPIO_BTN_RESET

电源LED

BOARD_GPIO_LED_POWER

LAN led

BOARD_GPIO_LED_LAN

WAN led

BOARD_GPIO_LED_WAN

USB led

BOARD_GPIO_LED_USB

WIFI led

BOARD_GPIO_LED_WIFI

有就写,没有就不写,有breed可以在breed里测试GPIO

修改kernel-3.4.x.config

cpu型号

CONFIG_RALINK_MT7620=y

内存大小,注意不是flash

CONFIG_RT2880_DRAM_128M=y
CONFIG_RALINK_RAM_SIZE=128

波特率

CONFIG_RT2880_UART_115200=y
CONFIG_RALINK_UART_BRATE=115200

WAN与LAN,自己测试后填入

CONFIG_RAETH_ESW_PORT_WAN=0
CONFIG_RAETH_ESW_PORT_LAN1=4
CONFIG_RAETH_ESW_PORT_LAN2=1
CONFIG_RAETH_ESW_PORT_LAN3=2
CONFIG_RAETH_ESW_PORT_LAN4=3

进入 trunk/user/shared

修改defaults.h

有后台账号密码与默认ip,默认wifi名等等

无线地区,改为CN

#define DEF_WLAN_2G_CC                "GB"
#define DEF_WLAN_5G_CC                "GB"

时区,改为CST-8

#define DEF_TIMEZONE                "GMT0"

网络时间校准,改为ntp1.aliyun.com

#define DEF_NTP_SERVER0                "pool.ntp.org"

修改defaults.c

找到如下代码,telnet和ssh开关,0为关,1为开

{ "telnetd", "0" },
{ "sshd_enable", "1" },

进入 trunk/user/www/dict。修改EN.header

[Language type]
LANG_EN=简体中文
注意留一行

修改EN.footer,将里面的内容全部复制到RU.dict

或者删掉RU.dict直接改名为RU.dict

使用翻译好的文件替换EN.footer

EN.footer.zip

机型部分替换为ZVMODELVZ,后面留个空格,编译的时候会自动替换为你设置的机型

IP部分替换为你需要的默认ip

进入trunk/user/www

修改Makefile

将echo "LANG_RU=Pусский" >> $(ROMFS_DIR)/www/EN.header

修改为echo "LANG_RU=English" >> $(ROMFS_DIR)/www/EN.header

回到trunk

执行

sudo ./clear_tree.sh

注意源码不同,可能不带.sh 则执行sudo ./clear_tree,下面也这样

执行

sudo ./build_firmware.sh

编译完成后会存放在trunk/images

如果编译过程中提示选择cpu,网卡类型,波特率等等,按提示输入对应选项数字

转载请保留出处和本文地址: http://aisoa.cn/post-2228.html

评论 赞助本站

爱搜博客赞助收款二维码

欢迎参与讨论,新评论稍后显示,广告一律删除!