Group: Hardware/FSDG distributions

From LibrePlanet
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
GuixSD 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 x86 32bit x86 64bit ARM 32bit ARM 64bit PowerPC 64bit little endian Riscv 64bit
GuixSD i686 Yes armhf Yes No ?
Hyperbola i686 Yes No No No ?
Parabola i686 Yes armv7h No[1] Unfinished Unfinished
PureOS No Yes No byzantium can be installed with debootstrap[2] No ?
Trisquel i686 Yes No No No ?

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. Packaging a 64bit kernel with a 32bit may work though. A simiar kernel is already available to run i686 rootfs with x86_64 kernels
  2. 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.