Hurd: Release of GNU/Hurd 1.0 Delayed

Submitted by schneelocke
on November 8, 2002 - 10:08pm

In an article on Infoworld, Richard Stallman, founder of the GNU project and the Free Software Foundation, said that it would be impossible to ship the first production release of the GNU project's operating system, GNU/Hurd, by the end of this year, as was originally planned back in March. [story]

These delays, according to Stallman, are mostly caused by two essential features that are still missing from the Hurd kernel, namely, the lack of hi-speed serial-line handling and a limit of about 1 to 2GB for partition sizes.

The Hurd development teams plans to work around the first problem by porting the Hurd from the GNU Mach microkernel to the OSKit Mach implementation by the University of Utah; the second problem, though, may be harder to cope with, since it touches upon the fundamental way filesystem access is done in the Hurd, basically an mmap() of the partition into kernel memory. But, as Stallman acknowledges, being able to deal with larger partitions is a top priority - most users will not be willing to repartition their disks to try out the Hurd, and given today's harddisk sizes, avoiding a situation where a user is forced to have dozens of even hundreds of partitions on his disk is an essential task anyway.

Once these issues are worked out and the first production version of the Hurd is released, however, it will be an interesting new alternative to established open source OSes such as Linux and *BSD, and one can only hope that the best features of all approaches will live on and make free and open source software the best software it can be.

I hope 1.0 is at least six months off

coriordan
on
November 10, 2002 - 3:41am

After these two issues are resolved there will probably be a couple
of months of release candidates. Also, POSIX threads support was
added recently, GNOME should be working properly[1] soon but there
are still a few issues to work out and probably bugs to find and fix.

As Neal Walfield said[2] "we can only ask users to give us so many
chances. If we release today and they see the current limitations, a
year later, they may not be so willing to try again."

anyway, my Debian GNU/Hurd J2 CDs are in the post[3] (yay), can't
wait to have a real GNU system, I'm hoping it's stable enough to use
as my main OS.

[1] according to Marcus Brinkman "GNOME works single threaded, which
means it doesn't really work very well at all."

[2] Nov 12th 2001 Interview: http://www.kerneltrap.org/node.php?id=5

[3] can be ordered from www.copyleft.co.nz, price is 35 Euro (35 USD)
delivery is 5 - 7 days worldwide and the seller works on the
packaging/testing of the CDs.

Why?

Cabal
on
November 10, 2002 - 6:01am

can't wait to have a real GNU system, I'm hoping it's stable enough to use as my main OS.

Any reason in particular or do you just want to have "a real GNU system?"

The design sounds cool

coriordan
on
November 10, 2002 - 2:47pm

The design of the Hurd is really flexible, one it's aims is to
emulate Linux but when more developers start working on it it should
start taking off in really interesting ways.

Plus, I'd love to try my hand at kernel development and with the Hurd
a user can hack the kernel without special privileges. This is
because most of the "kernel" is actually a bunch of user space
deamons. There is an excellent tutorial that shows you how to write
a hurd server[2], the server in the tutorial creates a "one" device
that's just like like Linux's /dev/zero.

From a stability point of view the design is definitely superior to
monolithic kernels (or single server microkernels). A filesystem
bug won't crash your computer, it will just crash the filesystem
server. You can then either start the filesystem server again or you
could have had a backup filesystem server running which will just
take over.

As for security, with almost every running in userspace there is
less chances for a root exploit. There is no reason for a webserver
to run as root, a user can run a webserver that only accesses files
that they have access to[3].

Speed is an issue but I reckon that problem can be solved.
Performance is the last thing on the developers minds right now,
good design takes preference. Also, server applications could be
written as Hurd servers, this way they would run directly on the
microkernel which would bypass the overhead of some of the message
passing.

[2] http://www.gnu.org/software/hurd/hacking-guide/hhg.html

[3] not sure how it is decided who listens on port 80. When I get my
system running I suppose I'll learn.

Just a thought

Anonymous
on
November 10, 2002 - 11:10am

> I hope 1.0 is at least six months off

Yeah, it's already been like 10 years off so why not wait a little longer?

GNOME on the GNU/Hurd

Anonymous
on
November 11, 2002 - 4:35am

Unfortunately, GNOME also requires POSIX record file locking (gconf),
and some parts might need POSIX style semaphores or shared memory (Gimp).
We have a design, and a non-POSIX compliant implementation, but adding those features is a bit hairy, because of the complicated POSIX semantics for these features.

Thanks,
Marcus

Re: GNOME on the GNU/Hurd

Anonymous
on
February 5, 2003 - 10:26pm

The gimp already runs on GNU/Hurd.
The gimp doesn't really NEED shared memory.
I've run it in the past on solaris without it (or so I believe).

