I haven’t been able to find a document relating to this, so my apologies if I’m repeating something.
Raspberry Pi 4s can boot from SSD without a SD card. I found I had one that hadn’t been updated to the current EEPROM so had to follow the instructions here: https://www.raspberrystreet.com/learn/how-to-boot-raspberrypi-from-usb-ssd
This needs an SD card, but will work with the Yunohost image because it’s Raspbian Lite.
Here’s a quick summary:
- Burn a MicroSD card with the current Yunohost image as in the documentation.
- Boot the Pi from the SD card, connect, and let it run through the installation process so you have an admin login.
- Connect to the Pi over SSH with the admin user.
- Check the status of the Pi EEPROM with
sudo vcgencmd bootloader_version. The version date is on the first line and should be later than 2020/03/09.
- Check for an update with
sudo rpi-eeprom-update. There may be an update available, but the update channel needs to be changed from
default(that was in my case, the blog entry says it will be
/etc/default/rpi-eeprom-updatewith an editor. For ease of use
sudo nano /etc/default/rpi-eeprom-update. You will see the line
stable. Save the file.
sudo rpi-eeprom-updateagain. This should show an update.
- Apply the update with
sudo rpi-eeprom-update -a, and reboot.
- When the Pi has rebooted, check that the update has been applied with
- Now change the boot order. This can be done through
sudo raspi-configand select
6. Advanced Options.
A6 Boot Order. Confirm that the first option is
B1 SD Card Boot Boot from SD Card if available, otherwise boot from USB. If it isn’t, make an option that includes USB first - the second option for me is
B2 USB Boot Boot from USB if available, otherwise boot from SD Card, but I can’t change to that in the Yunohost image.
- Next, burn the Yunohost image to your SSD. This works in the same way as an SD card, so use Etcher or the image burner of your choice. Etcher will tell you that your SSD is a large device and ask for confirmation.
- You now have a 2.1GB image on your SSD so it needs to be resized. On a Linux based desktop this will need Gparted or another disk management tool (Gnome Disks, KDE Partition Manager etc) so start that.
- The external SSD should appear with your local storage with a FAT32
bootpartition, a 2.1 GB
rootfspartition and a lot of unallocated space. Resize the
rootfspartition to use up as much space as it can. Gparted, Disks and KDE Partition Manager will do this graphically.
- Remove the SD card from the Pi and plug the SSD into one of the USB 3 ports and boot.
- Connect to the Pi with a web browser - it should have the same IP as with the SD card if your router is working correctly and run the configuration again. You should then have a clean Yunohost install on the SSD.