TI
M62xx 1.4GHz,3路CAN FD,2路千兆,9路串口
M6442 1.0GHz,5路TSN千兆网口,支持EtherCAT,GPMC
M65xx 1.1GHz,扩展18串口或6路千兆网口
M335x-T 800MHz,6串口,双网口,双CAN
A3352系列无线IoT核心板 800MHz,WiFi,蓝牙,RFID
NXP
M6Y2C 800MHz,8串口,双网口,大容量
A6G2C系列无线IoT核心板 528MHz,ZigBee,
Mifare,WiFi,蓝牙
A6Y2C系列无线IoT核心板 800MHZ,8串口,WiFi,蓝牙
M6G2C 528MHz,双网口,8串口,双CAN
M6708-T 双核/四核,800MHz/1GHz,专注多媒体
瑞芯微
M3568 四核A55,2GHz,NPU,GPU,VPU
M1808 双核A35,1.6GHz,AI核心板,3 TOPs NPU
M1126 四核A7,1.5GHz,2.0 TOPs NPU
先楫
MR6450/MR6750 15路串口,4路CAN FD,2路千兆
芯驰
MD9340/MD9350/MD9360 真多核异构A55+R5,1.6GHz,
2路千兆,4路CAN FD
君正
MX2000 1.2GHz,快速启动,实时系统
Xilinx
M7015 双核Cortex®-A9+FPGA,766MHz

【技术贴】如何绕开可恶的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

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

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