我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?
[ 4.552696] devtmpfs: mounted
[ 4.557008] Freeing unused kernel memory: 1024K
Starting logging: OK
Initializing random number generator... done.
Starting network: OKWelcome to Buildroot
buildroot login:
离线
找到一个类似的问题: how-to-login-automatically-without-typing-root-in-buildroot-x86-64-qemu
但是他仍然没有解决:
I've asked on the mailing list and Thomas Petazzoni replied that the:
/etc/inittab
should contain:console::respawn:/bin/sh
instead of:console::respawn:/sbin/getty -n -L console 0 vt100 # GENERIC_SERIAL
With qemu_x86_defconfig, the inittab is being used by Busybox' init system, due to BR2_INIT_BUSYBOX=y.An easy way to get it working it to just edit package/busybox/inittab directly, and rebuild busybox:
make busybox-reconfigure
The cleaner way is to use BR2_ROOTFS_OVERLAY.This method does have a downside however: just after login, the message shows:
/bin/sh can't access tty; job control turned off
and as advertised, things like Ctrl+C will have no effect.The /sbin/getty on Ubuntu 14.04 has a -a argument for automatic login, but BusyBox' implementation doesn't.
离线
原来已经有大神踩过这个坑了:
https://www.kancloud.cn/lichee/lpi0/421922
开机自启动
buildroot 根文件系统
修改/etc/inittab:
ttyS0::respawn:/root/logintest -L ttyS0 115200 vt100
新建logintest:
#!/bin/sh
/bin/login -f root
自启动任务在/etc/init.d/rcS中加入即可
export 相关环境变量在/etc/profile中加入。
离线
离线
找到 /etc/inittab 文件的
console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
修改为:
console::respawn:-/bin/sh
重启后就没有恼人的 login 提示了.
简单,好用。
离线
简单,好用。
这个改完以后,为什么开机后,直接进去的目录就变了呢
离线
找到 /etc/inittab 文件的
console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
修改为:
console::respawn:-/bin/sh
重启后就没有恼人的 login 提示了.
确实可以了,请问这是什么原理?
离线
晕哥 说:找到 /etc/inittab 文件的
console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
修改为:
console::respawn:-/bin/sh
重启后就没有恼人的 login 提示了.
确实可以了,请问这是什么原理?
/etc/inittab 就是 /sbin/init 的配置文件。console::respawn 设置的就是Linux控制台怎么初始化。用 /sbin/getty 就是把控制台交给getty,然后getty会提示你输入用户名、密码之类的东西来login。把控制台交给 /bin/sh,就没有了login 的那些步骤了,直接进入 shell
离线