summaryrefslogtreecommitdiff
path: root/microkernel
diff options
context:
space:
mode:
authorThomas Schwinge <tschwinge@gnu.org>2008-11-14 00:07:38 +0100
committerThomas Schwinge <tschwinge@gnu.org>2008-11-14 00:07:38 +0100
commit84bac506a38900563a938ecc97ec638dda736f02 (patch)
treee3356804331355cc19920d23598bdb21e7bf9198 /microkernel
parent02bcc0768865302843ef96183f825a2453dd5d12 (diff)
parent8f929bde2919c770b1f26397567526626e0683f2 (diff)
Merge branch 'homepage'
Diffstat (limited to 'microkernel')
-rw-r--r--microkernel/faq/multiserver_microkernel.mdwn4
-rw-r--r--microkernel/mach.mdwn6
-rw-r--r--microkernel/mach/documentation.mdwn18
-rw-r--r--microkernel/mach/gnu_mach.mdwn80
-rw-r--r--microkernel/mach/gnu_mach/boot_trace.mdwn (renamed from microkernel/mach/gnumach/boot_trace.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/building.mdwn (renamed from microkernel/mach/gnumach/building.mdwn)10
-rw-r--r--microkernel/mach/gnu_mach/building/example.mdwn (renamed from microkernel/mach/gnumach/building/example.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/debugging.mdwn (renamed from microkernel/mach/gnumach/debugging.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn (renamed from microkernel/mach/gnumach/hardware_compatibility_list.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn (renamed from microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/open_issues.mdwn (renamed from microkernel/mach/gnumach/open_issues.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/ports.mdwn (renamed from microkernel/mach/gnumach/ports.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/ports/xen.mdwn (renamed from microkernel/mach/gnumach/ports/xen.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/ports/xen/internals.mdwn (renamed from microkernel/mach/gnumach/ports/xen/internals.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn (renamed from microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/projects.mdwn (renamed from microkernel/mach/gnumach/projects.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn (renamed from microkernel/mach/gnumach/projects/clean_up_the_code.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn (renamed from microkernel/mach/gnumach/projects/gdb_stubs.mdwn)0
-rw-r--r--microkernel/mach/gnu_mach/reference_manual.mdwn26
-rw-r--r--microkernel/mach/gnumach.mdwn30
-rw-r--r--microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn11
-rw-r--r--microkernel/mach/history.mdwn2
-rw-r--r--microkernel/mach/logo.pngbin13617 -> 0 bytes
-rw-r--r--microkernel/mach/mig.mdwn23
-rw-r--r--microkernel/mach/mig/discussion.mdwn17
-rw-r--r--microkernel/mach/mig/documentation.mdwn3
-rw-r--r--microkernel/mach/mig/gnu_mig.mdwn24
-rw-r--r--microkernel/mach/mig/gnu_mig/building.mdwn (renamed from microkernel/mach/mig/building.mdwn)8
-rw-r--r--microkernel/mach/mig/gnu_mig/open_issues.mdwn (renamed from microkernel/mach/mig/open_issues.mdwn)5
-rw-r--r--microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn (renamed from microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn)0
-rw-r--r--microkernel/mach/mig/logo.pngbin23622 -> 0 bytes
31 files changed, 182 insertions, 85 deletions
diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn
index da690425..68ed332c 100644
--- a/microkernel/faq/multiserver_microkernel.mdwn
+++ b/microkernel/faq/multiserver_microkernel.mdwn
@@ -22,5 +22,5 @@ use, but now, because the server runs in user space as the user that started
it, they may, for instance, mount an FTP filesystem in their home directory.
For more information about the design of the Hurd, read the paper by Thomas
-Bushnell, BSG: [Towards a new strategy on OS
-design](http://www.gnu.org/software/hurd/hurd-paper.html).
+Bushnell, BSG:
+[[Towards_a_New_Strategy_of_OS_Design|hurd/documentation/hurd-paper]].
diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn
index 078b531f..9d3289b4 100644
--- a/microkernel/mach.mdwn
+++ b/microkernel/mach.mdwn
@@ -1,5 +1,3 @@
-[[img logo.png]]
-
Mach is a so-called first generation [[microkernel]]. It is the
microkernel currently used by the [[Hurd]].
@@ -9,10 +7,10 @@ microkernel currently used by the [[Hurd]].
# Implementations
-* [[GNUMach]]
+* [[GNU_Mach]]
* [[Mach/OskitMach]] - A Once Successor of Mach based on OSKit
* [Apple's Darwin](http://developer.apple.com/darwin/) ([API](http://developer.apple.com/documentation/Darwin/Conceptual/KernelProgramming/index.html)) (**non-free**)
# Related
-* [[Mach_Interface_Generator|mig]]
+* [[Mach_Interface_Generator_(MIG)|mig]]
diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn
index fe870386..f6f2eb79 100644
--- a/microkernel/mach/documentation.mdwn
+++ b/microkernel/mach/documentation.mdwn
@@ -1,4 +1,5 @@
-[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+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
@@ -11,12 +12,27 @@ is included in the section entitled
- [Meet Mach](http://www.stepwise.com/Articles/Technical/MeetMach.html), a
summary of Mach's history and main concepts.
+ * *[[The_GNU_Mach_Reference_Manual|gnu_mach/reference_manual]]*.
+
- OSF's [Kernel Interface (ps)](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps)
[Kernel Interface (pdf)](http://shakthimaan.com/downloads/hurd/kernel_interface.pdf)
- OSF's [Kernel Principles (ps)](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps)
[Kernel Principles (pdf)](http://shakthimaan.com/downloads/hurd/kernel_principles.pdf)
+ * [*The Unofficial GNU Mach IPC beginner's
+ guide*](http://hurdextras.nongnu.org/ipc_guide/), an easy introduction to
+ Inter Process Comunication in the Mach microkernel by Manuel Pavón
+ Valderrama.
+
+ * [*Mach IPC without
+ MIG*](http://walfield.org/pub/people/neal/papers/hurd-misc/mach-ipc-without-mig.txt),
+ an exercise by Neal Walfield *to understand Mach IPC at one of its lowest
+ application levels*.
+
+ * [*ipc-hello.c*](http://walfield.org/pub/people/neal/papers/hurd-misc/ipc-hello.c):
+ *Hello world à la mach ipc*.
+
- [Porting and Modifying the Mach 3.0 Microkernel](http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf)
- [An IO System for Mach](http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf)
diff --git a/microkernel/mach/gnu_mach.mdwn b/microkernel/mach/gnu_mach.mdwn
new file mode 100644
index 00000000..19e1ea53
--- /dev/null
+++ b/microkernel/mach/gnu_mach.mdwn
@@ -0,0 +1,80 @@
+[[meta copyright="Copyright © 2001, 2002, 2007, 2008 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]]."]]"""]]
+
+GNU Mach is the microkernel that the [[GNU_Hurd|hurd]] system is based on.
+
+It is maintained by the Hurd developers for the GNU project and remains
+compatible with [[Mach]] 3.0.
+
+The majority of GNU Mach's [[device_driver]]s are from Linux 2.0. They were
+added using glue code, i.e., a Linux [[emulation]] layer in Mach.
+
+GNU Mach runs on x86 machines. See the
+[[hardware_compatibility_list]] and information about
+[[ports]] to other architectures.
+
+
+# Advantages of GNU Mach
+
+GNU Mach is not the most advanced [[microkernel]] known to the planet, nor is
+it the fastest or smallest, but it has a rich set of [[interface]]s and some
+features which make it useful as the base of the [[Hurd]] system.
+
+ * **it's free software**
+
+ Anybody can use, modify, and redistribute it under the terms of the
+ [[GNU_General_Public_License_(GPL)|gpl]].
+
+ * **it's built to survive**
+
+ As a [[microkernel]], GNU Mach doesn't implement a lot of the features
+ commonly found in an operating system, but only the bare minimum that is
+ required to implement a full operating system on top of it. This means
+ that a lot of the operating system code is maintained outside of GNU Mach,
+ and while this code may go through a complete redesign, the code of the
+ microkernel can remain comparatively stable.
+
+ * **it's scalable**
+
+ Mach is particularly well suited for SMP and network cluster techniques.
+ Thread support is provided at the kernel level, and the kernel itself takes
+ advantage of that. Network transparency at the [[IPC]] level makes
+ resources of the system available across machine boundaries (with NORMA
+ IPC, currently not available in GNU Mach).
+
+ * **it exists**
+
+ The Mach microkernel is real software that works Right Now. It is not a
+ research or a proposal. You don't have to wait at all before you can start
+ using and developing it. Mach has been used in many operating systems in
+ the past, usually as the base for a single UNIX server. In the GNU system,
+ Mach is the base of a functional multi-server operating system, the
+ [[Hurd]].
+
+
+# Booting
+
+To actually use the kernel and boot the GNU operating system, you need a boot
+loader. Not all boot loaders are capable to boot the GNU system, you need one
+that supports the multiboot standard. The bootloader of the GNU system is
+[[GNU_GRUB|grub]], which supports a broad range of operating systems including
+GNU/Hurd.
+
+
+# Development
+
+ * [[Reference_Manual]]
+ * [[Building]]
+ * [[Debugging]]
+ * [[Boot_Trace]]
+ * [[Projects]]
+ * [[Rules]]
+ * [[Open_Issues]]
diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnu_mach/boot_trace.mdwn
index a08384f0..a08384f0 100644
--- a/microkernel/mach/gnumach/boot_trace.mdwn
+++ b/microkernel/mach/gnu_mach/boot_trace.mdwn
diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn
index 27573b64..014d3e87 100644
--- a/microkernel/mach/gnumach/building.mdwn
+++ b/microkernel/mach/gnu_mach/building.mdwn
@@ -1,9 +1,9 @@
Additional to the following text, a further [[example]] has be posted.
-# Building [[GNUMach]] from Source
+# Building [[GNU_Mach]] from Source
-If you want to build the [[GNUMach]] kernel yourself instead of just using a
+If you want to build the [[GNU_Mach]] kernel yourself instead of just using a
pre-built binary, follow these instructions.
The unpacked source tree is around 20 MiB, and the build tree (with all drivers
@@ -13,7 +13,7 @@ enabled) is around 50 MiB.
### Developers's RCS
-See [here](http://www.gnu.org/software/hurd/gnumach-download.html#cvs).
+See <http://savannah.gnu.org/cvs/?group=hurd>.
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach
@@ -47,7 +47,7 @@ package:
Apart from the case that you only want to install GNU Mach's header files (see
below), building GNU Mach requires you to have the Mach Interface Generator
-installed. See [[building_MIG|mig/building]] about how to do that, then come
+installed. See [[building_MIG|mig/gnu_mig/building]] about how to do that, then come
back here.
Additionally, building GNU Mach requires a C compiler, a standard C library and
@@ -65,7 +65,7 @@ Start the build process with
$ dpkg-buildpackage -us -uc -b -rfakeroot
-[[GNUMach]] is now building. To use the new kernel, you must install the
+[[GNU_Mach]] is now building. To use the new kernel, you must install the
resulting `.deb` package which is located one directory above the build
directory and has a similar name as the build directory, e.g.
diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnu_mach/building/example.mdwn
index 6da05c5b..6da05c5b 100644
--- a/microkernel/mach/gnumach/building/example.mdwn
+++ b/microkernel/mach/gnu_mach/building/example.mdwn
diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnu_mach/debugging.mdwn
index fa2a9d42..fa2a9d42 100644
--- a/microkernel/mach/gnumach/debugging.mdwn
+++ b/microkernel/mach/gnu_mach/debugging.mdwn
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn
index 09882467..09882467 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn
+++ b/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn
diff --git a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn
index 69ca3190..69ca3190 100644
--- a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn
+++ b/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn
diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnu_mach/open_issues.mdwn
index 433ec3ef..433ec3ef 100644
--- a/microkernel/mach/gnumach/open_issues.mdwn
+++ b/microkernel/mach/gnu_mach/open_issues.mdwn
diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnu_mach/ports.mdwn
index 00cdee8c..00cdee8c 100644
--- a/microkernel/mach/gnumach/ports.mdwn
+++ b/microkernel/mach/gnu_mach/ports.mdwn
diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnu_mach/ports/xen.mdwn
index c492d9a0..c492d9a0 100644
--- a/microkernel/mach/gnumach/ports/xen.mdwn
+++ b/microkernel/mach/gnu_mach/ports/xen.mdwn
diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnu_mach/ports/xen/internals.mdwn
index 09e707ea..09e707ea 100644
--- a/microkernel/mach/gnumach/ports/xen/internals.mdwn
+++ b/microkernel/mach/gnu_mach/ports/xen/internals.mdwn
diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn
index 71a72bac..71a72bac 100644
--- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn
+++ b/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn
diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnu_mach/projects.mdwn
index 9ace6270..9ace6270 100644
--- a/microkernel/mach/gnumach/projects.mdwn
+++ b/microkernel/mach/gnu_mach/projects.mdwn
diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn
index 875bb8cd..875bb8cd 100644
--- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn
+++ b/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn
diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn
index 9a11a82b..9a11a82b 100644
--- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn
+++ b/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn
diff --git a/microkernel/mach/gnu_mach/reference_manual.mdwn b/microkernel/mach/gnu_mach/reference_manual.mdwn
new file mode 100644
index 00000000..225ab176
--- /dev/null
+++ b/microkernel/mach/gnu_mach/reference_manual.mdwn
@@ -0,0 +1,26 @@
+[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
+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]]."]]"""]]
+
+*The GNU Mach Reference Manual* documents the architecture, the usage and the
+programming of the GNU Mach microkernel. At the moment, the manual documents
+the interface completely, but is not very useful as a tutorial or introduction
+into the Mach architecture.
+
+ * [HTML version](http://www.gnu.org/software/hurd/gnumach-doc/index.html)
+ for browsing online,
+ * [PostScript
+ version](http://www.gnu.org/software/hurd/gnumach-doc/mach.ps) [around
+ 900KiB],
+ * [gzipped PostScript
+ version](http://www.gnu.org/software/hurd/gnumach-doc/mach.ps.gz)
+ [around 300KiB],
+ * [PDF version](http://www.gnu.org/software/hurd/gnumach-doc/mach.pdf)
+ [around 700KiB].
diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn
deleted file mode 100644
index d45549f5..00000000
--- a/microkernel/mach/gnumach.mdwn
+++ /dev/null
@@ -1,30 +0,0 @@
-[[meta copyright="Copyright © 2007, 2008 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]]."]]"""]]
-
-GNU Mach is currently used by the GNU [[Hurd]].
-
-GNU Mach remains compatible with [[Mach]] 3.0.
-
-The majority of GNU Mach's [[device_driver]]s are from Linux 2.0. They were
-added using glue code, i.e., a Linux [[emulation]] layer in Mach.
-
-GNU Mach runs on x86 machines. See the
-[[hardware_compatibility_list]] and information about
-[[ports]] to other architectures.
-
-
-# Development
-
-* [[Building]]
-* [[Debugging]]
-* [[Boot_Trace]]
-* [[Projects]]
- * [[Rules]]
- * [[Open_Issues]]
diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn
deleted file mode 100644
index 8c67e3e0..00000000
--- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn
+++ /dev/null
@@ -1,11 +0,0 @@
-[[meta copyright="Copyright © 2007, 2008 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 redir=hardware_compatibility_list]]
diff --git a/microkernel/mach/history.mdwn b/microkernel/mach/history.mdwn
index a8951737..8f4b528b 100644
--- a/microkernel/mach/history.mdwn
+++ b/microkernel/mach/history.mdwn
@@ -41,7 +41,7 @@ Meanwhile, OSKit became unmaintained, thus posing more of a burden on than being
In 2005 Gianluca Guida started a different attempt to use the osenv interface with minimal changes to GNU Mach 1.x, thus allowing use of the generic driver interface while importing as little of the umaintained OSKit code as possible. However, there turned out to be serious problems with OSKit, so this attempt was abandoned as well.
Today, GNU Mach development focuses on the 1.x branch again -- see also this
-list of [[gnumach/projects]].
+list of [[gnu_mach/projects]].
# <a name="Status_of_the_project"> Status of the project </a>
diff --git a/microkernel/mach/logo.png b/microkernel/mach/logo.png
deleted file mode 100644
index 94951acf..00000000
--- a/microkernel/mach/logo.png
+++ /dev/null
Binary files differ
diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn
index c620420a..eb1c0906 100644
--- a/microkernel/mach/mig.mdwn
+++ b/microkernel/mach/mig.mdwn
@@ -1,13 +1,22 @@
-[[img logo.png]]
+[[meta copyright="Copyright © 2001, 2002, 2003, 2006, 2007, 2008 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]]."]]"""]]
The Mach Interface Generator (MIG) is an [[IDL]] compiler. Based on an
interface definition, it creates stubs to [[invoke]] object methods
and to demultiplex incoming messages. These stubs conveniently hide
-the details of Mach's [[IPC]] machinery.
-
-GNU MIG is fully compatible with OSF MIG.
+the details of Mach's [[IPC]] machinery and make it easy to implement
+and use Mach [[interface]]s as [[remote_procedure_calls_(RPC)|rpc]].
-* MIG's [homepage](http://www.gnu.org/software/hurd/mig.html)
* [[Documentation]]
-* [[Building]] - Building (and obtaining) MIG
-* [[Open_Issues]]
+
+# Implementations
+
+ * [[GNU_MIG]]
diff --git a/microkernel/mach/mig/discussion.mdwn b/microkernel/mach/mig/discussion.mdwn
deleted file mode 100644
index fdab3a45..00000000
--- a/microkernel/mach/mig/discussion.mdwn
+++ /dev/null
@@ -1,17 +0,0 @@
-Created
-
--- [[Main/JoachimNilsson]] - 29 Oct 2002
-
-The logo seems very programmer friendly as this web topic is intended.
-
--- [[Main/GrantBow]] - 15 Nov 2002
-
-There's little traffic here and little content. Perhaps we should just remove this web? It seemed like a good idea to create it when we split the others off...
-
--- [[Main/GrantBow]] - 22 Dec 2002
-
-Maybe, but not yet. Let's keep it for a while longer - say, three months. 1st April 2003. If the traffic still is low then we move the Mig topics to the Mach web ...
-
-...Mig = **Mach** Interface Generator.
-
--- [[Main/JoachimNilsson]] - 22 Dec 2002
diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn
index 8c977e55..a0bbbe14 100644
--- a/microkernel/mach/mig/documentation.mdwn
+++ b/microkernel/mach/mig/documentation.mdwn
@@ -66,8 +66,7 @@ pp. 67--77."
# Further Relevant Documentation
- * The [GNU Mach Reference
- Manual](http://www.gnu.org/software/hurd/docs.html#manuals), espacially
+ * The [[GNU_Mach_Reference_Manual|gnu_mach/reference_manual]], espacially
[Chapter 4, Inter Process
Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html),
which, for example, explains how the <a name="dealloc">`dealloc` flag</a>
diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn
new file mode 100644
index 00000000..4f5fb5c8
--- /dev/null
+++ b/microkernel/mach/mig/gnu_mig.mdwn
@@ -0,0 +1,24 @@
+[[meta copyright="Copyright © 2001, 2006, 2008 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]]."]]"""]]
+
+GNU MIG is the GNU distribution of the
+[[Mach_3.0_interface_generator_*MIG*|mig]], as maintained by the GNU Hurd
+developers for the GNU project.
+
+You need this tool to compile the GNU Mach and GNU Hurd distributions, and to
+compile the GNU C library for the Hurd. Also, you will need it for other
+software in the GNU system that uses Mach-based
+[[inter-process_communication|ipc]].
+
+GNU MIG is fully compatible with [[OSF_MIG|mig]].
+
+ * [[Building]] - building (and obtaining) GNU MIG
+ * [[Open_Issues]]
diff --git a/microkernel/mach/mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn
index ee299166..8b553b6b 100644
--- a/microkernel/mach/mig/building.mdwn
+++ b/microkernel/mach/mig/gnu_mig/building.mdwn
@@ -4,7 +4,8 @@ If you want to build the Mach Interface Generator yourself instead of just using
## <a name="Getting_the_Source_Code"> Getting the Source Code </a>
-You can chose between getting the [sources from the developers's rcs](http://www.gnu.org/software/hurd/mig-download.html#cvs):
+You can chose between getting the [sources from the developers'
+RCS](http://savannah.gnu.org/cvs/?group=hurd):
$ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig
@@ -12,7 +13,7 @@ You can chose between getting the [sources from the developers's rcs](http://www
$ apt-get source mig
-Please see the Debian [[running/debian/FAQ]] before using _apt-get source_.
+Please see the Debian [[hurd/running/debian/FAQ]] before using _apt-get source_.
The unpacked source tree is around 1 MiB, and the build tree also is around 1 MiB.
@@ -29,7 +30,8 @@ Building the Mach Interface Generator requires the _build-essential_ and _fakero
Building the Mach Interface Generator requires a C compiler, a standard C library (with corresponding header files) and your favourite flavor of awk (gawk), yacc (bison), lex (flex) and make.
-Additionally, you need to have GNU Mach's header files installed. See [[mach/gnumach/building]] about how to do that, then come back here.
+Additionally, you need to have GNU Mach's header files installed. See
+[[mach/gnu_mach/building]] about how to do that, then come back here.
## <a name="Building_and_Installing"> Building and Installing </a>
diff --git a/microkernel/mach/mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
index 2d870695..7a6233da 100644
--- a/microkernel/mach/mig/open_issues.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn
@@ -13,7 +13,8 @@ is included in the section entitled
This is a dumping ground for open issues for GNU MIG.
[[inline
-pages="microkernel/mach/mig/open_issues/* and !*/discussion"
+pages="microkernel/mach/mig/gnu_mig/open_issues/* and !*/discussion"
show=0
actions=yes
-rootpage="microkernel/mach/mig/open_issues" postformtext="Add a new item titled:"]]
+rootpage="microkernel/mach/mig/gnu_mig/open_issues"
+postformtext="Add a new item titled:"]]
diff --git a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
index 93347759..93347759 100644
--- a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn
+++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn
diff --git a/microkernel/mach/mig/logo.png b/microkernel/mach/mig/logo.png
deleted file mode 100644
index cdfec179..00000000
--- a/microkernel/mach/mig/logo.png
+++ /dev/null
Binary files differ