去年趣玩和大家分享过一篇梅林固件安装Entware环境,不知道大家还有没有印象,今天趣玩就教大家如何在华硕路由器原厂固件上安装Entware环境,废话不多说,下面开始步骤分享。
【事前准备】
1.华硕路由器:RT-AX56U
2.固件:官网最新3.0.0.4.386_49380
3.支援telnet连接功能的工具:TeraTerm或Putty等,或者直接使用Windows系统自动的cmd操作
4.互联网线路:可以出互联网的线路就可以
5.U盘:事先格式为Ext2/Ext3/Ext4中的任何一种类型,我这边使用EXT3格式
【具体步骤】
1.路由器开启telnet功能
进入路由器管理页面,到系统设置页面,开启telnet功能,然后点击页面下端的保持应用按钮就可以了,如下图
2.挂载U盘到路由器,确认路由器使用的内核
telnet 连到路由器,输入mount确认U盘挂载的位置,并且记录下来,后面会用到,如下图
再输入uname –rm 确认路由器使用的内核,这个很重要,不同的内核,需要下载不同的安装程式
如果您的内核是 4.1 或更高版本,并且您的架构是 aarch64,请使用 aARCH64-k3.10(64 位)或 armv7sf-k3.2(32 位)存储库。 如果您的内核是 3.2 或更高版本,并且您的架构是 arm,请使用 armv7sf-k3.2 存储库。 如果你的内核是 2.6.36 并且你的架构是 armv7sf-k2.6 存储库。 如果您的内核是 2.6.22,并且您的架构是 mipsel,则可以使用 Entware-backports 或旧版 Entware-ng(已弃用)存储库。
aarch64 4.1 设备(RT-AC86U、RT-AX88U 等)上的标准安装:
wget -O - http://bin.entware.net/aarch64-k3.10/installer/generic.sh | sh
or
wget -O - http://bin.entware.net/armv7sf-k3.2/installer/generic.sh | sh
标准安装在 3.2 臂设备(RT-AC58U 等)上:
wget -O - http://bin.entware.net/armv7sf-k3.2/installer/generic.sh | sh
标准安装在 2.6.36 臂设备上(RT-AC66U B1、RT-AC68U、RT-AC56U、RT-AC87U、RT-AC3200、RT-AC88U、RT-AC3100、RT-AC5300、等):
wget -O - http://bin.entware.net/armv7sf-k2.6/installer/generic.sh | sh
mipsel 2.6.22 设备(RT-N66U、RT-AC66U、RT-N16 等)上的,
mipsel 2.6.22 设备(RT-N66U、RT-AC66U、RT-N16、e.t.c)上的 Entware-ng(已弃用):
wget -O - http://pkg.entware.net/binaries/mipsel/installer/installer.sh | sh
3. 安装Entware环境
路由器/tmp目录下创建opt目录,如下图
因为较新版本的路由器(如 RT-AX88U)将显示“/opt”目录存在且为只读。因此,我们需要做的就是创建/挂载它,安装程式时,会使用到。
根据上面我们知道内核版本,需要下载http://bin.entware.net/armv7sf-k3.2/installer/generic.sh这个安装包,并且修改generic.sh权限,如下图
调整generic.sh 中/opt路径,变更为/tmp/opt,下面内容大家可以参考
#!/bin/sh
TYPE='generic'
#TYPE='alternative'
#|---------|-----------------------|---------------|---------------|---------------------|-------------------|-------------------|----------------------|-------------------|
#| ARCH | aarch64-k3.10 | armv5sf-k3.2 | armv7sf-k2.6 | armv7sf-k3.2 | mipselsf-k3.4 | mipssf-k3.4 | x64-k3.2 | x86-k2.6 |
#| LOADER | ld-linux-aarch64.so.1 | ld-linux.so.3 | ld-linux.so.3 | ld-linux.so.3 | ld.so.1 | ld.so.1 | ld-linux-x86-64.so.2 | ld-linux.so.2 |
#| GLIBC | 2.27 | 2.27 | 2.23 | 2.27 | 2.27 | 2.27 | 2.27 | 2.23 |
#|---------|-----------------------|---------------|---------------|---------------------|-------------------|-------------------|----------------------|-------------------|
unset LD_LIBRARY_PATH
unset LD_PRELOAD
ARCH=armv7sf-k3.2
LOADER=ld-linux.so.3
GLIBC=2.27
echo 'Info: Checking for prerequisites and creating folders...'
if [ -d /tmp/opt ]; then
echo 'Warning: Folder /opt exists!'
else
mkdir /opt
fi
# no need to create many folders. entware-opt package creates most
for folder in bin etc lib/opkg tmp var/lock
do
if [ -d "/tmp/opt/$folder" ]; then
echo "Warning: Folder /opt/$folder exists!"
echo 'Warning: If something goes wrong please clean /opt folder and try again.'
else
mkdir -p /tmp/opt/$folder
fi
done
echo 'Info: Opkg package manager deployment...'
URL=http://bin.entware.net/${ARCH}/installer
wget $URL/opkg -O /tmp/opt/bin/opkg
chmod 755 /tmp/opt/bin/opkg
wget $URL/opkg.conf -O /tmp/opt/etc/opkg.conf
echo 'Info: Basic packages installation...'
/tmp/opt/bin/opkg update
if [ $TYPE = 'alternative' ]; then
/tmp/opt/bin/opkg install busybox
fi
/tmp/opt/bin/opkg install entware-opt
# Fix for multiuser environment
chmod 777 /tmp/opt/tmp
for file in passwd group shells shadow gshadow; do
if [ $TYPE = 'generic' ]; then
if [ -f /etc/$file ]; then
ln -sf /etc/$file /tmp/opt/etc/$file
else
[ -f /tmp/opt/etc/$file.1 ] && cp /tmp/opt/etc/$file.1 /tmp/opt/etc/$file
fi
else
if [ -f /tmp/opt/etc/$file.1 ]; then
cp /tmp/opt/etc/$file.1 /tmp/opt/etc/$file
fi
fi
done
[ -f /etc/localtime ] && ln -sf /etc/localtime /tmp/opt/etc/localtime
echo 'Info: Congratulations!'
echo 'Info: If there are no errors above then Entware was successfully initialized.'
echo 'Info: Add /opt/bin & /opt/sbin to $PATH variable'
echo 'Info: Add "/opt/etc/init.d/rc.unslung start" to startup script for Entware services to start'
if [ $TYPE = 'alternative' ]; then
echo 'Info: Use ssh server from Entware for better compatibility.'
fi
echo 'Info: Found a Bug? Please report at https://github.com/Entware/Entware/issues'
接下来进行安装,进入到generic.sh所在目录,输入./generic.sh ,如下下图
安装完成后我们可以输入opkg会出现相关内容,表示已安装完成,如果现实not fond就表示没有安装成功。如下图
至此,我们的分享全部结束。