【根文件系统】自动登陆

  • 芯片平台: imx6ull
  • 编译器: arm-linux-gnueabihf-gcc 4.9
  • 内核版本: 4.1.15
  • 根文件系统制作: buildroot + busybox

一般嵌入式产品要求开机后显示logo并自动启动应用程序, 但是根文件系统默认是进入登陆控制台. 这就需要进行必要的设置让系统自动登陆某账号并且运行相关应用

一. 启动流程

执行 /etc/inittab,

# Put a getty on the serial port
console::respawn:/sbin/getty -L  console 0 vt100 # GENERIC_SERIAL

根据/etc/inittab规则, 启动时通过getty进行登陆(/etc/inittab文件详解)

# getty命令
Usage: getty [OPTIONS] BAUD_RATE[,BAUD_RATE]... TTY [TERMTYPE]

Open TTY, prompt for login name, then invoke /bin/login

        -h              Enable hardware RTS/CTS flow control
        -L              Set CLOCAL (ignore Carrier Detect state)
        -m              Get baud rate from modem's CONNECT status message
        -n              Don't prompt for login name
        -w              Wait for CR or LF before sending /etc/issue
        -i              Don't display /etc/issue
        -f ISSUE_FILE   Display ISSUE_FILE instead of /etc/issue
        -l LOGIN        Invoke LOGIN instead of /bin/login
        -t SEC          Terminate after SEC if no login name is read
        -I INITSTR      Send INITSTR before anything else
        -H HOST         Log HOST into the utmp file as the hostname

BAUD_RATE of 0 leaves it unchanged

可以看到, getty 默认做三件事

  • 打开指定的TTY
  • 提示要登陆的用户名
  • 调用 /bin/login

/bin/login的用法

Usage: login [-p] [-h HOST] [[-f] USER]

Begin a new session on the system

        -f      Don't authenticate (user already authenticated)
        -h HOST Host user came from (for network logins)
        -p      Preserve environment

二. 修改启动参数

我们要做的这两件事

2.1 getty不提示用户名

直接在getty后面添加 -n

2.2 编写登陆脚本并替换getty默认调用

新建脚本文件 /autologin.sh, 内容如下

#!/bin/sh
/bin/login -f root

通过chmod修改该文件权限

2.3 修改/etc/inittab

将原控制台脚本替换为如下, 保存重启就完成了自动登陆

# Put a getty on the serial port
# console::respawn:/sbin/getty -L  console 0 vt100 
console::respawn:/sbin/getty -n -l /autologin.sh console 0 vt100

登陆完成后, 系统执行/etc/profile中内容, 应用脚本加入到这里即可完成登陆自动启动

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值