Chinaunix首页 | 论坛 | 博客
  • 博客访问: 103605645
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: LINUX

2008-05-04 12:49:03

作者: badgc     出自:
这两天为了让液晶屏在开机时可以自动启动界面,我研究了下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

在刚开始尝试的时候,我没有加上橙色的语句,在启动时,液晶界面并没有显示出来,超级终端上显示

No available video device.
NEWGAL: Does not find matched engine: qvfb.
GDI: Can not get graphics engine information!
InitGUI failure when using incore resource.

开始我以为是液晶屏的驱动没有加载的问题,后来经高人指点,才知道是驱动的名称没有对应上,需要建立上面的链接才可以。高人就是高人呐!

这样,在开发平台启动时,就可以直接进入我写的液晶界面上了,感觉很不错的。比在超级终端下自己敲指令要爽多了。
阅读(330) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~