In some cases, users and developers might need to install an FSDG distribution from another one.
This tracks tools that can script installations of an FSDG distribution rootfs from another FSDG distribution.
The criteria for being OK / green are very subjective:
| Hosts | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Guix for x86_64-linux | Hyperbola i686 | Hyperbola x86_64 | Parabola armv7h | Parabola i686 | Parabola x86_64 | PureOS 10.0 (byzantium) aarch64 | PureOS 10.0 (byzantium) x86_64 | Trisquel 10 (Nabia) x86_64 | Trisquel 11 (Aramo) amd64 | Trisquel 11 (Aramo) arm64 | Trisquel 11 (Aramo) armhf | Trisquel 11 (Aramo) ppc64el | ||||
| Targets | Guix for x86_64-linux |
guix package |
Manual install only | Manual install only |
guix 1.4.0 and guix-installer 1.4.0 packages |
guix 1.4.0 and guix-installer 1.4.0 packages |
guix 1.4.0 and guix-installer 1.4.0 packages |
guix package[1] | guix 1.2.0 package[1] | Manual install only |
guix 1.3.0 package |
guix 1.3.0 package |
guix 1.3.0 package |
guix 1.3.0 package |
||
| Hyperbola i686 | missing pacstrap | pacstrap | pacstrap | missing qemu-user-static | pacstrap + hyperbola-* packages | pacstrap + hyperbola-* packages | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | |||
| Hyperbola x86_64 | missing pacstrap | missing qemu-user-static | pacstrap | missing qemu-user-static | pacstrap + hyperbola-* packages + qemu-user-static | pacstrap + hyperbola-* packages | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | |||
| Parabola armv7h | missing pacstrap | missing qemu-user-static + keyring + configs | missing qemu-user-static + keyring + configs | pacstrap | pacstrap + archlinux-arm-keyring + qemu-user-static | pacstrap + archlinux-arm-keyring + qemu-user-static | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | |||
| Parabola i686 | missing pacstrap | manual with pacstrap: missing keyring + configs | manual with pacstrap: missing keyring + configs | missing qemu-user-static | pacstrap | pacstrap + archlinux32-keyring | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | |||
| Parabola x86_64 | missing pacstrap | missing qemu-user-static + keyring + configs | manual with pacstrap: missing keyring + configs | missing qemu-user-static | pacstrap + qemu-user-static | pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | missing pacstrap | |||
| PureOS 9.0 (amber) aarch64 | Needs testing (with debootstrap and qemu:static) | missing debootstrap | missing debootstrap | Can't run --second-stage: missing qemu-user-static | deboostrap --foreign + pureos-archive-keyring + qemu-user-static | deboostrap --foreign + pureos-archive-keyring + qemu-user-static | debootstrap | debootstrap --foreign + qemu-user-static | missing support in debootstrap + missing keyring? | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | |||
| PureOS 9.0 (amber) x86_64 | Needs testing (with debootstrap).[2] | missing debootstrap | missing debootstrap | Can't run --second-stage: missing qemu-user-static | deboostrap --foreign + pureos-archive-keyring + qemu-user-static | deboostrap + pureos-archive-keyring | debootstrap --foreign + qemu-user-static | debootstrap | missing support in debootstrap + missing keyring? | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | |||
| PureOS 10 (byzantium) aarch64 | Needs testing (with debootstrap and qemu:static) | debootstrap --foreign + qemu-user-static[3] | ||||||||||||||
| PureOS 10.0 (byzantium) x86_64 | debootstrap[2] | deboostrap + pureos-archive-keyring[4] | deboostrap + pureos-archive-keyring[5] | |||||||||||||
| Trisquel 10 (Nabia) x86_64 | Needs testing (with debootstrap).[6] | missing debootstrap | missing debootstrap | debootstrap + trisquel-keyring[7] | missing support in debootstrap + missing keyring | missing support in debootstrap + missing keyring | debootstrap (+ some keyring?) | debootstrap + trisquel-keyring | ||||||||
| Trisquel 11 (Aramo) amd64 | debootstrap[6] | debootstrap + trisquel-keyring[8] | debootstrap + trisquel-keyring | |||||||||||||
| Trisquel 11 (Aramo) arm64 | Needs testing (with debootstrap and qemu:static) | deboostrap --foreign + trisquel-keyring + qemu-user-static[9] | ||||||||||||||
| Trisquel 11 (Aramo) armhf | debootstrap + qemu:static + small tweaks[10] | deboostrap --foreign + trisquel-keyring + qemu-user-static[11] | ||||||||||||||
| Trisquel 11 (Aramo) ppc64el | Needs testing (with debootstrap and qemu:static) | missing qemu-ppc64el-static[12] | ||||||||||||||
| Guix for x86_64-linux | Hyperbola i686 | Hyperbola x86_64 | Parabola armv7h | Parabola i686 | Parabola x86_64 | PureOS 10.0 (byzantium) aarch64 | PureOS 10.0 (byzantium) x86_64 | Trisquel 10 (Nabia) x86_64 | Trisquel 11 (Aramo) aarch64 | Trisquel 11 (Aramo) x86_64 | Trisquel 11 (Aramo) armhf | Trisquel 11 (Aramo) ppc64el | ||||
| Hosts | ||||||||||||||||
| Distribution Package / installation method | Version | Default guix-daemon privileges[13] | Default substitute server provided by the package | Security fixes | /etc/guix/acl permissions | ||||
|---|---|---|---|---|---|---|---|---|---|
| ci.guix.gnu.org | bordeaux.guix.gnu.org | Fixed-Output Derivation Sandbox Bypass (CVE-2024-27297) | Build User Takeover Vulnerability | CVE-2025-46415 and CVE-2025-46416 | CVE-2025-59378 | ||||
| Latest guix system | latest | root privileges | Yes | Yes | Safe | Safe | Safe | Safe | -r--r--r-- 1 root root |
| guix-install.sh | 1.5.0[14] | User setting during installation | Safe | Safe | Safe | Safe | ?[15] | ||
| Parabola armv7h and i686 | 1.4.0 | root privileges only (not configurable) | Yes | Yes | Safe | Safe | Vulnerable | Vulnerable | -rw-r--r-- root root |
| Parabola x86_64 | 1.5.0 | root privileges | Yes | Yes | Safe | Safe | Safe | Safe | -rw-r--r-- root root |
| PureOS 10.0 (byzantium) | 1.2.0 | root privileges only (not configurable) | Yes | No | Safe | Safe | ? | Vulnerable | -rw-r--r-- 1 root root |
| Trisquel 11.0 (nabia) | 1.3.0 | root privileges only (not configurable) | Yes | No | Safe | Safe | Vulnerable | Vulnerable | -rw------- 1 root root |
Also if the Guix package on distributions like Parabola, PureOS, Trisquel has security issues, you don't need to wait for your distribution to fix them, you can fix them youself by making Guix update itself. See upgrading the Guix daemon, on a foreign distro for more details.
Since it is possible to install Guix manually or with guix-install.sh, below we can see various status information.
| Distribution | Can Guix work? | guix-install.sh support | guix-install.sh init system integration | guix-install.sh packaged |
|---|---|---|---|---|
| Dragora | Yes | Yes | No | No |
| Dynebolic | Guix requires Internet to be useful [16] | ? | ? | ? |
| Hyperbola | ? | ? | ? | No |
| LibreCMC | ? | ? | ? | No |
| Parabola | Yes | Yes | Yes | Yes |
| ProteanOS | ? | ? | ? | ? |
| PureOS | Yes | Yes | Yes | No |
| Replicant 6.0 | no: outdated kernel[17] | no: Android needs special care[18] | No | No |
| Trisquel 11 | Yes | Yes | Yes | No |
| Ututo | ? | ? | ? | ? |
While debootstrap is the standard for being able to create rootfs for Debian based distributions like PureOS or Trisquel, it might be interesting to also look in more detail in the available tooling that reuses or replaces it.
The table below adds such details.
| Tool | PureOS target support | Trisquel target support | Works without root once installed? | Guix package | Hyperbola package | Parabola package | PureOS 10.0 (byzantium) package | Trisquel 11 (Aramo) package | Packages for non-FSF certified distributions |
|---|---|---|---|---|---|---|---|---|---|
| consfigurator for creating rootfs | Some features are tied to Debian but with some code they can be made to work with other distros (like Trisquel) | ? | No | No | No | No | Yes | Some:[19]
But we don't know if it works or not as 'disk:raw-image-built-for' might depend on debootstrap somehow. |
|
| debootstrap | Yes | Yes | ?[20] | Yes | No | Yes | Yes | Yes | Requires Trisquel and PureOS keyrings to be used securely, and there are not packaged. |
| debuerreotype | Yes | Yes | No[21] | No | No | Yes | Yes | Yes | Requires Trisquel and PureOS keyrings to be used securely, and there are not packaged. |
| debspawn | ? | ? | Yes | No | No | No | Yes | Yes | ? |
This page was a featured resource in February 2025.