什么是让 Angstrom Linux 在不要求登录的情况下启动并打开 shell 的干净方法?
4 回答
这个简单的答案花了我几个小时才找到。对于那些没有 /etc/inittab 的人,以下内容对我有用。在
/etc/systemd/system/getty.target.wants/serial-getty@ttyO2.service
换行
ExecStart=-/sbin/getty 115200 %I
至
ExecStart=-/sbin/getty -a USERNAME 115200 %I
我通过阅读 /etc/inittab 中的 getty 部分自己弄清楚了这一点,这使我在我的系统上找到了 ExecStart,快速的谷歌搜索让我找到了https://unix.stackexchange.com/questions/42359/how -can-i-autologin-to-desktop-with-systemd,它给了我 /sbin/getty 的自动登录语法。
我找到了一个很好的方法来实现它。这对我来说适用于 Angstrom(在 Beagleboard xM Rev C4 上)。
确保安装了 agetty(/sbin/agetty 是标准位置)。它应该包含在每个 Linux Angstrom 映像中。
在任何位置创建脚本文件,例如 /home/root/autologin.sh。编辑它并添加以下内容:
#!/bin/sh exec /bin/login -f root
使用命令使其可执行
chmod a+x autologin.sh
编辑文件 /etc/inittab。注释掉(通过在开头添加“#”)以下行
1:2345:respawn:/sbin/getty 38400 tty1
并添加以下行:
1:2345:respawn:/sbin/agetty -l /home/root/autologin.sh -n 38400 tty1 linux
希望这会有所帮助。
我的答案是更通用的 linux。如果没有启动 getty 进程,您就没有密码登录。看着
/etc/inittab
从这里开始一个 *getty 进程?删除此行并重新启动您的设备。
1:2345:respawn:/bin/login -f root tty1 </dev/tty1 >/dev/tty1 2>&1
为您的系统配置更改 tty1,例如)ttyO0、ttyS1 等。