1 介绍
废旧手机通过安装linux来充当服务器功能,开发者可用来进行应用部署测试。 手机通过安装BusyBox和LinuxDeploy应用来实现centos的安装,前提是手机需要安装第三方recovery并且获取root权限。 本文通过努比亚z11mini手机来进行安装演示。
2 材料
手机+内存卡
3 软件
软件都自带中文。
DiskGenius_5.1.0.653:下载地址1
google应用代理下载地址:https://apps.evozi.com/apk-downloader/
4 手机root
以努比亚z11mini为例。
4.1 打开调式模式
拨号盘输入 *#7678# ——>两项都打勾。 连接数据线,弹出的调试窗口选择一律允许,然后确定
4.2 解压运行文件
电脑解压下载的努比亚Z11mini_一键刷入多语言TWRP_3.0.2-0文件,运行点我刷recovery.bat 文件。 选择选项1在电脑安装驱动。
4.3 刷入recovery
输入2刷recovery(由于部分批次手机屏幕驱动可能会有差异,建议先使用3选项临时进入看触屏是否正常使用,即先输入3没问题重启再刷入2)
4.4 进入recovery
正常刷入之后后重启进入recovery,如果没有进入可以手动进行进入。 以努比亚z11mini为例: 关机,同时按住音量上和电源键,在出现nubia logo的时候松开电源键,音量上继续按住,直到进入recovery为止。
4.5 刷入root
点击高级>>沉默之星工具箱>>获取ROOT权限>>滑动按钮确认,成功获取root权限后重启即可。
5 格式化内存卡
将内存卡插入电脑,通过DiskGenius软件创建类型为ext4分区。创建完成后插入手机,手机会显示空SD卡,没有关系,因为手机无法识别ext4类型的存储卡,提示格式化的话就取消,不要格式化。
6 安装linux
6.1 安装busybox
手机安装busybox后,点击安装,提示如下图即安装成功。 第一个红框为系统的处理器框架,在安装centos7的时候会用到。 第二个红框为显示安装的路径,一般安装路径为/system/xbin。
6.2 安装linuxdeploy
安装完linuxdeploy,点击左上角>>settings>>把英文改成中文。
勾选屏幕常亮、锁定wifi、cpu唤醒、联网更新。
在环境项,PATH变量填入/system/xbin>>然后点击更新环境。
点返回,点击首页的最右下角按钮。
选择发行版为Centos。
选择架构为busybox上看到的,我这个是aarch64。
修改源地址为阿里源,
https://mirrors.aliyun.com/centos-altarch
。安装类型:分区。
安装路径,此时出现的安装路径:/dev/block/mmcblkXpY;当前的/dev/block/mmcblk表示安装的时sd卡中,X表示的是存储(0表示手机存储、1表示的是sd卡存储),Y表示的是SD卡中的分区(上面具有三个所以分区就是1,2,3);我的内存卡只分了一个区,所以我这写入是/dev/block/mmcblk1p1。
文件系统:ext4。
用户名密码自己设定。
本地化:zh_CN.UTF-8。
挂载(可选,挂载手机内存到linux系统)。 挂载点也可以写/mnt/sdcard - /mnt/sdcard 15.初始化(可选可不选) 勾选后linux deploy将在启动后在指定路径运行脚本,默认为/etc/rc.local,不过它是/etc/rc.d/rc.local的软连接,所以就是开机自动运行/etc/rc.d/rc.local的脚本
勾选启用SSH。
配置完成,返回首页。
点击右上角>>点击安装。
看到如下输出>>deploy 时说明安装完成。
在启动前先点停止,然后在启动。
启动成功如下图:
6.3 SSH连接
电脑通过Xshell等方式连接上linux即可。 参考文章:[建站教程]xftp xshell的安装
6.4 ps
安个宝塔面板美滋滋~,我在安装宝塔报个错,但是目前来看不影响运行。 这个错主要是影响服务的开机自启。
7 问题
7.1 挂载的sdcard非root用户无权限
通过BindFS来挂载来实现别的用户对指定目录的读写。 解决办法: 1)安装BindFS,centos执行如下命令。 yum install bindfs
2)创建对应的映射目录。 例: mkdri /mnt/bindsd/www
3)执行映射语句。 例如你挂载的目录为/mnt/sdcard/www,给www用户www用户组进行授权。 sudo bindfs --map=root/www:@aid_sdcard_r/@www /mnt/sdcard/www /mnt/bindsd/www
4)切换www用户看看是否可以创建文件夹。 例子: su www
5)如果要取消映射,执行如下命令。 /mnt/bindsd/www为取消的目录。 sudo umount /mnt/bindsd/www
7.2 数据库无法启动
执行如下命令添加如下用户组尝试一下: usermod -a -G aid_inet,aid_net_raw mysql
7.3 宝塔的www用户无法登陆
打开用户文件夹。 cat /etc/passwd
2)找到www用户,将/sbin/nologin改为/bin/bash。 3)即可登录 su www
评论