需要安卓的root权限
*为非必需
- adb连接手机*
打开安卓手机连接和adb客户端机器(安装有adb的机器)连接同一网络
打开安卓手机的网络adb
$ adb connnect ip地址
$ adb shell
- 下载rootfs
命令前缀表示命令执行环境:
$ 代表adb客户端机器
android $ 代表安卓普通用户终端
android # 代表安卓root用户终端
bash # 代表slackware未初始化终端
root@localhost # 代表chrootslackware终端
请使用slackwarearm源内最新rootfs链接替换
rootfs
android $ su # 切换安卓root终端
android # cd /data # 切换到data分区
android # mkdir slackware # 创建安装目录
android # wget http://ftp.arm.slackware.com/slackwarearm/slackwarearm-devtools/minirootfs/roots/slack-current-miniroot_01Jul18.tar.xz # 下载slackwrearmrootfs
- 解包rootfs
android # cd /data/slackware # 切换到安装目录
android # xz -d slack-* # 解包rootfs
android # tar xf slack-* # 解包 rootfs
- 配置
android # cd /data/slackware/
android # rm -rf /data/slackware/dev/* # 删除无用文件
android # cp /etc/hosts /data/slackware/etc/ # 复制安卓hosts文件
android # cp /etc/resolv.conf /data/slackware/etc/ # 复制配置文件
android # mount -o bind /dev/ dev # 挂载dev 到rootfs
android # mount -o bind /dev/pts dev/pts # 挂载dev/pts 到rootfs
android # mount -o bind /sys/ sys # 挂载sys到rootfs
android # mount -o bind /proc/ proc # 挂载proc到rootfs
android # unset LD_PRELOAD # 取消当前终端 LD_PRELOAD 变量
android # unset LD_PRELOAD # 取消当前终端 LD_PRELOAD 变量
android # chroot /data/slackware /bin/bash # chroot 进入slackware
bash # source /etc/profile # 初始化bash
root@localhost # useradd -s /bin/false -u 3003 -M aid_inet # 添加aid_inet权限组
root@localhost # useradd -s /bin/fasle -u 3004 -M aid_net_raw # 添加aid_net_raw权限组
root@localhost # groupmod -g 3003 aid_inet # 改用户组guid
root@localhost # groupmod -g 3004 aid_net_raw # 改用户组guid
root@localhost # usermod -G aid_inet root # 将root用户添加至socket权限组
root@localhost # usermod -G aid_net_raw root # 将root用户添加至raw_socket权限组
更改root用户密码
root@localhost # passwd
添加新用户
root@localhost # adduser user # user换成用户名
root@localhost # usermod -G aid_inet user # 使用户加入socket权限组
root@localhost # usermod -G aid_net_raw user # 使用户加入socket_raw权限组
如果你要使用需要套接字权限的应用程序
你需要将运行用户添加至套接字权限组
例如:
xrdp:
usermod -G aid_inet xrdp
mysql:
usermod -G aid_inet mysql
- 安装完成之后:
创建启动脚本:
android # cd /data/slackware
android # touch start.sh
android # chmod 0755 start.sh
android # echo '#!/system/bin/sh' >> start.sh
android # echo 'cd /data/slackware' >> start.sh
android # echo 'mount -o bind /dev/ dev' >> start.sh
android # echo 'mount -o bind /dev/pts dev/pts' >> start.sh
android # echo 'mount -o bind /sys/ sys' >> start.sh
android # echo 'mount -o bind /proc/ proc' >> start.sh
android # echo 'unset LD_PRELOAD' >> start.sh
android # echo 'chroot /data/slackware /bin/bash' >> start.sh
安装已完成
- 使用slackware
启动ssh:
android # cd /data/slackware
android # sh start.sh #警告 必须使用前缀sh执行否则会导致变量全局导致安卓系统死机
bash # source /etc/profile
root@localhost # /etc/rc.d/rc.sshd start
关闭系统并重启:
android # reboot
当然,可以为它安装vnc,或者xrdp.
转载请注明
作者:luhux
邮箱: [email protected]
原文:https://pluhuxc.github.io//2018/07/26/install-slackware-on-android/