TL-WR720N V3刷机OpenWRT

在这个手机流量富余,WIFI无处不在的时代,TP-Link的TL-WR720N这种便携式路由的使用价值已极低,本着不浪费的原则,给它刷个OpenWRT做为家庭的旁路由可能也是一种出路,不过720N只有4M的运存,因此不得不拆腾一下。

第一步,在Openwrt官网上查询一下设备的支持版本 TL-WR720N V3刷机OpenWRT插图 17.01.X是LEDE和OpenWRT合并前,LEDE的最后一个版本,可以通过官方或是国内镜像进行下载,目前比较多用的是openwrt镜像包括以下几个:

清华大学:mirrors.tuna.tsinghua.edu.cn/openwrt

中科大:mirrors.ustc.edu.cn/openwrt

腾讯:mirrors.cloud.tencent.com/openwrt

一般来说,直接下载.bin的固件可以进行刷机,但由于小内存的问题,直接装完含Luci的固件,设备将什么也做不了,几个分区都会变成只读状态,无法正常使用。WR720N在“3G”的模式下,可以使用外接USB设备,因此利用这个特点,可以外加一个U盘做为存储空间,解决小内存的问题。因此计划是自编译一个不含Luci的固件,把相关挂载的支持放进去,完成挂载后再安装Luci。

第二步,自编译固件。通过ImageBuilder的方法,可以大大减少自编译的工作量,通过ImageBuilder包,把内核和要用的ipk做成固件,也可以加入自定义的一些修改。详细的方法可以自行搜索。

WR720N需下载包是:https://archive.openwrt.org/releases/17.01.5/targets/ar71xx/generic/lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64.tar.xz

编译环境我使用的是CentOS 7,VMware虚拟机。

# 解压 $ tar -xvJf lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64.tar.xz # 进入项目目录 $ cd lede-imagebuilder-17.01.5-ar71xx-generic.Linux-x86_64 # 查看所有PROFILE参数,包括packages $ make info # 看profile $ make info |grep 720 tl-wr720n-v3: TP-LINK TL-WR720N v3 tl-wr720n-v4: TP-LINK TL-WR720N v4 # 由于make image会下载需要的交叉编译环境,可以设置终端代理(根据自己的情况填入 host 和 port),下载无问题也可以不设 $ export http_proxy=http://[host]:[port] $ export https_proxy=http://[host]:[port] # 使用以下命令编译 $ make image PROFILE="tl-wr720n-v3" PACKAGES="kmod-usb-storage kmod-fs-ext4 e2fsprogs block-mount -firewall -ip6tables -iptables -kmod-ipt-nathelper -odhcp6c"

编译过程中可能会有报错,主要是因为依赖库没有安装,根据相关的报错补齐就可以顺利完成。

Build dependency: Please install the GNU C Compiler (gcc) yum -y install gcc ​ Build dependency: Please reinstall the GNU C Compiler - it appears to be broken Build dependency: Please install the GNU C++ Compiler (g++) Build dependency: Please reinstall the GNU C++ Compiler - it appears to be broken yum -y install gcc-c++ ​ Build dependency: Please install ncurses. (Missing libncurses.so or ncurses.h) yum -y install ncurses-devel ​ Build dependency: Please install a static zlib. (Missing libz.a or zlib.h) yum -y install zlib-static ​ Build dependency: Please install the openssl library (with development headers) yum -y install openssl-devel ​ Build dependency: Please install the Perl Thread::Queue module yum -y install perl-Thread-Queue ​ Build dependency: Please install GNU 'patch' yum -y install patch ​ Build dependency: Please install 'unzip' yum -y install unzip ​ Build dependency: Please install 'bzip2' yum -y install bzip2 ​ Build dependency: Please install GNU 'wget' yum -y install wget ​ Build dependency: Please install the Subversion client yum -y install svn

找了一个其他大神总结的,供参考。

编译完成后在 ./bin/targets/ar71xx/generic/ 可以看到编译好的固件。

刷新固件:lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-factory.bin
升级已有的 OpenWRT固件:lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin

刷新固件的,连接以后,登录路由器,在系统升级页面选择刷机包,选择不配置,确定升级,在升级过程不可断电。升级结束后,就刷好了。

