[RaspPi] Multiboot with BerryBoot

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 :)?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.