TODO add documentation and build scripts for chroot/rootfs. This is done with livecd-rootfs.
Kernel used is https://git.codelinaro.org/clo/le/canonical-kernel/ubuntu/source/linux-qcom/noble/-/tree/canonical/master-next?ref_type=heads.
This Canonical/Qualcomm 24.04 (Noble) Ubuntu kernel with a bunch of cherry-picks from non-mainline Qualcomm fork.
- WiFi (sometimes doesn't probe)
- BLE (MAC needs to be set on boot with
sudo btmgmt -i hci0 public-addr 11:22:33:44:55:66
, TODO fix) - USB Host
- Main USB port in gadget/peripheral mode by default or in Host mode if manually switched with
echo "host" | sudo tee /sys/kernel/debug/usb/a600000.usb/mode
. Automatic switching doesn't work, something with pmic-glink qupv3fw.elf
firmware loading for i2c/spi/uart peripheral configurations- PCIE
- Modem. It is detected/loads firmware, but crashes with glink issues. To test start
rmtfs.service
- ADB. No prebuilt adbd package and gadget configuration, need to add.
Prerequisite: running normal 20.04 image.
- Flash u-boot/xbl combined binaries, see https://github.com/particle-iot-inc/tachyon-u-boot
- Replace LUN 0
edl --loader=prog_firehose_ddr.elf wf --memory=ufs --lun=0 tachyon-ubuntu-24.04-preview+250412.img
- Reset
edl --loader=prog_firehose_ddr.elf reset
To sum up:
$ edl --loader=prog_firehose_ddr.elf w xbl_a xbl.mbn
$ edl --loader=prog_firehose_ddr.elf w xbl_b xbl.mbn
$ edl --loader=prog_firehose_ddr.elf wf --memory=ufs --lun=0 tachyon-ubuntu-24.04-preview+250412.img
$ edl --loader=prog_firehose_ddr.elf reset