Qt/E程序ARM板上开机自启动

40 篇文章 2 订阅
编辑rcS文件,加入启动脚本即可
vi /etc/init.d/rcS

按o切换输入模式,输入:/opt/Qtopia/bin/fireMonitor -qws
按esc切换命令模式,按‘:’,然后输入wq (保存退出)

出现问题:
重启后没有运行fireMonitor报错:
/opt/Qtopia/bin/fireMonitor: error while loading shared libraries: libts-0.0.soy


原因:
在执行rcS里都脚本时还没有初始化环境变量,所以库文件没有链接。

【尝试解决方法1】
编写脚本startFireMonitor.sh如下:
export LD_LIBRARY_PATH=/opt/Qtopia/lib:/usr/local/arm_qt/lib:/usr/local/lib
export QTDIR=/opt/Qtopia
export QPEDIR=/opt/Qtopia
export LD_LIBRARY_PATH=/opt/Qtopia/lib:$LD_LIBRARY_PATH
/opt/Qtopia/bin/fireMonitor -qws &

将startFireMonitor放如内存卡,插入板子
执行:
[root@Real210 lib]# cp /mnt/sdcard/startFireMonitor.sh /opt/Qtopia/bin/                
[root@Real210 lib]# vi /etc/init.d/rcS        

注释掉 启动Qtopia的部分
加入: /opt/Qtopia/bin/startFireMonitor.sh //执行启动脚本        

结果失败!启动后没有触屏效果,在环境变量中加入/usr/local/libts/lib后依然失败。
(这里显然是启动脚本没有写好,tslib都环境变量没有生效,对shell不是很了解,有大神指点下么?)
                              
【尝试解决方法2】
不更改rcS中都脚本,直接更改profile中都脚本,在环境变量初始化成功后再运行应用程序。
[root@Real210 lib]# vi /etc/init.d/rcS
注释掉qtopia启动部分
[root@Real210 lib]# vi /etc/profile
加入:
/opt/Qtopia/bin/fireMonitor -qws

成功!但是需要在串口先输入Enter才能启动,所以要解决输入Enter后才能进入都问题。

方法如下:
在/etc/下找到inittab文件(如果没有自己创建一个),使用vi打开。
写入
::sysinit:/etc/init.d/rcS
::respawn:-bin/sh

保存后重启,完成。



开发板设置开机启动程序

分类: linux嵌入式开发   118人阅读  评论(0)  收藏  举报

开发板开机启动,我将程序启动,写到/etc/init.d/rcS中,可以启动控制台程序,但是有一个qt的界面程序启动不了。网上找了一下,发现一篇博客刚好解决这问题,转载过来。

博客原文如下:

我的板子是ok6410,搭载的2.6.36内核,文件系统是按照老师给的文档自己做的,这两天一直在尝试自定义开机启动脚本文件或应用程序,经历多次失败终于在灵光一闪间成功了,这个方法可能不科学,但是可以实现要求:

inittab中要有下面一行:

console::respawn:-/bin/sh

respawn 意思是自动登录,而不是要你先回车它才会登录,这点在设置子启动程序时需要设置成这样

-/bin/sh 的 - 意思是在登录后执行profile

所以我们可以写一个脚本文件:/etc/init.d/rcqt

里面写上一行启动应用程序的命令:/key/qt_gui -qws -wenquanyi

然后在profile 文件中添加这样一行,这样就添加了rcqt这个脚本:

. /etc/init.d/rcqt        //.与 /之间要有空格,意思是将脚本包含进当前脚本

或者:/etc/init.d/rcqt  //意思是直接执行rcqt这个脚本

然后就可以了。

注意:

当然之前如果程序运行所需要的环境变量没有设置你还要设置上:

1.可以就在profile中直接写环境变量;

2.也可以新建其他环境变量脚本然后像本文应用程序一样在profile中添加  新建的那个脚本;

3.或者是把新建的脚本添加进/etc/init.d/rcS(rcS这个脚本是做的登录之前的初始化)

4.我在之前的尝试中曾将挂载模块的脚本,设置临时环境变量的脚本都添加进rcS这个脚本中,都成功了,可就是将执行QT应用程序的那个脚本添加到rcS中就不能正常启动该应用程序,或者直接在rcS中添加/key/qt_gui -qws -wenquanyi 也不能正常启动应用。现在想来也许是qt应用程序需要在系统登录后才能运行吧。所以应该将应用程序从profile 中通过脚本启动或直接启动


我是照着人家这个来的,写一个启动脚本,将脚本放到profile文件中,结果搞定。

 

又出问题了,这个qt的应用程序不登录终端还启动不了。

 

解决了,那个profile可以执行脚本,rcS同样可以执行脚本,编写脚本rc.local,在rcS中添加exec /etc/init.d/rc.local搞定。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值