2011-09-27 11:50:21 +02:00
|
|
|
/****************************************************************************
|
|
|
|
|
**
|
2017-02-21 10:01:34 +01:00
|
|
|
** Copyright (C) 2017 The Qt Company Ltd.
|
2016-01-15 14:51:16 +01:00
|
|
|
** Contact: https://www.qt.io/licensing/
|
2011-09-27 11:50:21 +02:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** This file is part of the Qt Creator documentation.
|
2011-09-27 11:50:21 +02:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** Commercial License Usage
|
|
|
|
|
** Licensees holding valid commercial Qt licenses may use this file in
|
|
|
|
|
** accordance with the commercial license agreement provided with the
|
|
|
|
|
** Software or, alternatively, in accordance with the terms contained in
|
|
|
|
|
** a written agreement between you and The Qt Company. For licensing terms
|
|
|
|
|
** and conditions see https://www.qt.io/terms-conditions. For further
|
|
|
|
|
** information use the contact form at https://www.qt.io/contact-us.
|
2011-09-27 11:50:21 +02:00
|
|
|
**
|
2016-01-15 14:51:16 +01:00
|
|
|
** GNU Free Documentation License Usage
|
2011-09-27 11:50:21 +02:00
|
|
|
** Alternatively, this file may be used under the terms of the GNU Free
|
|
|
|
|
** Documentation License version 1.3 as published by the Free Software
|
2016-01-15 14:51:16 +01:00
|
|
|
** Foundation and appearing in the file included in the packaging of
|
|
|
|
|
** this file. Please review the following information to ensure
|
|
|
|
|
** the GNU Free Documentation License version 1.3 requirements
|
|
|
|
|
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
|
2011-09-27 11:50:21 +02:00
|
|
|
**
|
|
|
|
|
****************************************************************************/
|
|
|
|
|
|
|
|
|
|
// **********************************************************************
|
|
|
|
|
// NOTE: the sections are not ordered by their logical order to avoid
|
|
|
|
|
// reshuffling the file each time the index order changes (i.e., often).
|
|
|
|
|
// Run the fixnavi.pl script to adjust the links to the index order.
|
|
|
|
|
// **********************************************************************
|
|
|
|
|
|
|
|
|
|
/*!
|
2014-03-17 12:18:12 +01:00
|
|
|
\contentspage {Qt Creator Manual}
|
2015-04-24 10:31:27 +02:00
|
|
|
\previouspage creator-deploying-android.html
|
2014-09-03 16:15:40 +02:00
|
|
|
\page creator-deployment-embedded-linux.html
|
2012-06-29 07:23:13 +02:00
|
|
|
\nextpage creator-deployment-qnx.html
|
2011-09-27 11:50:21 +02:00
|
|
|
|
2013-10-09 12:22:20 +02:00
|
|
|
\title Deploying Applications to Embedded Linux Devices
|
2011-09-27 11:50:21 +02:00
|
|
|
|
2013-10-09 12:22:20 +02:00
|
|
|
You can specify settings for deploying applications to generic Linux devices
|
2015-06-18 13:45:04 +02:00
|
|
|
in the project .pro file. You can view the settings in the
|
2014-12-11 15:43:19 +01:00
|
|
|
\uicontrol {Run Settings}.
|
2011-09-27 11:50:21 +02:00
|
|
|
|
2014-09-03 18:20:23 +02:00
|
|
|
\image qtcreator-embedded-linux-deployment-overview.png "Deploy to device"
|
2011-09-27 11:50:21 +02:00
|
|
|
|
2014-12-11 15:43:19 +01:00
|
|
|
The files to be installed are listed in the \uicontrol {Deployment} step,
|
|
|
|
|
the \uicontrol {Files to deploy} field. The \uicontrol {Local File Path}
|
2011-09-27 11:50:21 +02:00
|
|
|
field displays the location of the file on the development PC. The
|
2014-12-11 15:43:19 +01:00
|
|
|
\uicontrol {Remote Directory} field displays the folder where the file is
|
2011-09-27 11:50:21 +02:00
|
|
|
installed on the device. Text in red color indicates that the information is
|
2015-06-18 13:45:04 +02:00
|
|
|
missing. Edit the qmake \l{Variables#installs} {INSTALLS variable} in the
|
|
|
|
|
project \c .pro file to add the missing files.
|
2011-09-27 11:50:21 +02:00
|
|
|
|
2012-04-12 14:33:49 +02:00
|
|
|
When you run the application, \QC copies the necessary files to the device
|
|
|
|
|
and starts the application on it.
|
|
|
|
|
|
2013-03-07 22:40:20 +01:00
|
|
|
For example, adding
|
|
|
|
|
|
|
|
|
|
\code
|
|
|
|
|
target.path = /root
|
|
|
|
|
INSTALLS += target
|
|
|
|
|
\endcode
|
|
|
|
|
|
|
|
|
|
to the project .pro file will copy the binary of your project to \c /root
|
|
|
|
|
on the remote device. Additional files can be deployed by adding them to
|
|
|
|
|
further targets and adding those to \c INSTALLS as well.
|
|
|
|
|
|
2012-04-12 14:33:49 +02:00
|
|
|
\section1 Deploying on Embedded Linux
|
|
|
|
|
|
2014-09-03 18:20:23 +02:00
|
|
|
\image qtcreator-embedded-linux-deployment-details.png "Deploy to embedded Linux"
|
2012-04-12 14:33:49 +02:00
|
|
|
|
2015-06-18 13:45:04 +02:00
|
|
|
When you run the application on the \uicontrol {Embedded Linux} device, \QC
|
|
|
|
|
deploys the application as specified by the deploy steps. By default, \QC
|
|
|
|
|
copies the application files to the device by using the SSH file transfer
|
|
|
|
|
protocol (SFTP), as specified by the \uicontrol {Upload files via SFTP}
|
2012-04-12 14:33:49 +02:00
|
|
|
step.
|
|
|
|
|
|
2014-12-11 15:43:19 +01:00
|
|
|
If you have a lot of data to copy, select \uicontrol Details in the
|
|
|
|
|
\uicontrol {Upload Files via SFTP} step, and then select the
|
2015-06-18 13:45:04 +02:00
|
|
|
\uicontrol {Incremental deployment} check box. \QC takes note of the
|
|
|
|
|
deployment time and only copies files that have changed since the last
|
|
|
|
|
deployment. However, when you make major changes on the device, such as
|
|
|
|
|
removing files from the device manually or flashing a new disk image, or
|
|
|
|
|
when you use another device with the same IP address, deselect the check box
|
|
|
|
|
once, to have \QC deploy all files again.
|
2012-04-12 14:33:49 +02:00
|
|
|
|
|
|
|
|
To only create a tarball and not copy the files to the device, select
|
2015-06-18 13:45:04 +02:00
|
|
|
\uicontrol {Add Deploy Step} > \uicontrol {Create tarball}. Then remove all
|
|
|
|
|
other deploy steps.
|
2012-04-12 14:33:49 +02:00
|
|
|
|
2014-12-11 15:43:19 +01:00
|
|
|
The \uicontrol {Deploy tarball via SFTP upload} step specifies that \QC
|
2012-04-12 14:33:49 +02:00
|
|
|
uploads the tarball to the device and extracts it.
|
|
|
|
|
|
2015-06-18 13:45:04 +02:00
|
|
|
The \uicontrol {Check for free disk space} step is by default the first
|
|
|
|
|
deploy step. Use it to find out whether the remote file system has enough
|
|
|
|
|
space left to deploy your project. Errors due to lack of disk space can
|
|
|
|
|
otherwise be hard to detect.
|
2014-09-03 18:20:23 +02:00
|
|
|
|
2015-06-18 13:45:04 +02:00
|
|
|
\note If the SFTP upload fails, make sure that the remote device has SFTP
|
|
|
|
|
enabled in its SSH daemon. Some versions of Dropbear that come without SFTP
|
|
|
|
|
support will crash when an SFTP upload is being attempted. This is not a bug
|
|
|
|
|
in \QC.
|
2013-03-07 22:40:20 +01:00
|
|
|
|
2017-02-21 10:01:34 +01:00
|
|
|
\include creator-projects-cmake-deploying.qdocinc cmake deploying embedded
|
|
|
|
|
|
2011-09-27 11:50:21 +02:00
|
|
|
*/
|