文档章节

手动部署QtSylixOS的方法

z
 zhywxyy
发布于 2017/09/12 10:20
字数 1292
阅读 1
收藏 0
点赞 0
评论 0

1. 适用范围

        本文档介绍了QtSylixOS相关库文件和应用程序手动部署的方法。

        实际开发过程中,有些板卡无网络功能,此时需要手动对QtSylixOS的库文件和应用程序进行部署。

        本文介绍的是通过U盘或SD卡将QtSylixOS部署到以Nand Flash为根文件系统的设备中。

 

2. QtSylixOS需要部署的文件

        QtSylixOS部署的文件都位于Qt安装路径的"Qt\qtcreator-3.4.0\SylixOS\sdk"中,如图 2.1所示。

图 2.1 QtSylixOS安装目录下的sdk文件夹

        以armv7架构的处理器为例,其使用的sdk版本为armv7-sylixos-qt-4.8.7。如图 2.2所示,在"Qt\qtcreator-3.4.0\SylixOS\sdk\fs"目录下有需要部署的文件。

图 2.2需要部署的fs目录

        fs目录对应目标板卡上的"/"目录,所以fs目录下的apps,etc,qt分别与目标板卡上的"/apps","/etc","/qt"目录对应。

 

3. 部署步骤

 

3.1 拷贝fs目录

 

        首先将U盘或SD卡接入PC,拷贝fs目录至U盘或SD中。

 

3.2 拷贝Base库

        应用程序运行时会依赖Base工程中如表 3.1所示的文件。

表 3.1 Base工程需要拷贝的库文件

 

名称 路径
libcextern.so Base/libcextern/Release/strip/libcextern.so
env Base/libsylixos/Release/strip/env
libvpmpdm.so Base/libsylixos/Release/strip/libvpmpdm.so
xinput.ko Base/libsylixos/Release/strip/xinput.ko
xsiipc.ko Base/libsylixos/Release/strip/xsiipc.ko

 

      在fs同目录下建立base文件夹,将以上文件拷贝至base文件夹中。

        以上两步结束后,U盘或SD卡目录下应该有如图 3.1所示的两个文件夹。

图 3.1拷贝结束后的目录

3.3 创建自动拷贝脚本

       在fs目录同一层级中,创建copy.sh脚本文件,并在copy.sh中键入如程序清单 4.1所示的内容。

 

3.4 目标板卡挂载U盘或SD卡

       将U盘或SD卡接入目标板卡,SylixOS会自动做挂载。

 

3.5 执行拷贝脚本

       进入挂载后的U盘或SD卡目录,一般为/media/sdcardX(X为0…n)或/media/udiskX(X为0…n),使用shfile copy.sh命令执行拷贝脚本。

 

4. 拷贝脚本内容

程序清单 4.1拷贝脚本

 

