NVMe SSD boot with the Raspberry Pi 5: Difference between revisions
Replace <comments/> with <comment-streams /> |
|||
| (6 intermediate revisions by 2 users not shown) | |||
| Line 27: | Line 27: | ||
sudo nano /boot/firmware/config.txt | sudo nano /boot/firmware/config.txt | ||
Then add the following comment; | Then add the following comment; | ||
dtparam=pciex1 | dtparam=pciex1 | ||
<!-- | |||
# This line is an alias for above (you can use either/or to enable the port). | # This line is an alias for above (you can use either/or to enable the port). | ||
dtparam=nvme | dtparam=nvme | ||
--> | |||
Press '''Ctrl-O''', then enter, to write the change to the file. | Press '''Ctrl-O''', then enter, to write the change to the file. | ||
| Line 41: | Line 40: | ||
dtparam=pciex1_gen=3 | dtparam=pciex1_gen=3 | ||
<span class="tb_red_bold">WARNING:</span><span class="tb_red">The Raspberry Pi 5 is not certified for Gen 3.0 speeds, and connections to PCIe devices at these speeds may be unstable.</span> | <span class="tb_red_bold">WARNING:</span><span class="tb_red">The Raspberry Pi 5 is not certified for Gen 3.0 speeds, and connections to PCIe devices at these speeds may be unstable.Refer to [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#pcie-gen-3-0 Official Statement]</span> | ||
Then DON'T forgot to reboot | Then DON'T forgot to reboot | ||
| Line 100: | Line 99: | ||
If you are flashing a fresh Pi OS to NVME ssd, you must [[#Enable PCIe]]; but if you are COPY or CLONE an old Pi OS from SD card to NVME ssd, and you have already enabled pcie in the old Pi OS in advance, then you don't need to do enable pcie again! | If you are flashing a fresh Pi OS to NVME ssd, you must [[#Enable PCIe]]; but if you are COPY or CLONE an old Pi OS from SD card to NVME ssd, and you have already enabled pcie in the old Pi OS in advance, then you don't need to do enable pcie again! | ||
== | ==Boot from PCIe (NVMe SSD)== | ||
By default, Raspberry Pi devices do not boot from PCIe storage. To enable boot from PCIe, change the '''BOOT_ORDER''' in the bootloader configuration. Edit the EEPROM configuration with the following command: | |||
sudo rpi-eeprom-config --edit | sudo rpi-eeprom-config --edit | ||
Then change the BOOT_ORDER line to the following: | Then change the BOOT_ORDER line to the following: | ||
BOOT_ORDER=0xf416 | BOOT_ORDER=0xf416 | ||
To boot from a non-HAT+ device, also add the following line: | |||
PCIE_PROBE=1 | |||
- Press '''Ctrl-O''', then enter, to write the change to the file. | - Press '''Ctrl-O''', then enter, to write the change to the file. | ||
- Press '''Ctrl-X''' to exit nano (the editor). | - Press '''Ctrl-X''' to exit nano (the editor). | ||
* Or use tool '''raspi-config''' to set boot order | |||
sudo raspi-config | |||
Then select '''6 Advanced Opitions''' => '''A4 Boot Order''' => '''B2 NVMe/USB Boot''' answer '''Yes''', then <code>sudo reboot</code> | |||
Read [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER Raspberry Pi's documentation on BOOT_ORDER] for all the details. For now, the pertinent bit is the '''6''' at the end: that is what tells the Pi to attempt NVMe boot first! | Read [https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER Raspberry Pi's documentation on BOOT_ORDER] for all the details. For now, the pertinent bit is the '''6''' at the end: that is what tells the Pi to attempt NVMe boot first! | ||
| Line 133: | Line 132: | ||
<!--Add review function! --> | <!--Add review function! --> | ||
< | <comment-streams id="main" /> | ||
<!--Please choose the --> | <!--Please choose the --> | ||