For people short on SD cards: Berryboot is a simple boot selection screen for ARM computers like the Raspberry Pi, that allows you to put multiple Linux distributions on a single SD card.
In addition it allows you to put the operating system files on an external USB hard drive instead of on the SD card itself.
Download link Berryboot for the Pi 4 (39 MB): berryboot-20191005-pi4.zip
Download link Berryboot for the original Raspberry Pi, Pi Zero, Pi 2 and Pi 3(+) (39 MB): berryboot-20190612-pi0-pi1-pi2-pi3.zip
To install: extract the contents of the .zip file to a normal (FAT formatted) SD card, and put it in your Raspberry Pi.
This can be simply done under Windows without any special image writer software.
Once you start your Pi it will start an installer that reformats the SD card and downloads the operating systems files from the Internet.
→ Moved to: Berryboot Changelog
If your Pi is connected to the Internet BerryBoot will try to detect your location based on your IP-address, and set the right timezone automatically. Verify that it is correct and press “ok”
Select where you want to store the operating system files, and press “format”
You can choose to install the operating system files:
Be aware that if you choose an external drive, the files of the operating system will be stored there, but you still need to keep the SD card in the Pi to boot from.
WARNING: all existing files on the disk will be erased.
Select which operating system you want to install. You can add more later.
It will download the files from the Internet automatically.
In the Berryboot menu editor you can install more operating systems, rename them, delete them, etc. Press “exit” to exit the editor and start using the operating system you installed.
When attached to a HDMI TV, you can also use the arrows on your TV remote to select an operating system to boot, instead of using your keyboard or mouse.
Click on the “»” button to the right of the screen to see all options.
When using a Raspberry Pi you can specify kernel parameters and Berryboot parameters in cmdline.txt (use uEnv.txt if you have another device).
Special Berryboot parameters:
bootmenutimeout=<number of seconds> - number of seconds before default operating system is started.
nobootmenutimeout - do not start the default operating system automatically.
In config.txt advanced overscan, HDMI and overclocking settings can be specified.
See the RPIconfig page on eLinux.org for details.
Note that overclocking is known to cause SD card filesystem corruption, so only use that when you are using an USB stick or drive as storage and know what you are doing.
For advanced users: