一. 简介
本文在之前制作的根文件系统可以正常运行的基础上进行的,继上一篇文章地址如下:
完善根文件系统-CSDN博客
在前面测试软件hello 运行时,都是等 Linux 启动进入根文件系统以后手动输入 “./hello” 命令 来完成的。
我们一般做好产品以后都是需要开机自动启动相应的软件,本节我们就以hello
这个软件为例,讲解一下如何实现开机自启动。
二. 根文件系统的开机自启动测试
前面我们说过了,进入根文件系统的时候,会运行 /etc/init.d/rcS 这个 shell 脚本,因此,我们可以在这个脚本里面添加自启动相关内容。
开发板上电后,进入根文件系统的根目录下。打开 /etc/init.d/rcS 文件:
向 rcS文件加入所要运行的软件,因为之前我们的 测试软件 hello放在根文件系统的根目录下,所以,直接运行程序即可:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:$PATH
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib
export PATH LD_LIBRARY_PATH
mount -a
mkdir /dev/pts
mount -t devpts devpts /dev/pts
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s
./hello &
最后一行,以后台方式执行 hello 这个软件。
自启动代码添加完成以后,进行保存。
输入 "reboot" 命令重启开发板,看看
hello
这个软件会不会自动运行。结果如下:
从上面的信息可以看出,
测试软件hello
开机自动运行了,说明开机自启动成功。
关闭开机自启动程序
如果需要关闭 自启动程序,可以在 /etc/init.d/rcS文件 中将 运行软件的内容注释掉。
输入如下命令,打开 /etc/init.d/rcS文件:
/ # vi /etc/init.d/rcS
注释掉 程序运行的内容后,并保存:
再重启开发板后,hello软件不会随着根文件系统起来自动运行了。