文档章节

手动部署QtSylixOS的方法

z
 zhywxyy
发布于 2017/09/12 10:21
字数 1292
阅读 2
收藏 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
博文 15
码字总数 22693
作品 0
南京
手动部署QtSylixOS的方法

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

zhywxyy ⋅ 2017/09/12 ⋅ 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

ceph手动部署问题

@codingjava 你好,想跟你请教个问题: 你ceph手动部署成功了吗?有没有手动部署的文档,借来参考下,我准备手动部署一次。 目前官网上不去,无法参考。谢谢。。。

shadowalker911 ⋅ 2015/03/04 ⋅ 3

没有更多内容

加载失败,请刷新页面

加载更多

下一页

6.1 压缩打包介绍 6.2 gzip压缩工具 6.3 bzip2压缩工具 6.4 xz压缩工具

压缩打包介绍 使用压缩工具的好处: 使用压缩文件,不仅可以节省磁盘空间,而且在传输时还能节省网络宽带。 我们通常讲的家用宽带和机房宽带100M是有区别的: 机房宽带的上行和下行都是100M,...

Linux_老吴 ⋅ 33分钟前 ⋅ 0

SpringBoot热部署加持

概述 进行SpringBoot的Web开发过程中,我们很多时候经常需要重启Web服务器才能保证修改的 源代码文件、或者一些诸如xml的配置文件、以及一些静态文件生效,这样耗时又低效。所谓的热部署指的...

CodeSheep ⋅ 40分钟前 ⋅ 0

OSChina 周六乱弹 —— 假如你被熊困到树上

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @小小编辑:推荐歌曲《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》 《如果写不出好的和弦就该在洒满阳光的钢琴前一起吃布丁》- 谢...

小小编辑 ⋅ 今天 ⋅ 5

vbs 取文件大小 字节

dim namedim fs, s'name = Inputbox("姓名")'msgbox(name)set fs = wscript.createobject("scripting.filesystemobject") 'fs为FSO实例if (fs.folderexists("c:\temp"))......

vga ⋅ 今天 ⋅ 1

高并发之Nginx的限流

首先Nginx的版本号有要求,最低为1.11.5 如果低于这个版本,在Nginx的配置中 upstream web_app { server 到达Ip1:端口 max_conns=10; server 到达Ip2:端口 max_conns=10; } server { listen ...

算法之名 ⋅ 今天 ⋅ 0

Spring | IOC AOP 注解 简单使用

写在前面的话 很久没更新笔记了,有人会抱怨:小冯啊,你是不是在偷懒啊,没有学习了。老哥,真的冤枉:我觉得我自己很菜,还在努力学习呢,正在学习Vue.js做管理系统呢。即便这样,我还是不...

Wenyi_Feng ⋅ 今天 ⋅ 0

博客迁移到 https://www.jianshu.com/u/aa501451a235

博客迁移到 https://www.jianshu.com/u/aa501451a235 本博客不再更新

为为02 ⋅ 今天 ⋅ 0

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部