安卓系统或安卓机顶盒如何安装entware来搭建liunx系统环境
家里一直闲置着一些宽带送的机顶盒,是安卓4.2.2版本的系统,好多软件无法适配,所有打算给盒子刷上entware当做小型家用服务器使用,装上entware后,基本上算是给安卓系统搭建了一个liunx系统
何为Entware
Entware 是一个适用于嵌入式系统的软件包库,使用 opkg 包管理系统进行管理,现在在官方的源上已经有超过2000个软件包了,可以说是非常的丰富,其实和liunx差不多
安装条件
安装Entware前首先需要一些liunx基础,了解一些liunx命令,运维起来还需要一些开发语言的知识,所以说还是有一些门槛。但不用怕,这里将详细介绍每句代码和安装步骤,小白也可轻松跨越龙门!
首先需要到的一些软件和设备需求为:
- 安卓设备必须root后才能安装,因为要涉及到根目录
- 需要在机顶盒下载关于adb连接的软件
- 需要在PC端下载adb工具包进行连接
- 手机端则需要下载一款终端模拟器
其中手机用户可以忽略第2步和第3步直接第4步安装终端模拟器即可
安装过程
首先需要安卓busybox
这里不再过多追叙,安卓安装busybox的教程有许多,改天我出一个专门教程
安卓机顶盒进行ADB连接(手机用户可以忽略)
电脑端的adb工具包下载后解压到任意地方,然后打开cmd,cd进入刚刚下载解压好的adb工具包目录,然后pc端的adb连接手机
#进入刚刚adb工具包目录,首先输入adb工具包所在的盘符(以我的为例)
Y:#让cmd进入adb所在盘符
cd adb
进入后连接安卓端adb
adb connect 192.168.x.x(安卓端的IP)
连接成功会提示
daemon not running. starting it now on port 5037 *
daemon started successfully *
connected to 192.168.x.x:5555
进行安装主要操作
前面都是一些前提条件,接下来是主要操作,安卓系统装好busybox后并且机顶盒已经连接adb
在命令行终端输入如下代码
adb shell#机顶盒adb连接需要进行的操作,手机可忽略
su#获取root权限
/system/bin/mount -o rw,remount /#修改目录可读写
ln -s /system/bin/sh /bin/sh#进行软链接
/system/bin/mount -o ro,remount /
mkdir /opt#创建文件夹,entware的存放文件夹
mkdir /bin#创建bin文件夹
因为opt文件夹需要放在系统根目录,可是为了系统安全,系统根目录每次重启都会刷新,我们的opt文件夹也会消失,所有我们需要将opt文件夹进行挂载,挂载位置随意
mkdir /data/entware.arm#创建opt文件夹的挂载目录
mount -o bind /data/entware.arm /opt#挂载opt到entware.arm
#这里大家注意自己的系统是什么结构,再选择进行下载安装
#如果是armv7的
wget -O - http://bin.entware.net/armv7sf-k3.2/installer/alternative.sh | sh
#如果是aarch64 devices, the Linux kernel not older than 3.10执行
wget -O - http://bin.entware.net/aarch64-k3.10/installer/alternative.sh | sh
#如果是老设备(for old kernels)执行
wget -O - http://bin.entware.net/armv7sf-k2.6/installer/alternative.sh | sh
等待跑码完成,entware就算是安装成功了
安装一些软件试试
这里安装ssh连接需要的dropbear和nano编辑器
unset LD_LIBRARY_PATH
unset LD_PRELOAD
#安装nano编辑器
/opt/bin/opkg install nano
#安装dropbear
/opt/bin/opkg install dropbear
#启动dropbear默认端口22,
/opt/sbin/dropbear -p 22 -a
然后ssh登入设备,默认用户名:root,密码:12345,登入之后可以使用passwd修改密码
修改dns设置
entware没有相关的dns解析服务,所有需要系统的resolv.conf来进行dns解析,将系统的resolve.conf软链接至opt
#软链接resolv.conf
ln -s /system/etc/resolv.conf /opt/etc/resolv.conf
#软链接opkg命令
ln -s /opt/bin/opkg /system/bin/opkg
将resolv.conf软链接后修改/system/etc/resolv.conf里面的内容
nameserver 114.114.114.114
nameserver 114.114.115.115
不要用8.8.8.8和8.8.4.4这是谷歌公司的dns服务器地址,大陆除非搭梯子,无法正常进行dns解析的。当初我也是因为是8.8.8.8导致ssh无法进行dns解析,最后发现8.8.8.8无法解析,因为这个当初可废了老大的劲了!
到此entware的安装已经完成了,现在所需要做的是将entware方便启动
制作entware启动脚本
其实entware的启动脚本就是将entware重新挂载到根目录下,然后进行启动entware和一些服务罢
这是我的entware启动脚本大家可以借鉴一下,都有注释方便理解,
#启动entware服务
sleep 1
/system/bin/mount -o rw,remount /
sleep 1
/system/bin/chmod 777 /data/entware.arm
/system/bin/mkdir /opt
/system/bin/mkdir /bin
ln -s /system/bin/sh /bin/sh
/system/bin/mount -o ro,remount /
sleep 1
/system/bin/mount -o bind /data/entware.arm /opt
sleep 2
/opt/etc/init.d/rc.unslung start
#启动ssh服务(dropbear)
/opt/sbin/dropbear -p 22 -a
#修改本地DNS地址
cp /data/serverroot/resolv.conf /data/system/resolv.conf
#我是在/data/serverroot目录下直接创建了一个resolv.conf,直接复制到/data/system
#免得每次都要去修改dns地址
将上面代码复制到一个xxx.sh的文件内,每次启动时只需要sh xxx.sh运行脚本即可
开机自启动尚未研究出来,如果有好的方法希望评论分享
另外,如果大家上面wget下载失败,或者内部环境不会搭建可以直接下载我已经做好的entware文件夹
直接复制粘贴做一些后续即可
下载地址
https://download.csdn.net/download/qq_39129185/21479174