Group: Hardware/Software/FSDG distributions
(→Target architectures support: Also tell that PowerPC is not supported either) |
(→Target architectures support: Order architectures alphabetically) |
||
Line 260: | Line 260: | ||
|- bgcolor="#6699ff" | |- bgcolor="#6699ff" | ||
! Distribution or software | ! Distribution or software | ||
− | |||
− | |||
! ARM 32bit | ! ARM 32bit | ||
! ARM 64bit | ! ARM 64bit | ||
Line 269: | Line 267: | ||
! Riscv 32bit | ! Riscv 32bit | ||
! Riscv 64bit | ! Riscv 64bit | ||
+ | ! x86 32bit | ||
+ | ! x86 64bit | ||
|- | |- | ||
! [https://librecmc.org libreCMC] | ! [https://librecmc.org libreCMC] | ||
− | |||
− | |||
| {{yes|built for cortexa9}}<ref>https://librecmc.org/librecmc/downloads/snapshots/v1.5.10/targets/mvebu/cortexa9/</ref> | | {{yes|built for cortexa9}}<ref>https://librecmc.org/librecmc/downloads/snapshots/v1.5.10/targets/mvebu/cortexa9/</ref> | ||
| {{no}} | | {{no}} | ||
Line 280: | Line 278: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes|Requires to build from source}} | ||
+ | | {{yes|Requires to build from source}} | ||
|- | |- | ||
! [http://proteanos.com/ ProteanOS] | ! [http://proteanos.com/ ProteanOS] | ||
− | |||
− | |||
| {{no}}<ref name="proteanos-supported-pc"></ref> | | {{no}}<ref name="proteanos-supported-pc"></ref> | ||
| {{no}}<ref name="proteanos-supported-pc"></ref> | | {{no}}<ref name="proteanos-supported-pc"></ref> | ||
Line 291: | Line 289: | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
+ | | {{yes}}<ref name="proteanos-supported-pc">http://proteanos.com/doc/install/pc/</ref> | ||
+ | | {{yes}}<ref name="proteanos-supported-pc"></ref> | ||
|- | |- | ||
! [https://replicant.us/ Replicant] | ! [https://replicant.us/ Replicant] | ||
+ | | {{yes|Probably requires ARMv7}} | ||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} | ||
− | |||
| {{no}} | | {{no}} | ||
| {{no}} | | {{no}} |
Revision as of 09:19, 27 October 2022
Contents
Introduction
This page is meant to document what type of hardware FSDG compliant can and/or want to support.
For instance having FSDG compliant distributions that support many architecture is interesting for several reasons:
- To get the RYF certification for a computer, being able to use all the components of that computer with free software is not enough as that computer also needs run an FSDG compliant distribution on that computer. See the RYF endorsement criteria for more details on that certification.
- Users that want fully free system can also build systems similar to the ones that got the RYF certification themselves and/or get some help to do it, and here they also need FSDG compliant distributions to run on their computers.
- As some computers can run fully free software, with some of the hardware components not working, it's also very interesting to be able to have a distribution to support such hardware. See the article on single-board-computers on the FSF website for more details.
So it is very interesting to document that.
It is also interesting to combine that information with information about what type of users is able to use the FSDG distributions. For instance if an architecture is supported only by FSDG compliant distributions that are for technical users with good command line knowledge, it would then dramatically limit the amount of people able to use that computers with that architecture with fully free software.
The release type (Rolling release, stable releases) and the release frequency is also important to take into account:
- For users, there are various advantages and disadvantages of using distributions that have rolling releases or stable releases. Less technical users seem to prefer LTS as less (frequent) maintenance is required.
- For adding support for devices in distributions, rolling releases gets the job done faster, but many users might prefer to use stable releases.
General purpose GNU/Linux distributions
General information
Distribution | Audience | Release type |
---|---|---|
Dragora | Technical users:
|
Stable releases
Rolling releases are also possible |
Guix System | Technical users:
|
Rolling release |
Hyperbola | Everybody?
|
Stable releases |
Parabola | Everybody:
|
Rolling releases |
PureOS | Everybody:
|
Rolling release |
Trisquel | Everybody:
|
Stable releases |
Architectures support
Distribution or software | ARM 32bit | ARM 64bit | MIPS 64bit little endian | PowerPC 32bit big endian | PowerPC 64bit little endian | Riscv 64bit | x86 32bit | x86 64bit |
---|---|---|---|---|---|---|---|---|
Dragora | No[2] | No[2] | No[2] | No[2] | No[2] | No[2] | i586 | Yes |
Guix System | armhf | Yes | No, cross compilation only[3] | No, cross compilation only[4] | POWER9, experimental[5] | No, cross compilation only[6] | i686 | Yes |
Hyperbola | No | No | No | No | No | No | i686 | Yes |
Parabola | armv7h | experimental, through armv7h only[7] | No, discontinued[8] | No | Unfinished | Unfinished | i686 | Yes |
PureOS | No | Yes, can be installed with debootstrap[9] | No | No | No | No | No | Yes |
Trisquel 9 (flidas) | No | No | No | No | No | No | i686 | Yes |
Trisquel 10 (etiona) | No | Yes | No | No | No | No | No | Yes |
Boot software interfaces support
Many ARM single board computers contains a boot ROM (usually called bootrom) that is small and read-only and that loads the bootloader from an external peripheral like a microSD or the internal memory (like an eMMC for instance). There the bootloader replaces something like GRUB and the BIOS on x86. This situation usually puts the distributions in control as they can ship the bootloaders they want for these computers, so it's up to them to choose the details of how the computer boots (though the downside is that they might need to build and package a bootloader for each devices they want to support).
In contrast, on most x86 computers and on some ARM computers it doesn't work like that. There is a boot software like a BIOS or UEFI on a memory chip that is soldered on the mainboard, and it's a lot more difficult for users to replace that software with free software or to recover from code that doesn't boot.
This makes it interesting to document what boot software interfaces FSDG distributions supports, because if a distribution doesn't support the BIOS interface anymore, then it won't work on computers with that Interface (like laptops with Libreboot and SeaBIOS instead of GRUB).
And even if users have Libreboot and can change the way the computer boots, they are often afraid to try to change how things work by themselves: if something goes wrong, most users don't know how to recover form it (it requires advanced hardware tools like flash programmer, to disassemble the computer, etc).
And in case of computers with nonfree BIOS and UEFI users don't even have the option of changing the way it boots, and can't try to contribute to projects like Libreboot to add more options and get that tested by the community.
Distribution or software | BIOS | Libreboot with GRUB | UEFI 32bit on 32bit CPU | UEFI 32bit on 64bit CPU | UEFI 64bit on 64bit CPU |
---|---|---|---|---|---|
Dragora | |||||
Guix System | Yes | Supported by Libreboot[10] | Yes | Incomplete [11] | Yes |
Hyperbola | |||||
Parabola | Yes | Yes | Yes | ||
PureOS | |||||
Trisquel 9 (flidas) | Yes | Yes | |||
Trisquel 10 (etiona) | Yes | No | Yes |
Small distributions
Distribution or software | Usage | Audience | Release type |
---|---|---|---|
libreCMC |
|
? | Stable releases |
ProteanOS | ? | ? | ? |
Replicant |
|
Users with extremely basic command line knowledge | Stable releases |
Target architectures support
Distribution or software | ARM 32bit | ARM 64bit | MIPS 32bit big endian | PowerPC 32bit big endian | PowerPC 64bit little endian | Riscv 32bit | Riscv 64bit | x86 32bit | x86 64bit |
---|---|---|---|---|---|---|---|---|---|
libreCMC | built for cortexa9[12] | No | Yes | No | No | No | No | Requires to build from source | Requires to build from source |
ProteanOS | No[13] | No[13] | No[13] | No | No | No | No | Yes[13] | Yes[13] |
Replicant | Probably requires ARMv7 | No | No | No | No | No | No | No | No |
Adding support for a device
Distribution or software | Adding support for a device |
---|---|
General purpose GNU/Linux distributions |
|
libreCMC | |
ProteanOS | |
Replicant |
|
References
- ↑ https://dragora.org/manual/en/html_node/pkgmanagement.html
- ↑ 2.02.12.22.32.42.5 Dragora can also be bootstraped from source, but there is no guarantee that it will work for unsupported architectures.
- ↑ Guix still support cross compiling packages for mips64el-linux-gnu
- ↑ This can for instance be used to test running software in big Endian mode (to fix bugs).
- ↑ The Guix 1.3.0 release blog post (https://guix.gnu.org/en/blog/2021/gnu-guix-1.3.0-released/) states that "POWER9 support is now available as a technology preview"
- ↑ Guix support cross compiling packages for riscv64-linux-gnu
-
↑ For it to work:
- You need to install the linux-libre-aarch64 kernel
- You need a processor that also support running 32bit arm code
- ↑ https://www.parabola.nu/news/parabola-support-for-mips64el-discontinued/
- ↑ This can be done in two stages like with debian. The first stage can be done this way: debootstrap --foreign --arch arm64 byzantium ./rootfs https://repo.puri.sm/pureos Amber can probably also be installed but I lacked older hardware that was supported by its kernel. Adding the dtb made it boot on Amber though.
- ↑ Libreboot has documentation on how to do that here: https://libreboot.org/docs/gnulinux/guix.html
- ↑ We can create images with guix system image -t efi32-raw, but there is no official installer for efi32-raw (though we might be able to create one with "guix system image -t efi32-raw gnu/system/install.scm") and the installer application probably doesn't support efi32-raw yet.
- ↑ https://librecmc.org/librecmc/downloads/snapshots/v1.5.10/targets/mvebu/cortexa9/
- ↑ 13.013.113.213.313.4 http://proteanos.com/doc/install/pc/
This page was a featured resource in August 2020.