OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统
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
#tslib
cp -ar /usr/local/arm/tslib/lib/* rootfs/usr/lib
cp -ar /usr/local/arm/tslib/bin/* rootfs/usr/bin
cp -ar /usr/local/arm/tslib/etc/* rootfs/etc
cp qt_env.sh rootfs/etc/rc.d/
#QT 4.8.5
mkdir -p rootfs/opt/forlinx_qt4.8/lib/fonts
mkdir -p rootfs/opt/forlinx_qt4.8/bin
cp -ar /usr/local/freescale/qt4.8.5/lib/libQt* rootfs/opt/forlinx_qt4.8/lib
cp -ar /usr/local/freescale/qt4.8.5/lib/fonts/* rootfs/opt/forlinx_qt4.8/lib/fonts
cp -ar /usr/local/freescale/qt4.8.5/demos/embeddeddialogs/embeddeddialogs rootfs/opt/forlinx_qt4.8/bin
#cp app.sh rootfs/etc/rc.d
cp pack-rootfs.sh rootfs
其中,qt_env.sh根据手册的内容改写(手册设备名有误):
#!/bin/sh
##tslib
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/usr/lib/ts
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
##qt4.8.5
export QTDIR=/opt/forlinx_qt4.8
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
export QT_PLUGIN_PATH=$QTDIR/plugins
export QT_QWS_FONTDIR=$QTDIR/lib/fonts
export QWS_MOUSE_PROTO=tslib:/dev/input/event1
export QWS_DISPLAY="linuxfb:mmWidth50:mmHeight130:0"
export QWS_SIZE=800x480
手册中的app.sh没用,因为我也不打算移植飞凌的例程。至于打包生成可烧写的文件的方式有两种:
1)在rootfs/目录下用pack_rootfs.sh脚本在本目录生成rootfs.tar.bz2:
#!/bin/sh
mknod dev/console c 5 1
mknod dev/null c 1 3
mknod dev/tty c 5 0
chmod 666 dev/console
chmod 666 dev/null
chmod 666 dev/tty
chmod 777 etc
chmod 777 tmp
if [ -f ./rootfs.tar.bz2 ]; then
rm rootfs.tar.bz2
fi
tar -jcvf rootfs.tar.bz2 *
2)用脚本make_rootfs.sh在litb生成的rootfs.ext2.gz基础上于litb/目录下生成rootfs.tar.bz2
#make rootfs.tar.bz2
#2017.11.06 by Saviour
gunzip rootfs.ext2.gz
sudo 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程序了。
OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统的更多相关文章
- 【JavaEE】SSH+Spring Security基础上配置AOP+log4j
Spring Oauth2大多数情况下还是用不到的,主要使用的还是Spring+SpringMVC+Hibernate,有时候加上SpringSecurity,因此,本文及以后的文章的example中 ...
- Swift基础之OC文件调用Swift代码(在上次的基础上写的)
前两天刚写过Swift调用OC,今天在原来的基础上,实现OC调用Swift. 首先,创建一个OneSwiftFile.swift文件,创建一个继承于NSObject的类(这个地方你可以自己选择继承的父 ...
- SpringBoot系列——Spring-Data-JPA(究极进化版) 自动生成单表基础增、删、改、查接口
前言 我们在之前的实现了springboot与data-jpa的增.删.改.查简单使用(请戳:SpringBoot系列——Spring-Data-JPA),并实现了升级版(请戳:SpringBoot系 ...
- 如何基于Winform开发框架或混合框架基础上进行项目的快速开发
在开发项目的时候,我们为了提高速度和质量,往往不是白手起家,需要基于一定的基础上进行项目的快速开发,这样可以利用整个框架的生态基础模块,以及成熟统一的开发方式,可以极大提高我们开发的效率.本篇随笔就是 ...
- python实现决策树C4.5算法(在ID3基础上改进)
一.概论 C4.5主要是在ID3的基础上改进,ID3选择(属性)树节点是选择信息增益值最大的属性作为节点.而C4.5引入了新概念"信息增益率",C4.5是选择信息增益率最大的属性作 ...
- 在Bootstrap开发框架基础上增加WebApi+Vue&Element的前端
基于Metronic的Bootstrap开发框架是我们稍早一点的框架产品,界面部分采用较新的Bootstrap技术,框架后台数据库支持Oracle.SqlServer.MySql.PostgreSQL ...
- .net在当前日期的基础上加一天
比如今天是:2015-11-10 18:57:01,在这个基础上加一天,那么就是2015-11-11 18:57:01,代码如下: DateTime now_dt = DateTime.Now; ). ...
- 在cocos code ide的基础上构建自己的lua开发调试环境
对于一种语言,其所谓开发调试环境, 大体有以下两方面的内容: 1.开发, 即代码编写, 主要是代码提示.补齐, 更高级一点的如变量名颜色等. 2.调试, 主要是运行状态下断点.查看变量.堆栈等. 现在 ...
- Android 工程在4.0基础上混淆
Android现在对安全方面要求比较高了,我今天要做的对apk进行混淆,用所有的第三方工具都不能反编译,作者的知识产权得到保障了,是不是碉堡了. 一,首先说明我这是在4.0基础上进行的. 先看看pro ...
随机推荐
- 区分javascript中的toString(),toLocaleString(),valueOf()方法
首先我们随意创建一个对象,这很简单,打开FF浏览器的Firebug切换到控制台或者打开webkit浏览器的审查元素功能. 输入以下内容: var obj1=[1,2,3,4,5] var obj2=[ ...
- C# Excel数据导入到数据库
http://www.jb51.net/article/44743.htm 假如Excel中的数据如下: 数据库建表如下: 其中Id为自增字段: 代码: 复制代码 代码如下: using System ...
- Android与javascript中事件分发机制的简单比较
在前面两篇博客中,我们讨论了Android中的事件分发的相关内容,那么在本篇博客当中,我们就简单探讨一下html或javascript中的事件分发机制,并进行简单的对比. 在前端中,对事件进行绑定有三 ...
- 关于swing的一些问题
-问题1 :Exception in thread "AWT-EventQueue-0" java.lang.ArrayIndexOutOfBoundsException: 1 & ...
- dubbo源码—dubbo简介
dubbo是一个RPC框架,应用方像使用本地service一样使用dubbo service.dubbo体系架构 上图中的角色: 最重要的是consumer.registry和provider con ...
- 线上服务器上安装的VNCServer不能正常工作
1.问题描述: 线上服务器上安装的不能正常工作 2.解决问题过程: 一. 重启vncserver 运行命令:vncserver -kill :1和vncserver :1 二. 发现vncserver ...
- Linux之 网卡发包、接包 error 、droped 情况
1. 查看各个网卡发送.接受包情况oracle@hbdw2:/oratmp2$netstat -niKernel Interface tableIface MTU Met RX-OK RX-ERR R ...
- Talking appsettings.json in Asp.Net Core
在ASP.NET Core中,默认提供了三个运行时环境变量,通过查看Hosting源代码我们可以看到,分别是Development.Staging.Production public static c ...
- 从Unity中的Attribute到AOP(五)
今天主要来讲一下Unity中带Menu的Attribute. 首先是AddComponentMenu.这是UnityEngine命名空间下的一个Attribute. 按照官方文档的说法,会在Compo ...
- H5 调用本地相机并压缩上传(是从angular的ionic项目中截取的)
html部分 <div class="list_upload item bg_white"> <div class="itemImg pic_uploa ...