From ad3b443209dc7f62b5fe1d2e82ad5bb8d97947d4 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 8 Jun 2009 19:49:16 +0200 Subject: Move back the history page to its original location. Suggested by RMS via Rob Myers, the chief GNU webmaster. --- contributing.mdwn | 2 +- history.mdwn | 92 ++++++++++++++++++++++++++ history/hurd-announce | 47 +++++++++++++ history/hurd-announce2 | 143 ++++++++++++++++++++++++++++++++++++++++ history/hurd-flash | 22 +++++++ history/hurd-flash10 | 25 +++++++ history/hurd-flash11 | 25 +++++++ history/hurd-flash12 | 76 ++++++++++++++++++++++ history/hurd-flash13 | 120 ++++++++++++++++++++++++++++++++++ history/hurd-flash14 | 62 ++++++++++++++++++ history/hurd-flash15 | 60 +++++++++++++++++ history/hurd-flash2 | 152 +++++++++++++++++++++++++++++++++++++++++++ history/hurd-flash3 | 77 ++++++++++++++++++++++ history/hurd-flash4 | 101 ++++++++++++++++++++++++++++ history/hurd-flash5 | 23 +++++++ history/hurd-flash6 | 46 +++++++++++++ history/hurd-flash7 | 17 +++++ history/hurd-flash8 | 73 +++++++++++++++++++++ history/hurd-flash9 | 39 +++++++++++ history/port_to_l4.mdwn | 102 +++++++++++++++++++++++++++++ hurd-l4.mdwn | 2 +- hurd/history.mdwn | 92 -------------------------- hurd/history/hurd-announce | 47 ------------- hurd/history/hurd-announce2 | 143 ---------------------------------------- hurd/history/hurd-flash | 22 ------- hurd/history/hurd-flash10 | 25 ------- hurd/history/hurd-flash11 | 25 ------- hurd/history/hurd-flash12 | 76 ---------------------- hurd/history/hurd-flash13 | 120 ---------------------------------- hurd/history/hurd-flash14 | 62 ------------------ hurd/history/hurd-flash15 | 60 ----------------- hurd/history/hurd-flash2 | 152 ------------------------------------------- hurd/history/hurd-flash3 | 77 ---------------------- hurd/history/hurd-flash4 | 101 ---------------------------- hurd/history/hurd-flash5 | 23 ------- hurd/history/hurd-flash6 | 46 ------------- hurd/history/hurd-flash7 | 17 ----- hurd/history/hurd-flash8 | 73 --------------------- hurd/history/hurd-flash9 | 39 ----------- hurd/history/port_to_l4.mdwn | 102 ----------------------------- 40 files changed, 1304 insertions(+), 1304 deletions(-) create mode 100644 history.mdwn create mode 100644 history/hurd-announce create mode 100644 history/hurd-announce2 create mode 100644 history/hurd-flash create mode 100644 history/hurd-flash10 create mode 100644 history/hurd-flash11 create mode 100644 history/hurd-flash12 create mode 100644 history/hurd-flash13 create mode 100644 history/hurd-flash14 create mode 100644 history/hurd-flash15 create mode 100644 history/hurd-flash2 create mode 100644 history/hurd-flash3 create mode 100644 history/hurd-flash4 create mode 100644 history/hurd-flash5 create mode 100644 history/hurd-flash6 create mode 100644 history/hurd-flash7 create mode 100644 history/hurd-flash8 create mode 100644 history/hurd-flash9 create mode 100644 history/port_to_l4.mdwn delete mode 100644 hurd/history.mdwn delete mode 100644 hurd/history/hurd-announce delete mode 100644 hurd/history/hurd-announce2 delete mode 100644 hurd/history/hurd-flash delete mode 100644 hurd/history/hurd-flash10 delete mode 100644 hurd/history/hurd-flash11 delete mode 100644 hurd/history/hurd-flash12 delete mode 100644 hurd/history/hurd-flash13 delete mode 100644 hurd/history/hurd-flash14 delete mode 100644 hurd/history/hurd-flash15 delete mode 100644 hurd/history/hurd-flash2 delete mode 100644 hurd/history/hurd-flash3 delete mode 100644 hurd/history/hurd-flash4 delete mode 100644 hurd/history/hurd-flash5 delete mode 100644 hurd/history/hurd-flash6 delete mode 100644 hurd/history/hurd-flash7 delete mode 100644 hurd/history/hurd-flash8 delete mode 100644 hurd/history/hurd-flash9 delete mode 100644 hurd/history/port_to_l4.mdwn diff --git a/contributing.mdwn b/contributing.mdwn index 9e2396cf..a5b3a34e 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -41,7 +41,7 @@ For one there's the implementation of the *[[Hurd]] running on the meant when people are talking about GNU/Hurd systems. This system has mostly been designed and implemented -[[in_the_'90s|hurd/history]]. It works and is usable. +[[in the '90s|history]]. It works and is usable. For example, these web pages are rendered on a [GNU/Hurd system](http://www.bddebian.com/cgi-bin/uptime). diff --git a/history.mdwn b/history.mdwn new file mode 100644 index 00000000..927482d9 --- /dev/null +++ b/history.mdwn @@ -0,0 +1,92 @@ +[[!meta copyright="Copyright © 1998, 1999, 2001, 2002, 2007, 2008, 2009 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]]."]]"""]] + +Richard Stallman (RMS) started GNU in 1983, as a project to create a +complete free operating system. In the text of the GNU Manifesto, he +mentioned that there is a primitive kernel. In the first GNUsletter, +Feb. 1986, he says that GNU's kernel is TRIX, which was developed at +the Massachusetts Institute of Technology. + +By December of 1986, the Free Software Foundation (FSF) had "started +working on the changes needed to TRIX" [Gnusletter, Jan. 1987]. +Shortly thereafter, the FSF began "negotiating with Professor Rashid +of Carnegie-Mellon University about working with them on the +development of the Mach kernel" [Gnusletter, June, 1987]. The text +implies that the FSF wanted to use someone else's work, rather than +have to fix TRIX. + +In [Gnusletter, Feb. 1988], RMS was talking about taking Mach and +putting the Berkeley Sprite filesystem on top of it, "after the parts +of Berkeley Unix... have been replaced." + +Six months later, the FSF is saying that "if we can't get Mach, we'll +use TRIX or Berkeley's Sprite." Here, they present Sprite as a +full-kernel option, rather than just a filesystem. + +In January, 1990, they say "we aren't doing any kernel work. It does +not make sense for us to start a kernel project now, when we still +hope to use Mach" [Gnusletter, Jan. 1990]. Nothing significant occurs +until 1991, when a more detailed plan is announced: + +
+We are still interested in a multi-process kernel running on top of +Mach. The CMU lawyers are currently deciding if they can release Mach +with distribution conditions that will enable us to distribute it. If +they decide to do so, then we will probably start work. CMU has +available under the same terms as Mach a single-server partial Unix +emulator named Poe; it is rather slow and provides minimal +functionality. We would probably begin by extending Poe to provide +full functionality. Later we hope to have a modular emulator divided +into multiple processes. [Gnusletter, Jan. 1991]. +
+ +RMS explains the relationship between [[the Hurd and +Linux|hurd/documentation/hurd-and-linux]], where he mentions +that the FSF started developing the Hurd in 1990. As of [Gnusletter, +Nov. 1991], the Hurd (running on Mach) is GNU's official kernel. + +--- + +# Announcements + +These are all the announcements made over the years. Most of them were +either sent to the gnu.announce news group or Hurd interest +mailing lists. + + * [[hurd-flash15]] -- Release 0.2 announcement (complete GNU system) + * [[hurd-flash14]] -- Release 0.2 announcement (Hurd) + * [[hurd-flash13]] -- Test release announcement (Aug 96) + * [[hurd-flash12]] -- Test release status (Jul 96) + * [[hurd-flash11]] -- Binary image available, Apr 96 + This and [NetBSD](http://www.netbsd.org/) boot flopies should be enough to + get a working GNU/Hurd system! + * [[hurd-flash10]] -- New Snapshot, Apr 96 -- NFS and lots else works! + * [[hurd-flash9]] -- News Flash, Nov 95 -- ftp works! + * [[hurd-flash8]] -- New Snapshot, Jul 95 -- ext2fs support + * [[hurd-flash7]] -- New Snapshot, Apr 95 + * [[hurd-flash6]] -- News flash, Nov 94 + * [[hurd-flash5]] -- News flash, Sep 94 -- gcc runs! + * [[hurd-flash4]] -- News flash, Aug 94 + * [[hurd-flash3]] -- News flash, Jul 94 -- emacs runs! + * [[hurd-flash2]] -- News flash, May 94 + * [[hurd-flash]] -- News flash, Apr 94 -- it boots! + * [[hurd-announce2]] -- GNU Hurd announcement, Nov 93 + * [[hurd-announce]] -- GNU Hurd announcement, May 91 + +--- + + * [History + 1997-2003](http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00718.html) + -- personal view of Marcus Brinkmann about Hurd development in 1997-2003. + +--- + + * [[Port_to_L4]] diff --git a/history/hurd-announce b/history/hurd-announce new file mode 100644 index 00000000..2f165ad8 --- /dev/null +++ b/history/hurd-announce @@ -0,0 +1,47 @@ +From mib@PREP.AI.MIT.EDU Tue May 7 12:07:53 1991 +From: mib@PREP.AI.MIT.EDU +Newsgroups: gnu.announce +Subject: FSF work on a GNU OS +Date: 6 May 91 22:15:22 GMT +Reply-To: mib@prep.ai.mit.edu +Distribution: gnu +Organization: GNUs Not Usenet + +The Free Software Foundation is beginning work on a GNU operating +system built on top of the Mach 3.0 microkernel. There are three +goals to this project worth noting: + +o Binary compatability with 4.4 BSD, and other U*x or U*xish systems + on other hardware where appropriate, convenient, and consistent with + the design; + +o Posix compliance (in combination with the GNU C Library and the GNU + C Compiler); and + +o Ease of use as well as several new features and functionality. + + +I am interested in constructive criticism on the interfaces, design, +and implementation from experts in the field of OS research and design +consistent with the above goals. Advice from seasoned U*x hackers is +especially welcome. + +We have a mailing list for discussion. Currently there is little +discussion on the group; the major contributors to the ideas behind +the design all live in the Boston area at this point, and work has +been done via face-to-face communication. I would like to open the +field of discussion to a broader base, both to get wider dissemination +of the ideas behind the current design, as well as to get a greater +breadth of criticism. Periodic postings are currently made to the +mailing list containing a snapshot of the interfaces used by the +various pieces of the system. I would like to see discussion as well; +perhaps we need a critical mass to get this. + +Interested individuals should send me email. I don't regularly read +the newsgroups to which this message is posted. + + +[U*x is an abbreviation for a well-known trademark of AT&T. :-)] + + -mib + diff --git a/history/hurd-announce2 b/history/hurd-announce2 new file mode 100644 index 00000000..dce41c43 --- /dev/null +++ b/history/hurd-announce2 @@ -0,0 +1,143 @@ +From mib@gnu.ai.mit.edu Wed Nov 3 21:51:03 1993 +Path: usenet.ee.pdx.edu!cs.uoregon.edu!ogicse!emory!nigel.msen.com!sdd.hp.com!swrinde!cs.utexas.edu!uunet!spool.mu.edu!bloom-beacon.mit.edu!ai-lab!prep.ai.mit.edu!gnulists +From: mib@gnu.ai.mit.edu (Michael I Bushnell) +Newsgroups: gnu.announce,gnu.misc.discuss +Subject: Hurd status and call for volunteers +Message-ID: <9311020719.AA02206@geech.gnu.ai.mit.edu> +Date: 1 Nov 93 21:19:05 GMT +Article-I.D.: geech.9311020719.AA02206 +Followup-To: gnu.misc.discuss +Distribution: world +Lines: 124 +Approved: info-gnu@prep.ai.mit.edu +To: info-gnu@prep.ai.mit.edu +X-Shopping-List: + (1) Chaotic casino griddles (2) Cervical congestion (3) Neoclassical + consoles +Xref: usenet.ee.pdx.edu gnu.announce:160 gnu.misc.discuss:3985 + +This message to help sate curiosity, as well as to ask for volunteers. +Until we are ready for alpha test, this is the last such message that +will be posted here. If you want to receive further such messages, +send mail to hurd-ann-request@gnu.ai.mit.edu and ask to be put on that +(moderated) announcements list. + + +What is already done with the Hurd: + +The filesystem is complete; it runs (read-only), and most of its calls +have been tested and work. The filesystem is able to download +programs, by a kludge similar to the kludge used to enable the kernel +to download the first task. In the actual bootstap sequence, it will +download the execserver. + +The proc and auth servers are completed; the exec server is nearly +complete (for a.out, not for bfd). + +C library support for Mach and Hurd rpc stubs, and some of the mach +and hurd specific code, is done. Much untested and probably wrong +code has been written to implement Unix "system calls". A large piece +of this (the descriptor management code) is believed by Roland to have +some architectural flaw, but he isn't sure. + +Some small filesystem servers (shadow directories, for example) have +been written, but have not been compiled, let alone tested. + + +There are currently three things happening wrt the Hurd: + +I am spending nearly all my time getting things to boot and run. My +work is currently directed toward that goal; in the immediate present +I am working with Roland on getting the library in its near-final +state (which will last a long time) to make compiling easier. It is +because this is nearly done that I can send this message. + +Roland is working on the library. Most of the remaining architectural +work is done and being tested. Then Roland will work on integrating +cthreads (which is mostly busywork), miscellaneous filesystem calls, +and then file descriptors. After that comes signals. + +Jan Brittenson will be working on the network server library. This is +a library that, when linked against a BSD protocol stack, will produce +a Hurd network server. (Such a server implements the socket interface +in socket.defs.) + + +There are four general tasks that can be done by other people: + +1. Completing the existing work on the terminal driver. The existing +work implements most of the logic you already associate with a Posixy +terminal driver; it needs the port management and buffering logic +added. + +2. Writing a readline terminal driver. We will want, as an +alternative to the Posixy terminal driver, a readline type terminal +driver. + +3. Writing miscellaneous shell utilities. Here we need shell +utilities to create translators, etc. They should have a nice rich +set of features to do all kinds of GNU things. + +4. Writing miscellaneous filesystem servers. Here we need a +transparent tar server, a transparent FTP server, and the like. + + +Future plans for work to be written by me (once the bootstrap works, +and in addition to testing library code as Roland finishes it): + +o split the existing filesystem into three parts: + o a library for port management for complicated multi-threaded + servers; + o a library for "normal" disk-based filesystems; + o ufs specific code. + +o Write the PF_FILE socket server (what you know as PF_UNIX). + +o Finish the posixy terminal driver if nobody else has. + +o Write miscellaneous shell utilities that nobody else has. + +o Build a self-hosting system. + + +What you need in order to be able to help now: + +o A 386 PC running Mach 3.0. If you have some other kind of hardware, + then you need to port the GNU C library support first. I'm not + entirely sure how much work that involves; you will need to contact + Roland. It might be too much trouble at this point to spend any + effort on it. It's best if it's a machine for which a free port of + Mach is available, though you could do useful work even if it's not. + + If you are not currently running Mach 3.0 with somebody's + single-server, then it is very unlikely you could help, unless you + have a Unix source license. In that case, you could talk to CMU + (write mach@cs.cmu.edu) to find out how to get Mach 3.0 running on + your machine. It is not possible to do development without a Unix + emulator of some kind; just bare Mach 3.0 is not sufficient. I have + neither the time nor knowledge to help someone get a 3.0 + single-server system running. + +o Clue. I don't have enough time to explain operating systems or Unix + to people. You need to have an iron-clad grasp of Unix semantics + (specificaly BSD); it's essential that things be exactly right from + that standpoint. It's not enough that you've programmed Unix + before; you need to understand all the nits. However, you may + disregard my previous comments about a "two question limit". You do + need the ability to intuit to some extent, however. + +o Time. It's not good for me to delegate a task and then have nothing + happen on it. If you have a full-time job where you can't justify + Hurd work as part of your job, you might find that you don't really + have as much time as you thought. Please make sure you really have + enough time before volunteering for a task. + +o Efficient net access. Without a real Internet connection (mail only + is not sufficient), it will be impossible for you to do development + right now. + + +If you think you can help, send me email. If you don't think you can +help right now, then don't give up: the list of conditions will change +as the list of delegatable tasks changes. + diff --git a/history/hurd-flash b/history/hurd-flash new file mode 100644 index 00000000..d1bacc79 --- /dev/null +++ b/history/hurd-flash @@ -0,0 +1,22 @@ +Path: gnurd!usenet.ee.pdx.edu!cs.uoregon.edu!sgiblab!swrinde!gatech!europa.eng.gtefsd.com!MathWorks.Com!news.kei.com!bloom-beacon.mit.edu!ai-lab!life.ai.mit.edu!mib +From: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) +Newsgroups: gnu.misc.discuss,comp.os.mach +Subject: Hurd now bootstraps +Date: 05 Apr 1994 21:49:50 GMT +Organization: Free Software Foundation, Cambridge, MA +Lines: 11 +Message-ID: +NNTP-Posting-Host: churchy.gnu.ai.mit.edu + + +The GNU Hurd now bootstraps, successfully starting the core servers +(the filesystem, exec server, process server, auth server, and init) +and running the first program. A snapshot of the code that did this +is on alpha.gnu.ai.mit.edu in the usual place, /gnu/hurd-snap.tar.gz. + +-- ++1 617 623 3248 (H) | The soul of Jonathan was bound to the soul of David, ++1 617 253 8568 (W) -+- and Jonathan loved him as his own soul. +1105 Broadway | Then Jonathan made a covenant with David +Somerville, MA 02144 | because he loved him as his own soul. + diff --git a/history/hurd-flash10 b/history/hurd-flash10 new file mode 100644 index 00000000..d6d5685b --- /dev/null +++ b/history/hurd-flash10 @@ -0,0 +1,25 @@ +Date: Mon, 15 Apr 1996 15:28:29 -0400 +Message-Id: <199604151928.PAA00636@geech.gnu.ai.mit.edu> +From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) +To: hurd-ann@gnu.ai.mit.edu +Subject: New Hurd snapshot available +X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ ++$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv ++ b+++ !D B-- e+ u++(*) h* f? r n y++ +X-Tom-Swiftie: "Use the `&' operator to get the address," Tom pointed out. +Sender: owner-abshurd@cs.pdx.edu +Precedence: bulk + + +I have just cut a new source snapshot. If things go nicely, a binary +snapshot may appear soon as well. You can find this snapshot as + +ftp://alpha.gnu.ai.mit.edu/gnu/hurd-snap-960415.tar.gz + +Many many things work! Emacs built native and just *went*. The +system now works standalone; you can use gdb (it's much nicer than +other mach-ish gdb's, of course); the network is functional (complete +with NFS), etc. + +Michael + diff --git a/history/hurd-flash11 b/history/hurd-flash11 new file mode 100644 index 00000000..57851b01 --- /dev/null +++ b/history/hurd-flash11 @@ -0,0 +1,25 @@ +From: Miles Bader +To: hurd-ann@gnu.ai.mit.edu +Date: Thu, 18 Apr 1996 19:08:07 -0400 +Subject: hurd binary image + + +A filesystem image from a working hurd system, corresponding to the latest +snapshot, is available as: + + ftp://alpha.gnu.ai.mit.edu/gnu/hurd-image-960418.tar.gz + +The whole tree takes about 37meg (warning -- it unpacks into `.'). Follow +the instructions in ./INSTALL-binary to make a working hurd system. + +Due to a timely trashing of the disk on our main hurd machine, it has been +verified that it is possible to make a bootable hurd system from scratch +using this image and a set of netbsd 1.1 boot floppies... + +The sources for the mach kernel included in the image are available in the +same directory as mach4-UK22.tar.gz and mach4-i386-UK22.tar.gz. + +-Miles +-- +Miles Bader / miles@gnu.ai.mit.edu / (617) 253-8568 +Amadera e ike! diff --git a/history/hurd-flash12 b/history/hurd-flash12 new file mode 100644 index 00000000..5be9c94e --- /dev/null +++ b/history/hurd-flash12 @@ -0,0 +1,76 @@ +From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) +Newsgroups: gnu.misc.discuss +Subject: Hurd 0.0 release status +Followup-To: gnu.misc.discuss +Date: 13 Jul 1996 23:53:41 GMT +Organization: Touring Consulting Services +Lines: 35 +Message-ID: +NNTP-Posting-Host: churchy.gnu.ai.mit.edu + + +People are eager to know how close we are to release, so here's an +update: + +There is one rather annoying bug I'd like to find which is causing +random crashes. I expect this will not be too hard to locate. There +are some more trivial bugs, but the release will not be held up for +them. + +Forty-three packages of GNU software have been built native. +Remaining to be built are three packages for which new releases are +expected soon. + +Also remaining to be built native are bash, gdb, mach, the Hurd +itself, and the internet utilities and daemons. We intend to sync our +separate copy of libc source with the libc maintainer, and then build +it native too. + +Because of obnoxious export restrictions, we have still to make +separate shared libraries for the crypt functions. + +Except for the actual final packaging, all the release engineering +tasks to be done have been completed. + + +To summarize, we still need to: + +o Fix one obnoxious bug +o Compile three packages that are waiting for release; +o Compile gdb, bash, mach, and hurd native +o Sync libc source and compile native +o Deal with crypt shared libraries +o Final packaging + +Michael + +From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) +Newsgroups: gnu.misc.discuss +Subject: Re: Hurd--ne plus ultra of vaporware? +Date: 17 Jul 1996 03:02:14 GMT + +In article <4sg6tp$n4t@linux.cs.Helsinki.FI> torvalds@linux.cs.Helsinki.FI (Linus Torvalds) writes: + + Hey! We could also ask some well-known rock-group for one of their + lyrics, and use that as the theme song for the Hurd release. And then + we could ask shops to stay open longer to sell the Hurd! Whaddaya think? + Don't say it has been delayed, just shout so loudly about all the new + features that nobody cares about the delay? + +Perhaps we could get Morrisey to sing the song. He's very good +looking. Much better looking than that Mick Jagger fellow. + +Or something delicate, like Bach's French Suite in G. That would be +fun. + +In any case, here's the state of the release: + +o Everything but nine packages has been compiled native. +o The random crash bug I alluded to is fixed. +o We have to build a floppy image for part of the installation instructions. + +That's it. I bet you nobody in Redmond has ever made a statement like +that... + +Michael + diff --git a/history/hurd-flash13 b/history/hurd-flash13 new file mode 100644 index 00000000..a2de6bfd --- /dev/null +++ b/history/hurd-flash13 @@ -0,0 +1,120 @@ +Date: Mon, 5 Aug 1996 22:36:31 -0400 +From: thomas@gnu.ai.mit.edu (Thomas Bushnell, n/BSG) +To: info-gnu@prep.ai.mit.edu, hurd-ann@gnu.ai.mit.edu, hurd-dev@gnu.ai.mit.edu +Subject: Hurd 0.0 and GNU 0.0 released +X-Name-Change: My name used to be `Michael'; now it is `Thomas'. +X-Tom-Swiftie: "I guess I shouldn't have broken the mirror," Tom reflected. + + + + +I am pleased to announce version 0.0 of the GNU Hurd, available via +anonymous FTP from prep.ai.mit.edu [18.159.0.42] in the file +/pub/gnu/hurd-0.0.tar.gz (about 1.2 MB compressed). + +This file contains complete source code for the following: + +Hurd servers: + + auth, crash, devio, devport, exec, ext2fs, fifo, fwd, ifsock, init, + magic, new-fifo, nfs, null, pfinet, pflocal, proc, symlink, term, + ufs. + +Hurd libraries: + + diskfs, fshelp, ihash, iohelp, netfs, pager, pipe, ports, ps, + shouldbeinlibc, store, threads, trivfs. + +Hurd utilities and other programs: + + boot, shd, ps, settrans, showtrans, sync, su, mount, fsysopts, + storeinfo, login, w, uptime, hurdids, loginpr, sush, vmstat, + portinfo, devprobe, reboot, halt, fsck, fsck.ufs, mkfs.ufs, clri.ufs, + stati.ufs, getty, rc. + + +------ + + +In addition, we have prepared a binary distribution of a complete +version 0.0 GNU system corresponding to this Hurd release. This +release runs only on PC-AT compatible systems with i[345]86 +processors. + +The GNU Hurd, plus Mach, is a kernel, not an operating system. The +GNU operating system, like the Unix operating system, consists of many +components, including kernel, libraries, compilers, assembler, shell, +parser generators, utilities, window system, editors, text formatters, +and so on. The GNU project set out a decade ago to develop this +system, and we've been writing various components of it ever since. + +This release uses the `UK22' version of the Mach kernel, as +distributed by the University of Utah. It is too difficult to prepare +a detailed list of supported devices at this point. Common disk +controllers and ethernet cards are generally supported. + +This release does not contain the X Window System. + +This release may be fetched by anonymous FTP from prep.ai.mit.edu +[18.159.42] in the directory /pub/gnu/gnu-0.0/. + +In that directory, you should find the following files: + + README + SOURCES + INSTALL-binary + grub-boot.image (about 1.4 MB, not compressed) + gnu-0.0.tar.gz (about 56.9 MB compressed) + gnu-0.0-stripped.tar.gz (about 26.2 MB compressed) + +SOURCES contains a complete list describing the sources for the +binaries found in the image. INSTALL-binary contains complete +installation instructions for this release. + +(The files README, SOURCES, and INSTALL-binary are also found in the +root directory of the gnu-0.0 release.) + +gnu-0.0.tar.gz holds the image of the complete system. It unpacks +into a directory that requires approximately 233 MB of disk space. + +gnu-0.0-stripped.tar.gz holds the same contents as gnu-0.0, except +that executable programs have been stripped to save space, and the +libraries have had debugging symbols stripped to save space and speed +linking. It unpacks into a directory that requires about 85.5 MB of +disk space. + +We recommend using the unstripped image, or you will be unable to +debug anything. Surely there are bugs. So fetch the unstripped +image, at least to have around. + +grub-boot.image is an image of a 3.5" floppy disk that you will need +in order to complete part of the installation instructions. + +The following free software packages are found in this release: + + autoconf, automake, bash, bc, binutils, bison, cpio, cvs, diffutils, + doschk, e2fsprogs, ed, emacs, fileutils, findutils, flex, from, gawk, + gcal, gcc, gdb, gdbm, gettext, glibc, gmp, gperf, grep, grub, gzip, + hello, hurd, indent, inetutils, less, mach, make, m4, miscfiles, + ncurses, nethack, nvi, patch, ptx, rcs, readline, recode, sed, + serverboot, sharutils, shellutils, tar, termcap, termutils, texinfo, + textutils, time, wdiff. + + +------ + + +Here are md5sum checksums for the files mentioned in this message: + +b5f888bab3eb193fe97a00a141324c9d INSTALL-binary +345dcd826747d7b11fc78f4db162d75b README +1a5744bb4ed3448045fa6d24153d65fe SOURCES +f7b1bc428bc4ee29977a5b28f5762092 gnu-0.0-stripped.tar.gz +24554c58e5c89f295176e17d21dbae8e gnu-0.0.tar.gz +8338c619d860b71bc4128c9c0fd39d63 grub-boot.image +1fd18ccc4c81d051b83d28b13dc07ee2 hurd-0.0.tar.gz + +----- + +Br. Thomas Bushnell, n/BSG + diff --git a/history/hurd-flash14 b/history/hurd-flash14 new file mode 100644 index 00000000..2d67687a --- /dev/null +++ b/history/hurd-flash14 @@ -0,0 +1,62 @@ +I am pleased to announce version 0.2 of the GNU Hurd, available via +anonymous FTP from prep.ai.mit.edu [18.159.0.42] in the file +/pub/gnu/hurd-0.2.tar.gz (about 1.37 MB compressed). + +(The GNU Hurd, plus Mach, is a kernel, not an operating system. The +GNU operating system, like the Unix operating system, consists of many +components, including kernel, libraries, compilers, assembler, shell, +parser generators, utilities, window system, editors, text formatters, +and so on. The GNU project set out a decade ago to develop this +system, and we've been writing various components of it ever since.) + +This release contains many bug fixes from version 0.1. Many thanks to +all the people who are helping find bugs! + +The best way you can help find bugs is to try and compile and use on +the Hurd as many programs as you can find and find out where bugs +still exist. There are also unimplemented features, and your reports +will help us to prioritize which things we work on. + +The system is vastly more reliable than it has been in the past. + +One important addition: + + New programs addauth, rmauth, unsu, su, and setauth modify the uid + sets of running programs. Using addauth you can add root to your + emacs, write a file, and then use rmauth to take the uid back. (Of + course, passwords are required when necessary.) New program `ids' + will tell you what all the user ids are that a program has. Note + that in the Hurd a program can have several user ids all at once, + just like Unix supports having several group ids. Now that you can + dynamically change the ids of running programs, system + administration (among other things) becomes much easier. + +For more detailed news, see the NEWS file in the distribution. + +This release contains complete source code for the following: + +Hurd servers: + + auth, crash, devport, exec, ext2fs, fifo, fwd, ifsock, init, + magic, new-fifo, nfs, null, pfinet, pflocal, proc, symlink, term, + ufs, storeio, firmlink. + +Hurd libraries: + + diskfs, fshelp, ihash, iohelp, netfs, pager, pipe, ports, ps, + shouldbeinlibc, store, threads, trivfs, hurdbugaddr, ftpconn + +Hurd utilities and other programs: + + boot, shd, ps, settrans, showtrans, sync, su, mount, fsysopts, + storeinfo, login, w, uptime, ids, sush, vmstat, portinfo, devprobe, + reboot, halt, fsck, fsck.ufs, mkfs.ufs, clri.ufs, stati.ufs, getty, + rc, e2os, vminfo, nfsd, mail.local, serverboot, MAKEDEV, loginpr, + addauth, rmauth, unsu, setauth, ftpcp, ftpdir. + +We are also making a complete GNU 0.2 binary release, which will +include Hurd 0.2, glibc 2.0.4, gnumach 1.1.2, and many other +programs. This binary release is announced separately. + + +Thomas Bushnell, n/BSG diff --git a/history/hurd-flash15 b/history/hurd-flash15 new file mode 100644 index 00000000..0785ac59 --- /dev/null +++ b/history/hurd-flash15 @@ -0,0 +1,60 @@ + +I am pleased to announce version 0.2 of the complete Hurd based GNU +system. This release runs only on PC-AT compatible systems with +i[3456]86 processors. + +The GNU Hurd, plus Mach, is a kernel, not an operating system. The +GNU operating system, like the Unix operating system, consists of many +components, including kernel, libraries, compilers, assembler, shell, +parser generators, utilities, window system, editors, text formatters, +and so on. The GNU project set out a decade ago to develop this +system, and we've been writing various components of it ever since. + +This release uses the GNUmach distribution of the Mach kernel, version +1.1.3. Popular PC devices are generally supported. + +This release does not contain the X Window System. + +This release may be fetched from the directory +ftp://prep.ai.mit.edu/pub/gnu/gnu-0.2. (prep.ai.mit.edu is 18.159.42, +for the nameserver-impaired). + +In that directory, you should find the following files: + +README +SOURCES +INSTALL-binary +grub-boot.image (about 1.5 MB, not compressed) +gnu-0.2.tar.gz (about 73 MB compressed) + +SOURCES contains a complete list describing the sources for the +binaries found in the image. INSTALL-binary contains complete +installation instructions for this release. + +(The files README, SOURCES, and INSTALL-binary are also found in the +root directory of the gnu-0.2 release.) + +gnu-0.2.tar.gz holds the image of the complete system. It unpacks +into a directory that requires approximately 285 MB of disk space. + +grub-boot.image is an image of a 3.5" floppy disk that you will need +in order to complete part of the installation instructions. + +The following free software packages are included in this release: + +autoconf automake bash bc binutils bison cpio cvs diffutils doschk +e2fsprogs ed emacs emacs lisp manual fileutils findutils flex from g77 +gawk gcal gcc gdb gettext glibc gmp gnuchess gnumach gnugo grep grub +gzip hello hurd indent inetutils less libg++ lynx m4 make miscfiles +ncurses nethack nvi patch perl ptx readline rcs recode sed sendmail +sh-utils sharutils tar termutils texinfo textutils time wdiff + +-- + +Here are md5sum checksums for the files mentioned in this message: + +3749b016ab581e007b90d17b9092e134 INSTALL-binary +1f800c326ba4c3a0b3f3a3463597317b README +40d1e1a38dd86f28fe2718081ac865cb SOURCES +f29c1a03c1667a8019b66f6effa89d39 gnu-0.2.tar.gz +8ad3c7254802a16068a956e836266212 grub-boot.image diff --git a/history/hurd-flash2 b/history/hurd-flash2 new file mode 100644 index 00000000..b1d4f66f --- /dev/null +++ b/history/hurd-flash2 @@ -0,0 +1,152 @@ +From: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) +Newsgroups: gnu.misc.discuss,comp.os.mach,comp.os.linux.development,comp.os.linux.misc,comp.unix.pc-clone.32bit +Subject: GNU Hurd Task List and Call for Volunteers +Followup-To: gnu.misc.discuss +Date: 18 May 1994 17:54:47 GMT +Organization: FOO +Lines: 140 +Message-ID: +NNTP-Posting-Host: churchy.gnu.ai.mit.edu +Xref: usenet.ee.pdx.edu gnu.misc.discuss:7630 comp.os.mach:1434 comp.os.linux.d +evelopment:9867 comp.os.linux.misc:16767 comp.unix.pc-clone.32bit:5854 + + +Now that the Hurd can run (albeit haltingly) on its own, it is +possible for people who do not have Mach 3.0 single-servers to +contribute without much trouble. (However, if you don't have a +single-server, you probably won't be able to use a debugger, but that +doesn't mean you can't do debugging, right?) + +We at the FSF don't have any expertise in setting up Mach 3.0 +machines; the machines that we do development on belong to the Open +Software Foundation and were set up by them. So one of the things on +the task list is to organize things so that people (like us and most +of you) who don't know how to do it can do it. It's not impossible to +figure out, it's just a pain and a marvelous thing for a volunteer to +do. + +You can get Mach 3.0 from CMU; you get the C library and the Hurd from +us. You need the soon-to-be-released version 1.07.6 of the C library +and the latest Hurd snapshot (as well as our special version of MiG) +from alpha.gnu.ai.mit.edu. + +All our work is based upon i386. The Hurd (except for a few programs; +see the Hurd README file) is machine independent. The C library +should not be too much trouble to port. Ports and information about +porting difficulty for either of these are greatly desired. + +The Hurd is not yet self-hosting. While you are welcome to fetch the +code and put things together, it is not likely that you will have a +useful system right now. But you might be able to do significant work +(see the task list below). And, even if you can't do significant +work, I'm interested in hearing about any places where you had +particular difficulty. + +If you want to start on one of these tasks, please let me know so I +can keep track of volunteers properly. This task list will be updated +periodically; gnu@prep.ai.mit.edu always has the latest version. + + -mib + +GNU Hurd Task List Version 1.0. + +If you would like to work on one of these, please contact mib@gnu.ai.mit.edu. + + +Mach 3.0 Work + + o Mach 3.0 comes with CMU makefiles that depend on a drecky environment. + It would be very helpful to have makefiles and installation stuff so + that it worked well for cross-compilation between systems and used + GNU tools. + + o MiG needs to be made able to support cross-compilation. + + o A replacement for MiG that understood C .h files. + + o Bootstrap tools and documentation to help people set up Mach 3.0 + machines if they already have Linux; if they already have Net BSD; + if they don't have anything. + + o Mach 3.0 needs to provide support for task virtual timers similar + in functionality to the Unix ITIMER_PROF and ITIMER_VIRTUAL timers. + + o Mach 3.0 needs to provide a way for users to do statistical PC + profiling similar to the Unix profil system call. + + o Mach 3.0 needs a facility to automatically send task and thread + status on task/thread exit to a port that can only be changed by + a privileged user; this would be used to implement process + accounting. + + o Mach 3.0 needs a facility to find out what task is the parent of + a given task. + + o Mach 3.0 needs a facility to find out which pages of a task's + address space are in core to implement Unix's mincore call. + + o Mach 3.0 needs a facility to do msync. + + o Mach 3.0 needs a replacement for MEMORY_OBJECT_COPY_CALL that + works at least for the cases needed in ordinary files. (Write mib if + you want to know what the problem is and some ideas about how to + solve it.) + + o Mach 3.0 needs proxy memory objects. (mib can tell you what these + are and why they are important.) + + o Mach 3.0 needs a way to do per-task resource counters that are + accessible to servers called by the task. + + o Mach 3.0 needs facilities to implement resource limits of various sorts. + + o Mach 3.0 needs a way to have a thread's CPU time statistics + include time spent by servers on its behalf. + + o Of course, free ports are always necessary to machines that don't + already have free ports. + + o Much work can be done doing research in how to improve Mach VM + performance and timesharing scheduling policy. + + +Hurd work (these are brief descriptions; mib can give more information): + + o We need a translator for /dev. + + o We need a replacement for utmp and wtmp that understands the + Hurd `login collection' concept. Programs like who and finger + then need to be changed to use this. + + o We need some existing shell programs changed to do Hurd things: + like ls, su, fsck, tar, cpio, etc. + + o Some new programs need to be written: login, getty, ps, tools + for new filesystem features. + + o Shadow directory translators. (Roland has the beginnings of this.) + + o A system for write, send, talkd and so forth to bleep users; + this should be integrated with the utmp replacement above. + + o X. + + o A filesystem for /tmp that uses virtual memory instead of disk. + + o Filesystem implementations (using libdiskfs) for other popular + formats, especially the Linux formats as well as MSDOG. + + o Transparent FTP translator. + + o NFS client implementation. You should start with BSD's 4.4 code + and support the extensions they support; don't worry about Hurd + extensions right now. (The server we want to write ourselves + because it will probably involve changing the Hurd interfaces.) + + o A fancy terminal driver that uses readline and supports detach/attach. + +-- ++1 617 623 3248 (H) | The soul of Jonathan was bound to the soul of David, ++1 617 253 8568 (W) -+- and Jonathan loved him as his own soul. +1105 Broadway | Then Jonathan made a covenant with David +Somerville, MA 02144 | because he loved him as his own soul. diff --git a/history/hurd-flash3 b/history/hurd-flash3 new file mode 100644 index 00000000..19a5f371 --- /dev/null +++ b/history/hurd-flash3 @@ -0,0 +1,77 @@ +Date: Tue, 05 Jul 1994 20:15:09 -0400 +From: mib@gnu.ai.mit.edu (Michael I Bushnell) +To: hurd-ann@gnu.ai.mit.edu +Subject: New Hurd snapshot + + +A new Hurd snapshot has been released. You can get it from +alpha.gnu.ai.mit.edu in the file /gnu/hurd-snap.tar.gz. You will need +the most recent version of the GNU C library; version 1.08.3 or later. +(Version 1.08.3 is an alpha release; you can get it from +alpha.gnu.ai.mit.edu in the same directory.) + +This snapshot of the Hurd has a limping terminal driver. It can run +emacs, bash, a whole slew of utilities, and (most importantly) GNU +Hello. + + -mib + + +Here is the new part of the NEWS file: + +The Hurd now runs all the programs in the GNU fileutils, textutils, +and shellutils distributions, with the exception of who. Most +importantly it runs GNU Hello. Also, emacs works (with the kludgy +`boot' terminal driver) and bash works. + +The simple pipes server works; it will be replaced eventually by the +pflocal server (which isn't done yet). The terminal driver is limping +but working. It doesn't support terminal ioctls yet. A minor bug in +auth has been fixed. boot interprets more Hurd protocols; this was +done to get emacs functioning. Some more-or-less serious bugs in exec +were fixed; they were found by running emacs (a quite large executable +indeed). At bootstrap time, init starts pipes and term itself; +eventually these will be passive translators, but we don't want to +write the new disk format until we're self-hosting or fsck and UX will +get confused. The file proc/primes.c has been documented; thanks go +to Jim Blandy. Some bugs in proc dealing with pgrp and wait were +fixed; a nasty hash table bug was also fixed. The simple shell can do +pipes. Several serious bugs in ufs were fixed dealing with extension +of large files and writes of data not aligned on block boundaries. +The ufs pager was over-serialized; that's been fixed. Directory +lookups and modifications now use mapped I/O directly; this is an +important speed-up. The structure of the pager lockes has been +changed significantly. UFS now supports Mach copying mode +MEMORY_OBJECT_COPY_DELAY; this significantly improves process startup +time. + +Some minor changes have been made to several interfaces. The +interface for fs.defs:dir_readdir has been totally changed. There are +some new fs.defs interfaces: file_check_access, file_notice_changes, +dir_notice_changes. The fsys.defs:fsys_getroot interface was changed +to work correctly. process.defs:proc_setprocargs is renamed, and a +fetch function proc_get_arg_locations is added. The ifsock.defs +interface was simplified. + +Several bugs were fixed in libdiskfs. The new dir_readdir interface +requires new support from format-specific code. Some race conditions +have been fixed. dir-pathtrans.c now deals correctly with multiple +slashes in a row. A new concept called "light references" allows +pagers to remain active without preventing truncate-on-nolinks from +working right. New interfaces in fs.defs are implemented (except +file_notice_changes). Active translator usage has been fixed to work +correctly, but passive translators are still untested. libdiskfs now +thinks it supports S_IFSOCK nodes, but that's untested (of course) +because pflocal isn't done yet. + +The passive translator startup interface in libfshelp has been +radically simplified. The pager library now lets other code set and +changee the attributes on objects, synchronously if desired. An +init/terminate race condition was fixed. The ports library now +allows single-threaded users to work right (they didn't before). The +trivfs library works; see the ifsock server for a simple example of +its use. See term or pipes for more complex examples. + +There is a task list in the file `tasks'; let me know if you are +interested in working on one of these. + diff --git a/history/hurd-flash4 b/history/hurd-flash4 new file mode 100644 index 00000000..89ae9848 --- /dev/null +++ b/history/hurd-flash4 @@ -0,0 +1,101 @@ +From: mib@gnu.ai.mit.edu (Michael I Bushnell) +To: hurd-ann@gnu.ai.mit.edu +Date: Mon, 8 Aug 94 16:01:23 -0400 +Subject: New Hurd Snapshot +X-Shopping-List: + (1) Starboard sauce (2) Cinematic lesions (3) Two-way alphabetic + accordions + + +A new Hurd snapshot has been placed on alpha.gnu.ai.mit.edu in +/pub/gnu/hurd-snap.tar.gz. + +It is expected that the next snapshot after this one will have signals +basically working and thus be usable for a self-hosting system. In +addition, the next snapshot will probably have the current state of +our networking code (which has been proceeding, but has been absent +from the snapshots). + +Here is the NEWS about this current snapshot, however. Because some +big changes were made to the makefile and directory structure, things +might have gotten inadvertently ommitted from the snapshot. If this +happened, please let me know ASAP and I'll fix it and make a new +snapshot. + + -mib + + +August 8, 1994: + +Structural changes: + +Makefiles have been vastly improved and are simpler. The programs +`su', `ps', and `sh' have been moved from separate dirs into `utils'; +the programs `symlink' and `ifsock' have been moved into `trans'. + +Several changes were made to GCC use. You should definitely get GCC +version 2.6.0 now. Version 2.6.1 will have distributed the proper +`specs' file for the i386-gnu target, but it isn't quite ready yet, so +you still have to copy hurd/gcc-specs into +gcc-lib/i386-gnu/2.6.0/specs. + + +Interface changes: + +The tioctl.defs suite is complete now. + +INTR RPC's have been changed; individual RPC's are no longer marked +INTR. Rather, entire interfaces are marked `INTR_INTERFACE' if they +conform to the library's signalling/interruption expectations. + +There is a new magical retry type (for dir_pathtrans and fsys_getroot) +called `machtype' and a new one `/'; the former is for @sys tweaks and +the latter cleans up the retry of root-based symlinks a bit. + +There is a new interface `login.defs'. + +The "dotdot node" is no longer passed at fsys_startup time; instead, +it is passed by fsys_getroot. + + +Library changes: + +The ports library now does death-timeouts for multi-threaded servers; +it doesn't actually work right yet, however. Also the ports library +has new features (soft vs. hard ports; no outstanding ports +notifications) that enable server-death to be done cleanly. (I hope; +libdiskfs and ufs haven't yet been changed to use it, so libports +might not actually have the right facilities yet.) + +The translator startup routines in libfshelp have been vastly improved +(so that they can actually be used). + +Numerous bugfixes in libdiskfs, particularly relating to translator +usage. Use new magical retry type `/' when appropriate. Use new +dotdot node protocol. O_FSYNC and O_NOATIME are now honored properly. +Alternative methods of storing symlinks are now supported through new +hooks. + +The new dotdot protocol is now used by libtrivfs. Also, users of the +library are now able to set the atime and mtime when necessary. + +The special threads version of malloc has been placed back in +libthreads now that the C library uses a Mach-safe version on its own. + + +Program changes: + +The `boot' program no longer implements the tioctl interface now that +the terminal driver works. + +A bug was fixed in the handling of pgrps in `proc'. + +Many bugfixes in term. The tioctl interface is now implemented. EOF +processing is fixed; break characters now work right. Signals and +interruption are now done correctly. VDISCARD works. + +Ufs has Some bigs fixed in dir.c. Filesystem upgraded to BSD 4.4. +There are now some compatibility flags. + +New program dev.trim does a very minimal /dev (but doesn't work yet). +New program dev is an initial (but poor) attempt at a real /dev. diff --git a/history/hurd-flash5 b/history/hurd-flash5 new file mode 100644 index 00000000..041a0ef7 --- /dev/null +++ b/history/hurd-flash5 @@ -0,0 +1,23 @@ +From: mib@gnu.ai.mit.edu (Michael I Bushnell) +Message-Id: <9409210619.AA17570@churchy.gnu.ai.mit.edu> +To: "Lots of potentially interested people and" +Subject: New milestone acheived by the GNU Hurd +X-Tom-Swiftie: "I can't get this fire started," Tom said woodenly. + + +I have just successfully compiled and run a null C program on the +Hurd. This is using GCC native as one would normally use GCC. + +Sadly, it took quite a while (too long, in fact) to read the large +archives that make up the GNU C library, but I think I know where the +substantial inefficiency is. + +Once that is done, I would be happy to label this a "self-hosting +system". But not just yet. + +The last bug preventing this was an error in dealing with files over +about 8 M; this came about because in order to link a program one +needed the GNU C library, which is over 9M when symbols are included. + + -mib + diff --git a/history/hurd-flash6 b/history/hurd-flash6 new file mode 100644 index 00000000..e774714e --- /dev/null +++ b/history/hurd-flash6 @@ -0,0 +1,46 @@ +Return-Path: +Received: from pdxgate.cs.pdx.edu by gnurd with uucp + (Linux Smail3.1.28.1 #14) id m0r66pm-00010fC; Fri, 11 Nov 94 17:00 PST +Received: from cs.pdx.edu by pdxgate.cs.pdx.edu (4.1/CATastrophe-9/19/94-U) + id AA05257; Fri, 11 Nov 94 16:40:48 PST +Received: from churchy.gnu.ai.mit.edu by cs.pdx.edu (4.1/CATastrophe-9/19/94-P) + id AA02600; Fri, 11 Nov 94 16:40:22 PST +Received: by churchy.gnu.ai.mit.edu (5.65/4.0) + id ; Fri, 11 Nov 94 16:45:35 -0500 +Received: by churchy.gnu.ai.mit.edu (5.65/4.0) + id ; Fri, 11 Nov 94 16:38:44 -0500 +Date: Fri, 11 Nov 94 16:38:44 -0500 +From: mib@gnu.ai.mit.edu (Michael I Bushnell) +Message-Id: <9411112138.AA12580@churchy.gnu.ai.mit.edu> +To: hurd-ann@gnu.ai.mit.edu, hurd-dev@gnu.ai.mit.edu, info-gnu@prep.ai.mit.edu +Subject: New Hurd Snapshot +X-Shopping-List: + (1) Horrendous collision devotions (2) Wondrous consolation (3) + Conscious cooking auctions +X-Filter: mailagent [version 3.0 PL19] for trent@gnurd.uu.pdx.edu + + +A new Hurd snapshot has been placed on alpha.gnu.ai.mit.edu. There +may be unforseen problems with this snapshot, so the old one has been +left. You may fetch this snapshot via anonymous FTP in the file +/gnu/hurd-snap.tar.gz. + +The Hurd requires a modified version of MiG; you can get it by +anonymous ftp to kahlua.cs.utah.edu in /pub/mach/mach4-UK02p6.tar.gz. +Note that we are not yet using Mach4 for the Hurd, but we plan to +switch as soon as its feasible. + +Other necessary software to run this snapshot include the latest +snapshot of binutils/ld/gas source from Cygnus and the latest GCC. +(Problems have been reported with GCC 2.6.1; you might want to wait +until 2.6.2 is released.) And, of course, you also need the latest +test version of the GNU C Library, found on alpha.gnu.ai.mit.edu. + +This is not yet a real release; it is certainly not up to the quality +of even a hesitant alpha release. But it may be useful for +educational value or to help with the Hurd effort. + +I will be out of town for most of the rest of the year; I will be +reading email but I may not be able to help with problems. Sorry... + + -mib diff --git a/history/hurd-flash7 b/history/hurd-flash7 new file mode 100644 index 00000000..ce6e08d2 --- /dev/null +++ b/history/hurd-flash7 @@ -0,0 +1,17 @@ +Date: Wed, 12 Apr 1995 15:08:18 -0400 +From: Michael I Bushnell +To: hurd-ann@duality.gnu.ai.mit.edu +Subject: New Hurd Snapshot available + +A new hurd snapshot is now available from +ftp://alpha.gnu.ai.mit.edu/gnu/hurd-snap.tar.gz. + +This snapshot contains many improvements over the last one, and is +also probably easier to compile. + +This snapshot must be used with the most recent libc snapshot, +ftp://alpha.gnu.ai.mit.edu/gnu/libc-950411.tar.gz. Previous versions +of the library will not work right. + +If any files are discovered to be missing, please let me know asap. + diff --git a/history/hurd-flash8 b/history/hurd-flash8 new file mode 100644 index 00000000..555186ec --- /dev/null +++ b/history/hurd-flash8 @@ -0,0 +1,73 @@ +Date: Sun, 23 Jul 1995 16:27:46 -0400 +Message-Id: <199507232027.QAA09306@geech.gnu.ai.mit.edu> +From: Michael I Bushnell +To: hurd-ann@gnu.ai.mit.edu +Subject: Hurd snapshot! +X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ ++$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv ++ b+++ !D B-- e+ u++(*) h* f? r n y++ +X-Zippy-Says: I just had a NOSE JOB!! +Sender: owner-abshurd@cs.pdx.edu +Precedence: bulk + + +I have just put a new Hurd snapshot on alpha.gnu.ai.mit.edu in +/gnu/hurd-snap-950723.tar.gz. + +You will also need the new libc snapshot, which should appear in the +same place today. Older libc snapshots will not be happy. + +The binary images (hurd-floppy.fs.gz and hurd-image.tar.gz) have not +been updated. It is difficult to use the Hurd standalon, because the +Mach boot loaders can now no longer boot the Hurd. A new boot loader +is nearly finished. Perhaps we can make new binary images then, or a +volunteer might take over this useful work. (Hint, hint.) + +Michael + + + +Here is the NEWS: + +July 23, 1995 + +Shared libraries now work; use -static to link programs and avoid the +shared libraries. The Hurd programs are normally built static; this +will probably change soon. + +The ext2fs server now works, as do the tools to manipulate ext2fs +filesystems. A snapshot of the tools will be made soon under separate +cover. Many thanks to Ted Ts'o for his valuable work on the tools. + +Readers of the Makefiles will notice that we now generate dependencies +automatically. + +The old netserv library is gone. + +The `boot' hack has been modified slightly to avoid the normalq libc startup +files, because they no longer work with UX. + +Some small bugs have been fixed in the devio server. + +The ports library has been totally rewritten; new features permit +servers to have greater control over thread RPC's and port creation. + +The fshelp library now does most of the work for translator +interaction; it's simpler now too. Filesystems have much less work to +do; the relevant code in libdiskfs is now understanble instead of +unparseable chaos. + +The ports library provides for timeouts; the diskfs library almost +uses it, but because of a bug, it's disabled for now. + +Filesystems are now expected to sync themselves if necessary; the new +fsys_set_options RPC provides for changeing (or cancelling) the sync +intervale. The diskfs library does this for you. The update program +is no longer necessary. + +A small bug in the proc server has been hacked around; the real fix +will come later. + +Many important bugs in the C library have been fixed since the last +snapshot; perhaps all of them. ;-) + diff --git a/history/hurd-flash9 b/history/hurd-flash9 new file mode 100644 index 00000000..1ff32ba9 --- /dev/null +++ b/history/hurd-flash9 @@ -0,0 +1,39 @@ +Date: Wed, 29 Nov 1995 13:13:23 -0500 +Message-Id: <199511291813.NAA10983@duality.gnu.ai.mit.edu> +From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) +To: hurd-ann@gnu.ai.mit.edu (and others) +Subject: Announcement +X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ ++$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv ++ b+++ !D B-- e+ u++(*) h* f? r n y++ +X-Windows: The Cutting Edge of Obsolescence. +Sender: owner-abshurd@cs.pdx.edu +Precedence: bulk + + +The Hurd has succesfully completed its first FTP: + +bash# ftp 128.52.46.31 +Connected to 128.52.46.31. +220 albert.gnu.ai.mit.edu FTP server (Version 5.60) ready. +Name (128.52.46.31:root): +331 Password required for root. +Password:230 User root logged in. +ftp> cd ~mib +250 CWD command successful. +ftp> get ftptest +200 PORT command successful. +150 Opening ASCII mode data connection for ftptest (16 bytes). +226 Transfer complete. +17 bytes received in 0.07 secs (0.24 Kbytes/sec) +ftp> quit +221 Goodbye. +bash# cat ftptest +this is a test. +bash# + + +Tre cool. + +Michael + diff --git a/history/port_to_l4.mdwn b/history/port_to_l4.mdwn new file mode 100644 index 00000000..cdf048e6 --- /dev/null +++ b/history/port_to_l4.mdwn @@ -0,0 +1,102 @@ +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 +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 title="Porting the Hurd to L4: Hurd/L4"]] + +There was an effort to port the Hurd from [[microkernel/Mach]] to the +[[L4_microkernel_family|microkernel/L4]]. + +The idea of using L4 as a [[microkernel]] for a [[Hurd_system|hurd]] was +initially voiced in the [[Hurd_community|community]] by Okuji Yoshinori, who, +for discussing this purpose, created the [[mailing lists/l4-hurd]] mailing list +in November 2000. + +The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield. +Even though there was progress -- see, for example, the +[[QEMU image for L4|hurd/running/qemu/image for l4]] -- this port never reached a +releasable state. Eventually, a straight-forward port of the original Hurd's +design wasn't deemed feasible anymore by the developers, partly due to them not +cosidering L4 suitable for implementing a general-purpose operating system on +top of it, and because of deficiencies in the original Hurd's design, which +they discovered along their way. Read the [[hurd/critique]] and a +[[hurd/ng/position paper]]. + +By now, the development of Hurd/L4 has stopped. However, Neal Walfield moved +on to working on a newly designed kernel called [[microkernel/viengoos]]. + +Over the years, a lot of discussion have been held on the +[[mailing lists/l4-hurd]] mailing list, which today is still the right place +for [[next-generation Hurd|hurd/ng]] discussions. + +Development of Hurd/L4 was done in the `hurd-l4` module of the Hurd CVS +repository. The `doc` directory contains a design document that is worth +reading for anyone who wishes to learn more about Hurd/L4. + + +One goal of porting the Hurd to L4 was to make the Hurd independend of Mach +interfaces, to make it somewhat microkernel-agnostic. + +Mach wasn't maintained by its original authors anymore, so switching to a +well-maintained current [[microkernel]] was expected to yield a more solid +foundation for a Hurd system than the decaying Mach design and implementation +was able to. + +L4 being a second-generation [[microkernel]] was deemed to provide for a faster +system kernel implementation, especially in the time-critical [[IPC]] paths. +Also, as L4 was already implemented for a bunch of different architectures +(IA32, Alpha, MIPS; SMP), and the Hurd itself being rather archtecture-unaware, +it was expected to be able to easily support more platforms than with the +existing system. + +A design upon the lean L4 kernel would finally have moved devices drivers out +of the kernel's [[TCB]]. + + +One idea was to first introduce a Mach-on-L4 emulation layer, to easily get a +usable (though slow) Hurd-using-Mach-interfaces-on-L4 system, and then +gradually move the Hurd servers to use L4 intefaces rather than Mach ones. + + +Neal Walfield started the original Hurd/L4 port while at Karlsruhe in 2002. He +explains: + +> My intention was to adapt the Hurd to exploit L4's concepts and intended +> [[design_pattern]]s; it was not to simply provide a Mach +> [[compatibility_layer]] on top of L4. When I left Karlsruhe, I no longer had +> access to [[microkernel/l4/Pistachio]] as I was unwilling to sign an NDA. +> Although the specification was available, the Karlsruhe group only [released +> their code in May +> 2003](https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/2003-May/000345.html). +> Around this time, Marcus began hacking on Pistachio. He created a relatively +> complete run-time. I didn't really become involved again until the second +> half of 2004, after I complete by Bachelors degree. + +> Before Marcus and I considered [[microkernel/Coyotos]], we had already +> rejected some parts of the Hurd's design. The +> [[open issues/resource management problems]] were +> what prompted me to look at L4. Also, some of the problems with +> [[hurd/translator]]s were already well-known to us. (For a more detailed +> description of the problems we have identified, see our [[hurd/critique]] in the +> 2007 July's SIGOPS OSR. We have also written a forward-looking +> [[hurd/ng/position paper]].) + +> We visited Jonathan Shapiro at Hopkins in January 2006. This resulted in a +> number of discussions, some quite influential, and not always in a way which +> aligned our position with that of Jonathan's. This was particularly true of +> a number of security issues. + +A lange number of discussion threads can be found in the archives of the +[[mailing lists/l4-hurd]] mailing list. + +> Hurd-NG, as we originally called it, was an attempt to articulate the system +> that we had come to envision in terms of interfaces and description of the +> system's structure. The new name was selected, if I recall correctly, as it +> clearly wasn't the Hurd nor the Hurd based on L4. diff --git a/hurd-l4.mdwn b/hurd-l4.mdwn index c261b6c1..5ad3c3d4 100644 --- a/hurd-l4.mdwn +++ b/hurd-l4.mdwn @@ -8,4 +8,4 @@ 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 redir=hurd/history/port_to_l4]] +[[!meta redir=history/port_to_l4]] diff --git a/hurd/history.mdwn b/hurd/history.mdwn deleted file mode 100644 index 02316f69..00000000 --- a/hurd/history.mdwn +++ /dev/null @@ -1,92 +0,0 @@ -[[!meta copyright="Copyright © 1998, 1999, 2001, 2002, 2007, 2008, 2009 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]]."]]"""]] - -Richard Stallman (RMS) started GNU in 1983, as a project to create a -complete free operating system. In the text of the GNU Manifesto, he -mentioned that there is a primitive kernel. In the first GNUsletter, -Feb. 1986, he says that GNU's kernel is TRIX, which was developed at -the Massachusetts Institute of Technology. - -By December of 1986, the Free Software Foundation (FSF) had "started -working on the changes needed to TRIX" [Gnusletter, Jan. 1987]. -Shortly thereafter, the FSF began "negotiating with Professor Rashid -of Carnegie-Mellon University about working with them on the -development of the Mach kernel" [Gnusletter, June, 1987]. The text -implies that the FSF wanted to use someone else's work, rather than -have to fix TRIX. - -In [Gnusletter, Feb. 1988], RMS was talking about taking Mach and -putting the Berkeley Sprite filesystem on top of it, "after the parts -of Berkeley Unix... have been replaced." - -Six months later, the FSF is saying that "if we can't get Mach, we'll -use TRIX or Berkeley's Sprite." Here, they present Sprite as a -full-kernel option, rather than just a filesystem. - -In January, 1990, they say "we aren't doing any kernel work. It does -not make sense for us to start a kernel project now, when we still -hope to use Mach" [Gnusletter, Jan. 1990]. Nothing significant occurs -until 1991, when a more detailed plan is announced: - -
-We are still interested in a multi-process kernel running on top of -Mach. The CMU lawyers are currently deciding if they can release Mach -with distribution conditions that will enable us to distribute it. If -they decide to do so, then we will probably start work. CMU has -available under the same terms as Mach a single-server partial Unix -emulator named Poe; it is rather slow and provides minimal -functionality. We would probably begin by extending Poe to provide -full functionality. Later we hope to have a modular emulator divided -into multiple processes. [Gnusletter, Jan. 1991]. -
- -RMS explains the relationship between [[the Hurd and -Linux|documentation/hurd-and-linux]], where he mentions -that the FSF started developing the Hurd in 1990. As of [Gnusletter, -Nov. 1991], the Hurd (running on Mach) is GNU's official kernel. - ---- - -# Announcements - -These are all the announcements made over the years. Most of them were -either sent to the gnu.announce news group or Hurd interest -mailing lists. - - * [[hurd-flash15]] -- Release 0.2 announcement (complete GNU system) - * [[hurd-flash14]] -- Release 0.2 announcement (Hurd) - * [[hurd-flash13]] -- Test release announcement (Aug 96) - * [[hurd-flash12]] -- Test release status (Jul 96) - * [[hurd-flash11]] -- Binary image available, Apr 96 - This and [NetBSD](http://www.netbsd.org/) boot flopies should be enough to - get a working GNU/Hurd system! - * [[hurd-flash10]] -- New Snapshot, Apr 96 -- NFS and lots else works! - * [[hurd-flash9]] -- News Flash, Nov 95 -- ftp works! - * [[hurd-flash8]] -- New Snapshot, Jul 95 -- ext2fs support - * [[hurd-flash7]] -- New Snapshot, Apr 95 - * [[hurd-flash6]] -- News flash, Nov 94 - * [[hurd-flash5]] -- News flash, Sep 94 -- gcc runs! - * [[hurd-flash4]] -- News flash, Aug 94 - * [[hurd-flash3]] -- News flash, Jul 94 -- emacs runs! - * [[hurd-flash2]] -- News flash, May 94 - * [[hurd-flash]] -- News flash, Apr 94 -- it boots! - * [[hurd-announce2]] -- GNU Hurd announcement, Nov 93 - * [[hurd-announce]] -- GNU Hurd announcement, May 91 - ---- - - * [History - 1997-2003](http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00718.html) - -- personal view of Marcus Brinkmann about Hurd development in 1997-2003. - ---- - - * [[Port_to_L4]] diff --git a/hurd/history/hurd-announce b/hurd/history/hurd-announce deleted file mode 100644 index 2f165ad8..00000000 --- a/hurd/history/hurd-announce +++ /dev/null @@ -1,47 +0,0 @@ -From mib@PREP.AI.MIT.EDU Tue May 7 12:07:53 1991 -From: mib@PREP.AI.MIT.EDU -Newsgroups: gnu.announce -Subject: FSF work on a GNU OS -Date: 6 May 91 22:15:22 GMT -Reply-To: mib@prep.ai.mit.edu -Distribution: gnu -Organization: GNUs Not Usenet - -The Free Software Foundation is beginning work on a GNU operating -system built on top of the Mach 3.0 microkernel. There are three -goals to this project worth noting: - -o Binary compatability with 4.4 BSD, and other U*x or U*xish systems - on other hardware where appropriate, convenient, and consistent with - the design; - -o Posix compliance (in combination with the GNU C Library and the GNU - C Compiler); and - -o Ease of use as well as several new features and functionality. - - -I am interested in constructive criticism on the interfaces, design, -and implementation from experts in the field of OS research and design -consistent with the above goals. Advice from seasoned U*x hackers is -especially welcome. - -We have a mailing list for discussion. Currently there is little -discussion on the group; the major contributors to the ideas behind -the design all live in the Boston area at this point, and work has -been done via face-to-face communication. I would like to open the -field of discussion to a broader base, both to get wider dissemination -of the ideas behind the current design, as well as to get a greater -breadth of criticism. Periodic postings are currently made to the -mailing list containing a snapshot of the interfaces used by the -various pieces of the system. I would like to see discussion as well; -perhaps we need a critical mass to get this. - -Interested individuals should send me email. I don't regularly read -the newsgroups to which this message is posted. - - -[U*x is an abbreviation for a well-known trademark of AT&T. :-)] - - -mib - diff --git a/hurd/history/hurd-announce2 b/hurd/history/hurd-announce2 deleted file mode 100644 index dce41c43..00000000 --- a/hurd/history/hurd-announce2 +++ /dev/null @@ -1,143 +0,0 @@ -From mib@gnu.ai.mit.edu Wed Nov 3 21:51:03 1993 -Path: usenet.ee.pdx.edu!cs.uoregon.edu!ogicse!emory!nigel.msen.com!sdd.hp.com!swrinde!cs.utexas.edu!uunet!spool.mu.edu!bloom-beacon.mit.edu!ai-lab!prep.ai.mit.edu!gnulists -From: mib@gnu.ai.mit.edu (Michael I Bushnell) -Newsgroups: gnu.announce,gnu.misc.discuss -Subject: Hurd status and call for volunteers -Message-ID: <9311020719.AA02206@geech.gnu.ai.mit.edu> -Date: 1 Nov 93 21:19:05 GMT -Article-I.D.: geech.9311020719.AA02206 -Followup-To: gnu.misc.discuss -Distribution: world -Lines: 124 -Approved: info-gnu@prep.ai.mit.edu -To: info-gnu@prep.ai.mit.edu -X-Shopping-List: - (1) Chaotic casino griddles (2) Cervical congestion (3) Neoclassical - consoles -Xref: usenet.ee.pdx.edu gnu.announce:160 gnu.misc.discuss:3985 - -This message to help sate curiosity, as well as to ask for volunteers. -Until we are ready for alpha test, this is the last such message that -will be posted here. If you want to receive further such messages, -send mail to hurd-ann-request@gnu.ai.mit.edu and ask to be put on that -(moderated) announcements list. - - -What is already done with the Hurd: - -The filesystem is complete; it runs (read-only), and most of its calls -have been tested and work. The filesystem is able to download -programs, by a kludge similar to the kludge used to enable the kernel -to download the first task. In the actual bootstap sequence, it will -download the execserver. - -The proc and auth servers are completed; the exec server is nearly -complete (for a.out, not for bfd). - -C library support for Mach and Hurd rpc stubs, and some of the mach -and hurd specific code, is done. Much untested and probably wrong -code has been written to implement Unix "system calls". A large piece -of this (the descriptor management code) is believed by Roland to have -some architectural flaw, but he isn't sure. - -Some small filesystem servers (shadow directories, for example) have -been written, but have not been compiled, let alone tested. - - -There are currently three things happening wrt the Hurd: - -I am spending nearly all my time getting things to boot and run. My -work is currently directed toward that goal; in the immediate present -I am working with Roland on getting the library in its near-final -state (which will last a long time) to make compiling easier. It is -because this is nearly done that I can send this message. - -Roland is working on the library. Most of the remaining architectural -work is done and being tested. Then Roland will work on integrating -cthreads (which is mostly busywork), miscellaneous filesystem calls, -and then file descriptors. After that comes signals. - -Jan Brittenson will be working on the network server library. This is -a library that, when linked against a BSD protocol stack, will produce -a Hurd network server. (Such a server implements the socket interface -in socket.defs.) - - -There are four general tasks that can be done by other people: - -1. Completing the existing work on the terminal driver. The existing -work implements most of the logic you already associate with a Posixy -terminal driver; it needs the port management and buffering logic -added. - -2. Writing a readline terminal driver. We will want, as an -alternative to the Posixy terminal driver, a readline type terminal -driver. - -3. Writing miscellaneous shell utilities. Here we need shell -utilities to create translators, etc. They should have a nice rich -set of features to do all kinds of GNU things. - -4. Writing miscellaneous filesystem servers. Here we need a -transparent tar server, a transparent FTP server, and the like. - - -Future plans for work to be written by me (once the bootstrap works, -and in addition to testing library code as Roland finishes it): - -o split the existing filesystem into three parts: - o a library for port management for complicated multi-threaded - servers; - o a library for "normal" disk-based filesystems; - o ufs specific code. - -o Write the PF_FILE socket server (what you know as PF_UNIX). - -o Finish the posixy terminal driver if nobody else has. - -o Write miscellaneous shell utilities that nobody else has. - -o Build a self-hosting system. - - -What you need in order to be able to help now: - -o A 386 PC running Mach 3.0. If you have some other kind of hardware, - then you need to port the GNU C library support first. I'm not - entirely sure how much work that involves; you will need to contact - Roland. It might be too much trouble at this point to spend any - effort on it. It's best if it's a machine for which a free port of - Mach is available, though you could do useful work even if it's not. - - If you are not currently running Mach 3.0 with somebody's - single-server, then it is very unlikely you could help, unless you - have a Unix source license. In that case, you could talk to CMU - (write mach@cs.cmu.edu) to find out how to get Mach 3.0 running on - your machine. It is not possible to do development without a Unix - emulator of some kind; just bare Mach 3.0 is not sufficient. I have - neither the time nor knowledge to help someone get a 3.0 - single-server system running. - -o Clue. I don't have enough time to explain operating systems or Unix - to people. You need to have an iron-clad grasp of Unix semantics - (specificaly BSD); it's essential that things be exactly right from - that standpoint. It's not enough that you've programmed Unix - before; you need to understand all the nits. However, you may - disregard my previous comments about a "two question limit". You do - need the ability to intuit to some extent, however. - -o Time. It's not good for me to delegate a task and then have nothing - happen on it. If you have a full-time job where you can't justify - Hurd work as part of your job, you might find that you don't really - have as much time as you thought. Please make sure you really have - enough time before volunteering for a task. - -o Efficient net access. Without a real Internet connection (mail only - is not sufficient), it will be impossible for you to do development - right now. - - -If you think you can help, send me email. If you don't think you can -help right now, then don't give up: the list of conditions will change -as the list of delegatable tasks changes. - diff --git a/hurd/history/hurd-flash b/hurd/history/hurd-flash deleted file mode 100644 index d1bacc79..00000000 --- a/hurd/history/hurd-flash +++ /dev/null @@ -1,22 +0,0 @@ -Path: gnurd!usenet.ee.pdx.edu!cs.uoregon.edu!sgiblab!swrinde!gatech!europa.eng.gtefsd.com!MathWorks.Com!news.kei.com!bloom-beacon.mit.edu!ai-lab!life.ai.mit.edu!mib -From: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) -Newsgroups: gnu.misc.discuss,comp.os.mach -Subject: Hurd now bootstraps -Date: 05 Apr 1994 21:49:50 GMT -Organization: Free Software Foundation, Cambridge, MA -Lines: 11 -Message-ID: -NNTP-Posting-Host: churchy.gnu.ai.mit.edu - - -The GNU Hurd now bootstraps, successfully starting the core servers -(the filesystem, exec server, process server, auth server, and init) -and running the first program. A snapshot of the code that did this -is on alpha.gnu.ai.mit.edu in the usual place, /gnu/hurd-snap.tar.gz. - --- -+1 617 623 3248 (H) | The soul of Jonathan was bound to the soul of David, -+1 617 253 8568 (W) -+- and Jonathan loved him as his own soul. -1105 Broadway | Then Jonathan made a covenant with David -Somerville, MA 02144 | because he loved him as his own soul. - diff --git a/hurd/history/hurd-flash10 b/hurd/history/hurd-flash10 deleted file mode 100644 index d6d5685b..00000000 --- a/hurd/history/hurd-flash10 +++ /dev/null @@ -1,25 +0,0 @@ -Date: Mon, 15 Apr 1996 15:28:29 -0400 -Message-Id: <199604151928.PAA00636@geech.gnu.ai.mit.edu> -From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) -To: hurd-ann@gnu.ai.mit.edu -Subject: New Hurd snapshot available -X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ -+$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv -+ b+++ !D B-- e+ u++(*) h* f? r n y++ -X-Tom-Swiftie: "Use the `&' operator to get the address," Tom pointed out. -Sender: owner-abshurd@cs.pdx.edu -Precedence: bulk - - -I have just cut a new source snapshot. If things go nicely, a binary -snapshot may appear soon as well. You can find this snapshot as - -ftp://alpha.gnu.ai.mit.edu/gnu/hurd-snap-960415.tar.gz - -Many many things work! Emacs built native and just *went*. The -system now works standalone; you can use gdb (it's much nicer than -other mach-ish gdb's, of course); the network is functional (complete -with NFS), etc. - -Michael - diff --git a/hurd/history/hurd-flash11 b/hurd/history/hurd-flash11 deleted file mode 100644 index 57851b01..00000000 --- a/hurd/history/hurd-flash11 +++ /dev/null @@ -1,25 +0,0 @@ -From: Miles Bader -To: hurd-ann@gnu.ai.mit.edu -Date: Thu, 18 Apr 1996 19:08:07 -0400 -Subject: hurd binary image - - -A filesystem image from a working hurd system, corresponding to the latest -snapshot, is available as: - - ftp://alpha.gnu.ai.mit.edu/gnu/hurd-image-960418.tar.gz - -The whole tree takes about 37meg (warning -- it unpacks into `.'). Follow -the instructions in ./INSTALL-binary to make a working hurd system. - -Due to a timely trashing of the disk on our main hurd machine, it has been -verified that it is possible to make a bootable hurd system from scratch -using this image and a set of netbsd 1.1 boot floppies... - -The sources for the mach kernel included in the image are available in the -same directory as mach4-UK22.tar.gz and mach4-i386-UK22.tar.gz. - --Miles --- -Miles Bader / miles@gnu.ai.mit.edu / (617) 253-8568 -Amadera e ike! diff --git a/hurd/history/hurd-flash12 b/hurd/history/hurd-flash12 deleted file mode 100644 index 5be9c94e..00000000 --- a/hurd/history/hurd-flash12 +++ /dev/null @@ -1,76 +0,0 @@ -From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) -Newsgroups: gnu.misc.discuss -Subject: Hurd 0.0 release status -Followup-To: gnu.misc.discuss -Date: 13 Jul 1996 23:53:41 GMT -Organization: Touring Consulting Services -Lines: 35 -Message-ID: -NNTP-Posting-Host: churchy.gnu.ai.mit.edu - - -People are eager to know how close we are to release, so here's an -update: - -There is one rather annoying bug I'd like to find which is causing -random crashes. I expect this will not be too hard to locate. There -are some more trivial bugs, but the release will not be held up for -them. - -Forty-three packages of GNU software have been built native. -Remaining to be built are three packages for which new releases are -expected soon. - -Also remaining to be built native are bash, gdb, mach, the Hurd -itself, and the internet utilities and daemons. We intend to sync our -separate copy of libc source with the libc maintainer, and then build -it native too. - -Because of obnoxious export restrictions, we have still to make -separate shared libraries for the crypt functions. - -Except for the actual final packaging, all the release engineering -tasks to be done have been completed. - - -To summarize, we still need to: - -o Fix one obnoxious bug -o Compile three packages that are waiting for release; -o Compile gdb, bash, mach, and hurd native -o Sync libc source and compile native -o Deal with crypt shared libraries -o Final packaging - -Michael - -From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) -Newsgroups: gnu.misc.discuss -Subject: Re: Hurd--ne plus ultra of vaporware? -Date: 17 Jul 1996 03:02:14 GMT - -In article <4sg6tp$n4t@linux.cs.Helsinki.FI> torvalds@linux.cs.Helsinki.FI (Linus Torvalds) writes: - - Hey! We could also ask some well-known rock-group for one of their - lyrics, and use that as the theme song for the Hurd release. And then - we could ask shops to stay open longer to sell the Hurd! Whaddaya think? - Don't say it has been delayed, just shout so loudly about all the new - features that nobody cares about the delay? - -Perhaps we could get Morrisey to sing the song. He's very good -looking. Much better looking than that Mick Jagger fellow. - -Or something delicate, like Bach's French Suite in G. That would be -fun. - -In any case, here's the state of the release: - -o Everything but nine packages has been compiled native. -o The random crash bug I alluded to is fixed. -o We have to build a floppy image for part of the installation instructions. - -That's it. I bet you nobody in Redmond has ever made a statement like -that... - -Michael - diff --git a/hurd/history/hurd-flash13 b/hurd/history/hurd-flash13 deleted file mode 100644 index a2de6bfd..00000000 --- a/hurd/history/hurd-flash13 +++ /dev/null @@ -1,120 +0,0 @@ -Date: Mon, 5 Aug 1996 22:36:31 -0400 -From: thomas@gnu.ai.mit.edu (Thomas Bushnell, n/BSG) -To: info-gnu@prep.ai.mit.edu, hurd-ann@gnu.ai.mit.edu, hurd-dev@gnu.ai.mit.edu -Subject: Hurd 0.0 and GNU 0.0 released -X-Name-Change: My name used to be `Michael'; now it is `Thomas'. -X-Tom-Swiftie: "I guess I shouldn't have broken the mirror," Tom reflected. - - - - -I am pleased to announce version 0.0 of the GNU Hurd, available via -anonymous FTP from prep.ai.mit.edu [18.159.0.42] in the file -/pub/gnu/hurd-0.0.tar.gz (about 1.2 MB compressed). - -This file contains complete source code for the following: - -Hurd servers: - - auth, crash, devio, devport, exec, ext2fs, fifo, fwd, ifsock, init, - magic, new-fifo, nfs, null, pfinet, pflocal, proc, symlink, term, - ufs. - -Hurd libraries: - - diskfs, fshelp, ihash, iohelp, netfs, pager, pipe, ports, ps, - shouldbeinlibc, store, threads, trivfs. - -Hurd utilities and other programs: - - boot, shd, ps, settrans, showtrans, sync, su, mount, fsysopts, - storeinfo, login, w, uptime, hurdids, loginpr, sush, vmstat, - portinfo, devprobe, reboot, halt, fsck, fsck.ufs, mkfs.ufs, clri.ufs, - stati.ufs, getty, rc. - - ------- - - -In addition, we have prepared a binary distribution of a complete -version 0.0 GNU system corresponding to this Hurd release. This -release runs only on PC-AT compatible systems with i[345]86 -processors. - -The GNU Hurd, plus Mach, is a kernel, not an operating system. The -GNU operating system, like the Unix operating system, consists of many -components, including kernel, libraries, compilers, assembler, shell, -parser generators, utilities, window system, editors, text formatters, -and so on. The GNU project set out a decade ago to develop this -system, and we've been writing various components of it ever since. - -This release uses the `UK22' version of the Mach kernel, as -distributed by the University of Utah. It is too difficult to prepare -a detailed list of supported devices at this point. Common disk -controllers and ethernet cards are generally supported. - -This release does not contain the X Window System. - -This release may be fetched by anonymous FTP from prep.ai.mit.edu -[18.159.42] in the directory /pub/gnu/gnu-0.0/. - -In that directory, you should find the following files: - - README - SOURCES - INSTALL-binary - grub-boot.image (about 1.4 MB, not compressed) - gnu-0.0.tar.gz (about 56.9 MB compressed) - gnu-0.0-stripped.tar.gz (about 26.2 MB compressed) - -SOURCES contains a complete list describing the sources for the -binaries found in the image. INSTALL-binary contains complete -installation instructions for this release. - -(The files README, SOURCES, and INSTALL-binary are also found in the -root directory of the gnu-0.0 release.) - -gnu-0.0.tar.gz holds the image of the complete system. It unpacks -into a directory that requires approximately 233 MB of disk space. - -gnu-0.0-stripped.tar.gz holds the same contents as gnu-0.0, except -that executable programs have been stripped to save space, and the -libraries have had debugging symbols stripped to save space and speed -linking. It unpacks into a directory that requires about 85.5 MB of -disk space. - -We recommend using the unstripped image, or you will be unable to -debug anything. Surely there are bugs. So fetch the unstripped -image, at least to have around. - -grub-boot.image is an image of a 3.5" floppy disk that you will need -in order to complete part of the installation instructions. - -The following free software packages are found in this release: - - autoconf, automake, bash, bc, binutils, bison, cpio, cvs, diffutils, - doschk, e2fsprogs, ed, emacs, fileutils, findutils, flex, from, gawk, - gcal, gcc, gdb, gdbm, gettext, glibc, gmp, gperf, grep, grub, gzip, - hello, hurd, indent, inetutils, less, mach, make, m4, miscfiles, - ncurses, nethack, nvi, patch, ptx, rcs, readline, recode, sed, - serverboot, sharutils, shellutils, tar, termcap, termutils, texinfo, - textutils, time, wdiff. - - ------- - - -Here are md5sum checksums for the files mentioned in this message: - -b5f888bab3eb193fe97a00a141324c9d INSTALL-binary -345dcd826747d7b11fc78f4db162d75b README -1a5744bb4ed3448045fa6d24153d65fe SOURCES -f7b1bc428bc4ee29977a5b28f5762092 gnu-0.0-stripped.tar.gz -24554c58e5c89f295176e17d21dbae8e gnu-0.0.tar.gz -8338c619d860b71bc4128c9c0fd39d63 grub-boot.image -1fd18ccc4c81d051b83d28b13dc07ee2 hurd-0.0.tar.gz - ------ - -Br. Thomas Bushnell, n/BSG - diff --git a/hurd/history/hurd-flash14 b/hurd/history/hurd-flash14 deleted file mode 100644 index 2d67687a..00000000 --- a/hurd/history/hurd-flash14 +++ /dev/null @@ -1,62 +0,0 @@ -I am pleased to announce version 0.2 of the GNU Hurd, available via -anonymous FTP from prep.ai.mit.edu [18.159.0.42] in the file -/pub/gnu/hurd-0.2.tar.gz (about 1.37 MB compressed). - -(The GNU Hurd, plus Mach, is a kernel, not an operating system. The -GNU operating system, like the Unix operating system, consists of many -components, including kernel, libraries, compilers, assembler, shell, -parser generators, utilities, window system, editors, text formatters, -and so on. The GNU project set out a decade ago to develop this -system, and we've been writing various components of it ever since.) - -This release contains many bug fixes from version 0.1. Many thanks to -all the people who are helping find bugs! - -The best way you can help find bugs is to try and compile and use on -the Hurd as many programs as you can find and find out where bugs -still exist. There are also unimplemented features, and your reports -will help us to prioritize which things we work on. - -The system is vastly more reliable than it has been in the past. - -One important addition: - - New programs addauth, rmauth, unsu, su, and setauth modify the uid - sets of running programs. Using addauth you can add root to your - emacs, write a file, and then use rmauth to take the uid back. (Of - course, passwords are required when necessary.) New program `ids' - will tell you what all the user ids are that a program has. Note - that in the Hurd a program can have several user ids all at once, - just like Unix supports having several group ids. Now that you can - dynamically change the ids of running programs, system - administration (among other things) becomes much easier. - -For more detailed news, see the NEWS file in the distribution. - -This release contains complete source code for the following: - -Hurd servers: - - auth, crash, devport, exec, ext2fs, fifo, fwd, ifsock, init, - magic, new-fifo, nfs, null, pfinet, pflocal, proc, symlink, term, - ufs, storeio, firmlink. - -Hurd libraries: - - diskfs, fshelp, ihash, iohelp, netfs, pager, pipe, ports, ps, - shouldbeinlibc, store, threads, trivfs, hurdbugaddr, ftpconn - -Hurd utilities and other programs: - - boot, shd, ps, settrans, showtrans, sync, su, mount, fsysopts, - storeinfo, login, w, uptime, ids, sush, vmstat, portinfo, devprobe, - reboot, halt, fsck, fsck.ufs, mkfs.ufs, clri.ufs, stati.ufs, getty, - rc, e2os, vminfo, nfsd, mail.local, serverboot, MAKEDEV, loginpr, - addauth, rmauth, unsu, setauth, ftpcp, ftpdir. - -We are also making a complete GNU 0.2 binary release, which will -include Hurd 0.2, glibc 2.0.4, gnumach 1.1.2, and many other -programs. This binary release is announced separately. - - -Thomas Bushnell, n/BSG diff --git a/hurd/history/hurd-flash15 b/hurd/history/hurd-flash15 deleted file mode 100644 index 0785ac59..00000000 --- a/hurd/history/hurd-flash15 +++ /dev/null @@ -1,60 +0,0 @@ - -I am pleased to announce version 0.2 of the complete Hurd based GNU -system. This release runs only on PC-AT compatible systems with -i[3456]86 processors. - -The GNU Hurd, plus Mach, is a kernel, not an operating system. The -GNU operating system, like the Unix operating system, consists of many -components, including kernel, libraries, compilers, assembler, shell, -parser generators, utilities, window system, editors, text formatters, -and so on. The GNU project set out a decade ago to develop this -system, and we've been writing various components of it ever since. - -This release uses the GNUmach distribution of the Mach kernel, version -1.1.3. Popular PC devices are generally supported. - -This release does not contain the X Window System. - -This release may be fetched from the directory -ftp://prep.ai.mit.edu/pub/gnu/gnu-0.2. (prep.ai.mit.edu is 18.159.42, -for the nameserver-impaired). - -In that directory, you should find the following files: - -README -SOURCES -INSTALL-binary -grub-boot.image (about 1.5 MB, not compressed) -gnu-0.2.tar.gz (about 73 MB compressed) - -SOURCES contains a complete list describing the sources for the -binaries found in the image. INSTALL-binary contains complete -installation instructions for this release. - -(The files README, SOURCES, and INSTALL-binary are also found in the -root directory of the gnu-0.2 release.) - -gnu-0.2.tar.gz holds the image of the complete system. It unpacks -into a directory that requires approximately 285 MB of disk space. - -grub-boot.image is an image of a 3.5" floppy disk that you will need -in order to complete part of the installation instructions. - -The following free software packages are included in this release: - -autoconf automake bash bc binutils bison cpio cvs diffutils doschk -e2fsprogs ed emacs emacs lisp manual fileutils findutils flex from g77 -gawk gcal gcc gdb gettext glibc gmp gnuchess gnumach gnugo grep grub -gzip hello hurd indent inetutils less libg++ lynx m4 make miscfiles -ncurses nethack nvi patch perl ptx readline rcs recode sed sendmail -sh-utils sharutils tar termutils texinfo textutils time wdiff - --- - -Here are md5sum checksums for the files mentioned in this message: - -3749b016ab581e007b90d17b9092e134 INSTALL-binary -1f800c326ba4c3a0b3f3a3463597317b README -40d1e1a38dd86f28fe2718081ac865cb SOURCES -f29c1a03c1667a8019b66f6effa89d39 gnu-0.2.tar.gz -8ad3c7254802a16068a956e836266212 grub-boot.image diff --git a/hurd/history/hurd-flash2 b/hurd/history/hurd-flash2 deleted file mode 100644 index b1d4f66f..00000000 --- a/hurd/history/hurd-flash2 +++ /dev/null @@ -1,152 +0,0 @@ -From: mib@churchy.gnu.ai.mit.edu (Michael I Bushnell) -Newsgroups: gnu.misc.discuss,comp.os.mach,comp.os.linux.development,comp.os.linux.misc,comp.unix.pc-clone.32bit -Subject: GNU Hurd Task List and Call for Volunteers -Followup-To: gnu.misc.discuss -Date: 18 May 1994 17:54:47 GMT -Organization: FOO -Lines: 140 -Message-ID: -NNTP-Posting-Host: churchy.gnu.ai.mit.edu -Xref: usenet.ee.pdx.edu gnu.misc.discuss:7630 comp.os.mach:1434 comp.os.linux.d -evelopment:9867 comp.os.linux.misc:16767 comp.unix.pc-clone.32bit:5854 - - -Now that the Hurd can run (albeit haltingly) on its own, it is -possible for people who do not have Mach 3.0 single-servers to -contribute without much trouble. (However, if you don't have a -single-server, you probably won't be able to use a debugger, but that -doesn't mean you can't do debugging, right?) - -We at the FSF don't have any expertise in setting up Mach 3.0 -machines; the machines that we do development on belong to the Open -Software Foundation and were set up by them. So one of the things on -the task list is to organize things so that people (like us and most -of you) who don't know how to do it can do it. It's not impossible to -figure out, it's just a pain and a marvelous thing for a volunteer to -do. - -You can get Mach 3.0 from CMU; you get the C library and the Hurd from -us. You need the soon-to-be-released version 1.07.6 of the C library -and the latest Hurd snapshot (as well as our special version of MiG) -from alpha.gnu.ai.mit.edu. - -All our work is based upon i386. The Hurd (except for a few programs; -see the Hurd README file) is machine independent. The C library -should not be too much trouble to port. Ports and information about -porting difficulty for either of these are greatly desired. - -The Hurd is not yet self-hosting. While you are welcome to fetch the -code and put things together, it is not likely that you will have a -useful system right now. But you might be able to do significant work -(see the task list below). And, even if you can't do significant -work, I'm interested in hearing about any places where you had -particular difficulty. - -If you want to start on one of these tasks, please let me know so I -can keep track of volunteers properly. This task list will be updated -periodically; gnu@prep.ai.mit.edu always has the latest version. - - -mib - -GNU Hurd Task List Version 1.0. - -If you would like to work on one of these, please contact mib@gnu.ai.mit.edu. - - -Mach 3.0 Work - - o Mach 3.0 comes with CMU makefiles that depend on a drecky environment. - It would be very helpful to have makefiles and installation stuff so - that it worked well for cross-compilation between systems and used - GNU tools. - - o MiG needs to be made able to support cross-compilation. - - o A replacement for MiG that understood C .h files. - - o Bootstrap tools and documentation to help people set up Mach 3.0 - machines if they already have Linux; if they already have Net BSD; - if they don't have anything. - - o Mach 3.0 needs to provide support for task virtual timers similar - in functionality to the Unix ITIMER_PROF and ITIMER_VIRTUAL timers. - - o Mach 3.0 needs to provide a way for users to do statistical PC - profiling similar to the Unix profil system call. - - o Mach 3.0 needs a facility to automatically send task and thread - status on task/thread exit to a port that can only be changed by - a privileged user; this would be used to implement process - accounting. - - o Mach 3.0 needs a facility to find out what task is the parent of - a given task. - - o Mach 3.0 needs a facility to find out which pages of a task's - address space are in core to implement Unix's mincore call. - - o Mach 3.0 needs a facility to do msync. - - o Mach 3.0 needs a replacement for MEMORY_OBJECT_COPY_CALL that - works at least for the cases needed in ordinary files. (Write mib if - you want to know what the problem is and some ideas about how to - solve it.) - - o Mach 3.0 needs proxy memory objects. (mib can tell you what these - are and why they are important.) - - o Mach 3.0 needs a way to do per-task resource counters that are - accessible to servers called by the task. - - o Mach 3.0 needs facilities to implement resource limits of various sorts. - - o Mach 3.0 needs a way to have a thread's CPU time statistics - include time spent by servers on its behalf. - - o Of course, free ports are always necessary to machines that don't - already have free ports. - - o Much work can be done doing research in how to improve Mach VM - performance and timesharing scheduling policy. - - -Hurd work (these are brief descriptions; mib can give more information): - - o We need a translator for /dev. - - o We need a replacement for utmp and wtmp that understands the - Hurd `login collection' concept. Programs like who and finger - then need to be changed to use this. - - o We need some existing shell programs changed to do Hurd things: - like ls, su, fsck, tar, cpio, etc. - - o Some new programs need to be written: login, getty, ps, tools - for new filesystem features. - - o Shadow directory translators. (Roland has the beginnings of this.) - - o A system for write, send, talkd and so forth to bleep users; - this should be integrated with the utmp replacement above. - - o X. - - o A filesystem for /tmp that uses virtual memory instead of disk. - - o Filesystem implementations (using libdiskfs) for other popular - formats, especially the Linux formats as well as MSDOG. - - o Transparent FTP translator. - - o NFS client implementation. You should start with BSD's 4.4 code - and support the extensions they support; don't worry about Hurd - extensions right now. (The server we want to write ourselves - because it will probably involve changing the Hurd interfaces.) - - o A fancy terminal driver that uses readline and supports detach/attach. - --- -+1 617 623 3248 (H) | The soul of Jonathan was bound to the soul of David, -+1 617 253 8568 (W) -+- and Jonathan loved him as his own soul. -1105 Broadway | Then Jonathan made a covenant with David -Somerville, MA 02144 | because he loved him as his own soul. diff --git a/hurd/history/hurd-flash3 b/hurd/history/hurd-flash3 deleted file mode 100644 index 19a5f371..00000000 --- a/hurd/history/hurd-flash3 +++ /dev/null @@ -1,77 +0,0 @@ -Date: Tue, 05 Jul 1994 20:15:09 -0400 -From: mib@gnu.ai.mit.edu (Michael I Bushnell) -To: hurd-ann@gnu.ai.mit.edu -Subject: New Hurd snapshot - - -A new Hurd snapshot has been released. You can get it from -alpha.gnu.ai.mit.edu in the file /gnu/hurd-snap.tar.gz. You will need -the most recent version of the GNU C library; version 1.08.3 or later. -(Version 1.08.3 is an alpha release; you can get it from -alpha.gnu.ai.mit.edu in the same directory.) - -This snapshot of the Hurd has a limping terminal driver. It can run -emacs, bash, a whole slew of utilities, and (most importantly) GNU -Hello. - - -mib - - -Here is the new part of the NEWS file: - -The Hurd now runs all the programs in the GNU fileutils, textutils, -and shellutils distributions, with the exception of who. Most -importantly it runs GNU Hello. Also, emacs works (with the kludgy -`boot' terminal driver) and bash works. - -The simple pipes server works; it will be replaced eventually by the -pflocal server (which isn't done yet). The terminal driver is limping -but working. It doesn't support terminal ioctls yet. A minor bug in -auth has been fixed. boot interprets more Hurd protocols; this was -done to get emacs functioning. Some more-or-less serious bugs in exec -were fixed; they were found by running emacs (a quite large executable -indeed). At bootstrap time, init starts pipes and term itself; -eventually these will be passive translators, but we don't want to -write the new disk format until we're self-hosting or fsck and UX will -get confused. The file proc/primes.c has been documented; thanks go -to Jim Blandy. Some bugs in proc dealing with pgrp and wait were -fixed; a nasty hash table bug was also fixed. The simple shell can do -pipes. Several serious bugs in ufs were fixed dealing with extension -of large files and writes of data not aligned on block boundaries. -The ufs pager was over-serialized; that's been fixed. Directory -lookups and modifications now use mapped I/O directly; this is an -important speed-up. The structure of the pager lockes has been -changed significantly. UFS now supports Mach copying mode -MEMORY_OBJECT_COPY_DELAY; this significantly improves process startup -time. - -Some minor changes have been made to several interfaces. The -interface for fs.defs:dir_readdir has been totally changed. There are -some new fs.defs interfaces: file_check_access, file_notice_changes, -dir_notice_changes. The fsys.defs:fsys_getroot interface was changed -to work correctly. process.defs:proc_setprocargs is renamed, and a -fetch function proc_get_arg_locations is added. The ifsock.defs -interface was simplified. - -Several bugs were fixed in libdiskfs. The new dir_readdir interface -requires new support from format-specific code. Some race conditions -have been fixed. dir-pathtrans.c now deals correctly with multiple -slashes in a row. A new concept called "light references" allows -pagers to remain active without preventing truncate-on-nolinks from -working right. New interfaces in fs.defs are implemented (except -file_notice_changes). Active translator usage has been fixed to work -correctly, but passive translators are still untested. libdiskfs now -thinks it supports S_IFSOCK nodes, but that's untested (of course) -because pflocal isn't done yet. - -The passive translator startup interface in libfshelp has been -radically simplified. The pager library now lets other code set and -changee the attributes on objects, synchronously if desired. An -init/terminate race condition was fixed. The ports library now -allows single-threaded users to work right (they didn't before). The -trivfs library works; see the ifsock server for a simple example of -its use. See term or pipes for more complex examples. - -There is a task list in the file `tasks'; let me know if you are -interested in working on one of these. - diff --git a/hurd/history/hurd-flash4 b/hurd/history/hurd-flash4 deleted file mode 100644 index 89ae9848..00000000 --- a/hurd/history/hurd-flash4 +++ /dev/null @@ -1,101 +0,0 @@ -From: mib@gnu.ai.mit.edu (Michael I Bushnell) -To: hurd-ann@gnu.ai.mit.edu -Date: Mon, 8 Aug 94 16:01:23 -0400 -Subject: New Hurd Snapshot -X-Shopping-List: - (1) Starboard sauce (2) Cinematic lesions (3) Two-way alphabetic - accordions - - -A new Hurd snapshot has been placed on alpha.gnu.ai.mit.edu in -/pub/gnu/hurd-snap.tar.gz. - -It is expected that the next snapshot after this one will have signals -basically working and thus be usable for a self-hosting system. In -addition, the next snapshot will probably have the current state of -our networking code (which has been proceeding, but has been absent -from the snapshots). - -Here is the NEWS about this current snapshot, however. Because some -big changes were made to the makefile and directory structure, things -might have gotten inadvertently ommitted from the snapshot. If this -happened, please let me know ASAP and I'll fix it and make a new -snapshot. - - -mib - - -August 8, 1994: - -Structural changes: - -Makefiles have been vastly improved and are simpler. The programs -`su', `ps', and `sh' have been moved from separate dirs into `utils'; -the programs `symlink' and `ifsock' have been moved into `trans'. - -Several changes were made to GCC use. You should definitely get GCC -version 2.6.0 now. Version 2.6.1 will have distributed the proper -`specs' file for the i386-gnu target, but it isn't quite ready yet, so -you still have to copy hurd/gcc-specs into -gcc-lib/i386-gnu/2.6.0/specs. - - -Interface changes: - -The tioctl.defs suite is complete now. - -INTR RPC's have been changed; individual RPC's are no longer marked -INTR. Rather, entire interfaces are marked `INTR_INTERFACE' if they -conform to the library's signalling/interruption expectations. - -There is a new magical retry type (for dir_pathtrans and fsys_getroot) -called `machtype' and a new one `/'; the former is for @sys tweaks and -the latter cleans up the retry of root-based symlinks a bit. - -There is a new interface `login.defs'. - -The "dotdot node" is no longer passed at fsys_startup time; instead, -it is passed by fsys_getroot. - - -Library changes: - -The ports library now does death-timeouts for multi-threaded servers; -it doesn't actually work right yet, however. Also the ports library -has new features (soft vs. hard ports; no outstanding ports -notifications) that enable server-death to be done cleanly. (I hope; -libdiskfs and ufs haven't yet been changed to use it, so libports -might not actually have the right facilities yet.) - -The translator startup routines in libfshelp have been vastly improved -(so that they can actually be used). - -Numerous bugfixes in libdiskfs, particularly relating to translator -usage. Use new magical retry type `/' when appropriate. Use new -dotdot node protocol. O_FSYNC and O_NOATIME are now honored properly. -Alternative methods of storing symlinks are now supported through new -hooks. - -The new dotdot protocol is now used by libtrivfs. Also, users of the -library are now able to set the atime and mtime when necessary. - -The special threads version of malloc has been placed back in -libthreads now that the C library uses a Mach-safe version on its own. - - -Program changes: - -The `boot' program no longer implements the tioctl interface now that -the terminal driver works. - -A bug was fixed in the handling of pgrps in `proc'. - -Many bugfixes in term. The tioctl interface is now implemented. EOF -processing is fixed; break characters now work right. Signals and -interruption are now done correctly. VDISCARD works. - -Ufs has Some bigs fixed in dir.c. Filesystem upgraded to BSD 4.4. -There are now some compatibility flags. - -New program dev.trim does a very minimal /dev (but doesn't work yet). -New program dev is an initial (but poor) attempt at a real /dev. diff --git a/hurd/history/hurd-flash5 b/hurd/history/hurd-flash5 deleted file mode 100644 index 041a0ef7..00000000 --- a/hurd/history/hurd-flash5 +++ /dev/null @@ -1,23 +0,0 @@ -From: mib@gnu.ai.mit.edu (Michael I Bushnell) -Message-Id: <9409210619.AA17570@churchy.gnu.ai.mit.edu> -To: "Lots of potentially interested people and" -Subject: New milestone acheived by the GNU Hurd -X-Tom-Swiftie: "I can't get this fire started," Tom said woodenly. - - -I have just successfully compiled and run a null C program on the -Hurd. This is using GCC native as one would normally use GCC. - -Sadly, it took quite a while (too long, in fact) to read the large -archives that make up the GNU C library, but I think I know where the -substantial inefficiency is. - -Once that is done, I would be happy to label this a "self-hosting -system". But not just yet. - -The last bug preventing this was an error in dealing with files over -about 8 M; this came about because in order to link a program one -needed the GNU C library, which is over 9M when symbols are included. - - -mib - diff --git a/hurd/history/hurd-flash6 b/hurd/history/hurd-flash6 deleted file mode 100644 index e774714e..00000000 --- a/hurd/history/hurd-flash6 +++ /dev/null @@ -1,46 +0,0 @@ -Return-Path: -Received: from pdxgate.cs.pdx.edu by gnurd with uucp - (Linux Smail3.1.28.1 #14) id m0r66pm-00010fC; Fri, 11 Nov 94 17:00 PST -Received: from cs.pdx.edu by pdxgate.cs.pdx.edu (4.1/CATastrophe-9/19/94-U) - id AA05257; Fri, 11 Nov 94 16:40:48 PST -Received: from churchy.gnu.ai.mit.edu by cs.pdx.edu (4.1/CATastrophe-9/19/94-P) - id AA02600; Fri, 11 Nov 94 16:40:22 PST -Received: by churchy.gnu.ai.mit.edu (5.65/4.0) - id ; Fri, 11 Nov 94 16:45:35 -0500 -Received: by churchy.gnu.ai.mit.edu (5.65/4.0) - id ; Fri, 11 Nov 94 16:38:44 -0500 -Date: Fri, 11 Nov 94 16:38:44 -0500 -From: mib@gnu.ai.mit.edu (Michael I Bushnell) -Message-Id: <9411112138.AA12580@churchy.gnu.ai.mit.edu> -To: hurd-ann@gnu.ai.mit.edu, hurd-dev@gnu.ai.mit.edu, info-gnu@prep.ai.mit.edu -Subject: New Hurd Snapshot -X-Shopping-List: - (1) Horrendous collision devotions (2) Wondrous consolation (3) - Conscious cooking auctions -X-Filter: mailagent [version 3.0 PL19] for trent@gnurd.uu.pdx.edu - - -A new Hurd snapshot has been placed on alpha.gnu.ai.mit.edu. There -may be unforseen problems with this snapshot, so the old one has been -left. You may fetch this snapshot via anonymous FTP in the file -/gnu/hurd-snap.tar.gz. - -The Hurd requires a modified version of MiG; you can get it by -anonymous ftp to kahlua.cs.utah.edu in /pub/mach/mach4-UK02p6.tar.gz. -Note that we are not yet using Mach4 for the Hurd, but we plan to -switch as soon as its feasible. - -Other necessary software to run this snapshot include the latest -snapshot of binutils/ld/gas source from Cygnus and the latest GCC. -(Problems have been reported with GCC 2.6.1; you might want to wait -until 2.6.2 is released.) And, of course, you also need the latest -test version of the GNU C Library, found on alpha.gnu.ai.mit.edu. - -This is not yet a real release; it is certainly not up to the quality -of even a hesitant alpha release. But it may be useful for -educational value or to help with the Hurd effort. - -I will be out of town for most of the rest of the year; I will be -reading email but I may not be able to help with problems. Sorry... - - -mib diff --git a/hurd/history/hurd-flash7 b/hurd/history/hurd-flash7 deleted file mode 100644 index ce6e08d2..00000000 --- a/hurd/history/hurd-flash7 +++ /dev/null @@ -1,17 +0,0 @@ -Date: Wed, 12 Apr 1995 15:08:18 -0400 -From: Michael I Bushnell -To: hurd-ann@duality.gnu.ai.mit.edu -Subject: New Hurd Snapshot available - -A new hurd snapshot is now available from -ftp://alpha.gnu.ai.mit.edu/gnu/hurd-snap.tar.gz. - -This snapshot contains many improvements over the last one, and is -also probably easier to compile. - -This snapshot must be used with the most recent libc snapshot, -ftp://alpha.gnu.ai.mit.edu/gnu/libc-950411.tar.gz. Previous versions -of the library will not work right. - -If any files are discovered to be missing, please let me know asap. - diff --git a/hurd/history/hurd-flash8 b/hurd/history/hurd-flash8 deleted file mode 100644 index 555186ec..00000000 --- a/hurd/history/hurd-flash8 +++ /dev/null @@ -1,73 +0,0 @@ -Date: Sun, 23 Jul 1995 16:27:46 -0400 -Message-Id: <199507232027.QAA09306@geech.gnu.ai.mit.edu> -From: Michael I Bushnell -To: hurd-ann@gnu.ai.mit.edu -Subject: Hurd snapshot! -X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ -+$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv -+ b+++ !D B-- e+ u++(*) h* f? r n y++ -X-Zippy-Says: I just had a NOSE JOB!! -Sender: owner-abshurd@cs.pdx.edu -Precedence: bulk - - -I have just put a new Hurd snapshot on alpha.gnu.ai.mit.edu in -/gnu/hurd-snap-950723.tar.gz. - -You will also need the new libc snapshot, which should appear in the -same place today. Older libc snapshots will not be happy. - -The binary images (hurd-floppy.fs.gz and hurd-image.tar.gz) have not -been updated. It is difficult to use the Hurd standalon, because the -Mach boot loaders can now no longer boot the Hurd. A new boot loader -is nearly finished. Perhaps we can make new binary images then, or a -volunteer might take over this useful work. (Hint, hint.) - -Michael - - - -Here is the NEWS: - -July 23, 1995 - -Shared libraries now work; use -static to link programs and avoid the -shared libraries. The Hurd programs are normally built static; this -will probably change soon. - -The ext2fs server now works, as do the tools to manipulate ext2fs -filesystems. A snapshot of the tools will be made soon under separate -cover. Many thanks to Ted Ts'o for his valuable work on the tools. - -Readers of the Makefiles will notice that we now generate dependencies -automatically. - -The old netserv library is gone. - -The `boot' hack has been modified slightly to avoid the normalq libc startup -files, because they no longer work with UX. - -Some small bugs have been fixed in the devio server. - -The ports library has been totally rewritten; new features permit -servers to have greater control over thread RPC's and port creation. - -The fshelp library now does most of the work for translator -interaction; it's simpler now too. Filesystems have much less work to -do; the relevant code in libdiskfs is now understanble instead of -unparseable chaos. - -The ports library provides for timeouts; the diskfs library almost -uses it, but because of a bug, it's disabled for now. - -Filesystems are now expected to sync themselves if necessary; the new -fsys_set_options RPC provides for changeing (or cancelling) the sync -intervale. The diskfs library does this for you. The update program -is no longer necessary. - -A small bug in the proc server has been hacked around; the real fix -will come later. - -Many important bugs in the C library have been fixed since the last -snapshot; perhaps all of them. ;-) - diff --git a/hurd/history/hurd-flash9 b/hurd/history/hurd-flash9 deleted file mode 100644 index 1ff32ba9..00000000 --- a/hurd/history/hurd-flash9 +++ /dev/null @@ -1,39 +0,0 @@ -Date: Wed, 29 Nov 1995 13:13:23 -0500 -Message-Id: <199511291813.NAA10983@duality.gnu.ai.mit.edu> -From: mib@gnu.ai.mit.edu (Michael I. Bushnell, p/BSG) -To: hurd-ann@gnu.ai.mit.edu (and others) -Subject: Announcement -X-Geek-Code: (V2.1) GCS/J/M/MU/P/S/O>AT d- H-- s-: g+++ p0 !au a- w++ v+++(*) C+ -+$ UB++++$ P--- L 3- E++ N++ K++++ W-- M- V-- po-- Y+(--) t++ 5+ j++ R- G'''' tv -+ b+++ !D B-- e+ u++(*) h* f? r n y++ -X-Windows: The Cutting Edge of Obsolescence. -Sender: owner-abshurd@cs.pdx.edu -Precedence: bulk - - -The Hurd has succesfully completed its first FTP: - -bash# ftp 128.52.46.31 -Connected to 128.52.46.31. -220 albert.gnu.ai.mit.edu FTP server (Version 5.60) ready. -Name (128.52.46.31:root): -331 Password required for root. -Password:230 User root logged in. -ftp> cd ~mib -250 CWD command successful. -ftp> get ftptest -200 PORT command successful. -150 Opening ASCII mode data connection for ftptest (16 bytes). -226 Transfer complete. -17 bytes received in 0.07 secs (0.24 Kbytes/sec) -ftp> quit -221 Goodbye. -bash# cat ftptest -this is a test. -bash# - - -Tre cool. - -Michael - diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn deleted file mode 100644 index ec72def4..00000000 --- a/hurd/history/port_to_l4.mdwn +++ /dev/null @@ -1,102 +0,0 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 -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 title="Porting the Hurd to L4: Hurd/L4"]] - -There was an effort to port the Hurd from [[microkernel/Mach]] to the -[[L4_microkernel_family|microkernel/L4]]. - -The idea of using L4 as a [[microkernel]] for a [[Hurd_system|hurd]] was -initially voiced in the [[Hurd_community|community]] by Okuji Yoshinori, who, -for discussing this purpose, created the [[mailing lists/l4-hurd]] mailing list -in November 2000. - -The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield. -Even though there was progress -- see, for example, the -[[QEMU_image_for_L4|running/qemu/image_for_l4]] -- this port never reached a -releasable state. Eventually, a straight-forward port of the original Hurd's -design wasn't deemed feasible anymore by the developers, partly due to them not -cosidering L4 suitable for implementing a general-purpose operating system on -top of it, and because of deficiencies in the original Hurd's design, which -they discovered along their way. Read the [[critique]] and a -[[ng/position_paper]]. - -By now, the development of Hurd/L4 has stopped. However, Neal Walfield moved -on to working on a newly designed kernel called [[microkernel/viengoos]]. - -Over the years, a lot of discussion have been held on the -[[mailing lists/l4-hurd]] mailing list, which today is still the right place -for [[next-generation_Hurd|ng]] discussions. - -Development of Hurd/L4 was done in the `hurd-l4` module of the Hurd CVS -repository. The `doc` directory contains a design document that is worth -reading for anyone who wishes to learn more about Hurd/L4. - - -One goal of porting the Hurd to L4 was to make the Hurd independend of Mach -interfaces, to make it somewhat microkernel-agnostic. - -Mach wasn't maintained by its original authors anymore, so switching to a -well-maintained current [[microkernel]] was expected to yield a more solid -foundation for a Hurd system than the decaying Mach design and implementation -was able to. - -L4 being a second-generation [[microkernel]] was deemed to provide for a faster -system kernel implementation, especially in the time-critical [[IPC]] paths. -Also, as L4 was already implemented for a bunch of different architectures -(IA32, Alpha, MIPS; SMP), and the Hurd itself being rather archtecture-unaware, -it was expected to be able to easily support more platforms than with the -existing system. - -A design upon the lean L4 kernel would finally have moved devices drivers out -of the kernel's [[TCB]]. - - -One idea was to first introduce a Mach-on-L4 emulation layer, to easily get a -usable (though slow) Hurd-using-Mach-interfaces-on-L4 system, and then -gradually move the Hurd servers to use L4 intefaces rather than Mach ones. - - -Neal Walfield started the original Hurd/L4 port while at Karlsruhe in 2002. He -explains: - -> My intention was to adapt the Hurd to exploit L4's concepts and intended -> [[design_pattern]]s; it was not to simply provide a Mach -> [[compatibility_layer]] on top of L4. When I left Karlsruhe, I no longer had -> access to [[microkernel/l4/Pistachio]] as I was unwilling to sign an NDA. -> Although the specification was available, the Karlsruhe group only [released -> their code in May -> 2003](https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/2003-May/000345.html). -> Around this time, Marcus began hacking on Pistachio. He created a relatively -> complete run-time. I didn't really become involved again until the second -> half of 2004, after I complete by Bachelors degree. - -> Before Marcus and I considered [[microkernel/Coyotos]], we had already -> rejected some parts of the Hurd's design. The -> [[open issues/resource management problems]] were -> what prompted me to look at L4. Also, some of the problems with -> [[translator]]s were already well-known to us. (For a more detailed -> description of the problems we have identified, see our [[critique]] in the -> 2007 July's SIGOPS OSR. We have also written a forward-looking -> [[ng/position_paper]].) - -> We visited Jonathan Shapiro at Hopkins in January 2006. This resulted in a -> number of discussions, some quite influential, and not always in a way which -> aligned our position with that of Jonathan's. This was particularly true of -> a number of security issues. - -A lange number of discussion threads can be found in the archives of the -[[mailing lists/l4-hurd]] mailing list. - -> Hurd-NG, as we originally called it, was an attempt to articulate the system -> that we had come to envision in terms of interfaces and description of the -> system's structure. The new name was selected, if I recall correctly, as it -> clearly wasn't the Hurd nor the Hurd based on L4. -- cgit v1.2.3