sshEntware是OptWare的一个替代品,属于OpenWrt的一部分。其本来的作用是在路由器提供一个Linux的运行环境。
并且Entware有大量编译好的软件可以通过网络下载和安装。所以通过安装Entware,可以大大扩展盒子的使用范围。
在盒子上安装Entware首先要对盒子进行root。具体如何root, 请大家百度。root完之后,首先通过adb以root权限进入盒子。
adb connect 192.168.1.x
adb root
adb connect 192.168.1.x
<
下载,并修改成以下内容并保存
#!/system/bin/sh
echo "Info: Checking for prerequisites and creating folders..."
if [ -d /opt ]
then
echo "Warning: Folder /opt exists!"
else
mkdir /data/opt
ln -s /data/opt /opt
fi
for folder in bin etc include lib sbin share tmp usr var
do
if [ -d "/opt/$folder" ]
then
echo "Warning: Folder /opt/$folder exists!"
echo "Warning: If something goes wrong please clean /opt folder and try again."
else
mkdir /opt/$folder
fi
done
[ -d "/opt/lib/opkg" ] || mkdir -p /opt/lib/opkg
[ -d "/opt/var/lock" ] || mkdir -p /opt/var/lock
[ -d "/opt/var/log" ] || mkdir -p /opt/var/log
[ -d "/opt/var/run" ] || mkdir -p /opt/var/run
echo "Info: Opkg package manager deployment..."
cd /opt/bin
wget />
chmod +x /opt/bin/opkg
cd /opt/etc
wget />
cd /opt/lib
wget />
chmod +x ld-2.20.so
ln -s ld-2.20.so ld-linux.so.3
wget />
ln -s libc-2.20.so libc.so.6
echo "Info: Basic packages installation..."
/opt/bin/opkg update
/opt/bin/opkg install glibc-opt
if [ ! -f /opt/usr/lib/locale/locale-archive ]
then
wget -O /opt/usr/lib/locale/locale-archive
fi
echo "Info: Congratulations!"
echo "Info: If there are no errors above then Entware.arm successfully initialized."
echo "Info: Add /opt/bin & /opt/sbin to your PATH variable"
echo "Info: Add '/opt/etc/init.d/rc.unslung start' to startup script for Entware.arm services to start"
echo "Info: Found a Bug? Please report at />
然后通过下列命令将修改的脚本在盒子上运行
adb push entware_install_arm.sh
adb shell chmod 755 /data/entware_install_arm.sh
adb shell sh /data/entware_install_arm.sh
至此,entware被安装到/data/opt目录下,并在根目录有/opt的链接。
接下来的工作就是让entware能够在盒子启动的时候运行,这里需要做的就是让Android自动运行/opt/etc/init.d/rc.unslung start。
Android在启动的时候会自动运行/system/etc/install-recovery.sh。可以通过修改并上传这份文件到盒子上来启动引导。
我参照里面optware的optware-init.sh写了一段
#!/system/bin/sh
echo Reinitializing optware rootfs links
mount -o rw,remount rootfs /
sleep 5 #等待remount完成
ln -s /data/opt /opt
chown root /opt -Rh
/opt/etc/init.d/rc.unslung start
将这份install-recovery.sh通过以下命令传到/system/etc
adb push install-recovery.sh /system/etc/
adb shell chmod 0755 /system/etc/install-recovery.sh
adb shell reboot #重启盒子
至此entware就安装成功并且能够启动引导。当然,只能用adb命令连接,仍然不方便。所以很有必要安装ssh。
使用opkg install openssh-server安装sshd,安装完openssh-server之后还需要会在/opt/etc/init.d里面生成S40sshd的启动命令。手动运行该命令就会发现缺少以下的配置:
1. 缺少/system/etc/passwd文件。依然借用optware的passwd文件,但是增加一下一行在passwd文件里
sshd:x:2001:2001:shell:/opt/home/user:/bin/sh
2. 然后需要建立/opt/home/root目录,并在/opt/home/root目录中产生.profile文件,文件内容如下
#!/system/bin/sh
/opt/etc/profile #运行系统的profile文件设置全局环境变量
3. 通过ssh-keygen产生sshd需要的各类key文件,可以通过运行S40sshd来发现系统缺少哪些文件,并通过ssh-keygen产生。当所有文件和配置都齐全之后,运行/opt/etc/init.d/S40sshd就能启动sshd.这样就能远程通过putty登陆了。用户名是root,密码是toor。
阅读(18282) | 评论(0) | 转发(0) |