mirror of
https://github.com/linux-msm/qdl.git
synced 2026-10-07 06:29:17 -07:00
73 lines
2.2 KiB
Markdown
73 lines
2.2 KiB
Markdown
# Installer packages and contents.xml
|
|||
|
|
|
||
|
|
## Flashing installer packages
|
||
|
|
|
||
|
|
If you have an installer package instead of individual binaries and XML
|
||
|
|
definitions, you can flash this using the *flash* subcommand:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl flash <installer.zip>
|
||
|
|
```
|
||
|
|
|
||
|
|
If the *installer package* is unpacked it can be installed as:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl flash flashmap.json
|
||
|
|
```
|
||
|
|
|
||
|
|
These can of course be combined with e.g. *--serial*.
|
||
|
|
|
||
|
|
A subset of the installer package can be selected for installation by appending
|
||
|
|
a **::storage1[,storage2...]** suffix to the file name.
|
||
|
|
|
||
|
|
If a flashmap contains multiple layouts, select the desired layout by appending
|
||
|
|
**::layout-name**. The layout selector can be combined with storage filters
|
||
|
|
using **::layout-name/storage1[,storage2...]**, for example:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl flash installer.zip::layout1/ufs
|
||
|
|
```
|
||
|
|
|
||
|
|
## Flashing contents.xml
|
||
|
|
|
||
|
|
QDL also supports flashing builds described by *contents.xml* files:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl flash contents.xml
|
||
|
|
```
|
||
|
|
|
||
|
|
As the contents XML can describe the content for multiple storage types and
|
||
|
|
multiple flavors, it might be necessary to select which content to flash. This
|
||
|
|
is done by appending the **::specifier1,specifier2...** suffix to the file
|
||
|
|
name. The specifier is matched against **storage types** and **flavors**. At
|
||
|
|
most one resolved specifier per storage is allowed, and only the selected parts
|
||
|
|
are flashed. As an example:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl flash contents.xml::ufs,safe_rtos
|
||
|
|
```
|
||
|
|
|
||
|
|
will flash the UFS storage with the only applicable flavor, and will flash
|
||
|
|
*safe_rtos* onto the spinor.
|
||
|
|
|
||
|
|
## Creating installer packages
|
||
|
|
|
||
|
|
QDL can also create installer packages from builds described by *contents.xml*
|
||
|
|
files. The generated zip contains a `flashmap.json`, the selected programmer
|
||
|
|
images, and the referenced rawprogram, patch, and image files:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl create-zip installer.zip contents.xml
|
||
|
|
```
|
||
|
|
|
||
|
|
When the contents XML describes multiple storage or flavor combinations, select
|
||
|
|
the desired content with the same `::specifier1,specifier2...` suffix used for
|
||
|
|
flashing contents XML files:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl create-zip installer-ufs.zip contents.xml::ufs
|
||
|
|
```
|
||
|
|
|
||
|
|
The resulting archive can be flashed later with `qdl flash installer.zip`.
|
||
|
|
Creating and flashing zip archives requires QDL to be built with libzip support,
|
||
|
|
which is enabled by default.
|