我设法在我的 Android 设备上运行纯 Debian(debootstraped)。这意味着我的 Nexus 5 运行完全正常的 GNU/Linux 系统,但使用 CyanogenMod 11 Linux 内核(有一些特定于型号的补丁)。
我与手机有串行连接(通过 4 针改装耳机插孔),我可以看到完整的内核日志。
问题是,虽然系统确实启动并工作,但我找不到与其交互的方法,因为我找不到需要使用的正确的 tty 设置。
首先,系统肯定是活动的,因为我/sbin/ls /dev > /hello
在 inittab (getty 应该在的地方)中放入了类似的内容,并且我得到了目录列表。
串行端口位于 /dev/ttyHSL0 上,我用 getty 尝试了很多,最后一次完全/sbin/getty -8 -L -m -w 115200 ttyHSL0
没有运气。我已经尝试了列表中报告的其他 2 个端口(tty1 和 ttyS0),但也没有任何运气......
注意:我尝试在启动时启动 WiFi,以便获得 SSH,但它不起作用,它无法连接到网络,我不知道为什么。当我有 bash 提示符时,我就可以调试它......
注 2:这不是 chroot 系统,它纯粹是在设备上运行的 Debian。这与安卓无关。
答案1
在我用来 switch_root 到 debian 所在目录的 init 脚本中进行了大量调试(并且头撞墙)之后,我没有挂载 /dev、/proc 和 /sys...
正确的 tty 实际上是1:2345:respawn:/sbin/getty ttyHSL0 115200