0

Firstly, complete newbie, only been playing with Raspberry Pi for one day.

So I originally used Noobs to use Raspbian on my Raspberry Pi and I've discovered BerryBoot and want to experiment with adding multiple OSes on a single SD card to see what they're like.

The instructions with BerryBoot (http://www.howtogeek.com/141325/how-to-multi-boot-your-raspberry-pi-with-berryboot/) seem to indicate that I need a fresh SD card.

So does that mean it's impossible to install BerryBoot with an existing installation and that if I want to have multiple OSes I would need to blow away my current installation of Raspbian?

Or is it somehow possible to install BerryBoot and add my existing OS on top of it?

Diskdrive
  • 101
  • The idea behind BerryBoot is it that it work as a boot manager. Once it is installed you can then use it to install multiple OS's, such as Raspbian. So in short yes it is going to require a clean SD card to install BerryBoot. – Darth Vader Jan 25 '17 at 12:51

2 Answers2

3

So does that mean it's impossible to install BerryBoot with an existing installation and that if I want to have multiple OSes I would need to blow away my current installation of Raspbian?

Yes, and no (you can't install Berryboot with your existing installation, but you can put your old installation into Berryboot afterward). There is a bit of a caveat in that I haven't done this, so I don't know to what extent Berryboot modifies the OS's it installs. I think it is only necessary with regard to one thing, /etc/fstab, because this contains information about what partition to mount as the root filesystem. Generally the best practice with that is to use filesystem UUIDs (meaning, it would not matter which partition by index the fs is on), but this is not the case with Raspbian; the actual device node name is hardcoded.

So you could still try this. You will need another linux system to do it as described below.

  1. Copy out your existing root filesystem (or use a fresh card for the Berryboot install). If you are copying it out, use the method described here with rsync (there's a reason for this, namely what's said there about what should be excluded from the backup, and that you are going to be copying it back into a partition that may be at least slightly different in size).

  2. Burn Berryboot to the card, boot it, install Raspbian, etc., to the point where you can boot normally.

  3. Determine which partition is being used as the root filesystem. Have a look at the /etc/fstab that's in play there and save a copy of it somewhere.

  4. Take the card out and reformat the root fs partition with fsck.ext4; this should leave an empty ext4 formatted partition.

  5. Using your backup or the old SD card, copy your old root filesystem using the rync method mentioned above.

  6. If the fstab copy you have uses UUID's, you will have to find the one for the new filesystem (blkid can do this) and edit that in. If not, it should be fine as is. Replace the one in the newly copying root fs with this.

You old install should now be usable via Berryboot.

goldilocks
  • 56,430
  • 17
  • 109
  • 217
0

I have not actually used Berryboot, although I did look at its internals.

Berryboot requires specially prepared images, and AFAIK all images share boot files, so they are required to be built using the same kernel.

NOOBS operates differently, each image has its own boot sector, so they can operate independently. Again you seem to be limited in the OS supported.

PINN is a fork of NOOBS, and seems a bit more flexible.

The above does not actually answer your question, but in conjunction with goldilocks answer should give you some help if you want to experiment.

Milliways
  • 54,718
  • 26
  • 92
  • 182