-
Notifications
You must be signed in to change notification settings - Fork 219
Consider making image creation more reproducible #6
Comments
I really like both ideas! |
This could be helpful: this explains the script adamcik mentioned: |
Ah, forgot to put in the link to the blog, good you found it :-) Otherwise an option I was thinking about was using something like unionfs to have a baseline RO image, say rasbian and then layer pimusicbox changes on top, might also be relevant for having a way to implement #8. |
This is the description on how to create Pi MB: |
I'm 75% of the way there, using https://github.com/debian-pi/raspbian-ua-netinst.git as a base. I need to apply the Pi MusicBox custom modifications on top. I used QEmu to automate the image creation without the need for a physical Raspberry Pi. |
@hadess Could you share how you did it? |
@dz0ny has also started on https://github.com/dz0ny/mopidy-core-image which takes a slightly different approach, but might also serve as a way to solve this if a minimal raspbian image is used instead of ubuntu-core. |
@woutervanwijk I'll share it as soon as it works ;) |
I'm getting:
doing:
That seems to be the only package that fails to install. Any ideas? |
Hmm, is it actually "Mopidy-Simple-Webclient" not "mopidy-simplewebclient" ? |
Yes it appears it is. |
Hey, if you guys are still looking CustomPiOS might help you out: Willing to lend a hand. It uses base images. So you could adapt the current build model to use the 0.6 image. And then later on make it build against Raspbian lite base image if you like. Or even against armbian which would let you support more devices. Its being used and maintained by me in OctoPi, FullPageOS and RealtimePi, also Zynthian are using it. There is a module system to you can use things from other distros. |
My changes to raspbian-ua-netinst had the benefit of not requiring root to build images. Ideally, this could be run without much more complicated tooling on a laptop, a VM, or a container, whatever ends up being available to the developers. |
I suggest you use qemu-arm-static rather than qemu, which emulates memory and other things. Playing the advocate of my distro build system I will note that raspbian-ua-netinst might be a pain to maintain against. Also, it was not updated the last 3 years and I don't know if it supports new pis. |
I have no idea what you're saying. One of the requirements listed in https://github.com/guysoft/CustomPiOS/blob/devel/README.rst#requirements is |
A good solution should support running without root privileges. raspbian-ua-netinst might not be that solution, but that's not as important, as my changes weren't upstreamed anyway. |
Ok, you could give loopback mounting privileges and run at as user. If that bothers you. The reason root is needed is because of loopback mount to get the base image modified. Also, as I said, you are going though code that seems to be unmaintained |
https://ostree.readthedocs.io/en/latest/ or something based on it might be worth looking at. I also suspect this bug should be merged into a single bug for whatever directions is chosen as there are a bunch of interdependent / similar bugs to this one floating around. |
@arthurlutz suggested linuxkit in #456 - could be worth looking at. |
I had a good lood at ostree last week when you posted it in IRC. It seems like a lot of effort, I preferred something like cattlepi. |
http://www.kmp.or.at/~klaus/raspberry/build_rpi_sd_card.sh shows how one can build an image for the raspi using debbootstrap, which is part of the debian installer system. Using this we could make it much easier for people to create the image from scratch in a reproducible way.
If this where combined with pimusicbox debian packages that contain most of the customization we might even be able to get it to a point where someone could just do an
apt-get install pimusicbox
on a rasbian system with apt.mopdy.com and get an equivalent setup.The text was updated successfully, but these errors were encountered: