Introduction: How to Create a RetroPie USB Boot Drive for Raspberry Pi 3
In this Instructable, you are going to learn how to use an HDD with your Raspberry Pi instead of a SD Card.
If you really enjoy this Instructable, consider checking out my TechWizTime YouTube Channel.
And for an awesome source of Raspberry Pi Accessories, check out my Raspberry Pi Amazon List.
Let’s get started!
Step 1: What You’ll Need
- Keyboard
- USB HDD
- Raspberry Pi 3
- 8GB+ MicroSD Card
- Latest RetroPie image
- Y Cable
Step 2: Update Your RetroPie
Press “F4” to get into the Command Line.
Type “sudo apt-get update && sudo apt-get install rpi-update” and press “Enter” Type “sudo BRANCH=next rpi-update” and press “Enter”
Step 3: Configure the Boot Config File
Type “echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt” and press “Enter”
Reboot the system by tytping “sudo reboot” After it reboots properly, press “F4” to return to the Command Line.
Type “echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt” and press “Enter"
NOTE: If the return is 17:3020000a, you may continue, if not, then your HDD or USB Stick may not be compatible.
Go into the config file by typing “sudo nano /boot/config.txt” and then pressing “Enter”
Scroll to the bottom of the file with your arrow keys.
Delete the line that reads “program_usb_boot_mode=1”
Press “Ctrl” + “X”, then press “Y” and then hit “Enter”, this will save the file and take us back to the Command Line.
Step 4: Setting Up the Hard Drive Partitions
After we’re back to the Command Line, type “sudo parted /dev/sda” and press “Enter”
Type “mktable msdos” and press “Enter”
Say “Yes” to destroying the disk label. Create the “fat32” partition by typing “mkpart primary fat32 0% 100M”
Create the Linux partition by typing “mkpart primary ext4 100M 100%”
Type “quit” to get out of the partition tool
Type “sudo mkfs.vfat -n BOOT -F 32 /dev/sda1” and press “Enter”
Type “sudo mkfs.ext4 /dev/sda2” and then press “Enter”
Step 5: Copy All the Files From Your MicroSD Card to Your Hard Drive
Type “sudo mkdir /mnt/target” and press “Enter”
Type “sudo mount /dev/sda2 /mnt/target/” and press “Enter”
Type “sudo mkdir /mnt/target/boot” and press “Enter”
Type “sudo mount /dev/sda1 /mnt/target/boot/” and press “Enter”
Be sure that you have “rsync” installed to it’s latest version by typing “sudo apt-get update && sudo apt-get install rsync”
Type in “sudo rsync -ax –progress / /boot /mnt/target” and press “Enter”
Be ready to have a long wait as it’ll start to copy all the files on your SD Card to your Hard Drive.
Step 6: Bind the System Directories
Type “cd /mnt/target” to access one of the mount directories
Type “sudo mount –bind /dev dev” and press “Enter”
Type “sudo mount –bind /sys sys” and press “Enter”
Type “sudo mount –bind /proc proc” and press “Enter”
To delete your SSH key and make your Drive a bit more secure, type “sudo chroot /mnt/target” and press “Enter” to get root access.
Type “rm /etc/ssh/ssh_host*” to delete your SSH key.
Type “dpkg-reconfigure openssh-server” to create a new SSH key.
Type “Exit” once that the new SSH key is generated to get out of root.
Type “sudo umount dev” and press “Enter” Type “sudo umount sys” and press “Enter”
Type “sudo umount proc” and press “Enter”
Finish adding the needed information to the Command Line of the Boot file by typing “sudo sed -i “s,root=/dev/mmcblk0p2,root=/dev/sda2,” /mnt/target/boot/cmdline.txt” and then press “Enter”
Add “fstab” to the boot file by typing “sudo sed -i “s,/dev/mmcblk0p,/dev/sda,” /mnt/target/etc/fstab” and then pressing “Enter”
Type “cd ~” after entering the last 2 commands and press “Enter”
Log out of the boot partition by typing “sudo umount /mnt/target/boot”
Type “sudo umount /mnt/target” and press “Enter”
Power off your Raspberry Pi by typing “sudo poweroff”, that way you can take out the SD Card.
Congratulations, you’ve just set up your HDD to work with your Raspberry Pi and boot into RetroPie.
If you enjoyed this Instructable, consider checking out my TechWizTime YouTube Channel.
And for a good source of Raspberry Pi products, check out my Raspberry Pi Amazon List.