You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A collection of recipes to build Qualcomm Linux images for deb based operating systems. The current focus of this project is to provide mainlinecentric images for Qualcomm® IoT platforms as to demonstrate the state of upstream open source software, help developers getting started, and support continuous development and continuous testing efforts.
7
+
A collection of recipes to build Qualcomm Linux images for deb based operating systems. The current focus of this project is to provide mainline-centric images for Qualcomm® IoT platforms as to demonstrate the state of upstream open source software, help developers getting started, and support continuous development and continuous testing efforts.
8
8
9
9
Initially, this repository provides [debos](https://github.com/go-debos/debos) recipes based on Debian trixie for boards such as the Qualcomm RB3 Gen 2.
10
10
@@ -16,7 +16,7 @@ On standard Linux distros like Debian, firmware updates are generally delivered
16
16
17
17
### Firmware delivery
18
18
19
-
On a Desktop system, its usually GNOME Software which monitors LVFS for any firmware updates and pushes to fwupd if any. On a headless system like most embedded devices, the fwupdmgr commandline tool can be used to monitor LVFS for firmware updates as follows:
19
+
On a Desktop system, it's usually GNOME Software which monitors LVFS for any firmware updates and pushes to fwupd if any. On a headless system like most embedded devices, the fwupdmgr command-line tool can be used to monitor LVFS for firmware updates as follows:
20
20
21
21
```bash
22
22
# Download latest metadata from LVFS
@@ -31,10 +31,10 @@ fwupdmgr update
31
31
32
32
### Firmware on devices supported by Qualcomm Linux
33
33
34
-
The firmware on Qualcomm devices is expected to support UEFI UpdateCapsule plugin for fwupd daemon. However, currently firmware for Qualcomm devices in not available in LVFS which is a work in progress as of now. In order to play with UEFI firmware capsule updates, one can use fwupdtool to locally update firmware like on RB1 as follows:
34
+
The firmware on Qualcomm devices is expected to support UEFI UpdateCapsule plugin for fwupd daemon. However, currently firmware for Qualcomm devices is not available in LVFS which is a work in progress as of now. In order to play with UEFI firmware capsule updates, one can use fwupdtool to locally update firmware like on RB1 as follows:
35
35
36
36
```bash
37
-
# Transfer U-Boot firmware cabinet archive build from scripts/build-u-boot-rb1.sh to RB1
37
+
# Transfer U-Boot firmware cabinet archive built by scripts/build-u-boot-rb1.sh to RB1
38
38
sudo fwupdtool install u-boot.cab
39
39
# It will ask for a reboot for the UEFI firmware capsule update to happen
40
40
```
@@ -86,7 +86,7 @@ To build flashable assets for all supported boards, follow these steps:
86
86
87
87
1. build disk and filesystem images from the root filesystem tarball
# (optional) if you want SD card images or support for eMMC boards, run
@@ -117,7 +117,7 @@ To build flashable assets for all supported boards, follow these steps:
117
117
118
118
### Debos tips
119
119
120
-
By default, debos will try to pick a fast build backend. It will prefer to use its KVM backend (`-b kvm`) when available, and otherwise an UML environment (`-b uml`). If none of these work, a solid backend is QEMU (`-b qemu`). Because the target images are arm64, building under QEMU can be really slow, especially when building from another architecture such as amd64.
120
+
By default, debos will try to pick a fast build backend. It will prefer to use its KVM backend (`-b kvm`) when available, and otherwise a UML environment (`-b uml`). If none of these work, a solid backend is QEMU (`-b qemu`). Because the target images are arm64, building under QEMU can be really slow, especially when building from another architecture such as amd64.
121
121
122
122
To build large images, the debos resource defaults might not be sufficient. Consider raising the default debos memory and scratchsize settings. This should provide a good set of minimum defaults:
A few options are provided in the debos recipes;for the root filesystem recipe:
130
130
- `localdebs`: path to a directory with local deb packages to install (NB: debos expects relative pathnames)
131
-
- `xfcedesktop`: install a Xfce desktop environment; default: console only environment
131
+
- `xfcedesktop`: install an Xfce desktop environment; default: console only environment
132
132
133
133
For the image recipe:
134
-
- `dtb`: override the firmware provided device tree with one from the linux kernel, e.g. `qcom/qcs6490-rb3gen2.dtb`; default: don't override
135
-
- `imagetype`: either `ufs` (the default) or (`sdcard`); UFS images are named disk-ufs.img and use 4096 bytes sectors and SD card images are named disk-sdcard.img and use 512 bytes sectors
136
-
- `imagesize`: set the output disk image size; default: `4.5GiB`
134
+
- `dtb`: override the firmware provided device tree with one from the Linux kernel, e.g. `qcom/qcs6490-rb3gen2.dtb`; default: don't override
135
+
- `imagetype`: either `ufs` (the default) or `sdcard`; UFS images are named disk-ufs.img and use 4096-byte sectors and SD card images are named disk-sdcard.img and use 512-byte sectors
136
+
- `imagesize`: set the output disk image size; default: `4GiB`
137
137
138
138
For the flash recipe:
139
139
- `u_boot_rb1`: prebuilt U-Boot binary for RB1 in Android boot image format -- see below (NB: debos expects relative pathnames)
The `disk-sdcard.img` disk image can simply be written to a SD card, albeit most Qualcomm boards boot from internal storage by default. With an SD card, the board will use boot firmware from internal storage (eMMC or UFS) and do an EFI boot from the SD card if the firmware can't boot from internal storage.
166
+
The `disk-sdcard.img` disk image can simply be written to an SD card, albeit most Qualcomm boards boot from internal storage by default. With an SD card, the board will use boot firmware from internal storage (eMMC or UFS) and do an EFI boot from the SD card if the firmware can't boot from internal storage.
167
167
168
168
For UFS boards, if there is no need to update the boot firmware, the `disk-ufs.img` disk image can also be flashed on the first LUN of the internal UFS storage with [qdl](https://github.com/linux-msm/qdl). Create a `rawprogram-ufs.xml` file as follows:
169
169
```xml
@@ -190,7 +190,7 @@ To enter EDL mode:
190
190
1. connect a cable from the flashing host to the USB type-C port on the board
191
191
1. run qdl to flash the board
192
192
193
-
NB: It's also possible to run qdl from the host while the baord is not connected, and starting the board directly in EDL mode.
193
+
NB: It's also possible to run qdl from the host while the board is not connected, then start the board directly in EDL mode.
0 commit comments