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
@@ -105,6 +105,152 @@ To enter EDL mode:
105
105
106
106
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.
107
107
108
+
### RB1 instructions (alpha)
109
+
110
+
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.
111
+
112
+
#### Build disk-sdcard.img with debos
113
+
As above, build a SD card image as it's using a 512 sector size, like eMMC on the RB1:
114
+
```bash
115
+
debos \
116
+
--fakemachine-backend qemu \
117
+
--memory 1GiB \
118
+
--scratchsize 4GiB \
119
+
-t xfcedesktop:true\
120
+
debos-recipes/qualcomm-linux-debian-rootfs.yaml
121
+
debos \
122
+
--fakemachine-backend qemu \
123
+
--memory 1GiB \
124
+
--scratchsize 4GiB \
125
+
-t dtb:qcom/qrb2210-rb1.dtb \
126
+
-t imagetype:sdcard\
127
+
debos-recipes/qualcomm-linux-debian-image.yaml
128
+
```
129
+
130
+
#### Build U-Boot with RB1 support
131
+
132
+
U-Boot will be chainloaded from the first Android boot partition.
133
+
134
+
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
154
+
155
+
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]/))
156
+
157
+
1. install build-dependencies, get latest kernel (or a stable one)
158
+
```bash
159
+
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/)
201
+
202
+
1. edit rawprogram0.xml and change the filename for the following partitions to these values to match files generated earlier:
203
+
204
+
|label|filename|
205
+
|---|---|
206
+
|`boot_a`|`u-boot-abootimg.img`|
207
+
|`esp`|`disk-sdcard.img1`|
208
+
|`rootfs`|`disk-sdcard.img2`|
209
+
210
+
#### Flash the image
211
+
212
+
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:
213
+
214
+
Linux (tweak the name of the device):
215
+
```bash
216
+
screen /dev/ttyUSB* 115200
217
+
```
218
+
macOS (tweak the name of the device):
219
+
```bash
220
+
screen /dev/cu.usbserial-* 115200
221
+
```
222
+
223
+
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.
224
+
225
+
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.
226
+
227
+
Connect a cable from the flashing host to the USB type-C port on the board.
0 commit comments