USB Boot on Raspberry Pi 4

Hi, I have successfully used 3.4 RPI USB Boot by Ryan Bray

Is there a version for the Raspberry Pi 4?

Regards, Dave

2 Likes

The RPI 4’s bootloader doesn’t (yet) support booting directly from an attached USB storage device.

https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md

Recent discussion on reddit:

RPi 4 boot from SSD is now in beta. More details https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=274595&sid=05bfd24c66e0458db63482ae20121427

2 Likes

This solution worked really well for me on a Raspberry Pi 4 with an SD to boot from and a USB attached SSD.

Agreed, that solution does work, but this new beta firmware removes the need for the SD card to boot from, everything is on the SSD.

Thank you for this notice. I’ve been waiting for this news since I’ve put the RPi 4 to work - 6 month ago I thought, there would be enough time for them to deliver this feature.

I will wait some weeks and then I will clone my SD-Card to the 128GB SSD from my old Notebook, waiting to work for my Home Assistant ever since I’ve purchased the hardware.

Now that USB/SSD boot is in beta, has anyone successfully gotten HassOS to boot from an SSD? All instructions I’ve seen pertain to Raspbian, which doesn’t translate to HassOS.

2 Likes

Interested too.

Seeing the instructions about this new beta eeprom for the Pi 4, I think:

  • We need to use one spare SD, install raspbian, boot the pi 4 with this SD, and use the commands to update the eeprom of the pi 4. Another option is that Hass.io adds the utility to update the eeprom.
  • After that, I have seen some comment about:

USB boot also requires updated firmware (start.elf)

If I’m not wrong, this firmware is at the boot partition of the SD. Does this imply then that Hass.io must be updated to contain this new start.elf too?

Browsing the raspberry forum, it seems that the updated firmware is the kernel version 5.4.42, this kernel was updated in the Home Assistan Hass.io image some days ago:

https://github.com/home-assistant/operating-system/commit/4861cc58ce393879183e81ff213a21b3c68426f1

Another beta version of the eeprom for the raspberry was released yesterday:

So it seems that if we install the beta eeprom and a beta of the Home Assistant operating system all must work. Or better, wait until both are final versions :slight_smile:

EDIT: looking at the Home Assistant repo, this kernel will go into version 5.0 of the Home Assistant Operating System. Now it is going to be released the version 4.7. So it seems we will need to wait some time for it.

The modification to the eft to allow usb booting just needs updating, in theory once it is updated it should just boot from whatever is in the USB slot (that would normally allow a pi4 to boot)
There are still issues where ‘quirks’ may be required to some drives and ‘others’ may not boot at all.
This could lead to distrust / disappointment so you are wise to wait, but many are having a ‘play’ in the interim

I have updated my Pi 4 to the newest Beta bootloader, and USB Boot works great with Raspian. But every attempt to get it to boot Hassio fails. Tried many versions of the .elf and .dat files, but no joy. Just goes into blank screen on the RPi4.

Hey!
Sorry, not great with all this.

Would a new rpi4 (8gb) work with the below, or still not possible to boot from usb and use HassOS

StarTech.com PIB2M21 USB to M.2 SATA Converter for Raspberry Pi and Development Boards - Red https://www.amazon.co.uk/dp/B01NH2W8NL/ref=cm_sw_r_cp_api_i_PMU0Eb1VBE4CB

Yes that board would work with the 8gb Pi 4 (See https://twitter.com/alexellisuk/status/1266365313420939264). However the Pi firmware is still a beta version, so may have bugs and whilst it may be possible to hack the current version of HassOS, I’d suggest waiting until the Pi f/w is out of beta and there is a version of HassOS that has the appropriate updates (or someone publishes a way to make it work :slight_smile: )

So you could go for the generic Linux install (over raspbian) now called HA Supervised.
This may be related to the drive adapter, see James Chambers blog on system from SSD.
Alternatively you may need to wait for a more resilient hassos for pi4
Can you identify what ssd you have along with what adapter and how it identifies itself to the USB hub (see the James Chambers article on specifics).

Any snapshots you generate will be transferable to your final system

@Blueman2 today Hass.io version 4.8 has been released. According to the commits the new kernel needed is included. Have you tried this version? You can install it with Balena Etcher as always.

1 Like

Thanks for the heads up. I just noticed that first thing today as well. I am excited to give it a try later today. I have fingers crossed since I already have direct boot from SSD working on Raspian 5.4.42 kernel.

1 Like

Well, no joy here. I burned the new 4.8 image for RPI4 onto my ssd, tried to boot from RPI4, blank screen. Move the ELF and DAT files over from my working Raspbian 5.4.42 SSD (which boots fine off the beta EEPROM RPI4) but still no joy with the HASSIO boot.

I am very confused why this is not working. Same RPI4 (with updated EEPROM), Same 5.4.42 kernel on both the Raspbian and HASSIO SSD’s. Same .elf and .dat files on both SSDs. But one boots just fine and the other does not.

1 Like

Is the same SSD model?

Actually, it is the same SSD. I am using the same SSD and Adapter, just overwriting the SSD each time. Yes, takes a while but I wanted to exactly duplicate what works with Raspbian.

Hi all

When I set my Pi3 to boot from USB I had to download a special image which I got from here

The Github Page

The standard image would not boot.

Hope that throws some light on something, if you look at the code there have been some tweaks

Re Dave