On Tuesday 21. June 2016 20.31.06 Luke Kenneth Casson Leighton wrote:
On Sun, Jun 19, 2016 at 8:20 PM, Paul Boddie paul@boddie.org.uk wrote:
https://wiki.parabola.nu/MIPS_Installation
Maybe that could be revived in some way for the Ingenic jz4775 (albeit as mipsel, not mips64el). It appears that the developers just ran out of hardware.
:)
well i'll have some up and running when i find the time so that's a problem that can be solved, fortunately.
talk's in half an hour, gotta go.
I had a bit more of a look at various distributions today, and it is actually rather annoying to try and find details of how *any* of the major distributions and their derivatives build their packages from source in bulk (apart from in-the-know references to things existing in various distribution infrastructures).
Anyway, amongst the FSF-endorsed distributions I had a look at Parabola, Trisquel, gNewSense and GuixSD. Sorry for omitting any GNU prefixes/suffixes and "Linux" from the names. ;-)
Parabola --------
Parabola is based on Arch Linux and did support mips64el, but it appears to only target Intel and ARM at the moment. I don't have much familiarity with the Arch tools, but I'm guessing that libretools and abslibre are the key components here:
https://wiki.parabola.nu/Category:Libretools
https://projects.parabola.nu/abslibre.git/
Unfortunately, all the documentation assumes that you're running Arch already, and although there seems to be a "pacstrap" tool (like debootstrap, I guess), it doesn't seem to be as straightforward to get started as with a Debian installation, although I am a bit spoiled here with some tools I have to quickly populate Debian chroots. More information on the pacstrap method here:
https://wiki.archlinux.org/index.php/Install_from_existing_Linux
I'd want to cross-compile packages, which is apparently done for certain architectures using distcc:
https://wiki.parabola.nu/Cross-toolchain_and_distcc
But I don't want to have to run a native system to coordinate the build, which is what this entails.
Trisquel --------
Trisquel is based on Ubuntu Linux but Ubuntu doesn't support MIPS architectures these days. This is somewhat unfortunate because once you start digging it appears to be possible to find some of the central tools used to make Trisquel, and development activity appears to remain high:
https://devel.trisquel.info/groups/trisquel
gNewSense ---------
gNewSense was based on Ubuntu but is now based on Debian - I think gNewSense and Trisquel may have traded places once upon a time - and although it doesn't look like much development is taking place, there are signs that another release may happen at some point. The last release happened this year (after being over a year in the making) and covers MIPS as well as Intel architecture flavours:
https://savannah.nongnu.org/forum/forum.php?forum_id=8535
After some digging, the tools involved can be found - Savannah seems to be the real centre of activity - but there appears to be uncertainty about the best way of filtering and repackaging Debian, meaning that there isn't a straightforward path to a new release. Anyway, the tools appear to be here:
http://bzr.savannah.gnu.org/lh/gnewsense/
Here's a thread about the situation:
http://lists.nongnu.org/archive/html/gnewsense-dev/2016-05/msg00000.html
GuixSD ------
https://www.gnu.org/software/guix/
GuixSD is a bit different from other distributions and relies on some kind of transactional package manager known as Guix. However, it appears to support mips64el as well as ARM and Intel architecture flavours:
https://www.gnu.org/software/guix/manual/html_node/GNU-Distribution.html
What encouraged me was that after not that many links I found pages talking about bootstrapping and porting:
https://www.gnu.org/software/guix/manual/html_node/Bootstrapping.html#Bootst...
https://www.gnu.org/software/guix/manual/html_node/Porting.html#Porting
There may be scary diagrams, but at least the authors feel the need to document such issues coherently. And the indication that guix knows how to cross-compile packages is reassuring, although we have to see whether this will work in practice.
----
So I'm currently looking to see what can be done with Guix and cross- bootstrapping for mipsel. Maybe I won't get very far, but it will at least test the feasibility of getting an existing FSF-endorsed distribution onto mipsel. I'll also see what can be done with Parabola, but I imagine it being even harder work.
I did hear reports of how great Devuan's build infrastructure is supposed to be, but I didn't find any documentation for it. Maybe someone here could point me to an informative reference.
Paul