1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[!meta date="2011-02-05 12:00 UTC"]]
A year of the Hurd: *2010*.
[[!if test="included()" then="""[[!toggle id=full_news
text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]"""
else="
[[!paste id=full_news]]"]]
[[!cut id="full_news" text="""
Originally published in {{$gnu#gnustatus-2011-01}}.
From Olaf Buddenhagen, Arne Babenhauserheide, Thomas Schwinge: Yeah,
that's quite right: the GNU Hurd project is still alive!
According to our mission statement, the goal is creating *a
general-purpose kernel suitable for the GNU operating system, which is
viable for everyday use, and gives users and programs as much control
over their computing environment as possible*. It has a unique
multi-server microkernel-based architecture---bringing advanced
operating system research to the mainstream. More concretely, it's a
collection of user-space server processes that run on the GNU Mach
microkernel.
The Hurd doesn't fully deliver on the *everyday usability* goal
yet, but it is seeing continuous improvement---and 2010 has been no
exception. Let's take a look at the progress throughout the year.
*
Apart from having done a lot of other work, Samuel Thibault, our Jack
of all trades, merged his development branch that added Xen domU
support to GNU Mach, which makes it possible to run a GNU/Hurd system
as a Xen guest. Development of this started in 2007, and since then
it has been heavily tested by using it for the Debian GNU/Hurd build
servers, most of our public GNU/Hurd systems,
<http://www.gnu.org/software/hurd/public_hurd_boxen.html>, and the
Hurd project's wiki web server.
*
We had Zheng Da work on a new hardware device driver framework, which
is based on the Dresden L4 (Fiasco) group's DDE project, and allows
running modern Linux kernel drivers as user-space server processes.
Many network cards already work perfectly with this new framework.
(It has not yet been integrated into the mainstream Hurd code base, so
it needs to be compiled and set up by hand.) Other driver classes,
such as hard disk controllers, will require further work.
*
As in the previous years, we again participated in the Google Summer
of Code 2010. Olaf Buddenhagen is our main guy for organizing this.
Jérémie Koenig ported the modern Debian Installer to Debian
GNU/Hurd. Installation images using the new installer are replacing
the previous CD images, which were using an installer based on the old
Debian boot floppies (and running under the Linux kernel)---Philip
Charles has been maintaining these single-handedly for almost ten
years! The new installer images are available from
<http://people.debian.org/~sthibault/hurd-i386/installer/cdimage/>.
Emilio Pozuelo Monfort was investigating specific compatibility
problems exposed by the extensive test suites coming with some
software packages. Emilio's analysis uncovered a number of
programming errors in the Hurd code, and he fixed several of them. As
these typically affected other programs too, this improved stability
and compatibility in general.
*
Jérémie Koenig created a new implementation of a `procfs`
translator, which is considerably more robust and efficient than the
previous one. Tools such as `top` can now be used without
problems.
Some other translators (`gopherfs`, `netio`,
`tarfs`) which have been created by external contributors in
the past have been fixed up by Manuel Menal, and packaged in Debian.
Thus, some of the results of Hurd's extensible architecture are now
easier to access, and these updated translators can serve as examples
for other developers to implement their own ideas.
*
In addition to various general stability, compatibility, and
portability fixes, several people (Samuel Thibault, Pino Toscano,
Emilio Pozuelo Monfort, and others) have been working on fixing issues
with specific Debian packages. So far, about 68% of all Debian
packages are also available for Debian GNU/Hurd.
*
Michael Walker started the Arch Hurd distribution, and together with
other enthusiastic Arch developers (Allan McRae, Matthias Lanzinger,
Alexander Preisinger, Stephen Gilles, Diego Nieto Cid) they got it
working in an amazingly short amount of time, both as an installable
system, and a live CD. So now there is a choice between two
well-featured distributions for the Hurd. These new people of course
also help forwarding Hurd development in general---Diego in particular
contributed various patches to the Hurd console and other components.
*
Carl Fredrik Hammar finished and presented his thesis, *Generalizing
mobility for the Hurd*,
<http://lists.gnu.org/archive/html/bug-hurd/2010-01/msg00078.html>,
and passed with distinction.
This is a very short digest of what happened in the last year. You
can read our regular *Month of the Hurd* at
<http://www.gnu.org/software/hurd/news.html>, or by subscribing to
our RSS feed at <http://www.gnu.org/software/hurd/index.rss>.
If you are interested, for example, in doing a university project on a
multi-server microkernel-based operating system, or if you are
interested in contributing to Hurd development in general, please see
<http://www.gnu.org/software/hurd/contributing.html>. Or just
talk to us at <bug-hurd@gnu.org> or the `#hurd` IRC
channel on freenode.
"""]]
|