From 2910b7c5b1d55bc304344b584a25ea571a9075fb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 24 May 2012 23:08:09 +0200 Subject: Prepare toolchain/logs/master branch. --- 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_another_microkernel.mdwn | 178 --------------------- .../port_to_another_microkernel/discussion.mdwn | 69 -------- history/port_to_l4.mdwn | 13 -- 20 files changed, 1368 deletions(-) delete mode 100644 history/hurd-announce delete mode 100644 history/hurd-announce2 delete mode 100644 history/hurd-flash delete mode 100644 history/hurd-flash10 delete mode 100644 history/hurd-flash11 delete mode 100644 history/hurd-flash12 delete mode 100644 history/hurd-flash13 delete mode 100644 history/hurd-flash14 delete mode 100644 history/hurd-flash15 delete mode 100644 history/hurd-flash2 delete mode 100644 history/hurd-flash3 delete mode 100644 history/hurd-flash4 delete mode 100644 history/hurd-flash5 delete mode 100644 history/hurd-flash6 delete mode 100644 history/hurd-flash7 delete mode 100644 history/hurd-flash8 delete mode 100644 history/hurd-flash9 delete mode 100644 history/port_to_another_microkernel.mdwn delete mode 100644 history/port_to_another_microkernel/discussion.mdwn delete mode 100644 history/port_to_l4.mdwn (limited to 'history') diff --git a/history/hurd-announce b/history/hurd-announce deleted file mode 100644 index 2f165ad8..00000000 --- a/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/history/hurd-announce2 b/history/hurd-announce2 deleted file mode 100644 index dce41c43..00000000 --- a/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/history/hurd-flash b/history/hurd-flash deleted file mode 100644 index d1bacc79..00000000 --- a/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/history/hurd-flash10 b/history/hurd-flash10 deleted file mode 100644 index d6d5685b..00000000 --- a/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/history/hurd-flash11 b/history/hurd-flash11 deleted file mode 100644 index 57851b01..00000000 --- a/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/history/hurd-flash12 b/history/hurd-flash12 deleted file mode 100644 index 5be9c94e..00000000 --- a/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/history/hurd-flash13 b/history/hurd-flash13 deleted file mode 100644 index a2de6bfd..00000000 --- a/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/history/hurd-flash14 b/history/hurd-flash14 deleted file mode 100644 index 2d67687a..00000000 --- a/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/history/hurd-flash15 b/history/hurd-flash15 deleted file mode 100644 index 0785ac59..00000000 --- a/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/history/hurd-flash2 b/history/hurd-flash2 deleted file mode 100644 index b1d4f66f..00000000 --- a/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/history/hurd-flash3 b/history/hurd-flash3 deleted file mode 100644 index 19a5f371..00000000 --- a/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/history/hurd-flash4 b/history/hurd-flash4 deleted file mode 100644 index 89ae9848..00000000 --- a/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/history/hurd-flash5 b/history/hurd-flash5 deleted file mode 100644 index 041a0ef7..00000000 --- a/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/history/hurd-flash6 b/history/hurd-flash6 deleted file mode 100644 index e774714e..00000000 --- a/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/history/hurd-flash7 b/history/hurd-flash7 deleted file mode 100644 index ce6e08d2..00000000 --- a/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/history/hurd-flash8 b/history/hurd-flash8 deleted file mode 100644 index 555186ec..00000000 --- a/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/history/hurd-flash9 b/history/hurd-flash9 deleted file mode 100644 index 1ff32ba9..00000000 --- a/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/history/port_to_another_microkernel.mdwn b/history/port_to_another_microkernel.mdwn deleted file mode 100644 index a8ec3fe7..00000000 --- a/history/port_to_another_microkernel.mdwn +++ /dev/null @@ -1,178 +0,0 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, -2009, 2010, 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="Porting the Hurd to another microkernel"]] - - - -It is a frequently asked question, [[faq/which_microkernel]] the Hurd should be -based upon assuming that [[microkernel/Mach]] is no longer considered state of -the art, and it is well known that there has been a lot of discussion about -this topic, and also some code produced, but then, years later, the Hurd is -still based on [[GNU Mach|microkernel/mach/gnumach]]. - -At first, there was an effort to directly port the Hurd to the -[[L4_microkernel_family|microkernel/l4]]. Then the story continued... - -[[!toc levels=2]] - - -# L4 - -## Initial Idea - -Encountering a number of fundamental design issues with the [[Mach -microkernel|microkernel/mach]] (mostly regarding [[resource -management|open_issues/resource_management_problems]]), some of the Hurd -developers began experimenting with using other microkernels for the Hurd -around the turn of the millenium. - -The idea of using L4 as a [[microkernel]] for a Hurd system was initially -voiced in the [[community]] by Okuji Yoshinori, who, for discussing this -purpose, created the [[mailing_lists/l4-hurd]] mailing list in November 2000. - -Over the years, a lot of discussion have been held on this mailing list, which -today is still the right place for [[next-generation Hurd|hurd/ng]] -discussions. - - -## Why? - -Even though that said resource management issues constitute a broad research -topic, there was no hope that the original Mach project would work on these: -[[microkernel/Mach]] wasn't maintained by its original authors anymore. Mach -had served its purpose as a research vehicle, and has been retired by its -stakeholders. - -Thus, switching to a well-maintained current [[microkernel]] was expected to -yield a more solid foundation for a Hurd system than the [[decaying -Mach|microkernel/mach/history]] design and implementation was able to. - -At that time, the [[L4 microkernel family|microkernel/L4]] was one obvious -choice. Being a second-generation microkernel, it 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 (x86, Alpha, MIPS; also including SMP support), and the Hurd -itself being rather archtecture-agnostic, it was expected to be able to easily -support more platforms than with the existing system. - - -## Steps and Goals - -At the same time, the idea was -- while mucking with the system's core anyway --- to improve on some fundamental design issues, too -- like the resource -management problems, for example. - -One goal of porting the Hurd to L4 was to make the Hurd independent of -[[microkernel/Mach]] interfaces, to make it somewhat microkernel-agnostic. - -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. - -A design upon the lean L4 kernel would finally have made it feasible to move -devices drivers out of the kernel's [[TCB]]. - - -# Implementation - -The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield. -Neal started the original Hurd/L4 port while visiting Karlsruhe university 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. - -Development of Hurd/L4 was done in the [CVS module -`hurd-l4`](http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/). The `doc` -directory contains a design document that is worth reading for anyone who -wishes to learn more about Hurd/L4. - -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. Simple POSIX programs, such as `banner` could run, but for more complex -system interfaces, a lot more work was needed. - -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. Neal goes on: - -> 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. - - -## Termination - -As of 2005, development of Hurd/L4 has stopped. - - -# Coyotos - -Following that, an attempt was started to use the kernel of the -[[microkernel/Coyotos]] system. As Coyotos is an object-capability system -througout, the microkernel would obviously be more suitable for this purpose; -and it looked pretty promising in the beginning. However, further -investigations found that there are some very fundamental philosophical -differences between the Coyotos and Hurd designs; and thus this this attempt -was also abandonned, around 2006 / 2007. (This time before producing any -actual code.) - - -# Viengoos - -By now (that is, after 2006), there were some new [[microkernel/L4]] variants -available, which added protected [[IPC]] paths and other features necessary for -object-capability systems; so it might be possible to implement the Hurd on top -of these. However, by that time the developers concluded that microkernel -design and system design are interconnected in very intricate ways, and thus -trying to use a third-party microkernel will always result in trouble. So Neal -Walfield created the experimental [[microkernel/Viengoos]] kernel instead -- -based on the experience from the previous experiments with L4 and Coyotos -- -for his [[research on resource -management|open_issues/resource_management_problems]]. Currently he works in -another research area though, and thus Viengoos is on hold. - - -# Intermediate Results - -Note that while none of the microkernel work is active now, the previous -experiments already yielded a lot of experience, which will be very useful in -the further development / improvement of the mainline (Mach-based) Hurd -implementation. diff --git a/history/port_to_another_microkernel/discussion.mdwn b/history/port_to_another_microkernel/discussion.mdwn deleted file mode 100644 index f2161195..00000000 --- a/history/port_to_another_microkernel/discussion.mdwn +++ /dev/null @@ -1,69 +0,0 @@ -[[!meta copyright="Copyright © 2009, 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -IRC, #hurd, 2011-01-12. - -[[!taglink open_issue_documentation]] - - Hello i am just curious of the development of Hurd - what's the - current mission on the microkernel i see projects like l4 and viengoos, - will one of these projects replace Mach? or will you stick with Mach - as i understand is that Mach is a first generation microkernel - that's very old in design and causes alot of issues - that's where l4 and viengoos comes in - they are trying to be the - next generation Mach - am i correct? - l4 is not a drop in replacement for Mach - it doesn't actually do much resource management - for instance, you still have to implement a memory manager - this is where several issues are with Mach - l4 doesn't address those issues; it punts to the operating system - and what about viengoos? - it's unfinished - and it implemented some untested ideas - i.e., parts of viengoos were research - there has not been a sufficient evaluation of those ideas to - determine whether they are a good approach - meaning that viengoos is a research kernel that could aid Mach? - I'm not sure I understand your question - Well is viengoos trying to be a replacement for Mach, or will - viengoos be an experiment of new ideas that could be implemented in Mach? - i am sorry for my limited english - viengoos was designed with a Hurd-like user-land in mind - in that sense it was a Mach replacement - (unlike L4) - viengoos consisted of a few experiments - one could implement them in mach - but it would require exposing new interfaces - in which case, I'm not sure you could call the result Mach - Well as i understand you develop two microkernels side by side, - wouldnt it be more effective to investigate viengoos more and maybe move - the focus to viengoos? - no - having something working all the time is crucial - it's very hard to motivate people to work on a project that might - be useful, in a couple of years, perhaps... - Well Mach is meant to be replaced one day - i see no reason to - keep on developing it just because it works at this moment - *if Mach is meant to be replaced - it's not at all clear that it will be replaced by something - completely different. I for my part believe that modifying the existing - Mach is a more promising approach - as i understand man power is something you need - and by spreading - out the developers just makes the progress more slow - but even if it *were* to be replaced one day, it doesn't change - the fact that we need it *now* - all software will be obsolete one day. doesn't mean it's not worth - working on - the vast majority of work is not on the microkernel anyways, but - on the system running on top of it - ahh i see - manpower is not something that comes from nowhere. again, having - something working is crucial in a volunteer project like this - there are no fixed plans diff --git a/history/port_to_l4.mdwn b/history/port_to_l4.mdwn deleted file mode 100644 index 3f951a64..00000000 --- a/history/port_to_l4.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag stable_URL]] - -[[!meta redir=port_to_another_microkernel]] -- cgit v1.2.3