Are You Using the GNU/Hurd Kernel?
carter asks: "I remember this article from a year back about the brave soul who got a web server running on the GNU Hurd. Due to the now-famous /. effect, I never got a chance to see it running, and now the server appears to be down for good. One year ago is like ancient history in hacker-time, so it makes me wonder: has anyone else had luck getting a web server going on the Hurd? Is anyone using the Hurd for anything resembling production use yet? Also, is the Hurd project closing in on a stable release? To look at the Hurd's seemingly ever-static home page, one would think that no major developments have happened since 1999, although I'm sure this is not the case." For those of you who are actually running it, what are your experiences of the system? Are there any any pitfalls in installation and operation that you can share for those brave folks who are planning on making the plunge in the near future?
As far as I can tell, in order to install it you need a running Linux system, and if you aren't running Debian it's harder still. Back when I was running debian I gave it a go but had problems which I blamed in limitations of GRUB at the time.
GRUB seems pretty good now. It would be nice if someone make a Hurd release that didn't require an existing OS. The best way to do this would be to install for a Linux boot disk (if you can't do it with a Hurd boot disk).
--
enterfornone - logging in for a change
I used to be the only person I knew who used Linux. Does that mean linux was crap?
This is probably why RMS is so obsessed with calling it GNU/Linux. The original GNU Hurd vision that he had never came to fruition because of the simple development of the linux kernel. Being first to market, determined what would happen. If the Hurd kernel was ready before the Linux kernel, things would have happened much differently.
But as it is now, GNU/Linux, or for people like me who think the easily marketed term is better, Linux, is the most popular. Hurd had a chance, but it was wasted by being beaten by something of comparable quality. (I won't say equal, better, or worse, in order to avoid the massive flame war that would erupt.)
Maybe one day, after the Hurd is more integrated into an end user ready product it will gain some more popularity, but I doubt any more than some of the lesser known BSD's.
------ 24.5% slashdot pure
You might take a look at Kernel Cousin Hurd, a weekly overview of Hurd developments. It is hosted on www.linuxcare.com.
-- Spelling and grammar errors tend to be a sign of erroneous thinking.
Well, it's probably bad to run not-yet-released software if your aim is to get things done (as opposed to just hacking). When HURD is stable, there will be good reasons to write certain types of software on it, because its structure is fundamentally more flexible than UNIX (so you could have more fine-grained permissions, more user-space drivers etc).
perl -e 'fork||print for split//,"hahahaha"'
(ie. there must be at least two context changes whenever you use a
core service), there aren't many microkernels out there (Mach,
Chorus, are there any others?), because context changes really are
expensive, especially on an x86. I don't suppose that when people say
they that microkernels won the OS design wars they meant that the OS
must be doing endless context switches to process the most basic
service...
If by a microkernel OS you mean that there is a principled
distinction between core OS services and other OS services, with a
well-defined message passing interface between the two, then NT is a
microkernel.
russian university? I don't think so!
The L4 microkernel was developed and implemented on ix86 platforms by Jochen Liedtke, then at
GMD, Germany. Liedtke continued development of the Intel version of L4 while at IBM TJ Watson
Research Center. He is now at the University of Karlsruhe.
University of New South Wales are working on L4 implementations for several platforms:
L4/MIPS: a stable version for the MIPS R4x00 processor, to our knowledge the world's fastest kernel for that architecture.
L4/Alpha: a development started at the Technical University of Dresden. We (I) are presently working on an SMP version.
An L4/StrongARM is also being here.
Other ports exist also, developed by other parties. Linux runs on top of Intel, MIPS and partly Alpha versions, that I am aware of.
Oh, YES! HURD: The Pascal of Operating Systems!
And the brethren went away edified.
It's available at their ddj website, here
If you disagree then it must be overrated, redundant or trolling.
NT *tried* to be a microkernal, but found it was too slow and pathetic, so they moved bits back into kernal space. One example is the GDI subsection, which runs the graphics. NT 3 had it in userspace, but it was too slow, so NT 4 moved it back into the kernal. Which is why a good 60+ percent of NT blue screens say 'ati.dll' somewhere on them.
Vintage computer games and RPG books available. Email me if you're interested.
...was that many on the hurd project were frustrated that mach kernel development had slowed and lost resources at the U of Utah or whatever.
They were planning on shifting to something called "L4", a microkernel started by a russian university (AIR). L4 is supposed to be extremely fast and lightweight.
remember the goal here -- instead of having to pester Linus with patches, and wondering what release they'll get in, you write something called a "translator" instead, and they are all the same from the kernel's point of view. No more kernel patches for drivers! Just add a translator!
I wish I GNU more about the L4 and Mach issues, cuz last I hurd that was the main issue deciding where HURD was going in the future.
Free computing gneeds HURD.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
OSS advocates often talk about technical merit, and how open source projects tend to have more technical merit than close source projects. (Daft moderator pacifier: I said tend to be, not are.) IMNSHO, the Hurd has a LOT of technical merit.
Hurd is the ultimate of configurability. One of the major reasons I gave up Windows completely was because the hood was welded shut. Linux gave me so much more power to configure. Unfortunately, Linux is still not the ultimate... dig Hurd: you can replace parts of the OS and have it affect only one user!! If you've ever tried writing anything close to an OS before, you'll know that it's a major pain to get things going because of the chicken-and-egg problem: you gotta somehow bootstrap this new thing you've written, and everything has to be perfect and properly setup, and basically, you need to have written a substantial amount of code before you can actually see anything run.
But with Hurd, you can just run a new interface in user-space, no matter how primitive it may be. It may crash, it may burn, but you're safe in the comfortable, stable development environment -- all you need to do is to debug the code and restart the interface.
The kernel hacker's dream, if you ask me. No more tedious reboots, lost error messages, hard-to-reproduce bugs, etc.. I, for one, will switch to the Hurd as soon as they make a stable release.
Poll Mastah
This reminded me of my personal experience with running Hurd. I spent a considerable amount of time downloading the 0.2 distribution over a slow modem. When I'd finally gotten it all, I untarred it on my Linux box, and spent some more time wrestling with GRUB to get the system up. When everything was said and done, I was rewarded with a bash prompt and a bunch of GNU utilities. It was kind of anticlimactic -- I figured I could've gotten the same effect by most of the packages on my Linux box.
But that being said, I think there is some merit in the Hurd project. It's just that it's nowhere close to the point where it can start sucking up marketshare for any reasons other than "I'm working on Hurd" or "I was really curious, bored, and/or drunk." Furthermore, it's entirely possible that it may never become more than a novelty.
Thats not true at all. Why did people run Minix?
Why do people continue looking into Microkernels like FIASCO ?
Why would anyone be interested in furthering the area of Operating Systems by exploring new options?
If you aren't curious about how things work then don't play with HURD .
Wait until its really ready for use and then complain about it.
I realize HURD has been in development for eons. It is because noone has done this sort of thing before.
True, microkernels have existed for a while but can you run multiple OS servers on them? I haven't seen any. The HURD is capable of this.
I can tweak key parts of the OS like the scheduler and not affect anyone else on the who is logged in. Its just an interesting animal right now.
I plan to run it in the near future. I had been running it once before and I plan to develop software for it now and when its ready.
Linux is still the way to go though.....
Dave
If anyone reads the mailling list archives one will find that one of the most recent disccusions has been to replace the kernel (GNU Mach kinda sucks).
The only problem with this is it would mean about a 90% rewrite of the kernel stream work done so far.
As for applications once the kernel is retooled (Or compleated deppending on what GNU wants to do) any posix/linux app or server should compile and run fine.
PPP being the only one that needs major work
Free Unix? Free Windows. http://www.reactos.com
You can follow the action on the Debian Hurd mailing list (which is slow but nowhere near dead) at the Debian Hurd Kernel Cousin.
Bottom line is that people are getting things like X and PPP going, so there's definite progress toward a system you could use every day.
Both Darwin and Hurd run on top of the Mach microkernel. But they're not the same thing. Darwin is UNIX implemented on a Microkernel (plus whatever extra Appley bits). HURD really isn't UNIX at all. It is a general system for running interacting "servers", plus some particular servers. The UNIX compatibility is given by some of those servers, but it's quite possible to write programs for HURD which would be difficult or impossible to port to UNIX (e.g. it is almost trivial to run "sub-HURDs": just start copies of all the servers and make them talk to each other).
perl -e 'fork||print for split//,"hahahaha"'
One year ago is like ancient history in hacker-time
That's not true at all, unless you're into having the latest and greatest hardware and such simply for the sake of newness. For example, I've been using a 2.0 Linux kernel for a few years now, and the "benefits" of newer versions are pretty minor in the overall scheme of things.
I'm continually surprised at how slowly things move in the computer world. There are performance improvements on the hardware side, yes. Sometimes there are real bullets, like the catch-up game PC video cards have been playing for the last three years. Overall, though, programming and computer use are the same as they were ten years ago. I used a UNIX variant on a Sun workstation from 1990 through 1993. It felt about the same speed as the other machines I've used over the years. But that machine was running some kind of 20MHz 68020-class processor. I don't feel like we've advanced much. Programming is still the same. If someone stopped writing code in 1990 and started up again in 2000, he wouldn't feel like the world had passed him by. Heck, even BASIC still has a reputation as a slow, interpreted language, though machines are now 1000x faster than they were when that repuation stated.
I was able to install it a while ago on my system. It was fun for a while, but I couldn't really do much with it. It was hard to figure out exactly what to do. For example, to run emacs, I first had to make some changes to the configuration of the system.
Recently, I again tried installing it on the same partition I used before. This time, however, I couldn't get it to boot at all. I tried the debian distribution of it, which was unable to find the filesystem I installed it on, even though I entered it in (using the HURD-style device names). The version from the GNU website would find the filesystem, but would later go into an infinite loop.
I'd say it has a while to go before it becomes more useable; however, when it does, I'd really like to use it. I'm quite excited about the advantages that it will eventually have over Linux.
-----
"But really, I think life is just a game of Mao Nomic." -Purplebob
Well, seeing as this : ftp://ftp.debian.org/debian/dists/unstable/main/bi nary-hurd-i386/web/apache_1.3.3- 4.d eb
exists, I assume that some people are running a webserver on HURD ...
Aye, there was some discussion not too long ago about replacing the Mach architecture with L4. Some guy said he was going to do some thesis work involving the Hurd, and wanted to know what he could do that would be useful, and this was one of the first suggestions that came up.
Many of the debian-hurd folk were pretty excited about this possibility, as L4 is smaller and faster than Mach, is already in a working state, and is actively being worked on by its own cadre of developers.
(Man. To think-- not so many years ago, the vision for the GNU desktop system was GNUstep running on Hurd. I hope it'll still come to pass...)
iSKUNK!
Last I saw RMS he had Hurd in use on his laptop. I watched him drop into GDB when his Emacs died on him, and he hacked on it and then went back to writing Emacs documentation. It seemed pretty workable, but he was only using it in console mode. He was using a Happy Hacker keyboard, too, which I can't say was an endorsement but he seemed pleased with it.
This is before his laptop had the horrible screen damage that occured while he was in Brazil. That particular laptop is out of commission now, I think, after his modifying it to display on the unbroken half of the LCD screen, and then dying completely when he tripped over the power cord and knocked it off the table, cracking the other half of the display. The Brazilian Linux people bought him a new one, IIRC, and I think he paid them back later (but I'm not sure).
So, the Hurd seems to be living through his daily abuse. It must be functional, at least for that.
The Hurd is still under development and many features are brok^H^H^H^Himproving.
johno
872835240
I have to agree with some more FSF-cynic people here that the HURD indeed does resemble any other "My Own Featureful Kernel" kind of project, and if this one wasn't supported by the most influential Free Software Foundation, it would have been bleeding to death years ago. I mean, the historical mails from Linux Torvalds, wherein he announces the Linux kernel, are already cynical about the release date of the HURD (first he says "within a few months or so", in later mails he starts with "end of this year, age, millenium"-like suggestions). That reminds me a little bit of Paul stating in the Bible that "the End of the World is Nigh" -- words which are 2000 years old now. If it ("it" being the End of the World, or the HURD, or even both at once - whee :-) wasn't anywhere near "Nigh" way back then, then why should we expect it now?
Then again, one never knows what comes of a Free project. It may lay slumbering for years, then maybe development is suddenly picked up by an interested group o' people (like Debian).
Oh, and I'm interested, too. I recently tried it. After a night of downloading and installation (which is a smooth, automated process that only requires you to run a few scripts and mount a device as /gnu) that went quite OK, I rebooted with a GRUBbed floppy and found that the kernel hung. Shoot. After some discussion on the mailing list, they found that it was probably my ISA ne2000 card that hung the system.
(At this point, a cynic would say two things: first: "an ne2000 card is about the first thing one would have supported", and second: "one of the advantages of a microkernel should be that its modular design would allow for the system not to hang when one driver fails", right? I wasn't interested in being cynical, I never really am with Free Software. If it's crap, don't complain -- just don't use it, or make it better. You got it for free, and, unlike promotional material, the givers don't want anything from you in return.)
The folks from the HURD came up with a few solutions. Some of them involved fooling around in the sources and stuff and didn't seem proven solutions. Another option was to plug the ISA card out. While I'm not very fond of fooling around with hardware, I decided to do the last thing.
There went the HURD, passing the network card detection part as if it were a simple bend in the road, but then it suddenly crashed into a problem as if it were a trailer that was parked just around that bend. This time I got a real kernel error, not just a message-less halt. The idea behind this crash was that the HURD found way too little main memory on my system.
So I posted a new message to hurd-help, stating "problem solved, long live the problem", but this one didn't seem to get very much response. (The other message, AFAIK, resulted in some modifications in the network card detection stuff, but as you might know, it's very hard to autodetect an ISA ne2000 card, so I don't expect to see a really "smooth solution" unless, as with Linux, the "kickstart system" doesn't require all hardware to be detected and stuff.)
So for now, no, I haven't used HURD. Might check again later, but I don't want to disappoint myself for now, as I don't think that my current problems are now suddenly all solved. Even if the HURD will never come near stable, there's one thing that's good about it, and that's competition. Cool features and concepts can only inspire us all to make software better, just like Linux "inspired" Microsoft to do better, and GNOME and KDE inspire each other. And the HURD does have cool concepts (and probably features as well ;-).
It's... It's...
"We can confirm that Debian does *not* ship the version with the trojan horse. Our version predates it." [CA-2002-28]
That was *my* box you guys did in a year ago... =) I changed the address as quickly as I could to save my poor development system.
For an update, apache still compiles nicely on it, and recently many people got X running.
As to the Hurd web pages, I've taken over development on them and you can generally expect there to be updates to them starting this weekend. I'd appreciate any assistance people want to give. (web-hurd at gnu.org)
Another good place to go is http://www.debian.org/ports/hurd/
We cannot release GNU/Hurd-0.3 without all the above.
But the worst problem by far is lack of developers. Let's hope that this article will attract new people into the GNU/Hurd community.
Previous articles failed to do it though :-(