If you start using Raspberry Pis, you will run out of Sdcards rather quickly. Reason for this is, there are so many awesome Distros you would like to use - that you are becoming something like an Discjokey for Sdcards: An awful load of sdcards with just some 100 MBs of distros - spread all over your desk. And while sdcards are somehow cheaper than they used to be - today - it is still an awful waste of money.
Enter BerryBoot:
BerryBoot is an multiboot OS for Raspberry Pi (1 & 2).
It does use packed (squashfs) Images of different OSes, boots into them by using a shared library base and saves differences onto its own data structure on a second (ext4) partition. Quite cool!
To use Berryboot, just head over to http://www.berryterminal.com/doku.php/berryboot and download your copy.
HOWEVER, there are some caveats:
The CEC function does not work correctly on the current RPi 1 Version - so you can't navigate the menu of BerryBoot or i.e. OpenElec via your TV IR Remote. This seems to be due to a bug in the Raspberry Pi start files. RPi 2 Version does work well... So I tried to mesh the two versions - and it worked in the end. So my receipe is the following:
1.) Download from http://www.berryterminal.com/doku.php/berryboot the berryboot-20140814.zip ( http://downloads.sourceforge.net/project/berryboot/berryboot-20140814.zip ) as well as the berryboot-20150916-pi2-only.zip ( http://downloads.sourceforge.net/project/berryboot/berryboot-20150916-pi2-only.zip ).
a) If you do not yet use berryboot:
2.) Now, format your Sdcard (if you are newly creating a Berryboot System) to fat32.
3.) Unzip all files from the berryboot-20150916-pi2-only.zip to the root of the newly created Sdcard. Then unzip ONLY the kernel_rpi_aufs.img from berryboot-20140814.zip and copy it to the Sdcard.
b) If you own a Berryboot RPi 1 Sdcard and want to upgrade:
2.) Make a backup of your current berryboot sdcard! MANDATORY! Remove all files from the fat32 berryboot partition (the one with the config.txt, start files, etc.)
3.) Unzip all files from the berryboot-20150916-pi2-only.zip to berryboot partition. Then unzip ONLY the kernel_rpi_aufs.img from berryboot-20140814.zip and copy it to the Sdcard.
If you want to decide which image should be booted "on boot":
Just create on the berryboot data partition in /data/ an textfile named "default" and enter which image should be loaded, i.e.: OpenELEC_6.0.0.img128
There should also be an default_bootonce or so called file which does only boot on the next boot up - but i have not tried that.
With that knowledge, you could mount the berryboot data file from an booted image and change - while beeing in the system - the next bootimage via commandline.
Neat :)?