Parabola GNU/kNuBSD-fire
Welcome to the Parabola GNU/kNuBSD-fire wiki!
What is Parabola GNU/kNuBSD-fire?
Parabola GNU/kNuBSD-fire is a libre software project aiming to provide a fully free as in freedom GNU distribution based on Parabola GNU/Linux-libre distribution with the GNU C Library and NuBSD-fire kernel and packages optimized for i686 and x86_64 CPUs. Parabola aims to keep its package and management tools simple. The primary goal is to give the user complete control over their system with 100% Libre software.
What is GNU Operating System?
GNU is a Unix-like operating system developed by the GNU Project to offer a Unix-compatible system that would be 100% free software.
- The GNU/kFreeBSD software is incompatible with GNU/Linux software, due the system has different kernel.
- The GNU/kFreeBSD software is incompatible with FreeBSD software, due the system has different C library.
What is GNU C Library?
GNU C Library is the C standard library, which defines the "system calls" and other basic facilities such as open, malloc, printf, exit...
Is used as the C library in the GNU systems with the Linux-libre kernel, NuBSD kernel or Hurd kernel.
What is NuBSD-fire kernel?
NuBSD-fire kernel is part to the NuBSD system project based on FreeBSD aiming to provide a fully free as in freedom BSD distribution.
General documentation
The Installation Guide will walk you through the process of downloading and installing Parabola GNU/kNuBSD-fire on your system.
Be sure to take a look at the Parabola GNU/kNuBSD-fire Social Contract, it guides us in all we do.
New Paradigm on GNU/kNuBSD-fire
[Userland]
The GNU userland will be used as default and others are moved to [pcr] repo.
[Init System (Service Manager)]
The GNU dmd will be used as default init system and others are moved to [pcr] repo.
[System Directories]
The System Directories is based on "GNU/Hurd System" and "Parabola GNU/Linux-libre" without "/usr", "/local", "/libexec", "/opt", "/src", "/sys (usefull only in Linux kernel)" directory and "symlinks" ("/lib64", "/sbin", "/usr", "/var/lock" and "/var/run") like this:
- /(root), /bin, /boot, /dev, /etc, /home, /include, /lib, /mnt, /proc, /run, /share, /srv, /tmp and /var
[Source Repositories]
PBS (Parabola Build System):
The PBS named pbs.git are available on Parabola Projects
[Packages Repositories]
The source repo will be https://repo.parabola.nu/gnu+knubsd-fire/<repo>/os/<arch>.
The repo are:
PBS (Parabola Build System) | ||
---|---|---|
nonprism | core | extra |
nonprism-testing | testing | |
PUR (Parabola User Repository) | ||
pur |
- <arch>: is [x86_64], [i686], [mips64el], [all] or others architecture.
- <repo>: is package repo like core
nonprism
The [nonprism] repository can be found in "gnu+knubsd-fire/nonprism/os/<arch>" on your mirror. It contains modified packages without prism service code, executable, dependency and recommendation
core
The [core] repository can be found in "gnu+knubsd-fire/core/os/<arch>" on your mirror. It contains NuBSD-fire kernel and utils (NuBSD-fire), GNU core packages and others that complete the GNU System.
In [core] repo (GNU System) contains all necessary packages for:
- booting Parabola GNU/kNuBSD-fire
- connecting to the Internet
- building packages
- management and repair of supported file systems
- the system setup process (e.g. openssh)
as well as dependencies of the above (not necessarily makedepends)
core has fairly strict quality requirements. Multiple developers/users need to signoff on updates before package updates are accepted. For packages with low usage, a reasonable exposure is enough: informing people about update, requesting signoffs, keeping in testing up to a week depending on the severity of the change, lack of outstanding bug reports, along with the implicit signoff of the package maintainer.extra
The [extra] repository can be found in "gnu+knubsd-fire/extra/os/<arch>" on your mirror. It contains GNU packages and others, but is not essential for the core the GNU System (such as iceweasel, gimp, etc).
testing
The [testing] or [<repo>-testing] repository can be found in "gnu+knubsd-fire/testing/os/<arch>" or "gnu+knubsd-fire/<repo>-testing/os/<arch>" on your mirror. It is testing packages that wait to form part of the stable repo.
[Group and Meta Packages]
The group and meta packages like "knubsdfire-base", "gnu", "gnu-core", "gnu-core-devel", "gnu-extra" and "gnu-unstable" will be available.
[System Name and System Version]
The Name and Version of the OS will be renamed like:
- GNU/kFreeBSD, gnu+kfreebsd, gnu-plus-kfreebsd, GFB, gfb
- uname: GNU/kFreeBSD
- uname -o: GNU/kFreeBSD
- uname -s: FreeBSD-kernel
- uname -a: GNU/kFreeBSD <nodename> <machine> FreeBSD-kernel <kernel-release> <kernel-version>
- Build Operating System: GNU/kFreeBSD <machine> - kernel <kernel-release>
- Current Operating System: GNU/kFreeBSD <nodename> <machine> - kernel <kernel-release> <kernel-version>
[Documentation]
We suggest terms like 'open-source', 'closed-source' be renamed to 'free-software', 'proprietary-software' respectively.
[Games, Logos and Mascots]
Logos, mascots or games that contains 'Tux', 'Beastie' and/or similar cases are changed or moved to [pcr] repo.
[Optional Packages]
Optional packages named as 'Open', any operating systems that is not GNU/kNuBSD-fire like syslinux and openshot are moved to [pcr] repo.
[Emulators and 32bit Packages]
The emulators and 32bit packages will be maintained on [pcr] repo.
[NuBSD-fire kernel]
CDDL code (ZFS, Illumos compatibility and others),NDIS, GNU/Linux compatibility and others operating system compatibility modules are dropped on this default kernel, for better freedom.
Diferences between Parabola GNU/Linux-libre and Parabola GNU/kNuBSD-fire versions
Type | GNU/Linux-libre | GNU/kNuBSD-fire |
---|---|---|
device nodes and init | systemd | gnudmd(part of gnu project) and devd(part of nubsd-fire source) |
firewall | ip{,6}tables/nftables | pf(part of nubsd-fire source) |
kernel | linux-libre | knubsd-fire(part of nubsd-fire source) |
kernel utils | util-linux | util-knubsdfire(part of nubsd-fire source) |
loadable kernel module | kmod | kld(part of nubsd-fire source) |
network | iproute2 | net-tools(part of nubsd-fire source) |
procfs | procps-ng / psmisc / procinfo-ng | procps-ng / psmisc / <none> |
sound | alsa-lib, alsa-oss, alsa-plugins, alsa-tools, alsa-utils and oss | oss |
sysfs (Linux kernel only feature) | sysfsutils | <none> |
Porting
Port needed for Parabola GNU/kNuBSD-fire
Tasks to do
- Help on FreeBSD kernel deblobbing
- Create new "GCC" and "Binutils" on Parabola GNU/Linux-libre to build Parabola GNU/kNuBSD-fire packages -> DONE
- Create libretools port
- Create new repos for Parabola GNU/kNuBSD-fire (separated from Parabola GNU/Linux-libre)
- Add "ufsutils" on Parabola GNU/Linux-libre
- ...
How to help
Parabola GNU/kNuBSD-fire is made by volunteers.
See our How to help page for things you can do.