Bijan

Delayed forever ?

Anonymous
on
November 10, 2002 - 5:05pm

For me : after more than 10 years we don't have a production release => this OS will never be released ...

How the hurd team can compete with linux and *BSD if they have unmature thread implementation, hurd is not 100% posix compatible and if hurd is more slower than almost all other Os ?

Considering the state of the project, even if they release hurd in the next month, most of the peoples will keep there OS and will not switch to an OS where they can do nothing ...

long delay, new reasons for release

coriordan
on
November 10, 2002 - 8:13pm

> this OS will never be released

GNU is a project to create an entirely free OS, it has been amazingly
successful as it has a POSIX C library, a shell, a compiler for many
languages, a debugger, an excellent desktop, a whole bunch of
utilities, all the standard shell utilities, make, the auto-tools for
large projects, public key encryption software and tonnes that I have
left out.

The point of GNU isn't to write as much software as possible. When
someone else has written a useful piece of free software it makes
sense to use it. GNU didn't have a windowing system, they used
XFree86, GNU didn't have a kernel, they used Linux.

Before Linux was working there was already a GNU effort to write a
kernel. When they found that Linux was working pretty well they
decided to use it (to further the aim of producing a free OS). This
didn't mean the developers had to stop working on the Hurd. The
work on the Hurd has continued and is now reaching a quite complete
stage. There are some things left such as better hardware support,
some fixes the the POSIX thread support, the hard disk limit etc.

A working 386BSD kernel didn't stop the development of Linux, the
Hurd has some stability issues and a lot of performance issues to
fix but as it gets better, the number of developers should increase.
The existance, and quality, of Linux has raised the bar for what
is expected from a releases kernel, the Hurd has taken it's time
reaching this level but hopefully it will be there within the next
year.

The Hurd will continue and hopefully will provide an interesting
alternative to Linux. The operating system, GNU, is already in use
by (an estimated) 20 million.

Gnu & Linux

Anonymous
on
November 11, 2002 - 10:22am

Well from what i remember it was the Linux hackers who basically ported all the GNU tools over. It wasn't like the FSF went hey here's a kernel let's bundle it with our software and distributed it. The Linux hackers could always have ported the BSD tools. BSD\Linux nice tune ;)

BSD tools

somercet
on
November 11, 2002 - 4:56pm

So what's the name of the BSD C compiler? Something like, say, gcc?

It is _now_

Anonymous
on
November 11, 2002 - 6:15pm

You need to read up on your history, kid.

It's not always about switching your OS

tholti
on
November 11, 2002 - 3:14pm

It's not always about competition and to make people switch their OS. There *is* active development on the Hurd project. So at least *some* people are interested in that project. May be they will never make it for a 1.0 release (though I don't think so) it's still their damn right to go for such a release and get their project running. These days I often get the impression that only stuff matters that "makes people switch their OS" or that "might knock out MS" in the long run. There are far more reasons to work on (OS) projects - believe me! (Yeah, I know RMS did plan things in other directions, but plans not always work out ...)

never say never

Anonymous
on
November 11, 2002 - 8:07pm

Person who say it cannot be done should not interrupt person doing it. - Chinese Proverb

GNU/HURD delayed?

Anonymous
on
November 11, 2002 - 4:28pm

Is anyone here actually surprised by this? I would have been far more surprised to actually see the release.

Best of luck

Anonymous
on
November 11, 2002 - 7:12pm

Best of luck to the hurd team, this is a project I want to see succeed.

I know some C, but right now hurd is transitioning to what exactly? L4? OSkit? Both?? Which one should I start reading docs on if I want to help develop? Both? Sounds like L4 is a better way to go than OSKit.. "sounds like". :)

Re: Best of luck

Anonymous
on
November 11, 2002 - 9:01pm

You're confused.

L4 is microkernel.
OSKit is a framework for building a kernel.

Where's the Hurd going?

coriordan
on
November 11, 2002 - 10:34pm

> L4?

Hopefully, but not for a while. L4 doesn't exist right now and there
are licensing issues to be worked out.

> OSkit?

OSkit is a set of utilities for making kernels. Right now there is
work being done to port the Hurd from GNU Mach to OSkit Mach. This
fixes the serial I/O performance problem, provides better hardware
support and should provide a speed increase.

>Both??

Possibly. There is talk of making the Hurd servers microkernel
independent so that a user could run the Hurd on L4 or OSkit. This
may or may not happen but is definitely not an immediate project.

> Which one should I start reading docs on if I want to help develop?

If you want to help, the easiest task is to set up a GNU/Hurd box and
report any problems you encounter (in a detailed way). The next most
helpful thing would be to try compiling as many programs as you can
and fix the ones that don't compile (or ask for help on a mailing
list).

