Skip to content

Commit 35f4f09

Browse files
committed
Add some clarification to NVME beta instructions
Add a bit more detail about running rpiboot from another PC Fixes raspberrypi#1939
1 parent bafb767 commit 35f4f09

File tree

1 file changed

+9
-3
lines changed
  • hardware/raspberrypi/bootmodes

1 file changed

+9
-3
lines changed

hardware/raspberrypi/bootmodes/nvme.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,17 @@ To boot from NVMe you need pre-release versions of the bootloader, VideoCore fir
2121

2222
### Bootloader
2323

24-
You need to use `rpiboot` to update the CM4 bootloader. Instructions for building `rpiboot` and configuring the IO board to switch the ROM to usbboot mode are in the [usbboot Github repository](https://github.com/raspberrypi/usbboot).
24+
You need to use `rpiboot` to update the CM4 bootloader to use the beta bootloader. If you are using a CM4 with an eMMC then you must also change the BOOT_ORDER to give NVMe priority, otherwise the CM4 will continue to boot from eMMC.
2525

26-
If you are using a CM4 with an eMMC then you must change the BOOT_ORDER to give NVMe priority, otherwise the CM4 will continue to boot from eMMC. For example:
26+
Instructions for building `rpiboot` and configuring the IO board to switch the ROM to usbboot mode are in the [usbboot Github repository](https://github.com/raspberrypi/usbboot).
27+
28+
To use `rpiboot` you need another PC (another Pi, PC or Mac), that is capable of building the `rpiboot` binary. This other PC is then connected to the CM4 IO board USB slave socket and you have to fit a jumper to the J2 header to disable eMMC boot. Then when `rpiboot` is executed it communicates with the CM4 to reprogram the eeprom. You can't change the eeprom on a CM4 from the device itself.
29+
30+
For example run the following from another PC connected to the CM4 USB slave connector:
2731

2832
```
2933
cd usbboot/nvme
30-
sed -i 's/\(BOOT_ORDER=.*\)6\(.*\)/\1\26/' boot.conf
34+
sed -i'' 's/\(BOOT_ORDER=.*\)6\(.*\)/\1\26/' boot.conf
3135
./update-pieeprom.sh
3236
cd ..
3337
```
@@ -54,6 +58,8 @@ File read: pieeprom.bin
5458
Second stage boot server done
5559
```
5660

61+
Remember to disconnect USB from the slave socket AND remove the jumper from the J2 header when this is done.
62+
5763
### Firmware and kernel
5864

5965
You must load pre-release versions of the VideoCore firmware and Raspberry Pi OS Linux kernel to the NVMe disk. When this software is officially released you can simply write the software to the NVMe disk directly with the Raspberry Pi Imager app; until then the easiest way to perform the update is:

0 commit comments

Comments
 (0)