实现ARM-linux自动登录

来源:互联网 发布:windows 文件共享 编辑:程序博客网 时间:2024/06/05 11:04

转自:http://blog.chinaunix.net/uid-27717694-id-3543938.html

亲测可行

util-linux-2.13-pre7.tar.bz2地址:http://pan.baidu.com/s/1kV82GwZ


mingetty-1.07.tar.gz地址:http://pan.baidu.com/s/1c2aQWKw


配置完成之后可以在/etc/profile中加入想要启动的程序

一、前言

在使用linux系统嵌入式开发时,往往需要设备自动启动,而绕过linux的登录系统。有很多方法,在这里说我自己做的方法,直接修改登录的程序源代码:
二、更新mingetty
1.到网站http://www.filewatcher.com/m/mingetty-1.07.tar.gz.13435-0.html下载mingetty-1.07.tar.gz
2.解压:tar -zxvf mingetty-1.07.tar.gz 。进入到解压后的目录
3.修改mingetty.c中的代码
更改mingetty的代码需要进行两步操作。
第352行的char *logname, *s;
更改为char *logname = "root", *s;
把第409-415行注释
/* if (autologin) {
  do_prompt (0);
  printf ("login: %s (automatic login)\n", autologin);
  logname = autologin;
 } else
  while ((logname = get_logname ()) == 0)
   /* do nothing */ /*; */
(4)修改makefile
CC=arm-none-linux-gnueabi-gcc

(5)编译生成mingetty
[root@localhost mingetty-1.07]# make
(6)更新mingetty
将生成的mingetty程序拷贝到根文件系统的/sbin目录下

mingetty的源码更改就完成了。

三、更新login
(1) 到网站http://www.filewatcher.com/_/?q=util-linux-2.13-pre7.tar.bz2下载源代码
(2)解压源码包
tar -xf util-linux-2.13-pre7.tar.bz2
解压后的文件夹为util-linux-2.13-pre7,进入到解压缩的文件夹内

其中login的源码的目录为util-linux-2.13-pre7/login-utils
login-utils文件中不存在make文件,因此,需要自己编写编译命令来生成login。
(3)修改login.c中的代码
把344行的passwd_req = 1;
更改为passwd_req = 0;
在文件中添加locale.h头文件
#include <locale.h>
(4)编译生成login
[root@localhost login-utils]# arm-none-linux-gnueabi-gcc -o login login.c ../lib/setproctitle.c checktty.c -Wall -lcrypt -I ../include/
(6)更新login
将生成的login 程序拷贝到根文件系统的/bin目录下,结束。


四、修改inittab文件
将跟文件系统/etc/inittab文件中的最后的登录语句#S2:2345:respawn:/sbin/getty 115200 ttyS2
改为:S2:2345:respawn:/sbin/mingetty ttyS2

将修改后的根文件系统重新下载到系统中,系统启动时就会直接登录。不需要输入用户名及密码了。



另一个方法来取消输入密码,就是修改文件系统里面的/etc/passwd

第一行:root:x:0:0:root:/home/root:/bin/sh

删除第一个x: root::0:0:root:/home/root:/bin/sh

也可以去掉输入密码的环节


原创粉丝点击