linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本
来源:互联网 发布:数据权限流程图 编辑:程序博客网 时间:2024/04/27 06:45
linux嵌入式开发板,设置系统自动登录和自动运行脚本或程序,下面一一进行说明。
一、系统自动登录
1.1、在实验板添加logintest脚本
logintest脚本位置:/home/root/ //个人看自己放置位置
logintest内容:
#!/bin/sh
注意修改其执行权限。
1.2、修改/etc/inittab
logintest脚本位置:/home/root/ //个人看自己放置位置
logintest内容:
#!/bin/sh
/bin/login -f root
注意修改其执行权限。
1.2、修改/etc/inittab
在inittab中,有如下配置
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
表示系统可以有六个控制台,可以用ALT+(F1~F6)来切换。而/sbin/agetty就是一个登陆验证程序,执行它,会提示用户输入用户名和密码,然后启动一个指定的shell(在passwd文件中指定的)。
所以,我们只需将其修改为不执行agettty,而是执行自己编写的一个脚本,就可以跳过用户名和密码的输入。修改如下:
1:2345:respawn:/home/root/logintest tty1 9600 //logintest位置随个人系统而定
这里在/root/下放了一个测试脚本logintest,这样系统启动时就会执行那个脚本,脚本其实就是执行了一个root用户的登陆而已。
二、自动执行程序或脚本
自动执行程序或脚本有两种思路,第一种思路,系统自动登录后自动执行程序或脚本;第二种,系统运行后不登录root,直接执行脚本。下面仔细分析。
2.1、系统自动登录后自动执行程序或脚本
方法有两种,一种是将要执行的代码放到1.2中的/root/logintest的后面(此法借鉴他人,验证失败);另一种是将要执行的代码放到/etc/profile文件的后面即可。
本文所用实验板,在profile尾部输入代码如下:
cd /home/root/
./test.sh
2.2、系统运行后不登录直接运行程序或脚本
1)写好脚本,如 test.sh,把它放到 /etc/init.d 下,修改属性:
$ sudo chmod x test.sh
下面有这么几个目录值得注意:
rcS.d rc0.d rc1.d ... rc6.d ,
(0,1... 6 代表启动级别 0代表停止,1代表单用户模式,2-5代表多用户模式,6代表重启)
它们的作用就相当于 redhat 下的 rc.d ,
你可以把脚本放到 rcS.d,然后修改文件名,给它一个启动序号,如:S98test.sh
不过最好的办法是放到相应的启动级别下面。具体作法:
2)查看当前系统的启动级别
$ sudo runlevel
N 5
3)设定启动级别
$ update-rc.d test.sh start 98 2 .
98 为启动序号,
2是系统的运行级别,可自己调整,
注意不要忘了结尾的句点。
现在我们到 /etc/rc5.d 下,就多了一个 S98test.sh 这样的符号链接。
注:该步骤的真实目的是:在/etc/rc5.d/目录下创建test.sh的符号连接,可用ln -s ***命令实现同样效果。
4)然后启动系统,测试一下设置是否有效。
这样系统会直接运行程序或脚本,而不用登录系统。你可以从网络登录系统进行其它操作,telnet 192.168.**.**。
参考文档:
1、http://www.285868.com/a/xtjc/5803.html
2、http://blog.chinaunix.net/uid-29960065-id-5037303.html
2.1、系统自动登录后自动执行程序或脚本
方法有两种,一种是将要执行的代码放到1.2中的/root/logintest的后面(此法借鉴他人,验证失败);另一种是将要执行的代码放到/etc/profile文件的后面即可。
本文所用实验板,在profile尾部输入代码如下:
cd /home/root/
./test.sh
2.2、系统运行后不登录直接运行程序或脚本
1)写好脚本,如 test.sh,把它放到 /etc/init.d 下,修改属性:
$ sudo chmod x test.sh
下面有这么几个目录值得注意:
rcS.d rc0.d rc1.d ... rc6.d ,
(0,1... 6 代表启动级别 0代表停止,1代表单用户模式,2-5代表多用户模式,6代表重启)
它们的作用就相当于 redhat 下的 rc.d ,
你可以把脚本放到 rcS.d,然后修改文件名,给它一个启动序号,如:S98test.sh
不过最好的办法是放到相应的启动级别下面。具体作法:
2)查看当前系统的启动级别
$ sudo runlevel
N 5
3)设定启动级别
$ update-rc.d test.sh start 98 2 .
98 为启动序号,
2是系统的运行级别,可自己调整,
注意不要忘了结尾的句点。
现在我们到 /etc/rc5.d 下,就多了一个 S98test.sh 这样的符号链接。
注:该步骤的真实目的是:在/etc/rc5.d/目录下创建test.sh的符号连接,可用ln -s ***命令实现同样效果。
4)然后启动系统,测试一下设置是否有效。
这样系统会直接运行程序或脚本,而不用登录系统。你可以从网络登录系统进行其它操作,telnet 192.168.**.**。
参考文档:
1、http://www.285868.com/a/xtjc/5803.html
2、http://blog.chinaunix.net/uid-29960065-id-5037303.html
0 0
- linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本
- Linux Server 开机自动登录和自启动程序设置
- 设置嵌入式系统开机自动启动程序
- LinuxServer开机自动登录和自启动程序设置
- linux 程序自动启动
- linux自动启动程序
- linux自动启动程序
- Linux自动启动程序
- XP系统通电自启动设置---- 自动登录账户
- android 开机自动启动某个linux应用或脚本
- linux开机自动启动脚本
- linux自动启动 oracle脚本
- linux开机自动启动脚本
- linux开机自动启动脚本
- linux开机自动启动脚本
- linux开机自动启动脚本
- linux开机自动启动脚本
- linux开机自动启动脚本
- udt4编程简介(原文)
- CPU中的缓存和操作系统中的缓存分别是什么?
- PL/SQL基础(四)
- 微信企业号开发:获取数据权限错误如何处理
- 感悟
- linux 嵌入式 自启动 系统自动登录-自动启动程序或脚本
- 黑马程序员-IOS基础之C语言流程控制
- 使用wireshark的tshark工具把pcap导出csv格式
- 创业12年后,我为什么创立ZMO企业自媒体联盟
- YT06-背包-1002—Piggy-Bank -(6.27日-烟台大学ACM预备队解题报告)
- List使用linq来查询数据,返回读取var
- unity自带寻路Navmesh入门教程
- 返回类型和return语句
- zend studio 11 创建WDSL文件