斐讯N1/P1安装entware
首先在开始之前,得说几个注意事项:
1, windows用户千万别想当然的用win的思路去想象linux的操作,这里边有一个天坑,就是路径,在win中,一般输入命令,默认都是当前路径,即./,但是linux不是这样的,即使你就站在这个命令跟前,你如果不输入当前路径,你喊破天都没有,人家懒得理你,以前我曾经了解过这回事,但是因为linux不常有,把这事忘了,结果老出错,一出错就以为自己哪出了错,恶性循环循环下去,搞死我了
2, 另一个天坑就是wget,我一开始在这上面没少费工夫,webpad的没法运行,现在回想一下,估计就是路径的问题,yyf的可以运行,但是无法下载,两个固件都有大坑,学艺不精得给掉进去了。
3, 原版教程提到了安装ssh-server,以便进行后台管理,其实我刷的yyf固件因为用的rush底包,自带了ssh服务,其实不用再装ssh了,但我不知道,entware是啥,有啥?我还是懵懵懂懂,潜意识里把它当成了一个docker,一个minios,料想着这圆环套圆环,门套着门,一扇门总得一个钥匙吧?还是傻乎乎的又装了一次dropbear,并安装教程乖乖的指定了22端口,然后又傻乎乎的去连这个端口的ssh服务,然后。。。。。。连不上,换端口也不行,于是我又进入了死循环,从头到尾排查,怀疑这怀疑那。。。。。。搞死我了
4, 在n1上安装entware,有两种途径,一个是adb,一个就是ssh,如果你选择了adb,那么很有必要,我必须划重点说一句,就是必须取得root权限,不然你后边mount的时候就出错了,sexjpg的教程里边提到了adb root登陆的方法,适合yyf固件,应该也是适合rush固件,因为我发现yyf固件中,你adb登陆进去一般是没有默认root的(webpad默认root),所以,如果你刷的是yyf固件,你必须得按照sexjpg教程中的步骤进行adb登陆:
1, adb connect 192.168.123.175
2, adb root 31183118
3, adb connect 192.168.123.175
4, adb shell
自己根据自己情况更改n1ip
5, 前边提到了路径,那么如何将新路径添加到现有系统中的环境变量中去呢?当你安装完entware之后,你也会看到这样的提示:
Info: Add /opt/bin & /opt/sbin to your PATH variable
意思是让你把这两个路径添加到你的系统环境变量中去,我当时没留意,结果吃了大亏,总是出错,总是怀疑自己。后来网上搜索了很多linux,android中修改path的方法,发现并不适合当前n1操作,因为n1没有/etc/profile, /etc/bashrc, ~/.bashrc这三个文件,不停的翻,不停的啃,然后我看到了这篇文章:
https://blog.csdn.net/jirryzhang/article/details/70833544
里边好几次提到了“~/”,引起了我的注意,我查了资料,原来是当前登录用户目录的意思,我突然想起了每次ssh登录,
p230:/system/etc/dropbear #
这个画面,我于是就进去了n1这个目录查看,发现了
.profile这个文件,点击编辑,果然里边包含了路径环境,我把entware需要的两个环境变量添加了进去,结果如下:
export PATH
PATH=/system/bin:/system/xbin:/opt/bin:/opt/sbin/
万事ok啦!
最后需要感谢rush,yyf,webpad,sexjpg这些人,还有俄罗斯国际友人,您如果也需要在n1上(P1也一样)安装entware,那么你在开始之前,建议先去看看他们的这些帖子:
[T1] T1安装entware,当下载机
https://www.right.com.cn/forum/thread-323838-1-1.html
[T1] 极限精简斐讯T1/N1 极客开发者强迫症福音6.23/6.24
https://www.right.com.cn/forum/thread-315889-1-1.html
Install on Android
https://github.com/Entware/Entware/wiki/Install-on-Android
好了,正式开打
首先,我先假设你已经有了一个n1/p1,我用的就是p1,并且已经刷好了yyf固件,我刷的是最新的421版本,无语音,webpad的n1官改2.2我也试过,最后卡死在wget上了,实在给折腾的没脾气,就想换换环境,刷了yyf碰碰运气,现在想想,webpad应该也能安装成功,只是我之前思路,方法不对。
1, 先按照sexjpg的方法,adb root进去,或者,你ssh进去,yyf自带ssh,ip根据自己情况填,端口2223,用户名root,密码rush,如果是webpad固件,telnet进去,ip根据自己情况填,端口2323,用户名root,密码toor
2, 好了,root权限妥了之后,其实adb也会,ssh也会,telnet也好,操作基本相同,下面我依sexjpg的葫芦画我的瓢,感谢sexjpg,我以ssh操作为例,因为我习惯了。
3, 用xshell进行ssh连接成功后,进入命令提示符:p230:/system/etc/dropbear #
4, 输入命令:
1, /system/bin/mount -o rw,remount /
2, mkdir /opt
3, mkdir /bin
4, ln -s /system/bin/sh /bin/sh
5, /system/bin/mount -o ro,remount /
6, mkdir /data/entware.arm
7, mount -o bind /data/entware.arm /opt
到这就基本挂一段落了,下面开始补天坑,wget,方法就是换busybox,再次感谢sexjpg,大家可以去他贴下载他分享的busybox,但是换的方法我跟他略有不同,我当时按他思路没成功,估计是因为没有root权限,当时没有严格按照他步骤进行root登陆,所以失败了,是我的问题,当时我采取了另外一种方法,winscp的方法,绕了弯路。
5, 打开winscp,按照rush的方法,新增一个挂载读写命令,填入mount -o remount,rw /system,登陆n1,运行挂载读写命令,然后将busybox上传到/system/xbin/覆盖原来的文件,留意一下权限是否755
6, 回到ssh客户端xshell,输入命令:
8, wget -O - http://bin.entware.net/armv7sf-k3.2/installer/alternative.sh | sh
7, 得到提示,需要新增路径环境变量,回到winscp,找到/system/etc/dropbear/目录,点击编辑“.profile”文件,这是个隐藏文件,如果你看不到,按ctrl+h,修改路径
export PATH
PATH=/system/bin:/system/xbin:/opt/bin:/opt/sbin/
8, 老毛子教程提示安装ssh服务端,跳过这个步骤,因为yyf已经有ssh了,webpad固件自己看着办吧,有telnet就可以了,我觉得可以不装。
9, 接着就是做一个resolv.conf软链接,entware想象中的这个dns解析文件它应该是在/etc/下,但是安卓平台他却是放在/system/etc/下,所以得做一个软链接,不然entware找不到(但是对于entware来说,他真的在/etc/下找到了真实存在于安卓/system/etc/下的resolv.conf)。这文件在我操作的yyf固件上其实已经存在,不需要重建,万一你使用的固件没有这个文件(确定你找对目录了?),自己新建一个,内容为:
nameserver 8.8.8.8
nameserver 8.8.4.4
如果是vi编辑器,保持退出的操作是按esc,输入:wq
我肯定是直接winscp编辑,vi用不惯。
留意权限666,然后
ln -s /system/etc/resolv.conf /opt/etc/resolv.conf
如果无法新建,肯定是因为挂载为只读了,重新运行一次挂载读写自定义命令
阶段性胜利,下面就是自启动脚本了
依然照抄sexjpg的作业,谢谢sexjpg
打开winscp,在/data/entware.arm/下创建一个内容如下的init.sh,保存后加上755权限,sexjpg教程是666,我感觉应该是755(但是请注意,你chmod权限的时候,必须输入完整4位数,如777,必须完整输入0777,不然无效,坑!)
#!/system/bin/sh
unset LD_PRELOAD
unset LD_LIBRARY_PATH
sleep 3
/system/bin/mount -o rw,remount /
sleep 1
/system/bin/chmod 0777 /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 3
/system/bin/mount -o bind /data/entware.arm /opt
/system/bin/mount -o bind /data/entware.arm/root /system/etc/dropbear
sleep 2
/opt/etc/init.d/rc.unslung start
然后来到/system/bin/,编辑lazy-start.sh,在末尾exit 0 前加入:
sleep 1
/data/entware.arm/init.sh &
我顺便把optware功能下面那一行注释了,不知道有没有不良影响,我觉得optware已经不再需要了,再说了yyf421无语音固件里边也没有optware啊?
备注,论坛另一橘子lilith的开机脚本位置在
/system/addon.d/init.sh
请务必留神你的entware自启动脚本在lilith开机脚本的位置,如果是在末尾,留神前边有个进程要等1分钟,所以你的entware也至少要等1分钟后才能跑起来。
而webpad大大的则在
/system/bin/webpadinit.sh
后续
后边我打算试试四大件,看看哪款比较合用,目前已经安装了tr跟de和qb
文章评论