Parabola GNU/kNuBSD-fire

STGNU.png
Note: This is prototype wiki

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.

Note:
  1. The GNU/kFreeBSD software is incompatible with GNU/Linux software, due the system has different kernel.
  2. 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.

Note: "Fire" specifies the exact kernel used if there will be other kernels for NuBSD, in this case it is a libre version of FreeBSD. "k" means kernel that will be used from NuBSD project.

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
Note:
  1. <arch>: is [x86_64], [i686], [mips64el], [all] or others architecture.
  2. <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.

Note:

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.

Note: We suggest use "GNU" mascot for this system

[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

  1. Help on FreeBSD kernel deblobbing
  2. Create new "GCC" and "Binutils" on Parabola GNU/Linux-libre to build Parabola GNU/kNuBSD-fire packages -> DONE
  3. Create libretools port
  4. Create new repos for Parabola GNU/kNuBSD-fire (separated from Parabola GNU/Linux-libre)
  5. Add "ufsutils" on Parabola GNU/Linux-libre
  6. ...

How to help

Parabola GNU/kNuBSD-fire is made by volunteers.

Note: You can find us on #parabola or mailing list.

See our How to help page for things you can do.