实现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;
将修改后的根文件系统重新下载到系统中,系统启动时就会直接登录,不需要输入用户名和密码了。
实现ARM——Linux的自动登录的更多相关文章
- Linux开机自动登录(文本模式)
• Linux系统启动登录过程 以RedHat/CentOS为例,Linux系统Level3模式下从启动到登录的整个过程大致如下: 1> 加载BIOS信息:包含了CPU/显卡/内存/硬盘/网卡等 ...
- Linux expect自动登录ssh,ftp
[http://blog.51yip.com/linux/1462.html#] #!/usr/bin/expect -f set ip 192.168.1.201 set password meim ...
- Linux实现自动登录
使用expect实现自动登录的脚本,网上有很多,可是都没有一个明白的说明,初学者一般都是照抄.收藏.可是为什么要这么写却不知其然.本文用一个最短的例子说明脚本的原理. 脚本代码如下: #!/usr/b ...
- arm Linux 如何自动检测并mount SD卡,以及如何得知已经mount
一.土八路做法: SD 卡一旦插入系统,内核会自动在/dev/下创建设备文件:sdcard. 但有时可能时用户在拨出卡前并没有umount的话,第二次插卡进去后系统创建的就不是sdcard设备文件了, ...
- 使用ARM模板部署自动扩展的Linux VMSS(2)
12.准备完了模板文件,我们使用Powershell来创建VMSS for Linux的自动扩展集合,首先登陆到Azure中国的ARM账号: Login-AzureRmAccount -Environ ...
- linux启动后自动登录并运行自定义图形界面程序
在<Ubuntu CTRL+ALT+F1~F6 进入命令模式后不支持中文显示的解决办法>一文中提到linux启动在以后运行一个独占显示器的图形程序的两种办法. 1.不启动xserver,使 ...
- linux ssh 不用密码自动登录的几种方法
1. 自动ssh/scp方法== A为本地主机(即用于控制其他主机的机器) ;B为远程主机(即被控制的机器Server), 假如ip为192.168.60.110;A和B的系统都是Linux 在A上运 ...
- [转] windows 上用程序putty使用 ssh自动登录Linux(Ubuntu)
需求: 在Win7电脑上使用putty(一种ssh客户端)连接Ubuntu 工具: puttygen.exe 和 putty.exe 第一步:生成密匙 运行puttygen.exe,选择需要的密匙类型 ...
- 用了一天的时间,linux下expect实现ssh自动登录服务器记,鄙视下网上各种抄来抄去残段子
因为要对客户方的快30个项目进行特别有顺序的重启,所以不得不想办法写个脚本,网上看了不少段子.真是残缺的可以.没有一段是可以正常运行的.我来按顺序记录一下 脚本的本身 使用expect实现自动登录的脚 ...
随机推荐
- centos7.x 部署主、从DNS服务器
1.准备 例:两台192.168.219.146(主), 192.168.219.147(从), 域名www.panyangduola.com 主.从DNS服务器均需要安装bind.bind-chro ...
- 使用 Chrome 对长网页(知乎、微信公众号文章)进行完整截图
当需要对一个较长的网页进行完整截图时,可以直接使用谷歌浏览器(Chrome)自带的截图功能完成,不需要依赖第三方截图软件. 1. 打开网页 以微信公众号的页面作为示例:https://mp.weixi ...
- Linux-rhel-server-7.4-Mysql-5.7安装记录
解压下载的tar包: tar -xf mysql-5.7.19-1.el7.x86_64.rpm-bundle.tar 安装一下rpm包: sudo rpm -ivh mysql-community- ...
- MQTT介绍与使用
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段.其英文名称是:“Internet of things(IoT)”.顾名思义,物联网就是物物相连的互联网.这有两层意思:其一,物联 ...
- bugku 成绩单
看起来像是SQL注入,先来试试. 输入1,2,3显示的是三个人成绩. 来试试是否存在注入. 输入1,正常.输入1' 错误.输入1’#正常,说明存在注入点. 首先来看下有几列从1开始试,1’ order ...
- Zookeeper未授权访问测试
前言 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提 ...
- 禅道部署(基于Linux)
部署步骤: 1. 查看Linux服务器是32位还是64位的 #getconf LONG_BIT 2. 禅道开源版安装包下载 下载站点1:#wget http://sourceforge.net/ ...
- C、C++的Makefile模板
目录 Makefile模板 用法 编译C程序 编译C++程序 其他 Tips Makefile模板 CC = gcc LD = $(CC) TARGET = $(notdir $(CURDIR)) S ...
- 前端知识点总结——jQuery(下)
1. 排队和并发 1.并发: 多个css属性同时变化放在一个animate函数内的多个css属性默认并发变化 2.排队: 多个css属性先后变化对同一个元素,先后调用多个动画API,都是排队执行原理: ...
- UVA10228 A Star not a Tree?
[返回模拟退火略解] 题目描述 一平面上有 nnn 个点 {Ai}\{A_i\}{Ai},求一个点 XXX 使得σ=∑i=1ndis(Ai,X)\sigma=\sum_{i=1}^{n}{dis(A ...