Android 安装 chroot Linux 的方式,网上非常多。这里分享我自己的一个方案,确认已经跑起来了,但是一些依赖内核特性的软件无法运行,比如docker,其它的都没啥大问题。 至于后续怎么把玩,各位大神就各显神通吧。
Step 1:ROOT机器
首先机器要ROOT,此处自行想办法搞定。
Step 2:安装Magisk
安装Magisk APP :github
Step 3:配置Magisk
- 获取机器的boot.img
##########
# 第一步: 查看boot.img 的分区位置
##########
ls -l /dev/block/by-name
# 从结果中,找到以下这行,得到boot所在的分区位置就是: /dev/block/mmcblk2p7
# boot -> /dev/block/mmcblk2p7
##########
# 第二步: 备份出boot.img
##########
dd if=/dev/block/mmcblk2p7 of=/sdcard/boot.img;sync
- 安装Magisk模块
- 打开Magisk APP
- 选择“安装”,然后安装方式为“选择并修补一个文件”,然后选中sdcard目录下的boot.img 文件
- 点击“开始”,完成后,会看到在重新生成了一个img文件:“magisk_patched-xxxxx.img”
- 重新写入新的boot.img
- 重启机器
# 第一个文件路径是上面生成的新的img,后面是上面查看的boot分区路径
dd if=/sdcard/download/magisk_patched-xxxxx.img of=/dev/block/mmcblk2p7;sync
Step 4:安装lhroot 模块
lhroot是Magisk生态下的一个项目,可以运行Chroot linux。
剩下的步骤就是按着流程,安装lhroot模块:github
Magisk 的在线模块库,需要先翻墙才能获取。
其他:运行服务
由于 systemd 在 chroot 环境下不能工作,所以需要使用
nohup
启动服务。例如启动 sshd 服务使用
nohup /bin/sshd -D > sshd.log &