实现ARM——Linux的自动登录(博客园搬家至此,尚未整理)(七)

在使用Linux系统嵌入式开发时,往往需要设备绕过Linux的登录系统使其自动启动,比如我们常用的SSH客户端等。网上确实有很多方法,不知道是因为我们的ARM9板子是私人订制的缘故还是什么原因,试了很多方法都不行,只有一种方法可行,特此记录。

一、更新mingetty:

1、到网站http://www.filewatcher.com/m/mingetty-1.07.tar.gz.13435-html下载mingetty-1.07.tar.gz;

2、解压:tar -zxvf mingetty-1.07.tar.gz,进入解压后的目录;

3、修改mingetty.c中的代码,仅需两步:

(1)第352行的 char *logname,*s 更改为 char *logname = “root”,*s;

(2)把第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-lonux-gnueabi-gcc;(此处应是交叉编译的安装路径)

5、编译生成mingetty:# make;

6、更新mingetty程序拷贝到根文件系统的 /sbin 目录下,mingetty的源码就更改完成了。

二、更新login:

1、到网站:http://www.filewatcher.com/_/?q=util-linux-2.13-pre7.tar.bz2下载源代码;

2、解压:tar -jxvf 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中的代码:

(1)把第344行的 passwd_req = 1 更改为 passwd_req = 0;

(2)在文件中添加 locale.h 头文件: #include <locale.h>;

4、编译生成 login :

# arm-none-linux-gnueabi-gcc -o login login.c …/lib/setproctitle.c checktty.c -Wall -lcrypt -I …/inlucde/ ;

5、更新 login :

将生成的 login 程序拷贝到根文件系统的 /bin 目录下。
 三、修改 inittab 文件:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸿蕊瑞琳

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值