Multiple OS's booting off a 32gb SD card


#1

Ok, so we just got the piper this month and rapidly came to the realisation that a 7.4gb sd card is ridiculously too small. Also, i wanted to keep the ‘piper’ os clean and separate to anything else we loaded. I’ve used rPi’s before with multiple OS’s running via BerryBoot. This way i could set the Piper up for my son so he had a few choices. The ones we initially selected, being: 1/ Piper (all default and nothing added) 2/ Kodi (So he could play shows from our media setup) 3/ Raspbian (with lots of games, add ins, office apps, browsers, etc.)

1/ i got a 32gb sd (dont get larger than this) and then downloaded and copied over berryboot as per http://www.berryterminal.com/doku.php/berryboot
2/ i then installed raspbian and openelec (kodi)
3/ i downloaded the latest 1.06 image of piper (compressed version) and then extracted to a usb stick

now this is where it gets tricky. you cant just take a normal rPi image and use this with berryboot. the image has to be in a special format called SquashFS. This required a bit of research (as id never heard of this) and also some more work.

**All of the next steps i did on the Piper under raspbian. **
4/ plugged in the usb stick to the piper
5/ followed the instructions for converting a image to a squashfs image at http://www.berryterminal.com/doku.php/berryboot/adding_custom_distributions
6/ once i had the squashfs image i copied it to the usb stick and rebooted the piper
7/ on bootup with berryboot it loaded a os selection screen. you can edit this and then choose to load a squashfs image from a USB. i selected the piper squashfs image i created and kicked off the install.

now when my son starts the piper it defaults to loading piper os, but also gives him the option to load a media centre (kodi) or a raspbian with a bunch of mods and games we are adding in. (there really are quite a few good games that run on the rPI2/3)

anyhow, happy to field any questions as best i can (am a bit of a novice with linux) and if i get enough requests, i could probably upload the squashfs image of piper that i created so you could save a bunch of time, effort and learning if you want to load up a multi-boot setup on a bigger sd like i did.

The piper is fun initially, but kids are fickle and need variety to this end i’d suggest multiple boots off a bigger SD card. that way you can keep piper all default, but still have options for entertainment, games or a bunch of other os’s they could try out. it certainly extends the usefulness. I will post a list of the games ive found later on also.

good luck

Matt


#2

Matt, thanks for your post. That’s terrific added functionality!!! Questions:

  • Why not use a card larger than 32gb?
  • How large do you suggest making the partitions/file system images for the different operating systems? (If one does specify that when using berryboot – I couldn’t tell on a quick scan).

Jeffrey


#3

I see this is an old post, but can’t find anything more recent. My son just put together his Piper and is asking to do exactly what this post is describing. In particular he wants Kodi and Retropie. I have zero experience and have no idea how to help him. This post gives a little idea, but we really need a step by step tutorial. It would be great to upgrade him to a bigger card to give greater functionality, but I don’t want him to lose his progress/Piper set up in the process.


#4

I haven’t tried to do this yet, myself. (And probably won’t have time to, honestly.) But I wanted to note that a side benefit of someone writing up this recipe would be them being able to write up a recipe for making a bootable backup of one’s PIPER SD card at any point.


#5

You can install the Pi SD Card Copier. You will need a SD card writer and a second SD card that is at least 8GB.

  1. attach a USB keyboard to the Pi
  2. exit Piper and open a terminal window
  3. type: sudo apt-get update - and press enter (or return depending on your keyboard)
  4. type: sudo apt-get upgrade -y - go get a coffee - this will take awhile
  5. type: sudo apt-get install piclone
  6. put the new SD card into the SD card writer and pug it into the Pi
  7. type piclone and follow the directions.

More details can be found in the third part of this page from the Rasberry Pi Foundation


#6

Hi,
So those instructions will copy the card exactly (and everything else as is) onto another card? Say I put a 32g card into the card reader and completed the process, then start up the Pi with the new larger card, would it be as it is now? Then could we use the larger card to put on Retropie, Kodi, Google home assist etc… and still be able to use Piper Universe and other already installed Noobs applications as is? Sorry if I am making no sense. I really know nothing about Rasberry Pi and have been trying to peice information together as best I can (things like saving images is new terminology to me), but it is not as simple as a regular computer and I don’t want to mess anything up due to my ignorance. The first part of the post sounds very complicated so it would be good if just one card could be used for multiple projects. Also, why did the first post say not to go above 32g and does the card speed matter? Thanks for your help.


#7

@Nbailey - the steps I gave are just for making a backup of an existing SD card. I beleive it will expand the files to take up the full space of the SD card - or if you have aan 32GB card but are only using 6GB of it, you could use this to copy the backup to the smaller card.

Personally, I would have multiple SD cards one for each OS you want to play with. I would hate to have three OS’s on one card and then do someting that caused one to fail and possible corrupting the entire card so I’d loose what I had done in the other OS’s. Having mustiple cards avoids that.


#8

Thanks for the quick reply. Ok, so now for another probably silly question. Would the different projects use different operating systems? I don’t think I fully understand operating systems. Say for a Google AIY type project using our own microphone and speaker, would that use a different operating system that needs to go on a new card to keep the different OS seperate from whatever Piper uses? I guess I need to get my head around why you can’t save a certain image onto an existing SD card and go to the terminal and follow whatever tutorial you are following. Is it simply because it might corrupt the card by doing this additional project? So you suggest to install an operating system onto a seperate as per tutorial you are following and complete the project on that. Then change the cards according to what you want to use (Retropie, AIY, Kodi etc…), having a seperate card for each? Starting each project like the Pi is new? Therefore, there is no real point to having a larger card? And, safer to work this way? The Piper backup exercise would be used as a just in case the original gets lost while doing other projects?
Thanks again for your help.


#9

It depends. You could youse the same OS for the Google AIY or Sight but you wouldn’t want to use the same SD card as Piper. That’s because, although they both use Raspbian, Piper is currently running on an older version (‘Jessie’) while you would want to run the Google projects using the latest version (‘Stretch’).

You could use the same SD card to run the Google projects and say Node-Red or Sonic or Scratch or do some of your own programing in Python. (you can find these all under the Menu once you exit Piper)

There is another OS called OSMC which people use to build a media center arround a Pi. Ther is also PiNet which is a classroom management system designed to allow a classroom of Pi’s to be setup/controlled from one Pi - makes updating a lot of Pi’s easier.

So if you choose another OS, I’d suggest to buy anothe SD card. If you want to run other projects other than Piper, I’d still suggest you use a separate SD card for them. You can put many projects on one card, but sometines it is easier to get another Pi too.

For example, I have a skeleton I bought two years ago and the skull has a moving jaw. I opened it up and wired a servo to the jaw, cut a round hole in the forhead and put in a motion sensor (PIR), got some red led’s and file eyeballs. I put the led’s in the eyes, wired it all together and put a Pi inside. I wrote some code using Node-Red and now if someone comes near it, the eyes light up, the jaws start moving and it talks (added an external speaker).

While that seems like a lot, it was really just combining a series of small projects.
At this point I’ve moved to getting 16G cards because I can’t find any 8G Samsung EVO cards and even the 16G are disappearing. As companys can squeese more GB’s on a card, they stop making the smaller cards, that’s business.

Keep asking questions and try some things out, it’s the best way to learn.