So there have been a few people on the forums wanting to run the Raspberry Pi off a small SD Card with a USB Storage device as the main OS device. You can actually run a Raspberry Pi off an SD card as small as 16 megabytes. Since you only need a few files on the SD Card to boot up the SD Card.
The files required are –
- start.elf
- loader.bin
- kernel.img
- config.txt
- cmdline.txt
- bootcode.bin
After you put those files onto the SD Card, you need to modify the cmdline.txt file’s root parameter to point to the usb device. Normally it’s pointing to the 2nd partition on the SD card which comes up as /dev/mmcblk0p2. This needs to be changed to /dev/sda1, assuming that the OS is installed on the USB device’s 1st partition.
This will allow you to run the Raspberry Pi off a very small SD Card if neccesary, or just have the OS on a USB storage device.
Hi!
Is this way capable of loading any ARM compatible Linux OS on Rpi? I mean that I have a couple of usb keys, on which I would install different Rpi capable OS’s, and I would like to boot them to experiment with. And I want this without touching the sd card (other then putting those files and modifying cmdline.txt).
Thanks in advance!
Cheers
Yes it is. As long as the kernel used on the different distributions are the same and the modules are all located in the same spot etc.
If the os on all the usb sticks are on the first partition for example, then the cmdline.txt file doesn’t need to change.
[…] his blog how to do this in May 2014, with great instructions on how to do this under Windows. Also, this blog noted how to do it in 2012, but without the step-by-step breakdown. Many other sources (like this […]