mkdir /apps
mkdir /apps/mousecalibration
cp –rf fs/apps/mousecalibration/mousecalibration /apps/mousecalibration/.
mkdir /etc
cp –rf fs/etc/fs_init.sh /etc/fs_init.sh
cp –rf fs/etc/fs_no_symlink_init.sh /etc/fs_no_symlink_init.sh
cp –rf fs/etc/pointercal /etc/pointercal
cp –rf fs/etc/qtcp_4.8.7.sh /etc/qtcp_4.8.7.sh
cp –rf fs/etc/qtenv.sh /etc/qtenv.sh
cp –rf fs/etc/qtln_4.8.7.sh /etc/qtln_4.8.7.sh
cp –rf fs/etc/startup.sh /etc/startup.sh
mkdir /qt
mkdir /qt/lib
mkdir /qt/lib/fonts
cp –rf fs/qt/lib/fonts/DejaVuSans.ttf /qt/lib/fonts/DejaVuSans.ttf
cp –rf fs/qt/lib/libQt3Support.so.4.8.7 /qt/lib/libQt3Support.so.4.8.7
cp –rf fs/qt/lib/libQtCLucene.so.4.8.7 /qt/lib/libQtCLucene.so.4.8.7
cp –rf fs/qt/lib/libQtCore.so.4.8.7 /qt/lib/libQtCore.so.4.8.7
cp –rf fs/qt/lib/libQtDeclarative.so.4.8.7 /qt/lib/libQtDeclarative.so.4.8.7
cp –rf fs/qt/lib/libQtDesigner.so.4.8.7 /qt/lib/libQtDesigner.so.4.8.7
cp –rf fs/qt/lib/libQtDesignerComponents.so.4.8.7 /qt/lib/.
cp –rf fs/qt/lib/libQtGui.so.4.8.7 /qt/lib/libQtGui.so.4.8.7
cp –rf fs/qt/lib/libQtHelp.so.4.8.7 /qt/lib/libQtHelp.so.4.8.7
cp –rf fs/qt/lib/libQtMultimedia.so.4.8.7 /qt/lib/libQtMultimedia.so.4.8.7
cp –rf fs/qt/lib/libQtNetwork.so.4.8.7 /qt/lib/libQtNetwork.so.4.8.7
cp –rf fs/qt/lib/libQtScript.so.4.8.7 /qt/lib/libQtScript.so.4.8.7
cp –rf fs/qt/lib/libQtScriptTools.so.4.8.7 /qt/lib/libQtScriptTools.so.4.8.7
cp –rf fs/qt/lib/libQtSerialPort.so.1.0.0 /qt/lib/libQtSerialPort.so.1.0.0
cp –rf fs/qt/lib/libQtSql.so.4.8.7 /qt/lib/libQtSql.so.4.8.7
cp –rf fs/qt/lib/libQtSvg.so.4.8.7 /qt/lib/libQtSvg.so.4.8.7
cp –rf fs/qt/lib/libQtTest.so.4.8.7 /qt/lib/libQtTest.so.4.8.7
cp –rf fs/qt/lib/libQtWebKit.so.4.9.4 /qt/lib/libQtWebKit.so.4.9.4
cp –rf fs/qt/lib/libQtXml.so.4.8.7 /qt/lib/libQtXml.so.4.8.7
cp –rf fs/qt/lib/libQtXmlPatterns.so.4.8.7 /qt/lib/libQtXmlPatterns.so.4.8.7
cp –rf fs/qt/lib/libqwt.so.6.1.2 /qt/lib/libqwt.so.6.1.2
cp –rf base/libvpmpdm.so /lib/libvpmpdm.so
mkdir /lib/modules/
mkdir /usr/bin
cp –rf base/xinput.ko /lib/modules/xinput.ko
cp –rf base/xsiipc.ko /lib/modules/xsiipc.ko
cp –rf base/env /usr/bin/env
cp –rf base/libcextern.so /lib/libcextern.so
mkdir /qt/plugins/
mkdir /qt/plugins/accessible
cp –rf fs/qt/plugins/accessible/libqtaccessiblecompatwidgets.so /qt/plugins/accessible/.
cp –rf fs/qt/plugins/accessible/libqtaccessiblewidgets.so /qt/plugins/accessible/.
mkdir /qt/plugins/bearer
cp –rf fs/qt/plugins/accessible/libqgenericbearer.so /qt/plugins/bearer/.
mkdir /qt/plugins/designer
cp –rf fs/qt/plugins/accessible/libcontainerextension.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libcustomwidgetplugin.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libqdeclarativeview.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libqt3supportwidgets.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libqwebview.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libtaskmenuextension.so /qt/plugins/designer/.
cp –rf fs/qt/plugins/accessible/libworldtimeclockplugin.so /qt/plugins/designer/.
mkdir /qt/plugins/iconengines
cp –rf fs/qt/plugins/iconengines/libqsvgicon.so /qt/plugins/iconengines/.
mkdir /qt/plugins/imageformats
cp –rf fs/qt/plugins/imageformats/libqgif.so /qt/plugins/libqgif/.
cp –rf fs/qt/plugins/imageformats/libqico.so /qt/plugins/libqico/.
cp –rf fs/qt/plugins/imageformats/libqjpeg.so /qt/plugins/libqjpeg/.
cp –rf fs/qt/plugins/imageformats/libqmng.so /qt/plugins/libqmng/.
cp –rf fs/qt/plugins/imageformats/libqsvg.so /qt/plugins/libqsvg/.
cp –rf fs/qt/plugins/imageformats/libqtga.so /qt/plugins/libqtga/.
cp –rf fs/qt/plugins/imageformats/libqtiff.so /qt/plugins/libqtiff/.
mkdir /qt/plugins/qmltooling
cp –rf fs/qt/plugins/qmltooling/libqmldbg_inspector.so /qt/plugins/qmltooling/.
cp –rf fs/qt/plugins/qmltooling/libqmldbg_tcp.so /qt/plugins/qmltooling/.
mkdir /qt/qml/
mkdir /qt/qml/Qt/
mkdir /qt/qml/Qt/labs/
mkdir /qt/qml/Qt/labs/folderlistmodel
cp –rf fs/qt/qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.so /qt/qml/Qt/labs/folderlistmodel/.
cp –rf fs/qt/qml/Qt/labs/folderlistmodel/qmldir /qt/qml/Qt/labs/folderlistmodel/.
mkdir /qt/qml/Qt/labs/gestures
cp –rf fs/qt/qml/Qt/labs/gestures/libqmlgesturesplugin.so /qt/qml/Qt/labs/gestures/.
cp –rf fs/qt/qml/Qt/labs/gestures/qmldir /qt/qml/Qt/labs/gestures/.
mkdir /qt/qml/Qt/labs/particles
cp –rf fs/qt/qml/Qt/labs/particles/libqmlparticlesplugin.so /qt/qml/Qt/labs/particles/.
cp –rf fs/qt/qml/Qt/labs/particles/qmldir /qt/qml/Qt/labs/particles/.
mkdir /qt/qml/QtWebKit/
cp –rf fs/qt/qml/QtWebKit/libqmlwebkitplugin.so /qt/qml/QtWebKit/.
cp –rf fs/qt/qml/QtWebKit/qmldir /qt/qml/QtWebKit/.

 

