The following tutorial will work/required for only
2B v1.2, 3A+, 3B, Compute Module 3, 3+ for
3B+ and above USB boot is out of the box.
To make this work we still need to use one SD Card, the Pi will boot from it but it will redirect to the USB Storage device as the location of the OS.
To start with write the image file to the USB Drive and an SD Card. You can remove the USB Storage device but resinsert the SD card. On liniux it will show two partitions and on Windows it will show one. Open the drive with label
boot. You will see a file named
cmdline.txt file will be containing the boot path as shown in the following image,
To boot from USB Flash Drive we have to change the path to dev/sda2.
Now plug the Drive and SD card into the Raspberry PI and if everything went write it will boot from the USB flash drive. And you are ready. However the file system wil not be exapnded automatically and it has to be done manually, to do that use the following commands
$ sudo fdisk /dev/sda
$ sudo reboot
Once your Raspberry Pi has rebooted, we need to resize the partition. To do this type the following,
$ sudo resize2fs /dev/sda2
Once it’s done reboot again. Then type:
$ df -h
This will show the partitions and space, you’ll see the full USB Flash Disk has all the space available now. That’s it, all done!