EsDA工控单板
EPC6450-AWI/EPC1107-LI/EPC3568系列工控板
MPC-ZC1迷你工控主板
Cortex®-A5,拖拽式开发,40pin扩展引脚
2.5寸工控单板
EPC-6Y2C-L网络控制器
Cortex®-A7,800MHz,8路串口,数字音频
IoT-6Y2C-L物联网关控制器
Cortex®-A7,800MHz,8路串口,支持蓝牙
EPC-6G2C-L网络控制器
Cortex®-A7,528MHz,8路串口,数字音频
IoT-6G2C-L物联网关控制器
Cortex®-A7,528MHz,8路串口,支持蓝牙
3.5寸工控单板
IoT7000A-LI物联网网关控制器
Cortex®-A7,双MiniPCIe接口支持无线模块扩展
IoT-9608I-L网络控制器
Cortex®-A8,800MHz,6种无线通讯方式
EPC-9600I-L工控主板
Cortex®-A8,800Mhz
IoT9000A-LI工控主板
Cortex®-A9,强劲编解码,专注多媒体
IoT9100A-LI工业IoT网络控制器Cortex®-A9,1GHz
SX-3568系列主板Cortex®-A55,双核心GPU
MD-3568LI工控板Cortex®-A55,双网口

【技术贴】如何绕开可恶的Linux系统登录界面?

小编的同事除了键盘高手,还有非常多的编程高手,问题丢给他们马上有了答案:“实现嵌入式linux的自动登录系统,可以直接修改登录的程序源代码,使登录程序自动使用指定的用户名与密码进行登录,从而达到自动登录系统的目的。”

注意:在开始验证自动登录操作之前,请首先确认Linux主机的开发环境。

开发主机环境:

Ubuntu 12.04(64位)、arm-none-linux-gnueabi-gcc系列交叉工具链

硬件清单:

M3352-N128LI 工控核心板与评估板

软件资源:

mingetty-1.07.tar.gz

util-linux-2.13-pre7.tar.bz2

1.1编译mingetty登录工具

 

  把源码包mingetty-1.07.tar.gz压缩文件拷贝到“~”目录下,然后使用tar命令进行解压,操作如下:

vmuser@vmhost:~$tar xzvf mingetty-1.07.tar.gz

进入到解压后的mingetty-1.07目录,在mingetty.c文件中,修改第352行的,修改如下:

352 char *logname, *s;

352 char *logname = "root", *s;

注意:红色字体为修改后内容。

同时,把mingetty.c文件中的第409~415行注释掉,修改如下:

修改Makefile文件,设置好交叉编译工具,CC=arm-none-linux-gnueabi-gcc,然后就可以使用make命令进行编译了,操作如下:

vmuser@vmhost:~/mingetty-1.07$ make

图1 编译mingetty程序

如图1所示,mingetty文件即是生成的目标程序,将该程序拷贝到根文件系统的/sbin目录下即可。

1.2修改login登录工具

把源码包util-linux-2.13-pre7.tar.bz2压缩文件拷贝到“~”目录下,使用tar命令进行解压,操作如下:

vmuser@vmhost:~$tar xjvf util-linux-2.13-pre7.tar.bz2

解压后生成的目录为util-linux-2.13-pre7,在util-linux-2.13-pre7/login-utils目录下,修改login.c文件中的第345行,修改如下:

345 passwd_req = 1;

345 passwd_req = 0;

注意:红色字体为修改后内容。

同时在login.c文件中添加locale.h头文件,修改如下:

118 #include

119 #include

注意:红色字体为修改后内容。

由于login-utils目录下无法直接使用make命令,因此,需要自己编写编译命令来生成login程序,操作如下:

vmuser@vmhost:~/util-linux-2.13-pre7/login-utils$ arm-none-linux-gnueabi-gcc -o login login.c ../lib/setproctitle.c checktty.c -Wall -lcrypt -I ../include/

图2 编译login程序

如图2所示,login文件就是生成的目标程序,将该程序拷贝到根文件系统的/bin目录下即可。

1.3修改inittab文件

完成上述两点操作之后,最后一步工作就是修改根文件系统下的/etc/inittab文件了,修改如下:

ttyO0::respawn:/sbin/getty -L ttyO0 115200 vt100 # GENERIC_SERIAL

ttyO0::respawn:/sbin/mingetty ttyO0 115200 vt100 # GENERIC_SERIAL

注意:红色字体为修改后内容。

将修改后的根文件系统重新下载到系统中即可实现自动登录,不需要再输入用户名和密码了。