From f8038a27e06ca1bd37f66014435db8dc4410d856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Fri, 5 Dec 2025 19:35:47 +0100 Subject: [PATCH 1/5] fix(debos/flash): Add dtb for RB1 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In the current boot firmware for RB1 images, a DTB is stored in the u-boot binary which then loads the latest version from the ESP. However qcom-ptool was modified to align the partition scheme in anticipation of an upcoming switch to a regular EDK2 based firmware. Generate the dtb.bin with the correct dtb in anticipation of newer ptool and upcoming firmware. Signed-off-by: Loïc Minier --- debos-recipes/qualcomm-linux-debian-flash.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/debos-recipes/qualcomm-linux-debian-flash.yaml b/debos-recipes/qualcomm-linux-debian-flash.yaml index da2cae5..df01a9f 100644 --- a/debos-recipes/qualcomm-linux-debian-flash.yaml +++ b/debos-recipes/qualcomm-linux-debian-flash.yaml @@ -127,6 +127,7 @@ actions: "sha256sum" "c75b6c63eb24c8ca36dad08ba4d4e93f3f4cd7dce60cf1b6dfb5790dc181cc3d" ) "u_boot_file" .u_boot_rb1 + "dtb" "qcom/qrb2210-rb1.dtb" )}} {{- end }} From a247452478a1881d05925b65acfe97da97347f2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Tue, 2 Dec 2025 13:13:40 +0100 Subject: [PATCH 2/5] feat(debos/flash): Update to qcom-ptool 8ed8d47 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This brings support for new platforms and fixes for existing ones, as well as a new build-id flag for contents.xml. No architectural change. Signed-off-by: Loïc Minier --- debos-recipes/qualcomm-linux-debian-flash.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/debos-recipes/qualcomm-linux-debian-flash.yaml b/debos-recipes/qualcomm-linux-debian-flash.yaml index df01a9f..7a36b52 100644 --- a/debos-recipes/qualcomm-linux-debian-flash.yaml +++ b/debos-recipes/qualcomm-linux-debian-flash.yaml @@ -15,7 +15,7 @@ architecture: arm64 actions: - action: download description: Download qcom-ptool - url: https://github.com/qualcomm-linux/qcom-ptool/archive/abf334c24cb24140a8b5c4cc99b633a119244639.tar.gz + url: https://github.com/qualcomm-linux/qcom-ptool/archive/8ed8d47982228e4fe21fdc670318fc083d8e7614.tar.gz name: qcom-ptool filename: qcom-ptool.tar.gz unpack: true From dd188cec031bebe16749412d36e2f09852252841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Wed, 3 Dec 2025 11:32:33 +0100 Subject: [PATCH 3/5] refactor(debos/flash): Use new ptool build id flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Recent ptool versions support passing the build-id when generating contents.xml files, drop our custom logic. Signed-off-by: Loïc Minier --- debos-recipes/qualcomm-linux-debian-flash.yaml | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/debos-recipes/qualcomm-linux-debian-flash.yaml b/debos-recipes/qualcomm-linux-debian-flash.yaml index 7a36b52..0266eb8 100644 --- a/debos-recipes/qualcomm-linux-debian-flash.yaml +++ b/debos-recipes/qualcomm-linux-debian-flash.yaml @@ -295,14 +295,8 @@ actions: if [ -e "$contents" ]; then "${QCOM_PTOOL}/gen_contents.py" -p ptool-partitions.xml \ -t "$contents" \ + -b "{{$buildid}}" \ -o contents.xml - # XXX insert build_id element before windows_root_path; - # this will be nicer to do when gen_contents.py supports - # setting this; see also: - # https://github.com/qualcomm-linux/qcom-ptool/pull/38 - sed -i \ - "/windows_root_path/ i \t\t\t\t{{$buildid}}" \ - contents.xml fi # generate flashing files from qcom-partitions.xml "${QCOM_PTOOL}/ptool.py" -x ptool-partitions.xml From cf30764bbeb0ffb6935413f4f773ca70d2cff2eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Tue, 2 Dec 2025 11:42:46 +0100 Subject: [PATCH 4/5] feat(debos/flash)!: Add support for Lemans EVK MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Also known as IQ-9075 EVK (was RB8). This is based on QCS9100 boot binaries. Signed-off-by: Loïc Minier --- .../qualcomm-linux-debian-flash.yaml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/debos-recipes/qualcomm-linux-debian-flash.yaml b/debos-recipes/qualcomm-linux-debian-flash.yaml index 0266eb8..7b9853f 100644 --- a/debos-recipes/qualcomm-linux-debian-flash.yaml +++ b/debos-recipes/qualcomm-linux-debian-flash.yaml @@ -113,6 +113,27 @@ actions: "cdt_filename" "cdt_ride_sx.bin" "dtb" "qcom/qcs9100-ride-r3.dtb" )}} +{{- $boards = append $boards (dict + "name" "lemans-evk" + "silicon_family" "qcs9075" + "platform" "iq-9075-evk/ufs" + "boot_binaries_download" (dict + "description" "QCS9100 boot binaries" + "url" "https://softwarecenter.qualcomm.com/download/software/chip/qualcomm_linux-spf-1-0/qualcomm-linux-spf-1-0_test_device_public/r1.0_00095.0/qcs9100-le-1-0/common/build/ufs/bin/QCS9100_bootbinaries.zip" + "name" "qcs9100_boot-binaries" + "filename" "qcs9100_boot-binaries.zip" + "sha256sum" "c201c9e966a706c9e76685ff4298f0940958c4d4877299eee1248ef26b809aa0" + ) + "cdt_download" (dict + "description" "QCS9100 RB8 Core Kit CDT" + "url" "https://artifacts.codelinaro.org/artifactory/codelinaro-le/Qualcomm_Linux/QCS9100/cdt/rb8_core_kit.zip" + "name" "qcs9100-rb8-core-kit_cdt" + "filename" "qcs9100-rb8-core-kit_cdt.zip" + "sha256sum" "a252244f800d7c9e15883e12935af4113f9f2ecba6490e46cd9b943169f15bfa" + ) + "cdt_filename" "cdt_rb8_core_kit.bin" + "dtb" "qcom/lemans-evk.dtb" +)}} {{- end }} {{- if eq $build_rb1 "true" }} {{- $boards = append $boards (dict From 8c2709b060a4c6f95ba0d39770cdd76f66025dfb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Minier?= Date: Fri, 5 Dec 2025 19:42:41 +0100 Subject: [PATCH 5/5] refactor(debos/flash): Assume dtb always present MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All boards have a dtb now, drop conditionals. Signed-off-by: Loïc Minier --- debos-recipes/qualcomm-linux-debian-flash.yaml | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/debos-recipes/qualcomm-linux-debian-flash.yaml b/debos-recipes/qualcomm-linux-debian-flash.yaml index 7b9853f..2d246cd 100644 --- a/debos-recipes/qualcomm-linux-debian-flash.yaml +++ b/debos-recipes/qualcomm-linux-debian-flash.yaml @@ -228,13 +228,13 @@ actions: skip_board=true echo "Skipping board {{ $board.name }}: not in target list" fi -{{- if $board.dtb }} - # set skip_board if board has a dtb and dtb isn't present + + # set skip_board if board dtb isn't present if ! grep -Fxq "{{ $board.dtb }}" "${dtbs_file}"; then skip_board=true echo "Skipping board {{ $board.name }}: dtb not available" fi -{{- end }} + # unpack boot binaries mkdir -v build/{{ $board.name }}_boot-binaries @@ -389,7 +389,6 @@ actions: fi {{- end }} - {{- if $board.dtb }} if [ "${skip_board}" = false ]; then # generate a dtb.bin FAT partition with just a single dtb for the # current board; long-term this should really be a set of dtbs and @@ -410,7 +409,6 @@ actions: mcopy -vmp -i "${dtb_bin}" "build/{{ $board.dtb }}" \ ::/combined-dtb.dtb fi - {{- end }} {{- end }} # cleanup