Linux内核笔记(3) 开机自启动

博创S3C2410板子使用实例:

Linux的进程启动都是根据启动脚本里的指令进行的,主要有两类:

init bash. init 是所有脚本的最顶端,首先被执行,

而bash一般是登陆shell 的时候才会被调用。

 

 

不同的文件系统具体的启动脚本文件名称是不一样的。以我使用的文件系统(yaffs)为例,/etc/init.d/rcS 作为init 的脚本,如果你想开机时进入自己的应用程序,则在rcS里面写入就可以。

比如我想启动/usr/qtopia/chip 则在里面写入/usr/qtopia/chip –qws 就可以。

/etc/init.d/profile 作为bash 的脚本 ,在这个脚本里的指令 开机时不会被执行,但是你进入shell 状态时,就会被调用,一般来说bash 脚本多数用来存放环境变量,

记住,每一次进入shell 都会调用一次bash 脚本。

 

来看看我分析一个例程,在/usr/qtopia 里有一个qt 程序,不采用自启动的方式,而是利用终端输入(进入终端就意味着进入shell)打开,这时候没问题,程序正常被打开,这说明里我的qt 库lib 的环境变量设置没问题。

但是当我采用自启动的方式,即在/etc/init/rcS 里加入/usr/qtopia/chip –qws 时却提示 error while loading share qtlib.so.4 ````````为什么呢?

原因是这样的:

我的环境变量放在/etc/profile 而程序执行指令放在/etc/init.d/rcS ,这里就会出现一个问题,rcS 最先被执行 而profile 还没被执行,这样很明显找不到lib 了嘛,回头看终端输入启动,为什么就找到lib 呢 ?很简单,你打开终端时,bash 已经被调用。这样,执行的顺序变为首先执行/etc/profile 然后才执行你的指令。

注:ubuntu 系统的bash 脚本是 ~/.bashrc 或者 /etc/bashrc

 

虽然有上面的指导,但是我重新编写的rcS还是不能上传到目标机的指定目录!!!!请各位帮帮忙啊。。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

钱国正

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

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

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

打赏作者

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

抵扣说明:

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

余额充值