Installing Home Assistant OS on an NVMe drive

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

1 Like

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

Hi,
I have been running this setup since June, and it, well, sort of works. It is running well enough, at least to a degree that I didn’t put any energy into trying to fix my issues.
So what are the issues? Well, in a random fashion, the Pi just loses the disk. I haven’t found any pattern or managed to see anything in the logs, but sometimes everything works as a charm for a month, and sometimes it just loses the disk after 12 hours.
The easy fix is a power cycle and then everything is fine… For a while :rofl:

My main problem now is that when the winter is coming, I can’t have this behavior anymore as some of my radiators are controlled by simple thermostats.

Does anyone else have similar issues?

Any ideas would be very appreciated!!

Using geekworm X1001 with a crucial P3 500G gen 3.

Maybe I will have to create some external watchdog or go back to SD Card…

Edit: And yes, I’m using the recommended standard pi5 power supply.

Ok, let’s see if this will help.

  • Updated to latest eeprom (and no, HassOS updates doesn’t do this, I checked my version and it wasn’t updated)
  • Added dtparam=pciex1 to confix.txt (shouldn’t be needed, should auto-detect on pi5)
  • Added dtparam=pciex_gen=3 to config.txt (maybe it’s more stable, let’s see)

Fingers crossed, no issues so far:-)

1 Like

Well, as long as I stay on HAOS 13.2, it works now. HAOS 14.0 makes it extremely unstable. Four out of five times, it doesn’t even manage to boot up HA and throws disk errors all over the place.
I’ll have to stay on 13.2 for now.

EDIT:
Sorry for spamming this thread but hopefully it might help someone else with similar issues.
After rolling back to 13.2 I’m now back to where I was BEFORE changing the dtparam settings in config.txt. Pi5 now drops the NVMe after 12-24 hours again. Checking logs now again shows i/o errors.
I wonder if it’s Wi-Fi/BT interference. I’ve read more than once about people having RF-related issues on Pi5 with NVMe hats.
One example:
https://forums.raspberrypi.com/viewtopic.php?t=368054&sid=0baae0cf153eecce78a74671403f5c46#p2208203