Raspberry-Pi : USB-Boot
Booting from USB
Running from a USB connected Flash or Hard Drive does NOT guarantee speed and reliability.
That is based on the source of your hardware. This project shows you what you CAN do.
You will still need an SD card to store the boot instructions to tell the Raspberry Pi
to launch the OS from the USB. These instructions are NOT based on a Noobs installation.
The Noobs installation has multiple partitions.
I REPEAT... The Raspberry Pi MUST boot from the SD Card !!!
1: Verify that the USB drive is recognized by your Pi
If you plugged in the USB drive while your Pi is on
Your Pi should have asked if you would like would like to run "File Manager"
(Move on to step 2)
Any error msgs referring to the EXT drive format being unreadable?
install exfat-utils then replug the USB drive
Ex: "sudo apt-get install exfat-utils"
If your USB drive was plugged in during power up
Issue terminal command
$ ls /media
2. On a Windows PC Use HDRawCopy to Image your USB from the SD card
or
Use RPI-Clone to clone the current image to the USB drive
Note: if you run
$ sudo fdisk -l
You will notice that the only difference between the SD and the USB is the device name.
All we will do now is change the pointer to the USB
TAKE NOTE of the designation of the USB (sda,sdb,...)
3: Edit /boot/cmdline.txt on the SD card
$ cd /boot
$ sudo nano cmdline.txt
modify the root=/dev/mmcblk0p2 (SD card)
to root=/dev/sda2 (USB drive example)
Sample
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=
/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
changed to
dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=
/dev/sda2 rootfstype=ext4 elevator=deadline rootwait
The rootwait parameter is important as it will make the boot process hang until the USB drive is recognised.
Without it the Pi may complain that the location doesn't exist.