© 著作权归作者所有

共有 人打赏支持
z
粉丝 1
博文 14
码字总数 22148
作品 0
南京
手动部署QtSylixOS的方法

1. 适用范围 本文档介绍了QtSylixOS相关库文件和应用程序手动部署的方法。 实际开发过程中,有些板卡无网络功能,此时需要手动对QtSylixOS的库文件和应用程序进行部署。 本文介绍的是通过U盘...

zhywxyy ⋅ 2017/09/12 ⋅ 0

SylixOS的RealEvo-IDE调试方法

1 适用范围 本文档适用于已熟悉SylixOS并且使用RealEvo-IDE进行开发调试的技术工程师。 2 概述 SylixOS 实现了一个功能强大的调试stub,可在设备或模拟器上在线调试应用程序,RealEvo-IDE也提...

Jackstraw瑞 ⋅ 2017/03/13 ⋅ 0

项目中js文件修改后浏览器不能及时更新的解决办法

现在就分别把IE,firefox,chrome中解决办法贴出来供大家参考: 1.firefox(火狐浏览器)解决问题 第一步,在浏览器中敲入:about:config ,然后回车 第二步,在显示出的内容中找到下面的列表...

码上中国博客 ⋅ 2015/05/06 ⋅ 12

Tomcat项目部署—动态部署

之前在网上搜索过很多Tomcat项目部署的方法,在我们真正部署商用项目时,并不单单像我们平常练习时直接把目录放到webapps下即可。如何在不重启tomcat的前提下进行部署?如何在Linux这种权限操...

chace0120 ⋅ 2014/06/05 ⋅ 9

Jenkins持续集成案例之-运维部署方式

大家在运维过程中,网站部署是运维的工作之一,中小型公司传统网站部署的流程大致分为如下方法: 需求分析—原型设计—开发代码—提交测试—内网部署—确认上线—备份数据—外网更新-最终测试...

