

Abstract: This is a script for a pod cast reviewing Debian-GNU-KFreebsd. That name means, Debian, running a Freebsd kernel.
Debian-GNU-KFreebsd: one of those typical hyphen-filled names where each component means something. In this case, what I am reviewing is Debian GNU, which is the Debian distribution of the GNU operating system, but one which runs the FreeBSD kernel.
What people who are not involved with the Debian distribution may not know, is that Debian comes in many “ports.” Most of these ports revolve around an architecture, or a computer type. Some you may have heard of, “Alpha,” “SPARC,” PowerPC.” These are some types of computers which Debian will run under, Debian even has one for S390 IBM mainframe. Less exotic, “I386,” or “AMD64;” for the standard 32bit IBM PC style computers (Intel Pentiums and post-Pentium,) and the AMD 64 bit architecture respectively.
What the KFreeBSD community within Debian want to be is an official port, but yet, they are still proving themselves. The want to be the port that makes Debian run with a FreeBSD kernel.
Now you may want to know what the significance of a choice in Kernels is, and what meaning it has. It turns out that there is a give and take between different Kernels. At certain points in time, one kernel or another will surpass the other kernels at something. For a while, the BSD kernels where more stable (less crash prone) than Linux. Currently, FreeBSD has better SMP support than Linux. I believe right now Linux has more desktop hardware support than BSD. For a long time, BSD could handle Apache web servers with large numbers of threads better than Linux could. But this is all dependent on where you are in time. Maybe SMP under BSD is better today, tomorrow, Linux may be on top.
Lets not forget that most of us are running an operating system called “GNU” with a Linux kernel. I don’t need to re-hash this one here for my regular audience, you heard the old saw before. What I do think you need to know for the sake of this review is that GNU has a kernel of it’s own called “Hurd.” They never got it off the ground and into mainstream use. It’s like if we likened our operating system to a car, it would be as if the car came without the engine. Most of use choose the Linux kernel as our engine. It’s like the car manufacturer can’t quite get the engine down, but all else is great.
I remember fondly that my first Hacker Public Radio was about choices in customization being the real Linux selling point. I invite you to take a moment to think about the possibility that could come about: someday you may be able to choose your distro, and your preferred Kernel, as separate and seamless choices.
There are other ways to look at this too, because of the fact that as people in what is sometimes called the “*NIX” world, we have the greatest amount of software available to us to run.
While there are very few apps from the my Windows past that I still run, (OK, one game actually,) I still run it under a Virtual Machine. I was, for a while, running it under WINE. We can run most Windows software given a little geeky effort, using one of these techniques. Truth be known, there is always a preference for running something built naively for your current OS though.
FreeBSD is like this to, it has it’s virtual machines. Mainly, it is good old UNIX portability that allows nearly the same code to compile under different systems. But BSD goes even further, as it has a “Linux Compatibility Layer.” We are no longer talking about emulating a virtual machine, we are talking about a mapping between BSD system calls and Linux system calls. This allows BSD users to run binaries (which means already compiled programs) from the world of Linux. Of course BSD is no stranger to this, they had a SCO-Unix compatibility for quite a while (perhaps they still do.)
And the world of AMD64 Linux has it’s own compatibility layer also. Debian-GNU-Linux for AMD64 comes with a package called “IA32libs” standard. This allows you to copy a binary for 32 bit Linux, and give it libraries it needs so you can run it on an otherwise 64 bit OS. I ran the web page authoring package “Kompozer” (with a “K” in the name, but it is not part of the KDE project.) this way for quite a while.
As an aside, I recently went back to running my system as a 32 bit system. Both for Kompozer, but there is also a kernel module for the QEMU virtual machine package that allows near native performance for virtual machines. For my personal situation, it meant more to have QEMU machines running just as fast as everything else than to run my system as a 64 bit system.
This merry-go-round of software does not end here. There are emulators on *NIX for old game systems galore, as well as dos emulators. I’ve even heard there is a PDP emulation, (I’ve heard that some industrial systems were controlled by PDP’s, but are now controlled by a PDP emulation under Linux.)
And lastly, sometimes file format support for proprietary software lasts longer in the world of *NIX. My understanding is that OpenOffice can read old versions of DOC files that Microsoft themselves no longer support.
Why, then, would you want to run one system over the other? Let’s get the quick one out of the way:it’s always good to know what is out there, kind of like having a plan to do something else “just in case” Linux itself takes a “wrong turn” someplace.
Another reason, is that you may want to keep something your used to while you check out something else.
Let me give you my personal favorite, which is the apt package system. Sure, FreeBSD has their own package for almost everything you could want as well as a compatibility layer for stuff that may be Linux only. But I have my favorites like everybody else. I love the Apt package manager. I even here there is apt for Red Hat/Fedora/CentOS. The idea of keeping Apt, and maybe seeing if I like a real UNIX was something I found compelling.
So I took the plunge. I got the ISO and tried to load it into it’s own partition. Here is what it was like.
As can be expected there was some frustration with getting used to the FreeBSD installer after getting used to the Debian installer. This was nothing I didn’t expect.
When I got the new partition up, I was dropped into a straight 80x25 column terminal. The lo gin was “root” with no password. OK, so you have to make the first user account on your own. I followed the instructions to point apt at the Debian-GNU-KFreeBSD mirror and then did the update routine. All these packages became available, so I went to install the x-server, IceWM, my favorite window manager, and the web browser Konqueror.
Well, this is where I had problems. Apt reported that there were dependencies missing for IceWM and Konqueror. These are two of my favorites. However, BSD boots very fast, which I really like, so I kept trying.
After an hour of fiddling, I got X going. X could not auto-detect my video, and it could not run the NV driver for Nvidia cards. I managed eventually to get it to run in VGA mode.
With some trial and error, I got Fluxbox to run, but I could not run KDM, my usual display manager.
I thought maybe it was just my video, so I tried the live CD for Debian-GNU-KFreeBSD, “GING,” but that to did not recognize my video.
I still did not want to give up, so I tried GING under Qemu. I figured that since Qemu simulated older well known hardware, that it ought to work. Well, Ging just hung under Qemu.
Lastly, I downloaded an image from Oszoo.org and went to run that under Qemu, and that to hung.
I do like the faster boot time, I like that allot. I also do not yet abandon any plans to try out a BSD down the road.
But alas, at this point, Debian-GNU-KFreeBSD is not where I need it to be. In theory I guess I could get it going, because I got fluxbox going under it. But I have to assume that most users are actually using GNOME components, which I don’t prefer. I would have to try GDM for a display manager, then adopt a new web browser, a new CD burner from GNOME, etc. That is giving up a lot of my favorites, which I am not willing to do.
I do believe that if this project picked up speed it would be truly amazing for our community, but at this point, it is just “not yet ready for prime time.”