zedboard--实现软件开机自动运行(运行库的自动加载)(十五)
0赞因为最近一直使用的是zedboard的DEMO的根文件系统,它是用的一块8MB大小的RAM区域,因此,要制作opencv_lib.img和qt_lib.img运行库,这些库无法保存在根文件系统中,这个时候就需要我们在开机的时候动态加载,前面几个实验用的就是手动人工加载了。另外驱动的加载和用户软件一样可以开机自动运行的,具体的做法如下:
(1)备份ramdisk8M.image.gz //我们主要就是修改这个文件系统的一个文件,这个备份让我们有备无患。
(2)启动系统,加载rootfs镜像文件
挂载 mount /dev/mmcblk0p1 /mnt
进入目录 cd mnt/
拷贝 cp /mnt/ramdisk8M.img.gz /tmp/
解压 gunzip /tmp/ramdisk8M.image.gz
挂载 mount -o loop /tmp/ramdisk8M.image /opt/
这样镜像文件就加载到了/opt/ 目录下,可以看下有什么东西
(3) 修改文件
注意这个文件是/etc/init.d/rcS,但是你在修改的时候必须要先加上挂载的目录,这个地方我弄了好久才反应过来,我这里应该是vi /opt//etc/init.d/rcS
在末尾加上 mount /dev/mmcblk0p1 /mnt
加载库 mount /mnt/opencv_lib.img /usr/
加载库 mount /mnt/qt_lib.img /usr/local/Trolltech/QtEmbedded-4.7.3-arm/
然后退出vi,保存,其实上面有个目录是不存在的,要自己去新建好这个目录。
(4)重新打包根文件系统镜像,拷贝到SD卡中覆盖源文件
卸载rootfs镜像目录 umount –l /opt
打包 gzip -9 /tmp/ramdisk8M.image
拷贝 cp /tmp/ramdisk8M.image.gz /mnt
卸载 umount -l /mnt/
这样就做完了所有的工作,重新上电,驱动自动加载,如下图:
可知opencv_lib.img运行库加载进来了
可知qt_lib.img运行库加载进来了,下午转接口就到了,要开始做显示的实验了。