The Raspberry Pi 4 is now capable of booting from a USB Flash drive without requiring an SD card to kick-start the process. Here’s how you set it up.

The Raspberry Pi 4 is now capable of booting from a USB Flash drive without requiring an SD card to kick-start the process. Here’s how you set it up.
Bear with me on this one. What really makes the Raspberry Pi what it is? Linux? No, because there are plenty of machines the open source OS will run on. Linux is a Unix derivative; the basis of macOS is FreeBSD, also a Unix derivative.
Sure the Pi is only 40 quid and small, but for me what really makes the Pi stand out from all those laptop and desktop computers is the fact that it makes its microcontroller’s GPIO pins readily accessible through a handy set of header pins. Unlike all ‘serious’ micros, it’s perfect for connecting to and controlling a whole stack of add-ons, including sensors, displays inputs and actuators.
My exploration of using a mouse with an iPad got me thinking: since I log into my Raspberry Pi remotely using SSH and the app Termius, could I also run a remote desktop session on my iPad too?
I’ve created a page containing simple sets of instructions for some key — and not so widely used — Raspberry Pi setup tasks. The goal is to have a single source that I (and anyone else) can check when they need to look up what they should do to perform a specific action: setting up Node.js, for example, or using Dropbox.
You can find the Knowledgebase here.
The Raspberry Pi is notoriously tough on micro SD cards, which were never intended to be used as primary computer storage.
The Pi 4’s USB 3.0 bus presents a high-speed alternative to the SD card… almost. Unfortunately, you can’t yet boot the Pi 4 off a USB 3.0-connected drive (as you could with the Pi 3) but you can at least use USB for your primary storage and retain the Pi’s micro SD card solely for boot duties. This minimizes the risk to this fragile medium.
Update There’s now a new post containing revised, working instructions for this project.
Note This article was written some time ago, and the libraries used do not work with recent versions of macOS.
I regularly back-up my Raspberry Pi storage card because it’s so easy to damage the card with an improper shutdown or some such. I back up to a Mac, and you can read how I do it here. This wasn’t much of a chore in the early days when I was working with 4GB cards, but now I use 16GB Micro SDs and I know of folks who have much, much larger storage capacities thanks to never-cheaper cards. All this means the back-up takes a long time. So I wondered if I could create a gadget to tell me the task was done, allowing me to get on with other jobs in the meantime.
Continue readingThe Raspberry Pi Zero may have been out for a while, but it’s proving perishingly hard to get hold off. Unless, of course, you’re right at the head of the virtual queue when the online retailers put their latest batches on sale. Still, the little micro’s scarcity isn’t stopping hackers from coming up with ingenious solutions to its other limitations — too few USB ports, primarily — and accessory suppliers from issuing add-ons.
Continue readingI access all of my Raspberry Pis remotely using SSH. While reading about a server operator’s experience of being hacked, I decided to explore ways to make my Pis more secure.
Continue readingUpdated My original idea was to review the Raspberry Pi Compute Module. But the thing about the Compute Module is that it’s not an end-user product: it was designed for manufacturers looking for an ARM-based platform on which they can build devices they can sell. Unlike the Raspberry Pi itself, the Compute Module is not intended for makers or for computing hobbyists. To evaluate the Compute Module what I really needed to look at was a product based upon it.
So I waited for one…
Time was when chip makers’ processor evaluation boards were well beyond the reach of ordinary mortals. That didn’t matter, of course: ordinary mortals weren’t interested in small, nude motherboards designed to help designers of embedded systems judge a microprocessor’s suitability for the application they were working on.