Debian Elevates KFreeBSD Port to First-Class Status
Reader tail.man points out this press release from Debian which says that the port of the Debian system to the FreeBSD kernel will be given equal footing alongside Debian's several other release ports, starting with the release of Squeeze. Excerpting from this release:
"The kFreeBSD architectures for the AMD64/Intel EM64T and i386 processor architectures are now release architectures. Severe bugs on these architectures will be considered release critical the same way as bugs on other architectures like armel or i386 are. If a particular package does not build or work properly on such an architecture this problem is considered release-critical. Debian's main motivation for the inclusion of the FreeBSD kernel into the official release process is the opportunity to offer to its users a broader choice of kernels and also include a kernel that provides features such as jails, the OpenBSD Packet Filter and support for NDIS drivers in the mainline kernel with full support."
But, does it run Linux?
Fascism trolls keeping me up every night. When I starts a preachin', he HITS ME WITH HIS REICH!
First apt based distro with ZFS? Something worthy of a post about...
I know about Nexenta, but FreeBSD has more drivers than OpenSolaris, right?
It's nigh time that we look at the sheer scrumtrulesence of Debian and realize that it's reign of End All Be All of OS's must be curtailed and possibly even put an end to. No single OS should be this awesome. And we can no longer ignore the fact that it is.
This is a really cool thing, except that I wonder how much this is going to be used? I'm sure there's a group of people who will be interested in this, and it might be a great stepping stone for those that want to move to/from FreeBSD to/from Linux, but a lot of the FreeBSD community is heavily focused on the fact that FreeBSD is developed as a complete OS. The userland and the kernel are developed by the same people and integrated. So while this is exciting, I'm not sure how much interest you're going to get from the FreeBSD community. Similarly, a lot of the Linux people who use Debian don't think of using Debian but think of using Linux, Debian just happens to be the distribution they choose.
Now, what may be interesting that'll come out of this is packages with better FreeBSD compatibility. That is something I look forward to.
Features such as jails, the OpenBSD Packet Filter and support for NDIS drivers in the mainline kernel.
Scrumtrulesence is a perfectly cromulent word.
In my opinion, the biggest advantage of FreeBSD is how coherent the system is. Everything, from documentation to userspace utilities to the kernel, was developed and tested and released as a single project.
This allows for neat features that require cooperation between several system components, which would be more difficult to implement in the Linux world. For instance, in FreeBSD you can press ^T while cp is copying some huge file, and this will send SIGINFO to cp, causing it to print a progress report to STDERR. Handy.
So it seems to me that this Debian project defeats the most attractive feature of the FreeBSD operating system (by separating its kernel from its tightly integrated BSD userspace), while simultaneously casting aside Linux's advantages over FreeBSD (more drivers, more supported architectures, somewhat better performance, and--this may be controversial--in my experience, better stability). On the other hand, maybe Debian really can improve on the FreeBSD experience; apt rocks, and the Debian project does perhaps a better job than anyone of combining the disparate parts of the GNU/Linux ecosystem into a coherent operating system. So kneejerk reactions aside, I guess I shouldn't judge this until I have the chance to try it... still, I don't see myself trading in my Debian GNU/Linux anytime soon.
One thing I noticed: a working and consistent sound system.
"The agriculture ministry is not in charge of Gundam" - Japanese ministry official.
Debian is in effect raising BSD from the dead. IMO it's a good thing, the more OSes there are, the better.
If being made into the un-dead means becoming more like GNU/Linux, I'd rather just keep me and my demonic servers six feet under please.
On the other hand, maybe Debian really can improve on the FreeBSD experience; apt rocks, and the Debian project does perhaps a better job than anyone of combining the disparate parts of the GNU/Linux ecosystem into a coherent operating system.
I am not a big fan of the BSD userland, and I typically install "prefixed Gentoo" on my Macs. (Basically, it brings in a GNU user land, a fresh compiler chain, etc. It works well, but the repositories are very basic. It can help set up a Unixy programming environment, not a feature complete Unixy desktop system)
kFreeBSD Debian can potentially make Apt a real option on Macs. Fink sucks. Debian's repositories are much better.
After all, I am strangely colored.
As someone who has had a lot of experience with both, I switched to BSD in 1999. Back then the main reason was Ports. Needed to install MySQL: /usr/bin/ports/databases/mysql/ make && install. Then go grab a cup of coffee come back and it would fetch everything it needed, compile, and run. Or you could fetch a pre-compiled binary via pkg_add -r mysql. Hell, the first few version of PostgreSQL I used, the only way I could get the damn thing to work was to use BSD ports. The best you had with Linux was RPM and that was dependancy hell at times.
Also, back in the day it had a better tcp/ip stack and was generally more stable as a server platform and decent SMP support. And frankly it was far easier to support than "linux" was back in the day because there was a single FreeBSD, not umpteen different flavors.
Today it has ZFS and Dtrace from solaris ported over. I know ZFS hasn't made it into Linux as of yet, not sure about DTrace. But both are handy tools.
Currently we're deployed 100% on FreeBSD for our web, mail, and database servers running PostgreSQL. But that has more to do with using Pair Networks than any other single factor. They've been 100% FreeBSD and consistently in the top 10 in terms of uptime according to netcraft.
For the past 10 years, I've found FreeBSD to be a stable, secure server operating system that doesn't take a lot of system resources to run. It seems like Linux takes about 256MB of ram these days in most default configs to run a web server whereas our BSD machines were using closer to 150MB for the core OS. And was both systems running Apache 2.
"The problem with socialism is eventually you run out of other people's money" - Thatcher.
A lot of wireless hardware still doesn't have drivers (at least, not working ones) on Linux (or FreeBSD). For obvious reasons, NT drivers do exist. FreeBSD's kernel supports directly loading those NT drivers. Linux has ndiswrapper, a project to allow the same thing (ndiswrapper itself is a Linux kernel module that attempts to load the NT driver binary) but the FreeBSD NDIS support is a feature of the kernel itself, and supported as such.
For TL;DR folks: if you've ever had trouble making WiFi work in Linux, this might help.
There's no place I could be, since I've found Serenity...
And this happens now on BOTH sides of the fence, so mixing this improves the situation how? I see it making it worse if anything.
Software that compiles and installs on BOTH BSD and Linux, has not been all that unusual since, perhaps, 1991-1992.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
The grandparent was trying to make a point, but failed. Similar behavior exists throughout the FreeBSD userland--you can send SIGINFO with ctrl-t to many userland processes to get information on what they're doing. The point is that FreeBSD's kernel and userland were designed as a system, and little touches like this show that off.
I really don't get why Debian would do this though because of the fact that it will take away from its primary user base (Linux users) to help fill a possible niche of users (KFreeBSD users) that are small in number.
That type of question makes sense when asked about Microsoft, but doesn't even make sense when discussing Debian. "Why would Debian do this" is like a zen koan, until you're enlightened it makes no sense, or when it makes sense it means you're enlightened.
Debian developers do what they want to do, within the legal framework and societal tolerance. If the guys doing the port, feel like doing the port, they do the port, and we get a "testing" quality port, and if its good enough, TPtB declare it a release-quality architecture and we eventually get a "stable" quality release. There is no "Debian" borg style hive mind, or if one does exist, instead of "the three laws of robotics" or "the ferengi laws of acquisition", the hive mind has the social contract and the DFSG. There is no top down militaristic business command structure. Very few people in Debian with positions of power have the "wikipedia" attitude of "I'm not personally interested in your work, so I shall gleefully destroy it while laughing, ha ha ha".
In summary, they felt like doing it, they did it, some folks in positions of power acknowledge it. Its the same deal for all Debian packages, this port is not getting "special" treatment.
"Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
For instance, in FreeBSD you can press ^T while cp is copying some huge file, and this will send SIGINFO to cp, causing it to print a progress report to STDERR. Handy.
Isn't this an internal feature of their cp implementation?
No. The fact that ^T sends SIGINFO, just as ^C sends SIGINT, is a feature of the "tty driver" (standard tty line discipline). The fact that a particular program catches SIGINFO and prints a progress report is a feature of the program.
I don't see what this has to do with the kernel...
The standard tty line discipline referred to above is in the kernel.
This sounds insane to people who approach this from the usual angle. Linux has a lot more support for all the junk and semi-junk hardware out there, but some of the GNU core Unix userland is of questionable quality. All of us cursed GNU creeping featurism in the commandline utilities and GNU libc problems at some time or another. You would think people want the Linux kernel and the FreeBSD Unix userland. So why go the other way round?
There are very specific needs being addressed by using the FreeBSD kernel inside a Debian.
FreeBSD's ports system for third-party applications only has a devhead, and that has caused an increasing number of problems. FreeBSD has stable branches and releases for kernel, for "core Unix" userland including binutils and gcc/g++, but not for third-party applications. At the time that this was created it was great, because what we wanted at the time was a stable base system to do "server stuff" with, and the ports/applications were just for accessing the things, a light desktop that didn't do much except run xterm and emacs.
Today, I see two main problems with what worked a few years back:
1) those "server style" third-party applications aren't sitting flat on a Unix anymore. They are stacks of dependencies of considerable depths. It's not an apache with mod_cgi and the base perl system anymore.
2) some third-party applications became very aggressive lately and can be unusable in their newest releases. Many people bash GNOME and/or KDE, myself my favorite target is Xorg. The Xorg server has caused the most headaches across all my Linux and FreeBSD machines in the last years.
So, here's the trick. FreeBSD only has one branch in ports, so even if you use an older -STABLE release branch of the FreeBSD core system you still get the newest releases of third-party applications via ports. That's why my *most* stable OS (FreeBSD) had caused me the most headaches lately, because it upgrades me to the newest Xorg *first*, not last like it should.
I don't want to distract too much from the point of this posting by giving reasons why people want the FreeBSD kernel, let's just say there are enough of us. But no matter how much you want the FreeBSD kernel, many see increasing problems with ports/applications for the reasons I gave.
Debian provides stable branches for all applications, and that makes some people who don't generally like Linux still go "PLING!".
In addition to all that, Debian's packaging system, and the way that it is kept working (few package screwups upgrading), the way that it integrated /etc/* file management are simply first class and blow other Linuxes out of the water, too. Debian's packaging is the best out there, I haven't seen anyone challenge that notion in a long time.
So, very suddenly you have a demand for the FreeBSD kernel in a Debian application provision system and here we are.
%%
(BTW, what blows my mind for real is that FreeBSD is now partially sold based on driver availability. Because they kept their NDIS windoze driver integration system alive and maintained when Linux didn't. That is ... something, I have to think about it)
I would say mod parent up, but you're already at +5. This was what made me switch from Linux around 2002: Sound Works. I had a cheapy AC97 CODEC in my computer at the time. It didn't do hardware mixing. I installed Linux. There were two drivers, an OSS one and an ALSA one. Neither one let the majority of my programs play sound at the same time. For example, I couldn't have xmms playing music while I played BZFlag. Both KDE and GNOME came with their own sound daemon, which meant that either KDE programs could make sounds or GNOME programs could make sounds. Oh, and I think if I used the ALSA drivers then two programs that had had their sound output rewritten to use ALSA could play sounds at once... sometimes. Then I tried FreeBSD.
In FreeBSD, there was one driver for the sound device. This was back in the 4.x days, so sound devices needed a little bit of extra configuration. I had to set the number of virtual channels and then tell each device to talk to a different one. I set up 4, one for GNOME, one for KDE, one for xmms and left the default one for whatever apps just wrote to /dev/dsp. I could have music playing, BZFlag sound effects in the game, and notification beeps when I got an email or IM. Then came FreeBSD 5 and all of that manual configuration went away. To play sound, a program opens /dev/dsp and writes audio data to it. That's it. No libraries to link against; it's all done via standard UNIX system calls (open(), read(), write(), and ioctl()). It's trivial to program for and it just works. With FreeBSD 8, you now get per-channel volume controls and a rewritten high-performance mixing algorithm, as well as support for all of the new OSS 4 APIs (backwards - binary - compatible with the old OSS 3 ones) if care about those things (i.e. if you are a programmer).
A few other things that I like about FreeBSD:
There are probably some things I've forgotten. I was going to say that the only thing I miss on FreeBSD was valgrind, but it turns out that Valgrind 3.5 has been in ports for a little while now and I just wasn't paying attention (so, obviously, I don't miss it that much).
I am TheRaven on Soylent News