SSD Upgrade For Raspberry Pi 3
I must been living in the trees. I didn’t know that the Raspberry Pi 3 can actually boot from USB and thought it was a new thing for Pi 4. Until I was reading about it then I realised that it’s already possible on the Pi 3. So, I quickly dug out my old SSD together with my Transcend enclosure and got to work.

The process is very straightforward and the steps are documented on many websites.
Basically the steps are
Step 1: Clone the Micro SD into the SSD
dd if=/dev/mmcblk0 of=/dev/sda bs=1M
Step 2: Update /boot/firmware/config.txt and add this line
program_usb_boot_mode=1
Step 3: Check the file system. This is an extra step which is optional but recommended. I did a fsck on the SSD before rebooting.
fsck -y /dev/sda2
Step 4: Remove SD card and reboot
The Raspberry Pi will boot from USB.
/dev/sda1 is a FAT32 partition so fsck is not required. (Or rather I’m lazy to do the chkdsk equivalent). Why I did the fsck is so that I can be sure the file system is ok and I can boot up the Raspberry Pi successfully. My monitor is stuck in office, so I want to do everything over ssh.
So, after the reboot, you get everything as per how it was with the micro SD, only faster and also a larger space. 🙂