wgkgood ⋅ 2017/02/21 ⋅ 0

rsync服务的使用

这次我把rsync服务使用在了web前端网站的提测、测试和更新方面。先介绍流程和配置。 1. 前提 网站上线流程太过原始:前端研发提测,邮件将提测文件打包给测试--->测试手动上传文件到测试环境...

pesen ⋅ 2013/03/08 ⋅ 0

2014/10/30 安装 CoreOS

安装 CoreOS 的途径有很多,这里不列举,详见官网。我现在安装 CoreOS 的目的是为了体验,所以选择最简单的方式:VMware OVF 模板。ISO 方式需要编写 cloud-config.yml,坑还是挺多的。用 VM...

编走编想 ⋅ 2014/10/30 ⋅ 0

Intellij IDEA 配置 JRebel 自动热部署

在Java Web开发中,更新了Java文件后,一般要手动进行Compile->Redeploy(或重启)这两个步骤,浪费不少生命。虽然最新的Intellij IDEA13已经支持热部署,不过依然需要按键。而对于效率至上者,...

冰Jet ⋅ 2014/11/30 ⋅ 0

Jenkins与网站代码上线解决方案

1.1 前言 Jenkins是一个用Java编写的开源的持续集成工具。在与Oracle发生争执后,项目从Hudson项目独立。 Jenkins提供了软件开发的持续集成服务。它运行在Servlet容器中(例如Apache Tomcat...

侯召顺 ⋅ 2017/12/01 ⋅ 0

Mycat连接数据库之后导致表名全小写的问题分析研究

初步研究:通过部署发现在Mycat中部署逻辑表表名大小写混合时,在Mycat连接后出现全变小。容易造成错误逻辑表(按混合表名创建物理表); 可能拯救的方法: 1、Linux下部署安装MySQL,默认不...

easonjim ⋅ 2017/08/25 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 14分钟前 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 18分钟前 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 18分钟前 ⋅ 0

IT行业的变革就像世界杯德国对战墨西哥一样难以预测[图]

最近在观看世界杯,尤其是昨天的比赛,上一届卫冕冠军德国队居然0:1告负墨西哥,这创造了历史,首先是墨西哥从来没赢过德国队,其次是德国队36年来首站没输过,再差也是打平,而这次,德国队...

原创小博客 ⋅ 37分钟前 ⋅ 0

解决CentOS6、7,/etc/sysconfig/下没有iptables的问题

一、Centos 6版本解决办法: 1.任意运行一条iptables防火墙规则配置命令: iptables -P OUTPUT ACCEPT 2.对iptables服务进行保存: service iptables save 3.重启iptables服务: service ...

寰宇01 ⋅ 47分钟前 ⋅ 2

数据库备份和恢复

备份:mysqldump -u root -p 数据库>磁盘路径 恢复:mysql -u root -p 数据库<sql脚本的磁盘路径

anlve ⋅ 今天 ⋅ 0

发生了什么?Linus 又发怒了?

在一个 Linux 内核 4.18-rc1 的 Pull Request 中,开发者 Andy Shevchenko 表示其在对设备属性框架进行更新时,移除了 union 别名,这引发了 Linus 的暴怒。 这一次 Linus Torvalds 发怒的原...

问题终结者 ⋅ 今天 ⋅ 0

在树莓派上搭建一个maven仓库

在树莓派上搭建一个maven仓库 20180618 lambo init 项目说明 家里有台树莓派性能太慢。想搭建一个maven私服, 使用nexus或者 jfrog-artifactory 运行的够呛。怎么办呢,手写一个吧.所在这个...

林小宝 ⋅ 今天 ⋅ 0

Spring发展历程总结

转自与 https://www.cnblogs.com/RunForLove/p/4641672.html 目前很多公司的架构,从Struts2迁移到了SpringMVC。你有想过为什么不使用Servlet+JSP来构建Java web项目,而是采用SpringMVC呢?...

onedotdot ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部