Files
qdl/docs/kickstart.md
Igor Opaniuk fa60a80e42 doc: move specialised README sections into docs/
The README had grown into one long page where the basic flashing
workflow was buried between VIP, multi-programmer, ramdump, kickstart,
WSL2 and raw sector guides. Keep only the generic material in the
README and move each specialised workflow into its own file under
docs/, linked from a new "Documentation" index. The moved text is
unchanged apart from heading levels and two cross-references.

Signed-off-by: Igor Opaniuk <igor.opaniuk@oss.qualcomm.com>
2026-09-29 17:59:54 +02:00

41 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).