If you want to get into hardcore development you would be best off
reading about the Hurd itself. The developers often ask people who
want to start Hurd-hacking to fix the 'rpcinfo' program, you could
look into this if you're interested. If you're dead set on working
with the actual microkernel I recommend reading about OSkit Mach, if
you don't find many docs then read about GNU Mach as they are mostly
similar.

The most important step you can take though is to set up a GNU/Hurd
box and get familiar with it. You can either download the ISO
images from ftp.gnu.org/iso/LATEST/ or get the 4 CDs mail ordered
(see info at the end of my first post).

thanks

Hiryu
on
November 11, 2002 - 11:10pm

Thanks for the info.

L4 does exist, just the latest and greatest L4 "pistachio" is under a non-free license right now. Isn't pistachio supposed to be released eventually under an acceptable license? Like in the not too too distant future?

Alright, I forgot to mention this in my last post. I have tried to install the hurd, though I haven't tried to since about last Jan when I dowloaded like the H2 cd's. It didn't go too well, it just refused to boot on my system at all. So hopefully the latest and "greatest" hurd will work... I really want to give it a try!

I just hope the hurd doesn't hate my box anymore. :)

L4, hmm...

coriordan
on
November 12, 2002 - 12:14am

> L4 does exist, just the latest and greatest L4 "pistachio" is under
> a non-free license right now.

I regularly get confused about this. Yes, the Hurd porting plan is
for pistachio. From what I can gather though, pistachio isn't
finished yet: "The L4 interface is not fix yet"[1]

Also, I don't see pistachio on the lk4A.org download page, not even
as a binary. The lk4A.org site says[2]:
"The current proposal is code-named Version X.2. The Pistachio kernel
will implement this new API."

The words "proposal" and "will" lead me to think that things are yet
to be done, this comment is about the API but how would they have a
finished package that they haven't decided the API for yet?

Please fill me in if you know the real situation, I hit a brick wall
whenever I try to research this properly.

Thanks
Ciaran O'Riordan

For others:
Info about L4 at www.l4ka.org
Info about the Hurd port at: http://www.gnu.org/software/hurd/l4-hurd.html

[1] http://www.gnu.org/software/hurd/l4-hurd.html#TOCproblems
[2] http://www.l4ka.org/projects/version4/

Hurd is disapointing at best.

Anonymous
on
July 9, 2004 - 7:02am

I am all for microkernel based OS's but Hurd really does not excite me. What do we really need Hurd for other than for the FSF to say "We finally wrote our own kernel." Can Hurd scale to a smaller foot print than Linux or BSD? Offer real time control like QNX? Scale to larger systems than Linux or BSD? Sure some of Hurd is interesting but openMosix and Plan 9 are far more interesting than Hurd.
I really wish that Hurd would strike out in a new direction. Leave the idea that Unix is the best we can do and try to be inovative.
What I would like to see just because.
1. Drop X-windows replace it with something like DirectX with a layer for remote displays.
2. Use a realtional database as the filesystem.
3. Make it cluster based. Something like Plan9 where each of the hurd serices can run on different physical machines.
4. Network based. Assume that the machine will be on a network at some point and make things like roaming profiles and file system updating automatic and transparent.
5. Object based API.
Just my wish list for something exciting and new.

You want it? You got it.

Anonymous
on
July 13, 2004 - 7:16pm

The whole point of the Hurd is so you can do just that. Want a relational database filesystem? Writing a translator allows you to do just that. Better yet the translator runs in user space, so a crash doesn't take down the entire system. And you don't need to be root to use it. And since it's not in kernel space, you can write it perl or haskell or java. Oh, and debug it with your normal userspace debugging tools. I also think that distributed servers are on the drawing board.

I understand that

Anonymous
on
July 20, 2004 - 4:54am

I guess I am just far from happy about the lack of any real inovation in OSs and in UIs.
Okay Hurd uses Mach. Well how long has mach be around?
Unix was desgined to run on a single cpu system. It has grown to be multi threaded and even to work on clusters. You say I can add a relational database file system to Hurd but I can also add one to Linux. Look at OpenMosix it makes Linux into a distributed system. I would like to see someone toss the whole Unix/X system away. What I would like to see is an OS that looks at the hardware we have now SMP, Multicore CPUs, huge memory spaces, audio systems, fast networks, and fast video cards and use that as the target. Start from scratch and desgin it to run on the fastest systems you can buy today. Even the way we program is so backward. Theading is just sort of an add on to Unix. It does work and it works pretty well it is not simple to use.
Like I said throw away Unix and think new and interesting.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.