openwrt

编译openwrt固件并没有想象的那么复杂,我也是个小白,以下内容是我将网络上的编译教程稍微进行了一下整合。因为我发现很多编译教程没有说明如何更改flash相关配置。

安装ubuntu,不赘述。

注意在安装完成后,root不能直接登录,需要设置密码,设置方法,自己百度一下。

如果是虚拟机安装,将虚拟机的网卡配置为桥接模式;

**************以下操作需要在root用户下操作************************

编辑/etc/networt/option文件夹下的interfaces,将iface eth0 inet dhcp配置为dhcp模式,

然后执行/etc/init.d/networking restar即可自动获取到ip地址(此方法适用于家中或单位使用dhcp获取IP地址的场合,如果为固定地址,请自行研究)。互联网联通以后执行以下:

sudo apt-get update

安装编译需要的组件:

sudo apt-get install gcc

sudo apt-get install g++

sudo apt-get install binutils

sudo apt-get install patch

sudo apt-get install bzip2

sudo apt-get install flex

sudo apt-get install bison

sudo apt-get install make

sudo apt-get install autoconf

sudo apt-get install gettext

sudo apt-get install texinfo

sudo apt-get install unzip

sudo apt-get install sharutils

sudo apt-get install subversion

sudo apt-get install libncurses5-dev

sudo apt-get install ncurses-term

sudo apt-get install zlib1g-dev

sudo apt-get install gawk

sudo apt-get install asciidoc

sudo apt-get install libz-dev

如果编译过程中提示缺少某个组件,同样使用sudo apt-get install安装即可

编译环境搭建完成

**************注意:以下操作需要在自己建的用户下操作************************

mkdir openwrt 创建一个openwrt文件夹

cd openwrt    进入openwrt文件夹

svn co svn://svn.openwrt.org/openwrt/branches/backfire  

或者svn co svn://svn.openwrt.org/openwrt/trunk下载官网的源码

注:backfire和trunk为两个不同分支的openwrt源码,backfire据说较为稳定,但是支持的路由器没有trunk多,trunk更多称之为测试版,但编译好后使用也没什么问题。编译的时候只需执行以上一条命令即可。执行完成后,会在openwrt下生成目录,使用backfire源码生成backfire目录,trunk同理。

然后cd trunk或者cd backfire

Svn up

./scripts/feeds update -a

./scripts/feeds install -a   

make menuconfig

进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择,多编译几次就熟悉了)

使用make defconfig,检查编译环境,如要报错参考以下:

注:较常见的问题是编译时不能使用root用户编译,如果使用root登录,需要使用su 用户名切换到非root用户;如果切换用户后,报权限错误,再切换到root用户,使用 sudo chown -R [自己用户名] trunk(如果编译的是backfire源码,此处trunk替换为backfire),然后返回自己的用户名,重新进行编译。

make V=99   

(开始编译)

剩下的就是等待了,第一次编译需要的时间相对比较长,这个跟你的电脑配置和网速有关。

以上为路由器未更改flash大小的编译过程;如果要编译非标准大小的flash固件,需要更改编译环境中的一些文件,以703N,使用trunk源码编译为例(trunk与backfire需要更改的文件不一样)

新版本trunk,703N编译8M固件需要更改以下两个文件:

1、  /turnk/tools/firmware-utils/src/mktplinkfw.c

在mktplinkfw.c中找到703N的相关属性,

.id             = "TL-WR703Nv1",

.hw_id          = HWID_TL_WR703N_V1,

.hw_rev         = 1,

.layout_id      = "8Mlzma",(改成8)

2、  /trunk/ target/linux/ar71xx/image/Makefile

Makefiel中找到以下内容

$(eval $(call SingleProfile,TPLINK-LZMA,$(fs_64kraw),TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,8Mlzma))

将4改成以上的8;

修改完成以上两个文件后,即可make V=99进行编译。

Backfire源码需要改动的文件,第一个与trunk一样,第二个文件位于

openwrt/backfire/target/linux/ar71xx/files/arch/mips/ar71xx目录下,找到对应的设备型号进行更改即可。

编译完成后,在bin/ar71xx目录下会有固件产生,固件名必包含编译的路由器型号,如果没有这两个文件,说明编译失败,有可能为编译时候选择的包太多,需重新选择后进行编译。

以上编译未进行相关配置文件的修改,如想修改配置文件,如默认打开无线等等,请自己百度/google。

注:以上大部分内容均来自互联网,我仅进行了整合。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值