博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统
阅读量:4311 次
发布时间:2019-06-06

本文共 2209 字,大约阅读时间需要 7 分钟。

ltib每次执行后会在其目录下生成rootfs目录,并以其为基础生成rootfs.ext2.gz文件,而litb自带的QT库又太老,所以想到按照飞凌的《OKMX6X-S2-Qt4.8.5移植手册-V1.1-2016-08-18.pdf》进行QT库的移植,在飞凌的ubuntu虚拟机里libts和QT都已经解压并放到对应的目录了,所以剩下的工作就是把相应的文件和脚本放到rootfs/目录并生成新的根文件系统。(注意手册有多处空格笔误,以及目录名前后矛盾——qt4.8.5/和forlinx_qt4.8/)。自己写了个脚本qt_rootfs.sh,用来把QT相关的库文件放到rootfs目录:

#config tslib and QT4.8.5 in rootfs#by Saviour 2017.12.11#tslibcp -ar /usr/local/arm/tslib/lib/* rootfs/usr/libcp -ar /usr/local/arm/tslib/bin/* rootfs/usr/bincp -ar /usr/local/arm/tslib/etc/* rootfs/etccp qt_env.sh rootfs/etc/rc.d/#QT 4.8.5mkdir -p rootfs/opt/forlinx_qt4.8/lib/fontsmkdir -p rootfs/opt/forlinx_qt4.8/bincp -ar /usr/local/freescale/qt4.8.5/lib/libQt* rootfs/opt/forlinx_qt4.8/libcp -ar /usr/local/freescale/qt4.8.5/lib/fonts/* rootfs/opt/forlinx_qt4.8/lib/fontscp -ar /usr/local/freescale/qt4.8.5/demos/embeddeddialogs/embeddeddialogs rootfs/opt/forlinx_qt4.8/bin#cp app.sh rootfs/etc/rc.dcp pack-rootfs.sh rootfs

其中,qt_env.sh根据手册的内容改写(手册设备名有误):

#!/bin/sh##tslibexport TSLIB_TSDEVICE=/dev/input/event1export TSLIB_CONFFILE=/etc/ts.confexport TSLIB_PLUGINDIR=/usr/lib/tsexport POINTERCAL_FILE=/etc/pointercalexport TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0##qt4.8.5export QTDIR=/opt/forlinx_qt4.8export PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHexport QT_PLUGIN_PATH=$QTDIR/pluginsexport QT_QWS_FONTDIR=$QTDIR/lib/fontsexport QWS_MOUSE_PROTO=tslib:/dev/input/event1export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"export QWS_SIZE=800x480

手册中的app.sh没用,因为我也不打算移植飞凌的例程。至于打包生成可烧写的文件的方式有两种:

1)在rootfs/目录下用pack_rootfs.sh脚本在本目录生成rootfs.tar.bz2:

#!/bin/shmknod dev/console c 5 1mknod dev/null c 1 3mknod dev/tty c 5 0chmod 666 dev/consolechmod 666 dev/nullchmod 666 dev/ttychmod 777 etcchmod 777 tmpif    [ -f ./rootfs.tar.bz2 ]; then    rm rootfs.tar.bz2fitar -jcvf rootfs.tar.bz2 *

2)用脚本make_rootfs.sh在litb生成的rootfs.ext2.gz基础上于litb/目录下生成rootfs.tar.bz2

#make rootfs.tar.bz2#2017.11.06 by Saviourgunzip rootfs.ext2.gzsudo mount -o loop -t ext2 rootfs.ext2 tool/cd tool/sudo tar -jcvf ../rootfs.tar.bz2 *cd ..sudo umount tool

开机之后到/etc/rc.d/执行source qt_env.sh就可以运行QT程序了。

转载于:https://www.cnblogs.com/cola-fish/p/8312868.html

你可能感兴趣的文章
[效率提升]如何管理好你的电脑文件
查看>>
C++实验二
查看>>
Sultan's Dowry Problem - 苏丹新娘问题
查看>>
SharePoint2010 富文本框添加图片功能的扩展
查看>>
零零碎碎的知识
查看>>
UNIX基础--用户和基本账户管理
查看>>
设计模式
查看>>
5.0以上机器XPOSED框架安装流程
查看>>
静态方法与非静态方法
查看>>
注释,字符串
查看>>
性能瓶颈
查看>>
cmd 导入数据库
查看>>
Makefile书写注意事项--个人择记(一)
查看>>
文件转码重写到其他文件
查看>>
场景3 Data Management
查看>>
树结构练习——排序二叉树的中序遍历
查看>>
AC自动机模板
查看>>
python 基本语法
查看>>
Swift - 点击箭头旋转
查看>>
git配置
查看>>