您尚未登录。

楼主 #1 2017-11-16 09:25:09

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

[    4.552696] devtmpfs: mounted
[    4.557008] Freeing unused kernel memory: 1024K
Starting logging: OK
Initializing random number generator... done.
Starting network: OK

Welcome to Buildroot
buildroot login:

离线

楼主 #2 2017-11-16 10:29:14

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

找到一个类似的问题: 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.

离线

楼主 #3 2017-11-16 10:30:16

daydayup
会员
注册时间: 2017-10-09
已发帖子: 343
积分: 343

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

原来已经有大神踩过这个坑了:
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中加入。

离线

#4 2018-12-05 15:29:16

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

找到 /etc/inittab 文件的

console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

修改为:

console::respawn:-/bin/sh

重启后就没有恼人的 login 提示了.

离线

#5 2019-02-18 16:11:46

tkyl01
会员
注册时间: 2018-11-19
已发帖子: 9
积分: 9

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

晕哥 说:

找到 /etc/inittab 文件的

console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

修改为:

console::respawn:-/bin/sh

重启后就没有恼人的 login 提示了.


简单,好用。

离线

#6 2020-06-16 19:24:08

luciferseva
会员
注册时间: 2020-05-20
已发帖子: 43
积分: 11.5

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

tkyl01 说:

简单,好用。

这个改完以后,为什么开机后,直接进去的目录就变了呢

离线

#7 2021-08-31 10:59:51

uuid
会员
注册时间: 2020-12-08
已发帖子: 20
积分: 6

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

晕哥 说:

找到 /etc/inittab 文件的

console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

修改为:

console::respawn:-/bin/sh

重启后就没有恼人的 login 提示了.

确实可以了,请问这是什么原理?

离线

#8 2021-08-31 11:13:59

unturned3
会员
注册时间: 2020-07-01
已发帖子: 140
积分: 86.5

Re: 我用buildroot产生的rootfs,每次启动都要登录,有什么办法可以去掉这个登录吗?

uuid 说:
晕哥 说:

找到 /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

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn