Installing Home Assistant OS on an NVMe drive

Perfect! That worked a charm!

Hello @FabsFabios! I’m trying to do exactly the same thing! Can you provide the steps to set a boot partition on the NVMe drive with HAOS?

Thank you !

1 Like

Can you explain how to modify/add what you provided to EEPROM (or point me in the right direction for procedure instructions)? I’m familiar and comfortable with modifying and adding to my config using Studio Code Server - is editing EEPROM done in the same or similar manner? Sorry - I’m still rather new to all of this, but having a lot of fun tinkering and learning.

I can confirm that the @JimGR procedure works fine!
I’m using the Geekworm x1001 NVMe HAT with a 500GB Crucial p5 plus
(Boot in ~ 25 seconds)

My steps was:

  1. Install the NVMe base and connect the NVMe SSD
  2. Connect to Internet (RJ45)
  3. When trying to find boot device, press ALT to open graphic screen. Then Hold SHIFT to use Internet install method. That will download Raspberry Pi imager.
  4. Select OS and install to NVMe.
1 Like

I was able to get this to work fully over SSH.

  1. Use Pi Imager to install Raspberry Pi OS to SD card
  2. Before writing the image, edit the config to configure SSH
  3. Edit boot config to enable PCIE (I also enabled gen 3)
  4. Edit EEPROM config to change boot order and probe PCIE
  5. Use scp to copy HA OS image to sdcard (or download directly from pi using curl)
  6. Write image to nvme using dd
  7. Mount first nvme partition to edit HA’s boot config
  8. Enable PCIE in HA’s boot config
  9. Shutdown, pull sd card, restart, cross fingers.

Worked for me and I never had to connect a monitor or keyboard. I used a combination of these to get this figured out:

1 Like

Thanks! I just installed on a Crucial P3 on a Geekworm X1001-hat using the new network boot.
Good to know though, you first probobly need to update your bootloader to get the network boot functionality.
I booted Rapsberry OS from an SD card, updated the bootloader, removed the sd-card, tada.
Followed this guide:

Thank you SO MUCH, this really helped me. By accident, this solved another problem: When running HassOS, my fan speed was always at 100% and the pi was very loud. But when setting it up this way (first with PiOS from sd card, then switch to HassOS on SSD), it keeps the automatic fan regulation that PiOS brings along, even when the SD card is removed. Now my fan isnt even running most of the time, and it starts turning slowly when reaching 50°C

I can confirm that this works. Argon ONE V3 / M.2 NVMe PCIe case with R Pi 5 8gb and Crucial P3 Plus 500gb SSD. I installed the components and booted the R Pi from an SD with the latest full version from the R Pi Imager. I ran the Argon setup scripts that allowed the SSD to be recognized and inserted into the boot sequence. Then I ran R Pi imager on this configuration and loaded the HAOS onto the SSD. Once complete, I shutdown, removed the SD, and on restart it opened into the HA welcome screen. It has been solid ever since.

Hello,
I just bought RPi 5 with SSD NVMe (with Raspberry-Pi OS Bookwork 64 bits pre-installed). Using an SD card, I was able to change the boot order to NVMe first.
But I have no display (no screen or cable). Is there a way to install HA OS on the NVMe sithout having a screen form the RPi?
Thanks !!

Could you please detail the command lines please? I am not a command line expert :frowning:

Just to let everyone know, i installed a 52Pi M.2 NVME M-key 2280 and PoE+ Hat on a Raspberry Pi5. Imaged the HAOS on the NVME beforehand via a USB to NVME enclosure and it booted straight from the NVME the Pi never touched an SD card.

2 Likes

I did the same installing direct to the nvme and HA booted right up into setup. I’d say go this route instead of spending time with a bunch of other steps. just my two cents.

I’m having issues with EP-0241 - 52Pi Wiki
Can you please explain any steps for changing and updating any config files. From your message it appear you did not do any EEPROM etc. steps.
Can you please list your steps ?

Hi!

it was super easy:

  1. insert NVME drive into a USB enclosure
  2. Download HAOS image and use Balena Etcher to write the image to the NVME
  3. Put EP-0241 onto the PI, connect the ribbon cable.
  4. insert NVME into the EP-0241
  5. plug in network and after 5mins or so it was ready to go.

nothing more nothing less

Thanks, I’m facing few issues…I guess you have not any like that ?

Also since your process doesn’t involve SD card, how did you apply EPROM changes then ?

i didnt apply any EPROM changes. And i do have 3 USB (Sonoff zigbee, Aeotec Zwave, Sky connect) sticks connected.
I power it via POE.

Did you had POE and USB power connected simultaneously? because that will brick the hat if i read the manual.

no, only via POE. I’ll redo following your steps on the weekend to see if that fixes this occasional reboot loop issue.
Just to confirm I did these steps too

dtparam=pciex1
dtparam=pciex1_gen=3

Enable auto detection PCIe and booting from NVME.
sudo rpi-eeprom-config --edit

PCIE_PROBE=1
BOOT_ORDER=0xf416 

but not these one as per Geekpi wiki

sudo fdisk /dev/nvme0n1
and then input:

> p
> n
> p
> 1 
> Enter 
> Enter  
> w 
> q
* Format the partition 
<pre>
sudo mkfs.ext4 /dev/nmve0n1p1 
Create mounting point and mounting the partion to the mounting point.
mkdir ~/mydata 
sudo mount -t ext4 /dev/nvme0n1p1 /home/pi/mydata -v 
Automount configuration, edit /etc/fstab file and adding following parameters:
sudo vim.tiny /etc/fstab 
adding:

/dev/nvme0n1p1     /home/pi/mydata   ext4   defaults,noatime   0  0 

While you did neither of these… which also means you’re not running PCI Gen3.

I’d like to know how you did this too.
Do you have the commands?

For those still trying to figure this out. I followed this guide and it was super easy, no keyboard or screen required. I just enabled VNC through SSH and used a Remote Desktop session to do the NVME install. Installing Home Assistant on Raspberry Pi 5 NVMe Storage - Martin Rowan