Booting from USB

These instructions are for the single processor Pi
I need to research for updates for the new quad processor Pi

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
    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

3: Edit /boot/cmdline.txt on the SD card

     In File Manager browse to  /boot
Tools / Run a Command in Current Folder
       then enter
               sudo nano cmdline.txt
sudo leafpad cmdline.txt
sudo gedit  cmdline.txt

modify the root=/dev/mmcblk0p2 (SD card)
          to       root=/dev/sda2                          (USB drive)

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.