Debian GNU/kFreeBSD
apt-get install freebsd?
Axel Beckert
Debian / ETH Zurich
abe@debian.org
http://noone.org/abe/
Jehova!
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), 7.3 and 8.0
Why?
Because we can! (SCNR)
Combines advantages of the Debian System and of FreeBSD
http://wiki.debian.org/Debian_GNU/kFreeBSD_why
Better Performance? Depends:
http://www.phoronix.com/scan.php?page=article&item=debian_kfreebsd
(tests were made with a 7.2 kernel without superpages)
Keeps software portable, helps to fix wrong assumptions
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
http://en.wikipedia.org/wiki/GNU_variants
Gentoo/FreeBSD (incl. FreeBSD userland):
http://www.gentoo.org/proj/en/gentoo-alt/bsd/fbsd/
BSD libc based Debian GNU/NetBSD and Debian GNU/FreeBSD (
http://www.debian.org/ports/netbsd/
,
http://www.debian.org/ports/freebsd/bsd-libc-based
): Dead since 2002
Nexenta / StormOS: GNU/OpenSolaris based on Ubuntu (formerly Debian)
Debian GNU/Hurd (no bastard, always designed that way)
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. (vidcontrol is now available)
14% of the packages
often just missing or incorrect build dependencies
Linux-specific packages
Details:
https://buildd.debian.org/stats/
The Future
Hopefully release kfreebsd-i386 and kfreebsd-amd64 with Debian 6.0 Squeeze as first released non-Linux ports.
Not yet planned but theoretically possible: Further hardware platforms (Sparc64, PowerPC, ARM, etc.)
Contact / Resources
http://wiki.debian.org/Debian_GNU/kFreeBSD
http://wiki.debian.org/Debian_GNU/kFreeBSD_FAQ
IRC:
#debian-kbsd on OFTC
Mailing list:
http://lists.debian.org/debian-bsd/
Porter machines accessible to all Debian Developers, both hosted at ETH Zurich
io.debian.net
(kfreebsd-i386)
asdfasdf.debian.net
(kfreebsd-amd64)
http://glibc-bsd.alioth.debian.org/porting/PORTING
This talk:
http://noone.org/talks/kfreebsd/
Thanks
Marius Nünnerich and Thorsten Glaser for the idea to 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