两种系统启动&加载QT库
2016-01-19 12:35
232 查看
在上一篇中我们已经将SD卡分为FAT区和EXT4区,其实EXT4主要是为了实现添加linaro系统用的,因为系统所占用的空间还是比较大的,所以在分区时给它留了比较大的空间。如果我们不需要进行界面化的操作完全可以使用系统镜像来完成,例如在刚出厂的demo中就是使用的8M的系统镜像来完成的。
在这里我们分别介绍一下使用linaro模式和busybox模式1)linaro模式:也就是完整的系统模式,可进行界面化的操作。
分区完成之后需要将linaro系统文件拷贝到EXT4分区:
1.首先是将EXT4分区加载到一个目录下,
Mkdir /home/ganggang/sdcard //新建立一个文件夹
Mount /dev/sdc2 /home/ganggang/sdcard //挂载
2.找到linaro-precise-ubuntu-desktop-20120923-436.tar.gz解压,
(如果使用QT的话,在对应目录下添加自己安装的嵌入式的QT 库,必须与自己的linux系统目录一致!)
3.然后就可以将 binary/boot/filesystem.dir中的所有文件copy到EXT4中了:
Cd 具体路径/binary/boot/filesystem.dir
Sudo rsync -a ./ /home/ganggang/sdcard
过一段时间就会把所有的文件添加到EXT4分区了(包括我们添加的QT库)。
4.在FAT中添加自己的BOOT.bin、devicetree、zimage这样就可启动linaro系统了。
2)busybox模式:命令模式
busybox模式使用的是原厂带的demo,包括devicetree、zimage、ramdisk8M。
然后添加我们自己制作的BOOT.bin就可以启动系统。
这里如果我们要使用QT,需要自己生成qt的镜像文件然后挂载到系统响应的位置。
具体方法:(此处参考懒兔子博客)
cd /usr/local/QT_ARM 源文件路径
dd if=/dev/zero of=qt_lib.img bs=1M count=100 意思是建的镜像的大小是100M,所以复制的时候要根据自己的安装文件大小而定。
mkfs.ext2 -F qt_lib.img
chmod go+w qt_lib.img
mount qt_lib.img -o loop /mnt
cp -rf /usr/local/Trolltech/QtEmbedded-4.8.5-arm/* /mnt 这是安装文件的目录,我们就是要把它制作成镜像文件
chmod go-w qt_lib.img
umount /mnt
到此就完成了。这个镜像文件可以在源文件目录下找到。
然后将它拷贝到FAT分区即可使用。但是这样每一次我们需要手动输入命令将qt_lib挂载到系统相应的位置。
PS:下面是制作开机自启动实现镜像文件的自动挂载:
修改开启自启动的文件就是修改ramdisk8M.image.gz
具体方法:
Mkdir /home/ganggang/sdcard 新建一个文件夹用于挂载sd卡
Mount /dev/mmcblk0p1 /home/ganggang/sdcard
Cd /home/ganggang/sdcard
cp /home/ganggang/sdcard/ramdisk8M.image.gz /tmp/
gunzip /tmp/ramdisk8M.image.gz
mount -o loop /tmp/ramdisk8M.image /mnt/
此时文件系统被挂载在mnt上
修改/etc/init.d/rcS文件,可以看到Demo板的各个外围设备开机配置(如FTP和HTTP服务器等)都是通过这个文件实现的,在文件末尾加入指令,让驱动模块自动加载。
Gedit /mnt/etc/init.d/rcS
在文件倒数第二行添加
mkdir -p /usr/local/Trolltech/QtEmbedded-4.8.5-arm
mount/mnt/qt_lib.img /usr/local/Trolltech/QtEmbedded-4.8.5-arm
如此就可以自动加载qt库的镜像了
相关文章推荐
- QT QComboBox,QFrame,QSpinBox,QColorDialog用法
- Qt右键菜单的添加
- QT 2d各种画图
- QT控制台下学习类
- Qt之美(一):d指针/p指针详解
- QT事件过滤器、事件重载和焦点事件
- 使用Qt制作一个简易计算器
- QT多语言处理(语言国际化)
- Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器客户端(1)-墨卡托投影与坐标控制
- QT Android 调用JAVA代码
- QT类的私有成员变量和函数的隐藏
- QT5.6所开放的7个新模块(图表,虚拟键盘,性能分析,静态分析,测试正好,2D渲染)
- QT、QTE、qtopia、Qtopia Core,Qt Extended,Qt-embedded区别
- s5pv210编译qt
- Qt5音乐播放器
- Qt之MainWindow学习
- QT信号槽机制
- Qt动态库调试方法
- QTabBar关闭按钮图标
- 一种基于Qt的可伸缩的全异步C/S架构server实现(一) 综述