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

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

根据网上的资料知道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)



k2topenwrt固件。基于learn大的开源代码编译。 Welcome to Lean's git source of OpenWrt and packages 中文:如何编译自己需要的 OpenWrt 固件 注意: 1. 不要用 root 用户 git 和编译!!! 2. 国内用户编译前最好准备好梯子 3. 默认登陆IP 192.168.1.1, 密码 password 编译命令如下: 1. 首先装好 Ubuntu 64bit,推荐 Ubuntu 14 LTS x64 2. 命令行输入 sudo apt-get update ,然后输入 sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint 3. git clone https://github.com/coolsnowwolf/lede 命令下载好源代码,然后 cd lede 进入目录 4. ./scripts/feeds update -a ./scripts/feeds install -a make menuconfig 5. 最后选好你要的路由,输入 make -j1 V=s (-j1 后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。 本套代码保证肯定可以编译成功。里面包括了 R9 所有源代码,包括 IPK 的。 你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作! 特别提示: 1. 源代码中绝不含任何后门和可以监控或者劫持你的 HTTPS 的闭源软件,SSL 安全是互联网最后的壁垒。安全干净才是固件应该做到的。 2.如果你自认为 Koolshare 论坛或者其固件的脑残粉,本人不欢迎你使用本源代码。所以如果你是,那么使用过程中遇到任何问题本人概不回应。 3.如有问题需要讨论,欢迎加入 QQ 讨论群:Gargoyle OpenWrt 编译大群 ,号码 718010658 ,加群链接 点击链接加入群聊【Op共享技术交流群】:https://jq.qq.com/?_wv=1027&k=5PUGjOG Please use "make menuconfig" to choose your preferred configuration for the toolchain and firmware. You need to have installed gcc, binutils, bzip2, flex, python, perl, make, find, grep, diff, unzip, gawk, getopt, subversion, libz-dev and libc headers. Run "./scripts/feeds update -a" to get all the latest package definitions defined in feeds.conf / feeds.conf.default respectively and "./scripts/feeds install -a" to install symlinks of all of them into package/feeds/. Use "make menuconfig" to configure your image. Simply running "make" will build your firmware. It will download all sources, build the cross-compile toolchain, the kernel and all choosen applications. To build your own firmware you need to have access to a Linux, BSD or MacOSX system (case-sensitive filesystem requ
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值