OpenWrt学习记录二固件编译和下载

来源:互联网 发布:中大网络继续教育学院 编辑:程序博客网 时间:2024/06/05 03:22

===============================   博客点滴积累,部分话语和知识点来源于网络,感谢网络资源的提供者======

根据网上的资料知道GL-inet和wr703n,wr720n固件很相近,可以根据他们做基板进行设置编译,具体细节不

特别理解,只是编译学习基本的流程,wr703N的固件openwrt里缺省只是加载了Wan口,需要刷一个支持Lan口的才能工作wr720N刷后导致LED灯只显示绿色,lan信号的红色就没有了。其实OpenWrt系统已经支持Gl-inet。

======编译环境:WIN7旗舰版+VMware® Workstation+Ubuntu10.04

1 搭建编译环境

sudo apt-get install subversion

sudo apt-get install git-core

sudo apt-get install gcc g++ binutils patch bzip2 flex bison make autoconf gettext texinfo unzip sharutils zlib1g-dev libncurses5-dev gawk libssl-dev

2 从OpenWrt官网下载源码

mkdir openwrt

cd openwrt/

svn co svn://svn.openwrt.org/openwrt/trunk

3 配置编译OpenWrt系统

1) 更新种子列表

yi@yi-desktop:~/openwrt/trunk$ ./scripts/feeds update -a     //更新种子列表

yi@yi-desktop:~/openwrt/trunk$ ./scripts/feeds install -a      //更新种子在menuconfig显示列表

2)yi@yi-desktop:~/openwrt/trunk$ make menuconfig

a 选择CPU芯片

│ │   Target System (Atheros AR7xxx/AR9xxx)    

b 选择基本配置文件                                                                             

│ │   Target Profile (TP-LINK TL-WR720N)  --->   

c  配置WEB界面并支持中文  

│ │   LuCI  ---> 

│ │  1. Collections  ---> 、

│ │ -*- luci     

│ │   2. Modules  --->  

│ │ Translations  --->

│ │ <*> Chinese (zh-cn) 

e 配置支持SSH 和SFTP

│ │  Network  --->

│ │ SSH  --->

│ │      <*> openssh-server............................................ OpenSSH server          

│ │   <*> openssh-sftp-server.................................. OpenSSH SFTP server   

3)修改flash大小

yi@yi-desktop:~/openwrt/trunk$ vim tools/firmware-utils/src/mktplinkfw.c

        }, {

                .id             = "TL-WR720Nv3",

                .hw_id          = HWID_TL_WR720N_V3,

                .hw_rev         = 1,

                .layout_id      = "16Mlzma",


        }, {

yi@yi-desktop:~/openwrt/trunk$ vim target/linux/ar71xx/image/Makefile

$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR720NV3,tl-wr720n-v3,TL-WR720N-v3,ttyATH0,115200,0x07200103,1,16Mlzma))

4)编译make V=99 ( 通用户编译)

固件在:yi@yi-desktop:~/openwrt/trunk/bin/ar71xx$ 

openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin

4 下载

1)记录分区起始地址信息,上电路由器,内核的打印信息可以找到

[    0.740000] 0x000000000000-0x000000020000 : "u-boot"

[    0.740000] 0x000000020000-0x000000137608 : "kernel"

[    0.790000] 0x000000460000-0x000000ff0000 : "rootfs_data"

[    0.800000] 0x000000ff0000-0x000001000000 : "art"

[    0.800000] 0x000000020000-0x000000ff0000 : "firmware"

可以看出分区主要有三部分 u-boot(引导代码) fireware(kernel+rootfs_data)+art(保存的无线参数)

所以擦除的范围为0x000000020000-0x000000ff0000

2)

a 用网线连接电脑,配置IP地址为192.168.1.2 ,拷贝openwrt-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin到tftp服务器目录下,这里将固件拷贝到win7下,使用tftpd32服务器。

b 使用TTL转USB线配置串口,波特率115200 无校验位,一个停止位, 无流控。

c 上电回车进入u-boot下载界面,GL-inet u-boot默认识别的固件的名称为firmware.bin,改固件为名firmware.bin

d

下载 uboot> tftp

擦除 erase 0x9F020000 +0xfa0000

写入Flash cp.b 0x80800000 0x9F020000 0x450000

f 重启

3)通过串口设置密码,输入passwd 命令进行设置

4)  开启wifi

a 方法一:修改源码  ,重新编译

yi@yi-desktop:~/openwrt/trunk$ vim ./package/kernel/mac80211/files/lib/wifi/mac80211.sh

        #option disabled 1   //加#注释

b 方法二:在系统里使用vi修改配置文件

root@OpenWrt:/# vi /etc/config/wireless 

在  option disabled '1' 前加#,保存

让wifi开启生效

root@OpenWrt:/# wifi

c 方法三:使用UCI配置

root@OpenWrt:/# uci set wireless.radio0.disabled=0

root@OpenWrt:/# uci commit wireless

root@OpenWrt:/# wifi

5 支持中文

在浏览器输入192.168.1.1 ,输入密码即可,在登录后在顶部的System菜单中找到System,然后切Language 

and Style,在Language中选择chinese,然后点击最下面的Save & Apply,等一会就是中文了。

6   使用WinSCP可以实现文件传输。

打开WinSCP输入主机的IP地址192.168.1.1 端口默认,用户名:root ,密码:上面设定的值 ,点击登录,就可

以实现文件的相互传输。



 

3)



0 0
原创粉丝点击