mirror of
https://github.com/linux-msm/qdl.git
synced 2026-10-07 06:29:17 -07:00
40 lines
1.6 KiB
Markdown
40 lines
1.6 KiB
Markdown
# Sahara kickstart for flashless-boot devices (qdl ks)
|
|||
|
|
|
||
|
|
The `qdl ks` ("kickstart") subcommand uses the Sahara protocol to load
|
||
|
|
images from the host to the device. It targets *flashless boot* devices
|
||
|
|
such as the Qualcomm Cloud AI 100, which fetch their runtime firmware
|
||
|
|
from the host on every boot rather than storing it on-device.
|
||
|
|
|
||
|
|
Unlike normal flashing, kickstart stops once Sahara is done: no Firehose
|
||
|
|
programmer is uploaded and nothing is written to storage.
|
||
|
|
|
||
|
|
One argument is required: `-s id:path` registers an image mapping. It
|
||
|
|
may be specified more than once, one mapping per Sahara image id the
|
||
|
|
device may request.
|
||
|
|
|
||
|
|
By default the device is found through the same backends the other
|
||
|
|
subcommands use, so `--backend` and `--serial` select it just as they do
|
||
|
|
when flashing:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl ks -s 13:prog_firehose_ddr.elf
|
||
|
|
```
|
||
|
|
|
||
|
|
Devices that a kernel driver exposes as a node instead - such as the MHI
|
||
|
|
Sahara endpoints - are addressed with `-p`, which is driven with plain
|
||
|
|
open/read/write operations rather than through a backend:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
qdl ks -p /dev/mhi0_QAIC_SAHARA \
|
||
|
|
-s 1:/opt/qti-aic/firmware/fw1.bin \
|
||
|
|
-s 2:/opt/qti-aic/firmware/fw2.bin
|
||
|
|
```
|
||
|
|
|
||
|
|
Because `-p` names the transport outright, it cannot be combined with
|
||
|
|
`--serial` or `--backend`.
|
||
|
|
|
||
|
|
The mapped files do not need to exist at invocation time. If `qdl ks`
|
||
|
|
cannot open a requested file, the device decides the next action. This
|
||
|
|
makes it possible to wire `qdl ks` into a single udev rule that covers
|
||
|
|
multiple device configurations (for example, an optional DDR training
|
||
|
|
image that is only present on some setups).
|