Booting Raspberry PI 3 via USB SSD

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

pc-tecky

Active Member
May 1, 2013
202
26
28
Wow! Just learned the other day that the Raspberry Pi 3 B can boot from a few select USB devices once you set the One Time Programable (OTP) switch via an extra line added to the config.txt file as found on the RPi foundation site (beta??). Then you can effectively dump the SD card for a (slightly more robust) USB based flash drive, hard drive, or SSD. I currently have one working with the SanDisk Fit 32GB USB flash drive. I want to bump it up a notch with an M.2 SSD with an adapter for the RPi3, but the SSD must support basic SATA or USB mode (not very clear - but it can't be PCIe, NVMe, etc. - gathered from Amazon product pics and details). You are limited to the 480Mbps of USB 2.0 and that is shared between the 4x USB 2.0 ports and the 10/100Mbps Ethernet LAN via (effectively) the 5-port USB expansion chip. So, does it even matter what, if any, brand I choose to use? What's your thoughts on the idea? Save my money for something more useful?

P.S. - I already tried using the RPi 3 with an external 4TB and 5TB hdds and a powered drive or hub, no dice. RPi's are limited to 2.0TB or less (per USB port?!?).
 
  • Like
Reactions: wsuff and Patrick

pc-tecky

Active Member
May 1, 2013
202
26
28
The subject seems to be well covered and rather straight forward. But it gets even better.. that same OTP bit/switch also enables booting via the LAN! Say hello to the diskless cluster (via a TFTP server). And some even have Docker running on these bad boy clusters. But you say an article? Sounds interesting. I'm sure numbers and charts will be involved (and no clue). And I'm quickly seeing scope creep: LAN boot -> TFTP -> DHCP -> DNS -> my own data center. Certainly something to explore. File/NAS, WEB, FTP(/sftp/ftps), TFTP, VPN, PBX, TV/Media... each service runnning from a dedicated RPi.

Not clear to me at the moment if each device needs it's own OS image directory or how each device maintains individualism (configurations, logs, specific files, etc.) when booting from a TFTP server or similar service. But it's the same concept used with virtualization. Is it 15 sets of images for 15 VMs, or 1 image running 15 VMs? The first seams reasonable for a few VMs, but quickly becomes a glaring issue at the expense of limited storage resources when used with a few dozen VMs (IT classroom comes to mind, 30 students, each with 1x Win 2012 server VM, and 3x Win 7 VMs).

Now about the 4.0 TB HDD not working part - it appears that's just a linux NTFS software/driver issue. At the Raspbian Jesse terminal, I typed "sudo apt-get install ntfs-3g" (after a few more searches on the interWeb). Disconnected and then reconnected the drive, and this time it worked without issues or warnings. Blah! Isn't it just supposed to work? Oh, wait, that'd be.. oh, wait, never mind, nothing is perfect.
 

pc-tecky

Active Member
May 1, 2013
202
26
28
Just a little heads up after nearly a year. Using a Phenom II X4 based box running the Raspberry Pi Desktop, a Linux distro made/modified by the Raspberry Pi Foundation, and serving images via their own 'Pi Server' to the Raspberry Pi 3B/3B+ SBCs. I have several Raspberry Pi 3Bs now PXE booting over Ethernet. That process is well documented over at the Raspberry Pi foundation.

So, could you run a Docker swarm with Raspberry Pi's without local media (i.e. PXE boot) or is 100mbps Ethernet not fast enough? Would 300mbps Ethernet (1GbE over USB 2.0) help any?

(p.s. the newer Raspberry Pi 3B+ have USB/LAN boot option enabled, updated 300mbps WiFi, and updated 1.0 gbps Ethernet controller, although limited to USB 2.0 - so really 300 mbps)