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
Copy file name to clipboardExpand all lines: README.md
+146Lines changed: 146 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -82,6 +82,152 @@ The RB3 Gen2 board boots from UFS by default. To flash a disk image to the UFS s
82
82
```
83
83
The `prog_firehose_ddr.elf` payload is part of the the Yocto Qualcomm Linux image download.
84
84
85
+
### RB1 instructions (alpha)
86
+
87
+
The RB1 board boots from eMMC by default and uses an Android style boot architecture. Read-on to flash a disk image to the eMMC storage of the RB1 board and emulate an UEFI boot architecture.
88
+
89
+
#### Build disk-sdcard.img with debos
90
+
As above, build a SD card image as it's using a 512 sector size, like eMMC on the RB1:
91
+
```bash
92
+
debos \
93
+
--fakemachine-backend qemu \
94
+
--memory 1GiB \
95
+
--scratchsize 4GiB \
96
+
-t xfcedesktop:true \
97
+
debos-recipes/qualcomm-linux-debian-rootfs.yaml
98
+
debos \
99
+
--fakemachine-backend qemu \
100
+
--memory 1GiB \
101
+
--scratchsize 4GiB \
102
+
-t dtb:qcom/qrb2210-rb1.dtb \
103
+
-t imagetype:sdcard \
104
+
debos-recipes/qualcomm-linux-debian-image.yaml
105
+
```
106
+
107
+
#### Build U-Boot with RB1 support
108
+
109
+
U-Boot will be chainloaded from the first Android boot partition.
110
+
111
+
1. install build-dependencies to build U-Boot and to generate Android boot images
1. get the qcom-mainline branch from Sumit Garg's U-Boot repository ([upstream submission](https://patchwork.ozlabs.org/project/uboot/list/?series=451544))
#### Build an upstream Linux kernel to workaround boot issues
131
+
132
+
Linux 6.14 or later will just work, but 6.13 kernels need `CONFIG_CLK_QCM2290_GPUCC=m` ([upstream submission](https://lore.kernel.org/linux-arm-msm/[email protected]/))
133
+
134
+
1. install build-dependencies, get latest kernel (or a stable one)
135
+
```bash
136
+
sudo apt install git flex bison bc libelf-dev libssl-dev
1. download and unpack the [Linux eMMC RB1 recovery image version 23.12 from Linaro](https://releases.linaro.org/96boards/rb1/linaro/rescue/23.12/)
178
+
179
+
1. edit rawprogram0.xml and change the filename for the following partitions to these values to match files generated earlier:
180
+
181
+
|label|filename|
182
+
|---|---|
183
+
|`boot_a`|`u-boot-abootimg.img`|
184
+
|`esp`|`disk-sdcard.img1`|
185
+
|`rootfs`|`disk-sdcard.img2`|
186
+
187
+
#### Flash the image
188
+
189
+
You probably want to connect to the serial port during the whole process, to follow what’s happening on the target. Plug the type-B USB cable to your host and access the serial console with 115200 8N1, e.g. with screen:
190
+
191
+
Linux (tweak the name of the device):
192
+
```bash
193
+
screen /dev/ttyUSB* 115200
194
+
```
195
+
macOS (tweak the name of the device):
196
+
```bash
197
+
screen /dev/cu.usbserial-* 115200
198
+
```
199
+
200
+
Make sure that the 6th switch on the `DIP_SW_1` bank next to the eMMC is `ON` as to use the USB type-C port for flashing.
201
+
202
+
Put the board in "emergency download" mode (EDL) by removing any cable from the USB type-C port, and pressing the `F_DL` button while turning the power on.
203
+
204
+
Connect a cable from the flashing host to the USB type-C port on the board.
0 commit comments