已经升级过OpenWRT的,可以按以下步骤完成刷机:

  1. 通过scp lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin root@192.168.2.1:/tmp拷贝到路由器的/tmp目录
  2. 进入openwrt以后mtd write /tmp/lede-17.01.5-ar71xx-generic-tl-wr720n-v3-squashfs-sysupgrade.bin firmware刷入。
  3. 完成以后重启。reboot

第三步,挂载U盘。刷机完成后,将设备的开关调到“3G”档,并插入U盘。U盘需提前改为EXT4分区,在WIN机器上可以用DiskGenius软件来完成。

使用LAN口将WR720N接入网络,SSH登录192.168.1.1,用户名为:root

ls /dev/sda* 

如果无显示,则U盘未识别到,请确认开关调到“3G”档且U盘是好的。如果只显示一个“/dev/sda”,说明U盘识别到了,但主分区没有识别到,请重新制作EXT4分区,正常应至少有一个“/dev/sda1”。

编辑 /etc/config/fstab 文件,删除 config global 标签项以外的所有内容。完后逐条执行以下命令,或编写在sh后执行。

cd DEVICE="$(sed -n -e "/\s\/overlay\s.*$/s///p" /etc/mtab)" uci -q delete fstab.rwm uci set fstab.rwm="mount" uci set fstab.rwm.device="${DEVICE}" uci set fstab.rwm.target="/rwm" uci commit fstab DEVICE="/dev/sda1" mkfs.ext4 ${DEVICE} eval $(block info ${DEVICE} | grep -o -e "UUID=\S*") uci -q delete fstab.overlay uci set fstab.overlay="mount" uci set fstab.overlay.uuid="${UUID}" uci set fstab.overlay.target="/overlay" uci commit fstab mkdir -p /tmp/cproot mount --bind /overlay /tmp/cproot mount ${DEVICE} /mnt tar -C /tmp/cproot -cvf - . | tar -C /mnt -xf - umount /tmp/cproot /mnt reboot

代码是能过uci手动进行挂载操作,完成后等待重启。

TL-WR720N V3刷机OpenWRT插图1

U盘已经完成挂载,可以进行Luci的安装和其他软件包的安装了。

最后一步,安装Luci。安装前,更换国内源,编辑 /etc/opkg/distfeeds.conf 用国内源替换原地址。我这里用的是中科大的源。

src/gz reboot_core http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/targets/ar71xx/generic/packages src/gz reboot_base http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/base src/gz reboot_luci http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/luci src/gz reboot_packages http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/packages src/gz reboot_routing http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/routing src/gz reboot_telephony http://mirrors.ustc.edu.cn/openwrt/releases/17.01.5/packages/mips_24kc/telephony 
opkg update opkg install luci

至此,整个刷机工作完成,可以通过浏览器192.168.1.1通过网页进行路由器的设置了。

PS:再记录一些其他的技巧。因为做为一个旁路由,固件刷入后需要更改默认的IP地址才能接入主路由,所以还涉及到一些通过uci命令去改变设置的需求。

1、显示网络设置

uci show network

这里显示的是OpenWRT下的网络接口设置,可以结合 ifconfig 命令的显示一起看

2、修改IP、网关、DNS

uci set network.lan.ipaddr='192.168.1.2' uci set network.lan.gateway='192.168.1.1' uci set network.lan.dns='8.8.8.8' uci commit network

完成修改后,可以通过以下命令进行生效

/etc/init.d/network reload /etc/init.d/network restart ubus call network reload

最后,这篇东西也是我从很多大神的其他文章中学习来的,我只是搬运并综合了,结合我自己的操作实进行了调整。感谢以下作者的贡献:

Openwrt 手动编译加安装扩容教程——知乎

OpenWrt系统网络配置和UCI命令详解——知乎

原文链接:https://blog.csdn.net/weixin_44092518/article/details/132650111?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171836740016800225512489%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=171836740016800225512489&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~times_rank-23-132650111-null-null.nonecase&utm_term=%E8%B7%AF%E7%94%B1%E5%99%A8%E3%80%81openwrt

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享