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.