News and Editorials
April 22, 2009
This article was contributed by Koen Vervloesem
One of the strengths of the Linux ecosystem is freedom of choice. The Debian distribution has given its users one more freedom: to choose between the Linux and FreeBSD kernels under the hood, with the same Debian GNU user space applications whichever is chosen. The idea goes back ten years, but it is finally coming to fruition now that two new architectures, kfreebsd-i386 and kfreebsd-amd64, have been added to the unstable and experimental archives of Debian.
The project was first announced in the Debian Weekly News for February 22nd, 1999:
Someone proposed a Debian distribution based on FreeBSD. There was considerable debate on this topic. Most of the favorable opinions expressed were based on the argument that there should be a Debian distribution for as many open source UNIX variants as possible. This was countered with the argument that this would drastically increase the workload of the package maintainers.
Shortly thereafter a plain FreeBSD port of Debian was started, with a FreeBSD kernel and FreeBSD libc under a GNU user space. To not diverge too much from the GNU/Linux architecture, the developers of the project used GNU utilities, but they quickly found out that a lot of packages needed patches because the FreeBSD libc did not provide the same extensions as GNU libc.
So after a while came the idea to port GNU libc to the FreeBSD kernel. This was done mostly by Bruno Haible in 2002, which is when the project took the shape (and name) it has now. Port maintainer Aurélien Jarno looks back at this time:
At this moment, Robert Millan suggested to add a 'k' in front of FreeBSD to form GNU/kFreeBSD meaning "kernel of". It is a way to show that except a few low level userland utilities, we are using only the kernel and not the C library of FreeBSD. In the same way a GNU/Opensolaris port is in development (
Nexenta), and a
GNU/kOpenSolaris port has been started recently now that GNU libc has been partly ported to the OpenSolaris kernel, solving licensing issues.
Switching to the GNU libc port has brought better compatibility with the Debian packages and, once that happened, a lot of packages were able to be built without any changes. The project got the name Debian GNU/kFreeBSD. To summarize, Debian GNU/kFreeBSD is a port that consists of a GNU user space using the GNU C library and Debian package management and system tools on top of FreeBSD's kernel. The latest Debian GNU/kFreeBSD is based on the upstream FreeBSD 7.1 kernel with a few patches.
GNU and BSD: a strange marriage
But why have the developers made such a strange chimera, a combination of a BSD kernel and a GNU user space? Is this a "because we can" project? Obviously, the developers have heard this question countless times, and the wiki lists some valid reasons why a user could prefer Debian GNU/kFreeBSD to FreeBSD or Debian GNU/Linux.
The "why" question breaks down into two questions. First, why would a
user prefer Debian GNU/kFreeBSD to Debian GNU/Linux? First, the FreeBSD
kernel has some nice and useful features, like the OpenBSD "pf" packet filter and "jails",
a system-level virtualization feature. The developers also list cleaner
kernel interfaces than Linux as an advantage, pointing to a single
/dev implementation via devfs, as well as using OSS as the default
sound system as examples.
Drivers can be another advantage. For example, the FreeBSD kernel has
support for Windows NDIS drivers in the mainline kernel, whereas the NDISwrapper project
will not likely make it into the mainline Linux kernel. The developers add:
"The FreeBSD kernel might support some hardware which Linux does not
support and/or the FreeBSD kernel support might be better (fewer
bugs)." But, of course, this is a double-edged sword: Linux supports
a lot of devices for which FreeBSD has no drivers yet.
Another interesting issue lies on the filesystem front: the Debian GNU/kFreeBSD developers say that due to licensing and patent issues, Sun's filesystem ZFS is unlikely to appear in the Linux kernel. However, now that Oracle is buying Sun, chances have improved that ZFS will get GPL-licensed. But whatever will happen, ZFS is also being ported to FreeBSD, so Debian GNU/kFreeBSD users will definitely see support for this interesting filesystem in the future.
Some of the reasons the developers give are less convincing. For example, they say: "kFreeBSD offers an alternative in case Linux is branded illegal by the SCO case or other threats. In legal terms, Linux sources are like a minefield. kFreeBSD is much less vulnerable to such attacks because of its less bazaar-like development model." Your author thinks this is very unlikely to happen.
The second part of the "why" question is: why would a user prefer Debian
GNU/kFreeBSD to FreeBSD? This really comes down to preferences. Maybe the
user likes the Debian package system more than FreeBSD ports, or prefers
the GNU user space to the BSD world. The GNU versions of many commands are
known to have more features. And at the non-technical level: Debian
GNU/kFreeBSD follows the Debian Free
Software Guidelines, whereas FreeBSD uses some non-free, binary-only
drivers such as the ath driver for Atheros wireless chipsets. But all of
this will most likely not convince BSD users to switch.
Working with Debian GNU/kFreeBSD
This all sounds interesting, but does it work in practice? The base system is fully functional and users can install Debian GNU/kFreeBSD by using the install notes. An ISO file for an install CD is available. Currently this is a version from January 2009, but users can add a Lenny-based snapshot to /etc/apt/sources.list.
The current installation CD is based on a hacked FreeBSD sysinstall,
so at this moment, the installation
is not straightforward for users without any FreeBSD experience. Moreover,
this only works more or less correctly for standard installations. This is
a temporary solution until the debian-installer is fully
ported to Debian GNU/kFreeBSD. Luca Favatella, a computer engineering
student at the University of Catania in Italy, will implement this as part
of Google
Summer of Code 2009. As part of his proposal, which has been accepted
at GSOC, he will not only port debian-installer to GNU/kFreeBSD, but he
will also make debian-installer less
dependent on Linux: at this moment it uses many Linux-specific
constructs (e.g. udev) or assumes Linux structures (e.g. setting up
partitions with LVM).
Most of the core packages in Debian unstable are ported to Debian
GNU/kFreeBSD. Looking at all of the architecture-independent source
packages, the developers have currently ported over 80% of the 7800 source
packages. Of course not all of them have been tested. There is still a
large amount of packages that need fixing. The developers have a list of
common
practices and problems found when porting to GNU/kFreeBSD. According to
Jarno, a lot of porting is rather simple (but boring). For example, support
for detecting GNU/kFreeBSD was added more than six years ago to autotools,
but a lot of software is still using an older version. He adds: "Also
a lot of software is using #ifdef __linux__ to detect if they are using a
GNU libc. This is clearly wrong, and this is also one of the more
repetitive changes to make."
Several high-profile packages aren't ported yet. For example, OpenOffice.org is missing. But Jarno sees no fundamental problems for this port to happen: "There is no reason it would not work, but it is a huge task given the size of Openoffice.org sources. All the build dependencies are available, so it's mainly about tweaking the hundreds of autodetection scripts that do not know about GNU/kFreeBSD."
Wireless networking works in Debian GNU/kFreeBSD, but there are no tools to scan for networks yet. The problem is that NetworkManager is really tightly coupled to HAL, which was not available on FreeBSD. Jarno explains: "Though it has been originally designed for being portable across operating systems, a lot of kernel-specific code had to be written." However, now that HAL has been ported to FreeBSD, it should not be a big deal to get NetworkManager working. As upstream FreeBSD is doing the porting work (as a Google Summer of Code project), Debian GNU/kFreeBSD will surely get NetworkManager support in the near future.
There is a core of about 5 to 8 developers working on the Debian GNU/kFreeBSD port, but as with any open source project a lot of other people are also helping to a smaller extent. That includes package maintainers who want their package to work on the system. The project provides Debian Developer accessible machines running GNU/kFreeBSD for this purpose. Jarno estimates that about 50 people are using Debian GNU/kFreeBSD almost daily, and that a lot of people are following the development more or less closely: "We hope to see this number increasing now that it is being integrated as an official Debian architecture."
With Debian GNU/kFreeBSD, the Debian project has taken one more step towards its vision as a universal operating system. It's unique to have a platform supporting two different kernels, while the user space remains largely unchanged. Of course there's also Debian GNU/Hurd, but this still has not been officially released, and the Hurd kernel itself is still relatively immature. Debian GNU/NetBSD is still in an early stage of development. The ultimate aim is Debian GNU/Any, where the user space is abstracted completely from the running kernel with glibc. When this is possible, Debian binaries would be binary compatible with any kernel supported on Debian GNU/Any through the glibc abstraction. This total decoupling of user space and kernel will give users even more choice.
Comments (15 posted)
By Rebecca Sobol
April 22, 2009
It's time for our annual update on the state of the LWN Distributions List. The last update was April 17, 2008. Since then we've added 54
distributions and deleted 52 distributions.
Last year we had 485 active distributions and 58 in the historical
section for a total of 543 distributions. Historical distributions are no
longer actively developed, but some source code should be available. There
are usually quite a few historical distributions in the active
sections, though. Sometimes it's hard to tell.
Link checking is a slow process and a low priority task. This year you
should find the front part of the List, Leading through the
Country-specific sections to be fairly up-to-date. The Embedded through
the end of the list are moldier. So this year we see an increase in the
historical distributions now at 85, compared to 460 active distributions
for a total of 545 distributions currently on the list.
The distributions removed in the last year are (in no particular order):
Tao Linux, Cobind Desktop, BearOps, Linare Linux OS, Santa Fe Linux,
SLYNUX, Underground Desktop, WinLinux, RedIce-Linux, EtLinux, Tynux,
RedBlue Linux, QiLinux, Aurox Linux, Buffalo Linux, DCC Alliance,
UserLinux, Arabian Linux, Eadem Enterprise Linux, FullPliant, GenieOS,
MitraX, Nitix, NixOS, OEone HomeBase, Peachtree Linux, Tomahawk Desktop,
Xline, College Linux, Eagle Linux, elpicx, kmLinux, Tadpole Linux, tuXlab
GNU/Linux, APLINUX.com.br Mail server, Console Linux, SACIX, Chinese 2000
Linux, ThizLinux, Tom Linux, XTeamLinux, Resala Linux, Echelon Linux,
PunLinux, HOLON Linux, LASER5, WOWLinux, MCNLive, Pingwinek GNU/Linux,
Castle, Linux ESware, and LinEspa.
Our list only includes distributions using a Linux kernel. There are no
BSD or OpenSolaris based projects, even though we do cover these
distributions on this page. As always, let us know if you encounter dead
links or would like a project to be added to the list.
Comments (none posted)
New Releases
The release candidate for Ubuntu 9.04 has been announced.
"
The Ubuntu team is pleased to announce the Release Candidate for Ubuntu
9.04 Desktop and Server editions and Ubuntu Netbook Remix. Codenamed
"Jaunty Jackalope", 9.04 continues Ubuntu's proud tradition of integrating
the latest and greatest open source technologies into a high-quality,
easy-to-use Linux distribution.
We consider this release candidate to be complete, stable, and suitable for
testing by any user."
Full Story (comments: 10)
The Ubuntu team has announced the Release Candidate for Ubuntu 9.04 (Jaunty
Jackalope) Desktop edition for the ARM architecture. "
This first,
community-supported ARM release of Ubuntu targets the i.MX51 Babbage
development board and is suitable for use by developers wishing to bring
the same high-quality Ubuntu desktop to an even wider range of
energy-efficient systems."
Full Story (comments: none)
The SoaS team has announced the release of Sugar on a Stick Beta-1.
"
There has been impressive progress over the last few weeks; many
thanks all the people who contributed their time and effort." Click
below for more information.
Full Story (comments: none)
The Fedora Unity Project has announced the release of new ISO Re-Spins of
Fedora 10. These Re-Spin ISOs are based on the officially released Fedora
10 installation media and include all updates released as of April 14,
2009.
Full Story (comments: none)
Distribution News
Debian GNU/Linux
Steve McIntyre, re-elected Debian Project Leader, looks at delegations for
the coming year. "
So, onto the boring stuff. I hereby formally
delegate Luk to be assistant DPL this year while I'm DPL. As far as is
practical, we will share all the DPL's duties and responsibilities; we will
both receive leader@ mail, and we both get to see all tickets in
rt.debian.org. We intend to work as a team, but I'll get to have the last
say and take the blame for any mistakes we make."
Full Story (comments: none)
Last year the Debian Groupware Meeting was held in the LinuxHotel, Essen,
Germany. Click below for a short summary what happened during the weekend.
Full Story (comments: none)
Gentoo Linux
Click below for a summary of the April 9, 2009 meeting of the Gentoo
Council. Topics include Migration of KEYWORDS out of ebuilds, EAPI 3
features block, and EAPI 3 updates.
Full Story (comments: none)
SUSE Linux and openSUSE
Google has announced the accepted projects for all of the Google Summer of
Code organizations. The openSUSE Project has nine projects that were
accepted for the Summer of Code 2009. Click below for openSUSE's list.
Full Story (comments: none)
openSUSE Community Week has
been
announced.
Community
Week aims to show users in the openSUSE community how they can become
contributors, and to help existing contributors become more effective.
Comments (none posted)
Distribution Newsletters
The
DistroWatch
Weekly for April 20, 2009 is out. "
It's the Ubuntu release week (or Ubuntu "circus", as some prefer to call it), a major event in the calendar of many open source software enthusiasts. What will the distribution's 10th official release be like? And will the download servers cope with the expected heavy demand? We'll have to wait until Thursday to find out; in the meantime, read below for a quick tip on reverting to an older kernel under Ubuntu and visit Canonical's ShipIt service to order your free CDs. In the news section, Mandriva gains support for hardware database known as Smolt, Easy Peasy ponders a few ideas concerning the distro's default user interface, and Fedora's Ricky Zhou points out the importance of innovation in Red Hat's community distribution. Finally, don't miss our feature article which calls for an implementation of a centralised bug-tracking database for all open source software projects. Happy reading!"
Comments (none posted)
The Fedora Weekly News for the week ending April 19, 2009 is out.
"
This week Announcements rubs its hands with glee over the "Fedora
11" freeze. Similarly Artwork enthuses about "Fedora 11 Landing" with great
Leonidas themes including a surprise for wide-screen setups.
Developments gushes about "Presto and DeltaRPM Status" and SecurityWeek
asks the interesting question "Who in the Linux World Would be
Responsible for a Worm?". SecurityAdvisories faithfully lists updates
that might just help avoid that worm. With a red face we draw your
attention with an Erratum to last week's missing QualityAssurance beat.
This week's QualityAssurance beat "Test Days" advertizes the upcoming
minimal installation testing and reports in "Weekly meetings" that
PulseAudio issues with snd-intel-hda and snd-intel8x0 are resolved.
Translation reports on the availability of a bulky "Fedora 11
Installation Guide Ready for Translation". The FedoraWeeklyWebcomic
joins us again and Ambassadors shares a neat list of LinuxFestNorthWest
talks by Fedora folk."
Full Story (comments: none)
This issue of the
Mint
Newsletter covers the release of Mint 6 KDE and Fluxbox Community
editions, the special Google search in Mint will be tweaked - it is a major
source of income and a minor source of irritation so we will do something
about it and Twitter for Linux Mint (quick news).
Comments (none posted)
The issue of the
OpenSUSE Weekly
News covers Call for Participations: openSUSE Summit 2009, openSUSE at
LinuxFest Northwest, People of openSUSE: Jean-Daniel Dodin, Google Summer
of Code Status Update, Bryen Yunashko: Accessible Appreciation: The Sequel,
and more.
Comments (none posted)
The Ubuntu Weekly Newsletter for the week ending April 18, 2009 is out.
"
In this issue we cover: Announcing Ubuntu 9.04 RC, Announcing Ubuntu
9.04 RC for ARM, Packaging Training Session Update, Announcing Ubuntu Open
Week, New Ubuntu Members, Japanese Team release party, Philippine Ubuntu
Release Party, Launchpod #18, Karma: Where did mine go, Ubuntu Forums
Interview: Codename, Jorge Castro: Support your LoCo economy, Sayak
Banerjee: KDE Brainstorm - 30 Days, 700 ideas, Ubuntu-UK podcast: The
Waking Ally, Systerm76: Ubuntu PC Maker's revenue up 61 Percent,
Open-source server distro that builds on Ubuntu, Server Meeting Minutes:
April 14th, and much, much more!"
Full Story (comments: none)
Distribution meetings
The openSUSE Project has opened the
call
for participation in the openSUSE Summit 2009, to be held September 17
through 20 in Nuremberg, Germany. "
We're looking for contributors to
openSUSE, upstream projects, and members of the openSUSE community to
participate." All proposals must be submitted by May 20, 2009.
Comments (none posted)
Interviews
How Software is Built
talks
with Ricky Zhou. "
I'm currently a freshman at Carnegie Mellon University. I've been contributing to Fedora since about March of my junior year. I'm mostly involved with the infrastructure team, which runs the servers that run Fedora and I'm kind of the leader of the website team, which is where I started out. I also do some packaging, among other things."
Comments (none posted)
Distribution reviews
Stephen J. Vaughan-Nichols
reviews
Ubuntu Linux 9.04 on ComputerWorld.
"
1) X.Org server 1.6/GNOME 2.26. The first part gives you peppier video performance, while the second gives you a really, nice integrated desktop. Particularly nice features include the integration of the Brasero CD/DVD burner with all other Gnome applications and improvements with both audio, PulseAudio, and multiple monitors control and support."
Comments (none posted)
Page editor: Rebecca Sobol
Next page: Development>>