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: docs/board_setup.md
+4Lines changed: 4 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -151,3 +151,7 @@ sudo am335x_usb_setup.sh -c
151
151
**Note:** If for some reason, the am335x_usb_setup.sh script exits without
152
152
cleaning up the network namespace and polling subprocess, you can run the above
153
153
command to remove them.
154
+
155
+
## Broadcom BCM
156
+
157
+
Set up your board in "USB device boot mode", connect the board to the USB device port, power the board if necessary. A new USB device should appear on your host system.
In the case of Raspberry Pi, most firmwares can be found in their GitHub repositories [github.com/raspberrypi](https://github.com/raspberrypi/)
315
+
along with a [genimage.cfg](https://github.com/raspberrypi/buildroot/blob/mass-storage-gadget64/board/raspberrypi64-mass-storage-gadget/genimage.cfg) file wich can be taken as a reference for building the DOS partition image using the [genimage](https://github.com/pengutronix/genimage) tool.
316
+
317
+
318
+
**bootfiles:** tar archive containing the FSBL and some of the firmwares required by the FSBL to boot U-Boot. Firmwares can optionally be located inside of a subfolder, named 2711|2712 for bcm2711|bcm2712 respectively.
319
+
- bootcode\<n>.bin: the FSBL, which act as USB client requesting firmware to load. For bootcode, \<n> is 4|5 for bcm2711|bcm2712 respectively.
320
+
- mcb.bin: RAM init
321
+
- memsys\<nn>.bin: more RAM inits
322
+
- bootmain: the loader for the disk image
323
+
324
+
In the case of Raspberry Pi, a ready made bootfiles can be found [here](https://github.com/raspberrypi/usbboot/commit/798ea2ef893bfa11fe3dba0e088cbc9b862184a1).
325
+
326
+
configuration:
327
+
* path
328
+
329
+
330
+
**boot:** DOS partition image with the first partition bootable with a FAT filesystem containing:
331
+
-\<board>.dtb: the compiled device tree
332
+
-\<board>.dtbo: the device tree overlays
333
+
- config.txt: a file which specifies to `start<n>.elf` to boot U-Boot proper instead of Linux (`kernel=u-boot.bin`) and to start in 64 bits mode (`arm_64bit=1`)
334
+
- cmdline.txt: linux kernel command line, as we don't boot linux you can keep it empty.
335
+
- start\<n>.elf: the SSBL
336
+
- fixup\<n>.dat: the SSBL linker file (found in pair with start\<n>.elf)
337
+
- U-Boot proper (`u-boot.bin`)
338
+
339
+
This DOS partition image can be generated using the `genimage` tool. In the case of Raspberry Pi, [ready made images already exists](https://github.com/raspberrypi/usbboot/blob/master/mass-storage-gadget64/boot.img), however they do not contain a U-Boot but a Linux. You can use them if you provide U-Boot in **u-boot**. In that case, Snagrecover will create a temporary copy of it and do what is necessary to boot U-Boot instead of Linux.
340
+
341
+
configuration:
342
+
* path
343
+
344
+
345
+
**config:** config text file with parameter to setup the board to boot from RAM (`boot_ramdisk=1`)
346
+
347
+
configuration:
348
+
* path
349
+
350
+
351
+
**u-boot:** (optional) U-Boot proper. You can use this option if you want Snagrecover to modify **boot** firmware to add U-Boot to it (eg you are using a ready made **boot** firmware from RPi). If your **boot** firmware already contains a U-Boot and you want to use it, you can skip this option.
0 commit comments