Hello Denis,
The maintainer of Dragora GNU/Linux-Libre here. Since 2012 I have started to re-do the distribution from scratch, the method that I propose is that the distribution can be built from scratch. The method consists in simple shell scripts but well-organized in stages. For example, the stage 0 build a cross-compiler, the other current stages are designed as a previous steps to get the final system. Something like LFS and CLFS does, but I consider the method is a bit beyond of those (because I understand how LFS/CLFS works). Unlike LFS/CLFS, there two important aspects, 1) all the components are 100% free software. 2) the method is agnostic, you can modify, create or add the steps that you want to achieve for a stage (for example, to create other gnu/linux distributions). When I said that the method is agnostic, this is especially for the stage 0, the cross-compiler. This does not contain hard coded paths. The independence of the cross compiler is such that I have managed to produce several cross compilers that use a non-convenient form. The first phase, where a cross-compiler for the native architecture is created; and the second phase, where the produced cross-compiler is used to create other compilers for the different supported architectures. The only cons maybe for you or other people, is that the set is based on the musl C library. I've published a recent version, which contains support for the ppc64le, if you want to give a try: http://lists.nongnu.org/archive/html/dragora-users/2018-05/msg00000.html I can provide more information about the bootstrap method, etc. Let me know! On Thu, 31 May 2018 12:46:32 +0200 Denis 'GNUtoo' Carikli <[email protected]> wrote: > On Fri, 18 May 2018 10:41:41 +0200 > Andreas Grapentin <[email protected]> wrote: > > Hi, > > > I have been involved in that a bit, and I think the current problem > > is creating a suitable cross toolchain to start the port in > > earnest. If we had people with experience and ideas in that regard, > > that might me very helpful. > I'm very interested in being able to create arbitrary toolchains from > an FSDG distribution, as I need it to be able to compile older > (ARM) kernels, compile lm32 code for some AMD processor (SMU) present > in AMD CPUs, etc. > > == Cross toolchains == > In Parabola we have crosstool-ng but I didn't spend enough time > on it to successfully create a toolchain. > > $ pacman -sS crosstool > > pcr/crosstool-ng 1.23.0-1.parabola1 > > Versatile (cross-)toolchain generator, with Linux-libre kernel > > support pcr/crosstool-ng-git 1.22.0.r21.g2d3c70d-1.parabola2 > > Versatile cross-toolchain generator, with Linux-libre kernel > > support > > Another approach would be to add support for that architecture in Guix > and build the toolchain through that. > > I remember seeing compatibility the results of test in tables with > the combination of different versions of glibc, gcc, and binutils for > each architecture. Typcally, with x86, combining most of the > glibc, gcc, and binutils versions will work, whereas you might hit > problematic bugs when you do that for other less-scrutinized > architectures. > > In any case, building a toolchain is not enough, you also need it to > work enough to bootstrap enough userspace to be able to boot (and > then be able to build packages and the toolchain on the booted > system). > > == Using another distro == > Another approach would be to use any GNU/Linux distribution (which is > not necessarily FSDG compliant) that supports ppc64 little-endian, run > it in qemu, and with it bootstrap a Parabola for ppc64 little-endian. > > In one hand this may seem ethically acceptable[1]: > > But there is one special case where using some nonfree software, and > > even urging others to use it, can be a positive thing. That's when > > the use of the nonfree software aims directly at putting an end to > > the use of that very same nonfree software. > > But if you see it with another point of view it might be problematic > as it would be preferable not have to run non-FSDG distributions to > port FSDG distributions to other architectures in general. And porting > Parabola to ppc64 little-endian will not enable to avoid running > non-FSDG distributions when porting to a different architecture. > > It would also be nice to be able to create arbitrary toolchains with > FSDG compliant software. > > References: > ----------- > [1]https://www.gnu.org/philosophy/is-ever-good-use-nonfree-program.html > > Denis.
