Berryboot RPi images?

  • Hi,

    Would be nice if you could generate Berryboot squashfs images for each RPi releases (a bit like OE is doing).
    This is very convenient for testing and having multiple distributions on same SD card.
    More info can be found here in case

    Thanks!

    Edited once, last by macmpi (April 7, 2016 at 8:08 PM).

    • Official Post


    Hi,

    Would be nice if you could generate Berryboot squashfs images for each RPi releases (a bit like OE is doing).
    This is very convenient for testing and having multiple distributions on same SD card.
    More info can be found here in case

    Thanks!

    Those instructions look pretty easy, any reason you can't create them yourself?


  • Those instructions look pretty easy, any reason you can't create them yourself?

    Hi,

    2 main reasons for asking:
    - I looked at it in the context of Libreelec, and it seems the image that is currently built is not in a common form, for which this tutorial has been built. Indeed the FAT partition has a 116MB SYSTEM file which might be expanded in the ext4 partition after first boot. ...Or it is a different mechanism (squashfs that is mounted each time, etc)
    I thought it would be more productive to ask people in the know, instead of doing some reverse engineering and guesses.

    - Even if it had been as simple as follwowing the tutorial (which I did for other instances), releasing such image from start would potentially help several users (as it does with Openelec). Even more if the process is more complex or less "standard" due to the way the system is packaged.
    Some Openelec potential switchers may be leftover if such feature is not available.

    Thanks for your consideration.

  • Ok, took the plunge.
    It seems like the file named SYSTEM in the image FAT partition is actually a squashfs partition, and the other ext4 partition is nearly empty.
    Therefore, I tried to install this sole file onto BerryBoot, just renaming it LibreELEC.img160 (160 is to signal GPU mem smplit), and it seems to work fine.

    More tests would be needed, but it looks good, and then fairly simple to use LibreELEC with Berryboot.
    Any feedback welcome.

    PS: as a good measure, it's better to unsquash it and re-squash it discarding /lib/modules folders as this is provided by Berryboot.
    $ mkdir unsquashed_image_dir
    $ cd unsquashed_image_dir
    $ unsquashfs path_to/SYSTEM
    $ sudo mksquashfs squashfs-root/ converted_image_for_berryboot.img -comp lzo -e lib/modules

    Edited once, last by macmpi (April 15, 2016 at 8:19 AM).

  • One thing you may find is it's impossible to update the image in the normal fashion (dropping tar files into the update folder and reboot).

    This certainly was the case with BerryBoot and OpenElec in the past, at least last time I had a look at it (as part of the WD beta testing of their PiDrive). It may be something to look at and confirm, as for me it was a deal-breaker as I didn't fancy setting up a new image each time and then copying all the settings etc from the old one to the new.


  • One thing you may find is it's impossible to update the image in the normal fashion (dropping tar files into the update folder and reboot).


    Well, I incidentally discovered BerryBoot has some update procedure for OpenELEC if you refer to:
    berryboot/buildroot-2015.02/package/berrybootgui2/init

    I did not test yet, but should work fine: update is just a matter of changing the older SYSTEM file by newer anyway.
    The only potential issue I see, is that SYSTEM drop-in does not remove the lib/modules directory: I guess Berryboot's own directory would supersede it.


    I imagine something pretty similar would work equally with LibreELEC: one may need to pitch that to BerryBoot owner.

    Edited once, last by macmpi (April 19, 2016 at 1:04 PM).

  • Good to know, thanks (if it works).

    The normal way doesn't seem to work as the image seems to start too late in its boot sequence for the update files to get detected. Not so bad for a general update procedure from release to release, although it would be a complete deal-breaker for anyone wanting to use nightlies unless they were willing to package up each one on a daily basis.


  • Not so bad for a general update procedure from release to release


    Couldn't LE handle the update by itself, moving & renaming the downloaded SYSTEM file within proper BerryBoot folder structure & then reboot?
    Does not seem too complex I think.


  • Couldn't LE handle the update by itself, moving & renaming the downloaded SYSTEM file within proper BerryBoot folder structure & then reboot?
    Does not seem too complex I think.

    I think the way BerryBoot handles each os, is to keep the original os in it's *.img format, then it keeps another folder with the changes it's made to the image.. similar to a persistent home directory on a user's usb in a linux-live cd scenario. Therefore, it can't actually write changes to the system.. it just needs to be replaced instead.

    As for just renaming the LibreELEC 7.0.2 SYSTEM file to *.img128, then install that with the installer... it works, but I've just found a snag.. well, 2 actually. 1, if you make any changes to the default skin layout, ie: hide Pictures, enable Weather, etc.. it doesn't keep the settings upon reboot. Confluence, Aeon Nox.. both do the same thing. The 2nd issue... it's hanging on reboot. LE 7.0.1 installed direct from the internet connection seems fine though.. changes stick, and reboots fine. So I'm not sure if it's the method, or something in 7.0.2. I don't remember any issues when installing LE 7.0.2 on it's own in a normal install, without BerryBoot.

  • I think I need to correct myself. I just set up a dual-boot on an external drive using NOOBS. Raspbian and LE 17 (Kodi 16.02). It seems Kodi not saving skin changes is a bug in 16.02.. at least what I've just been reading. And as for the freezing during a reboot.. it does it using a NOOBS setup as well. So that might just be my system.