嵌入式Linux系统下应用程序自启动问题

2019-07-12 14:32发布

这两天为了让液晶屏在开机时可以自动启动界面,我研究了下Linux下应用程序子启动问题。 Linux系统启动时,内核启动完毕,会执行init程序,启动新进程和退出时重新启动其它进程。别的系统我不太清楚,只知道我的系统里,init工作是在/etc/init.d/rcS文件里,直接添加语句就可以了。 rcS会调用/usr/etc/rc.local,所以也可以把应用程序启动的语句加到这里,毕竟usr里放的都是用户相关的东西。 由于我们的平台上还使用了yaffs文件系统,因此在/mnt/yaffs下还有个init.sh的shell文件,在这里也可以初始化的工作。由于yaffs系统是可读写的,我们可以通过网线对init.sh文件进行修改,而不必重新制作烧写文件系统。所以,我在init.sh里进行了IP地址的设置、sd卡驱动的加载、boa服务器的启动、MiniGUI界面程序的启动。 具体代码如下:          #!/bin/sh           ifconfig eth0 172.23.2.225           route add default gw 172.23.2.9 netmask 0.0.0.0           inetd            cd /mnt/yaffs/sdcard; ./inssd.sh           insmod ./iccard/i2c-tomega8.o            cd /mnt/yaffs/boa; ./boa            ln -s /dev/fb/0 /dev/fb0           cd /mnt/yaffs/boa/web; ./coolbar            #version 2410s 1.6             在刚开始尝试的时候,我没有加上橙 {MOD}的语句,在启动时,液晶界面并没有显示出来,超级终端上显示           No available video device.
          NEWGAL: Does not find matched engine: qvfb.
          GDI: Can not get graphics engine information!
          InitGUI failure when using incore resource.
         开始我以为是液晶屏的驱动没有加载的问题,后来经高人指点,才知道是驱动的名称没有对应上,需要建立上面的链接才可以。高人就是高人呐!            这样,在开发平台启动时,就可以直接进入我写的液晶界面上了,感觉很不错的。比在超级终端下自己敲指令要爽多了,呵呵!