嵌入式产品通过psplash加载logo和进度条后,一般会默认登录到控制台,Buildroot构建的根文件系统默认需要输入用户名和密码, 这就需要进行必要的设置让系统自动登陆某账号并且运行相关应用。
一、启动流程
用户态的init 程序会读取/etc/inittab这个文件,并执行
根据/etc/inittab规则, 启动时通过getty进行登陆
可以看到, getty 默认做三件事
- 打开指定的TTY
- 提示要登陆的用户名
- 调用 /bin/login
/bin/login的用法
二、修改启动参数
我们要做的这两件事
2.1 getty不提示用户名
直接在getty后面添加 -n
2.2 编写登陆脚本并替换getty默认调用
新建脚本文件 /etc/autologin.sh, 内容如下.
#!/bin/sh
/bin/login -f root
通过chmod修改该文件权限
2.3 修改/etc/inittab
将原控制台脚本替换为如下, 保存重启就完成了自动登陆
#!/bin/sh
# Put a getty on the serial port
#console::respawn:/sbin/getty -L console 0 vt100 # GENERIC_SERIAL
console::respawn:/sbin/getty -n -l /etc/autologin.sh console 0 vt100 # GENERIC_SERIAL
登陆完成后, 系统执行/etc/profile中内容, 应用脚本加入到这里即可完成登陆自动启动
console::respawn:/sbin/getty -n -l /etc/autologin.sh console 0 vt100 # GENERIC_SERIAL
产品介绍
https://seeker.taobao.com/?spm=a1z10.1-c.0.0.7d5168c7uuY6Si