My goal is to create a customised CoreELEC / Kodi into an .img so people can download and burn it to an SD card straight away and use the box out-of-the-box.
My target hardware is X96 Mini and there are already stable builds in it.
Ultimately I would also look into an easy way to pass Wi-Fi credentials to the build, either from before burning the image or some sort of turning the box into an AP mode in the first launch of the box so user can use their phone, connect to it’s Wi-Fi, then pass the Wi-Fi credentials to the box. (Or even better, via bluetooth)
I looked up in the forum / google and found more of cross compiling tutorials and references but I think in my case I don’t have to re-compile from source?
Any ideas or reference to read will be much appreciated.
Do you intend to eliminate all branding and any non-opensource code that might be included, or is it your intention to do a ‘community’ respin of CE for a particular device?
Cross compiling makes your image maintainable. It takes much more setup, but you will then be able to rebuild quickly to update your image when CoreELEC updates.
If you just want a quick one-off image to distribute, you just need to make your image and then use dd to copy it- either to a file or another sd card.
I just realise I may want to do a version with 2 things:
Some pre-compiled python binary libraries for an addon to view videos from a Peertube instance that need the python c binding binaries of libtorrent (not compulsory as I could import the python modules / libraries from an addon)
an netdata.cloud installation to monitor the performance of the tv box (needs apt-get), although I can get around it with installing and running netdata.cloud via a Docker container
Any pointers or reference to read on? Especially point 2 as I prefer to run it ‘natively’ instead of from a docker. But CoreELEC is a closed system.
This is very much going to depend on your experience level. If you are familiar with make and automake tools, it is not hard to use an existing package.mk files and adapting it to your needs. If someone else has set up the package you need, either in CoreELEC, LibreELEC, or a similarly packaged system, you can pretty directly steal it. Otherwise, you need to work from the native make system and crowbar it into place. The more external hooks you need, the more difficult it is.
apt-get is simply not available, the only packager you can use is Entware. Everything else has to be compiled for the kernel you are using.