HOW TO - Raspberry Pi3 boot from SSD - Install openHAB to USB or SSD and boot

Note that I have had success in writing the openhabian image directly to the SSD, rather than needing to use the microSD first.


I had the SSD in an external USB case. I simply plugged that into my computer, and used Etcher to write the image to that disk. You need to go into settings and enable “unsafe mode” to be able to select non-flash media.

Yep - this is how I did it as well. checking “unsafe mode” was the key step.

Just be careful not to overwrite your existing hard drive!!! I had to triple check as my SSD was the same as the one running my rig!

Ahh okay… I use Win32DiskImager… Maybe thats the reason I couldn´t get it to work.

Okay, so i picked up a powered SATA to USB connector and sure enough everything worked great.

I had flashed the image using Etcher and it booted and installed without any problems. Will work on updating this tutorial. Thank you for getting me over this hump!

1 Like

Did you remember to expand the file system?

Just to give more options.:grinning:

I’ve been running my RPI on SSD without SD card for a while now. If you prefer to use something other than a powered adapter this works very well with the RPI.

Thanks - I first bought this exact one, but could not seem to get it to boot. Though, looking back it could have been user error as in earlier testing I was able to read and write files to the drive using that enclosure and cable.

The file system appears to have been resized automatically on first boot. (I used openhabian)

1 Like

I’m going down this road to after my regular SD-card is showing strange behaviour again.
Any tips how to partition the SSD drive?
I’m coming from a 8gig SD_card and now I’ll have a 60gig SSD drive available. What’s the best practise in using different partitions? A ‘small’ root partition and a huge one for the data?

If your planning to flash the openhabian image to the SSD via Etcher then you won’t need to partition the SSD it will work out of the box like the SD card.

If you plan to partition the drive then yes use a small partition for the boot and partition the rest however you like.

Thanks for sharing your knowledge :slight_smile:

Just two questions:

  • Do you have a Raspberry 3B or 3B+ ?
  • Is it still possible to boot from microSD if no SSD is connected via USB?

Just to verify the advises given by @openhab2 and @Scotsman, I run the same setup on a RPi 3B+. Resulting in:
openhabian@openHABianPi:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 111G 2.4G 104G 3% /
devtmpfs 484M 0 484M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 42M 22M 20M 53% /boot
tmpfs 98M 0 98M 0% /run/user/1000

openhabian@openHABianPi:~$ sudo fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 111.8 GiB, 120040980480 bytes, 234455040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xce8985f2

Device     Boot Start       End   Sectors   Size Id Type
/dev/sda1        8192     93802     85611  41.8M  c W95 FAT32 (LBA)
/dev/sda2       98304 234455039 234356736 111.8G 83 Linux

My system (Stretch) did not resize on reboot but the procedure for re-partitioning outlined by @Scotsman works like charm.

And, yes, the system will boot from my SD-card if I unplug the SSD and insert the SD-card.

very helpful - thank you!

i have now openhabian on a 128 gb ssd for 17 euro :slight_smile:
i used Etcher + Unsafe Mode to get the openhabian.image onto my SSD

It has been 16 months since my original post. All is perfectly good with my SSD based installation! It has been stable and completely hassle free. (maybe 1 manual reboot for simplicity sake).


Now that more and more users changed to RPi4, it would be interesting to see the steps for Rpi4 as well.

As far as I know the RPi4 uses the eeprom bootloader.
So if updated / activated, it’s able to boot from USB.

However, is there something else to be modified to make sure that the right partition is used for the boot process?

For openhab 3 I used the 64 bit (beta) version and it booted right away (after I upgraded the bootloader, via Google good to find how). The 32bit version didn’t work for me. It should after you copy some files after writing the image file to the disk but I didn’t get it to work(cost me almost a week…).

I try procedure for openhab 3 boot only SDD without SD and NO WORK.

I use SSD crucial 64GB and orico case 2179u3 i see SSD but dont work boot.

  1. enable boot usb - OK

[22:47:23] openhabian@openHABianPi:~$ vcgencmd otp_dump | grep 17:

  1. usb adaptar is work


Bus 001 Device 004: ID 152d:0578 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge

  1. i see ssd

ls /dev/sda*
/dev/sda /dev/sda1 /dev/sda2



Have you upgraded the boot loader to the latest: Raspberry Pi 4 boot EEPROM - Raspberry Pi Documentation

I had to add to .config as shown on the link below: