Group: Hardware/FSDG distributions

From LibrePlanet
< Group:Hardware
Revision as of 19:52, 11 October 2021 by GNUtoo (talk | contribs) (General information: Add Audience about Dragora)
Jump to: navigation, search

Introduction

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.

It is also interesting to understand who is able to use the FSDG GNU/Linux 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 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:

General purpose GNU/Linux distributions

General information

Distribution Audience Release type
Dragora Technical users:
  • Graphical installation
  • No graphical package manager[1]
Stable releases

Rolling releases are also possible

Guix System Technical users:
  • Mostly graphical installation
  • The knowledge of a guile compatible programing language is required to administrate the system
  • Do graphical Guix tools do exist?
Rolling release
Hyperbola Everybody?
  • Can the installation be done graphically?
  • It has a graphical package manager (octopi). Is it installed during the graphical installation?
  • Does the user needs to mess up with configuration files?
Stable releases
Parabola Everybody: Rolling releases
PureOS Everybody:
  • The installation can be done graphically
  • There is a graphical package manager installed during the graphical installation
Rolling release
Trisquel Everybody:
  • The installation can be done graphically
  • There is a graphical package manager installed during the graphical installation
Stable releases

Architectures support

Distribution or software ARM 32bit ARM 64bit MIPS 64bit little endian PowerPC 64bit little endian Riscv 64bit x86 32bit x86 64bit
Dragora No[2] No[2] No[2] No[2] No[2] i586 Yes
Guix System armhf Yes No, cross compilation only[3] POWER9, experimental[4] No, cross compilation only[5] i686 Yes
Hyperbola No No No No No i686 Yes
Parabola armv7h experimental, through armv7h only[6] No, discontinued[7] Unfinished Unfinished i686 Yes
PureOS No Yes, can be installed with debootstrap[8] No No No No Yes
Trisquel No No No No No i686 Yes

Small distributions

Distribution or software Usage Audience Release type
libreCMC
  • WiFi access point and small network equipements
  • Ben Nanonote (tiny portable device)
? Stable releases
ProteanOS ? ? ?
Replicant
  • Android distribution for smartphones and tablets
Users with extremely basic command line knowledge Stable releases

Architectures support

Distribution or software x86 32bit x86 64bit ARM 32bit ARM 64bit MIPS
libreCMC Requires to build from source Requires to build from source Requires to build from source No Yes
ProteanOS ? ? ? ? ?
Replicant No No Yes No No

Adding support for a device

Distribution or software Adding support for a device
General purpose GNU/Linux distributions
  • You may need to package device specific software like bootloaders for non-x86 devices
  • You may need to update or write installation instructions for the device if the existing ones do not support the device
  • You need to upstream the code that makes the hardware work if it's not already done
libreCMC
ProteanOS
Replicant
  • You need to add a vendor/device/the-vendor/the-device repository with the hardware configuration
  • You may need to package the code that makes the hardware work if it's not already done

References

  1. https://dragora.org/manual/en/html_node/pkgmanagement.html
  2. 2.02.12.22.32.4 Dragora can also be bootstraped from source, but there is no guarantee that it will work for unsupported architectures.
  3. Guix still support cross compiling packages for mips64el-linux-gnu
  4. 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"
  5. Guix still support cross compiling packages for riscv64-linux-gnu
  6. For it to work:
    • You need to install the linux-libre-aarch64 kernel
    • You need a processor that also support running 32bit arm code
    Also note that bootloaders for aarch64 computers are not packaged yet, so you'll need to compile them yourself for now.
  7. https://www.parabola.nu/news/parabola-support-for-mips64el-discontinued/
  8. 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.


This page was a featured resource in August 2020.