Skip to content

Commit

Permalink
Always use apt full-upgrade and simplify the NVMe updates
Browse files Browse the repository at this point in the history
NVMe has been supported in the standard Pi5 firmware for a while
now so simplify the NVMe boot instructions to assume this.

Replace any references to "apt upgrade" with "apt full-upgrade" and
always run "apt update" first.
  • Loading branch information
timg236 committed Dec 9, 2024
1 parent 3f5535c commit 30cc082
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 25 deletions.
12 changes: 7 additions & 5 deletions documentation/asciidoc/computers/raspberry-pi/boot-eeprom.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -68,20 +68,22 @@ The `latest` bootloader updates more often to include the latest fixes and impro

Advanced users can switch to the `latest` bootloader to get the latest functionality.

Run the following command to start `raspi-config`.
First, ensure that your Raspberry Pi runs the latest software. Run the following command to update:

[source,console]
----
$ sudo raspi-config
$ sudo apt update && sudo apt full-upgrade
----

Navigate to `Advanced Options` and then `Bootloader Version`. Select `Latest` and choose `Yes` to confirm. Select `Finish` and confirm you want to reboot. After the reboot, open a command prompt again and update your system:
Run the following command to start `raspi-config`.

[source,console]
----
$ sudo apt update
$ sudo raspi-config
----

Navigate to `Advanced Options` and then `Bootloader Version`. Select `Latest` and choose `Yes` to confirm. Select `Finish` and confirm you want to reboot.

If you run `sudo rpi-eeprom-update`, you should see that a more recent version of the bootloader is available and it's the `latest` release.

----
Expand Down Expand Up @@ -275,7 +277,7 @@ For more information, see xref:raspberry-pi.adoc#eeprom-boot-flow[EEPROM bootflo
| Bootloader EEPROM image

| `pieeprom.bin`
| Bootloader EEPROM image - same as pieeprom.upd but changes recovery.bin behaviour
| Bootloader EEPROM image - same as pieeprom.upd but changes recovery.bin behaviour to not rename itself to `RECOVERY.000`.

| `pieeprom.sig`
| The sha256 checksum of bootloader image (pieeprom.upd/pieeprom.bin)
Expand Down
26 changes: 6 additions & 20 deletions documentation/asciidoc/computers/raspberry-pi/boot-nvme.adoc
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
== NVMe SSD boot

NVMe (Non-Volatile Memory express) is a standard for external storage access over a PCIe bus. You can connect NVMe drives via the PCIe slot on a Compute Module 4 (CM4) IO board or Raspberry Pi 5. With some additional configuration, you can boot from an NVMe drive.
NVMe (Non-Volatile Memory express) is a standard for external storage access over a PCIe bus. You can connect NVMe drives via the PCIe slot on a Compute Module 4 (CM4) IO board, Raspberry Pi 5. With some additional configuration, you can boot from an NVMe drive.

=== Prerequisites

Expand All @@ -20,26 +20,14 @@ brw-rw---- 1 root disk 259, 0 Mar 9 14:58 /dev/nvme0n1

==== Software

Run the following command to see what firmware you're running:
First, ensure that your Raspberry Pi runs the latest software. Run the following command to update:

[source,console]
----
$ sudo rpi-eeprom-update
$ sudo apt update && sudo apt full-upgrade
----

For Raspberry Pi 5, you need firmware released December 6, 2023 or later.

For CM4, NVMe boot support was introduced in July 2021. You need a version of the following software released since that date:

* the bootloader
* VideoCore firmware
* the Raspberry Pi OS Linux kernel

The latest Raspberry Pi OS release has everything you need. Use xref:getting-started.adoc#raspberry-pi-imager[Raspberry Pi Imager] to install a Raspberry Pi OS image onto your drive.

=== Edit EEPROM boot order

For Raspberry Pi 5, you need to boot Raspberry Pi OS to edit the boot order. You can boot your Raspberry Pi from an SD card or USB drive for this step. The EEPROM configuration persists even when you change the boot device, since the EEPROM configuration is stored on the board itself.
=== Edit the bootloader boot priority

Use the Raspberry Pi Configuration CLI to update the bootloader:

Expand All @@ -48,16 +36,14 @@ Use the Raspberry Pi Configuration CLI to update the bootloader:
$ sudo raspi-config
----

Under `Advanced Options` > `Bootloader Version`, choose `Latest`. Then, exit `raspi-config` with `Finish` or the *Escape* key.

Run the following command to update your firmware to the latest version:
Under `Advanced Options` > `Bootloader Order` and choose whether the bootloader should attempt to boot from `SD` or `NVMe` first:

[source,console]
----
$ sudo rpi-eeprom-update -a
----

Then, reboot with `sudo reboot`. Your Raspberry Pi 5 should boot from NVMe.
Then, reboot with `sudo reboot`. Your Raspberry Pi should boot from NVMe.

For CM4, use `rpiboot` to update the bootloader. You can find instructions for building `rpiboot` and configuring the IO board to switch the ROM to usbboot mode in the https://github.com/raspberrypi/usbboot[USB boot GitHub repository].

Expand Down

0 comments on commit 30cc082

Please sign in to comment.