Debian GNU/kFreeBSD
apt-get install freebsd

Axel Beckert

Debian / ISG D-PHYS, ETH Zürich

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

Jehova!

  • Mark said: License Matters.
  • I say: Jehova! ;-)
  • We are at FOSDEM, not at the FOSDEM beer event. So please no flame war. Thanks for cooperation. :-)
  • Yes, it's a bastard.
  • Open Source at it's best: Take two existing things and combine them to something new.

Overview

  • What is it exactly?
  • What does the name stand for?
  • Why?
  • Comparison with Debian GNU/Linux and FreeBSD
  • Similar Projects
  • What's still missing?
  • The Future
  • Contact / Resources

What is Debian GNU/kFreeBSD exactly?

  • It's a port, it's its own architecture.
  • (Well, two ports/architectures: kfreebsd-i386 and kfreebsd-amd64, short k-i and k-a)
  • Since April 2009 it's part of the official Debian archive. Was hosted at Debian-Ports.org before.
  • You cannot have Linux and kFreeBSD kernel in the same installation or switch between them
  • So it's not as easy as "apt-get install freebsd"
  • "apt-get install kfreebsd-source-$version" works though, also on Debian GNU/Linux since 4.0 (Etch). :-)

What does the name stand for?

  • Debian: DFSG, dpkg, apt, D-I, rock-solid stable releases
  • GNU: (e)glibc, userland (coreutils, etc.)
  • kFreeBSD: rock-solid FreeBSD kernel (hence the "k") plus some kernel/fs related tools
    • Started with FreeBSD kernel 5.x around 2005
    • Currently supports 7.2 (testing + D-I) and 8.0 (unstable)

Why?

Why not a BSD libc?

  • Adapting the libc to the kernel is way less work than patching thousands of packages to work with another libc, too.
  • Debian GNU/NetBSD and GNU/FreeBSD (no "k") tried this and failed.

GNU/kFreeBSD compared with Linux has:

  • Cleaner standard kernel interfaces in FreeBSD:
    • /dev
    • OSS
    • less bazaar-like development model
    • more stability
  • Features you don't get with Linux:
    • pf
    • ZFS
    • Jails
    • dtrace
    • NDIS drivers in mainline kernel
  • Less or less featureful packages due to software using Linux-only stuff (ALSA, libiw, inotify, etc.).

GNU/kFreeBSD compared with FreeBSD has:

  • dpkg, apt and family
  • all software coming in precompiled binary packages
  • no rolling releases in ports/packages
  • similar amount of ports/packages
  • no non-DFSG-compliant binary-only drivers in the kernel

Similar Projects

What is still missing?

  • ZFS and FUSE userland utilities
  • IPv6 glue for "route", etc.
  • Bluetooth, inotify-kqueue compatibility layer, etc.
  • Some less important FreeBSD-specific tools like moused, etc.
  • 16% (kfreebsd-i386) to 18% (kfreebsd-amd64) packages
    • often just missing or incorrect build dependencies
    • the 2% difference is a pending ghc6 (Haskell) port to kfreebsd-amd64
    • Linux-specific packages
    • Details: https://buildd.debian.org/stats/

The Future

  • Hopefully release with Debian 6.0 Squeeze as first released non-Linux ports.
  • Not yet planned but possible in theory: Further hardware platforms (Sparc64, PowerPC, etc.)

Contact / Resources

Thanks

  • Marius Nünnerich and Thorsten Glaser for the idea and the possibility to give this talk
  • Petr Salinger, Aurelien Jarno, Björn A. Zeeb, Guillem Jover, Witold Baryluk and Cyril Brulebois for proof-reading these slides, comments and suggestions on short notice :-)
  • Eric A. Meyer for S5
  • You for listening