Debian GNU/kFreeBSD
apt-get install freebsd?

Axel Beckert

Debian / ETH Zürich

abe@debian.org
http://noone.org/abe/

Jehova!

  • Ja, es ist ein Bastard.
  • Open Source at it's best: Man nehme zwei existierende Dinge und kombiniere sie zu etwas Neuem.
Meine ASUS EeeBox mit Debian GNU/kFreeBSD und einem gehörnten Swirl auf der Seite :-)

Übersicht

  • Was ist das eigentlich genau?
  • Wofür steht der Name?
  • Warum?
  • Vergleich mit Debian GNU/Linux und FreeBSD
  • Ähnliche Projekte
  • Was fehlt noch?
  • Zukunftsaussichten
  • Kontakt / Ressourcen

Was ist Debian GNU/kFreeBSD eigentlich genau?

  • Es ist eine Portierung, ihre eigene "Architecture".
  • Genauer, es sind zwei Portierungen/Architekturen: kfreebsd-i386 und kfreebsd-amd64, kurz k-i and k-a)
  • Seit April 2009 offizieller Bestandteil des Debian-Archivs. Vorher bei Debian-Ports.org gehostet.
  • Man kann (noch) nicht Linux- und kFreeBSD-Kernel mit der gleichen Installation nutzen. → Multiarch
  • Man kann ein Chroot mit Linux-Software auf GNU/kFreeBSD betreiben sofern FreeBSDs Linux Compatibility Layer ausreicht.
  • Es ist also nicht ganz so einfach wie "apt-get install freebsd"
  • "apt-get install kfreebsd-source-$version" geht trotzdem, auch auf Debian GNU/Linux und schon seit 4.0 (Etch). :-)

Wofür steht der Name?

  • Debian: DFSG, dpkg, apt, D-I, für ihre Stabilität bekannte Stable-Releases
  • GNU: (e)glibc, Userland (coreutils, etc.)
  • kFreeBSD: für ihre Stabilität bekannte FreeBSD-Kernel (daher das "k") plus ein paar kernel-/dateisystem-bezogene Tools
    • Fing mit FreeBSD-Kernel 5.x um 2005 an
    • Momentan werden die Kernel 7.3 und 8.1 unterstützt

Warum?

Warum keine BSD-libc?

  • Die Libc an den Kernel anzupassen ist wesentlich weniger Arbeit als Tausende von Pakete zu patchen um mit einer weiteren Libc zusammenzuarbeiten.
  • Debian GNU/NetBSD und GNU/FreeBSD (kein "k") haben dies versucht und sind gescheitert.

GNU/kFreeBSD verglichen mit Linux hat:

  • Stabilere Standard-Kernel-Schnittstellen in FreeBSD:
    • /dev
    • OSS
    • weniger bazaar-artiges Entwicklungsmodell
    • stabilere Schnittstellen
  • Features, die man mit Linux nicht bekommt:
    • pf
    • ZFS (neu auch für /, in GRUB2 und im Debian Installer)
    • Jails
    • dtrace
    • NDIS-Treiber im Mainline-Kernel
  • weniger oder weniger umfangreiche Pakete, da Software von linux-spezifischen Features (ALSA, libiw, inotify, etc.) abhängt.

GNU/kFreeBSD verglichen mit FreeBSD hat:

  • dpkg, apt und Freunde
  • alle Software kommt in vorkompilierten Binärpaketen
  • keine rollenden Releases bei Ports/Paketen (Basis-System bei FreeBSD kennt auch Stable-Releases wie bei Debian)
  • grob gleichviel Ports/Pakete
  • keine nicht-DFSG-freien Binärblobs im Kernel (Framework zum Laden von externen Binärblobs noch nicht fertig)

Ähnliche Projekte

Was fehlt noch?

  • FUSE Userland Utilities, IPv6 Glue für "route", etc.
  • Bluetooth, inotify-kqueue Compatibility Layer, etc.
  • Einige weniger wichtige FreeBSD-spezifische Tools wie den moused, etc. (vidcontrol ist mittlerweile verfügbar)
  • KMS, Intel-X-Treiber (in Sid kein UMS-Support mehr)
  • Nutzung der Firmware-Binaries aus dem Linux-Kernel
  • Knapp 14% der Pakete

Zukunftsaussichten

  • kfreebsd-i386 und kfreebsd-amd64 werden hoffentlich mit Debian 6.0 Squeeze als erste Nicht-Linux-Ports veröffentlicht, allerdings wird ihre Qualität noch nicht an das von Debian bekannte Niveau heranreichen. → Techology Preview.
  • Bisher nicht geplant, aber theoretisch möglich: Weitere Hardware-Plattformen (Sparc64, PowerPC, ARM, etc.)

Kontakt / Ressourcen

Danke

  • Marius Nünnerich und Thorsten Glaser für die Idee zu diesem Vortrag
  • Petr Salinger, Aurelien Jarno, Björn A. Zeeb, Guillem Jover, Witold Baryluk and Cyril Brulebois fürs kurzfristige Korrekturlesen der Folien, Kommentare und Vorschläge :-)
  • Eric A. Meyer für S5
  • Euch fürs Zuhören