From f0c11adc922e8e646c0f64959aadf41bfed03031 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 20 Sep 2007 16:02:14 +0000 Subject: web commit by steevithak: add section for hardware success/failure reports --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 078b5a31..734118e1 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -59,3 +59,18 @@ SATA drives work in compatibility mode. Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) contains a list of device drivers that are included in GNU Mach and elaborates on the hardware devices they support. + +# User Success Reports + +These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. + +* ASUS P2B motherboard with an Intel PII 450MHz CPU +* Intel SE-440BX motherboard + +# User Failure Reports + +These boards or hardware combination are known to fail with gnumach/Hurd. + +* ASUS P5A motherboard and AMD K6-2 333MHz CPU - Debian GNU/Hurd will install but not boot on this board +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC and working 3COM Etherlink III nic in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is know to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is unable to ignore the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates continous streams of eth0 and eth1 reset messages on the console that render the system unusable. + -- cgit v1.2.3 From 2baf3992eb99a20bad1894828e642541e74d41c2 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 20 Sep 2007 16:14:25 +0000 Subject: web commit by steevithak: added ieee 1394 section --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 734118e1..4b92c240 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -44,14 +44,19 @@ card will only be supported by the VESA driver. No sound cards are supported at this time. -# USB +# USB 1.1/2.0 -USB is not support at this time. +USB is not supported at this time. + +# IEEE 1394 (Firewire) + +IEEE 1394 is not support at this time # Storage -IDE drives are known to work. -SATA drives work in compatibility mode. +Most IDE drives are known to work. Some drive geometries do not work. If you find a specific IDE drive that does not work, make a note of the model and technical specifications here. + +SATA drives may work in compatibility mode. # Device Drivers -- cgit v1.2.3 From 121c11701c5fffccd3d020635375e1084b4c64c1 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 20 Sep 2007 16:16:54 +0000 Subject: web commit by steevithak --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 4b92c240..f5f9fda5 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -50,7 +50,7 @@ USB is not supported at this time. # IEEE 1394 (Firewire) -IEEE 1394 is not support at this time +IEEE 1394 is not supported at this time # Storage -- cgit v1.2.3 From a10cd6d3d0446b84e0f306ffa47550387d217ef8 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 20 Sep 2007 16:23:21 +0000 Subject: web commit by steevithak --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index f5f9fda5..b043b233 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -77,5 +77,5 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these These boards or hardware combination are known to fail with gnumach/Hurd. * ASUS P5A motherboard and AMD K6-2 333MHz CPU - Debian GNU/Hurd will install but not boot on this board -* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC and working 3COM Etherlink III nic in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is know to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is unable to ignore the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates continous streams of eth0 and eth1 reset messages on the console that render the system unusable. +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous streams of eth0 and eth1 reset messages on the console that renders the system unusable. -- cgit v1.2.3 From bd30e648de23de61bce95601b3e32d5b1a27a96f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 20 Sep 2007 19:10:49 +0200 Subject: Rework copyright assignment procedure. Move the copyright assignment text out of the wiki pages and instead make it part of the web-editing page's template. Update text as per suggestions of Richard M. Stallman (private email, 2007-09). --- .templates/editpage.tmpl | 18 ++++++++++++++++++ HowToContributeToThisWiki.mdwn | 7 ------- Hurd/HurdNames.mdwn | 7 ------- Hurd/TheGnuHurd.mdwn | 7 ------- abac.mdwn | 7 ------- asbestos.mdwn | 7 ------- capability.mdwn | 7 ------- confused_deputy.mdwn | 7 ------- designation.mdwn | 7 ------- destructive_interference.mdwn | 7 ------- empty_page.mdwn | 22 +++++++++------------- extensibility.mdwn | 7 ------- hurd/authentication.mdwn | 7 ------- hurd/concepts.mdwn | 7 ------- hurd/contributing.mdwn | 7 ------- hurd/critique.mdwn | 7 ------- hurd/debugging.mdwn | 7 ------- hurd/debugging/gdb.mdwn | 7 ------- hurd/debugging/gdb/noninvasive_debugging.mdwn | 7 ------- hurd/debugging/hurd.mdwn | 7 ------- hurd/debugging/rpctrace.mdwn | 7 ------- hurd/gettinghelp.mdwn | 7 ------- hurd/history.mdwn | 7 ------- hurd/hurd_hacking_guide.mdwn | 7 ------- hurd/libpager.mdwn | 7 ------- hurd/neighborhurd.mdwn | 7 ------- hurd/running.mdwn | 7 ------- hurd/running/debian/DebianAptOffline.mdwn | 7 ------- hurd/subhurd.mdwn | 7 ------- hurd/translator.mdwn | 7 ------- hurd/virtual_file_system.mdwn | 7 ------- ibac.mdwn | 7 ------- idl.mdwn | 7 ------- ipc.mdwn | 7 ------- isolation.mdwn | 7 ------- liedtke.mdwn | 7 ------- local.css | 7 +++++++ mechanism.mdwn | 7 ------- microkernel.mdwn | 7 ------- microkernel/for_beginners.mdwn | 7 ------- microkernel/mach/documentation.mdwn | 7 ------- microkernel/mach/external_pager_mechanism.mdwn | 7 ------- microkernel/mach/gnumach.mdwn | 7 ------- .../mach/gnumach/hardwarecompatibilitylist.mdwn | 7 ------- microkernel/mach/gnumach/ports.mdwn | 7 ------- microkernel/mach/ipc.mdwn | 7 ------- microkernel/mach/ipc/sequence_numbering.mdwn | 7 ------- microkernel/mach/port.mdwn | 7 ------- microkernel/mach/rpc.mdwn | 7 ------- naming_context.mdwn | 7 ------- persistency.mdwn | 7 ------- policy.mdwn | 7 ------- principal.mdwn | 7 ------- rpc.mdwn | 7 ------- sfi.mdwn | 7 ------- sidebar.mdwn | 7 ------- tcb.mdwn | 7 ------- trust.mdwn | 7 ------- 58 files changed, 34 insertions(+), 398 deletions(-) (limited to 'microkernel') diff --git a/.templates/editpage.tmpl b/.templates/editpage.tmpl index cf4950ea..091bb8d3 100644 --- a/.templates/editpage.tmpl +++ b/.templates/editpage.tmpl @@ -57,6 +57,24 @@ Page type: Optional comment about this change:

+ + + diff --git a/HowToContributeToThisWiki.mdwn b/HowToContributeToThisWiki.mdwn index 2886945f..ac1244eb 100644 --- a/HowToContributeToThisWiki.mdwn +++ b/HowToContributeToThisWiki.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # How to Contribute to This Wiki diff --git a/Hurd/HurdNames.mdwn b/Hurd/HurdNames.mdwn index c4cacd0c..d73afd14 100644 --- a/Hurd/HurdNames.mdwn +++ b/Hurd/HurdNames.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [[toc ]] diff --git a/Hurd/TheGnuHurd.mdwn b/Hurd/TheGnuHurd.mdwn index 4b29c226..1107eb5f 100644 --- a/Hurd/TheGnuHurd.mdwn +++ b/Hurd/TheGnuHurd.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] The Hurd is GNU's replacement for the various UNIX and Linux kernels. diff --git a/abac.mdwn b/abac.mdwn index c71ea00a..21f13215 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] ABAC stands for authorization-based access control. diff --git a/asbestos.mdwn b/asbestos.mdwn index 074e0ae7..89af7c1c 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Asbestos is an operating system developed at MIT, Stanford diff --git a/capability.mdwn b/capability.mdwn index 06d3cf4a..34a18afe 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A capability is a protected reference. It is a reference in that diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn index 1f03194b..7dae5da6 100644 --- a/confused_deputy.mdwn +++ b/confused_deputy.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html) diff --git a/designation.mdwn b/designation.mdwn index 629ef7cd..30540ade 100644 --- a/designation.mdwn +++ b/designation.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] To designate is to name. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index 941da8a4..b6c80325 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Interference can be destructive or non-destructive. When a [[principal]] diff --git a/empty_page.mdwn b/empty_page.mdwn index a8f7e528..d71ef07e 100644 --- a/empty_page.mdwn +++ b/empty_page.mdwn @@ -6,22 +6,18 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use a free documentation license (as per our criteria of -free documentation) when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this line. -We put in the above copyright and licensing header so that we'll easily be able -to include the text you contribute in official GNU documentation, such as the -GNU Hurd manuals, etc. +By creating this page, you agree to assign copyright for your contribution to +the Free Software Foundation. The Free Software Foundation promises to always +use a free documentation license (as per our criteria of free documentation) +when publishing your contribution. We grant you back all your rights under +copyright, including the rights to copy, modify, and redistribute your +contributions. -If this is absolutely not what you want then please refrain from changing the -above licensing conditions, but instead simply send email to - and we'll work on finding a solution. +We're requiring these copyright assignments, so that we'll easily be able to +include your contributions in official GNU documentation, such as the GNU Hurd +manual, etc. Send email to if there are questions. diff --git a/extensibility.mdwn b/extensibility.mdwn index 80e9fbfc..6a12c812 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] An extensible system is one that enables extensibility. Enabling extensibility diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index 7ccd9b45..2b35ea14 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] UIDs on the Hurd are separate from processes. A process has diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn index dca95ed9..0a88d248 100644 --- a/hurd/concepts.mdwn +++ b/hurd/concepts.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] * [[Translator]] diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn index 819d354b..785cfa1a 100644 --- a/hurd/contributing.mdwn +++ b/hurd/contributing.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # Porting Applications diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index 56150df7..cc0c53dc 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn index 25686615..66175d13 100644 --- a/hurd/debugging.mdwn +++ b/hurd/debugging.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # Strategies diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn index 75474128..ca7d1783 100644 --- a/hurd/debugging/gdb.mdwn +++ b/hurd/debugging/gdb.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/) works on GNU/Hurd diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn index fc6653e7..a712cfa6 100644 --- a/hurd/debugging/gdb/noninvasive_debugging.mdwn +++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Sometimes using [[GDB]] on a system server can result in a [[deadlock]]. You diff --git a/hurd/debugging/hurd.mdwn b/hurd/debugging/hurd.mdwn index 6d0d99aa..b759df22 100644 --- a/hurd/debugging/hurd.mdwn +++ b/hurd/debugging/hurd.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Say you want to try running file system server (*[[translator/ext2fs]]*, diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn index c2aabc42..6590431d 100644 --- a/hurd/debugging/rpctrace.mdwn +++ b/hurd/debugging/rpctrace.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] *rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index b3bbcbf6..59e76b99 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # Essential Documentation diff --git a/hurd/history.mdwn b/hurd/history.mdwn index 1b45d25f..ce4cf9fd 100644 --- a/hurd/history.mdwn +++ b/hurd/history.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] History 1997-2003 diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index 91b33bcf..c7ac9ba8 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Originally written by Wolfgang Jährling, the [Hurd Hacking Guide](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn index 1261150c..ed2fa7bb 100644 --- a/hurd/libpager.mdwn +++ b/hurd/libpager.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Mach's [[microkernel/mach/external_pager_mechanism]]. diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn index 5aee0a10..b1082f6b 100644 --- a/hurd/neighborhurd.mdwn +++ b/hurd/neighborhurd.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] It is possible to run multiple instances of the Hurd diff --git a/hurd/running.mdwn b/hurd/running.mdwn index f8a516bd..c631123d 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] * [[Distrib]] - Distributions based on the Hurd diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index 52313bf2..8ef52824 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -5,13 +5,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 5256a70b..42b714a4 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 645f05ca..f6c08505 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A translator is simply a normal program acting as diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index 33e4f8a7..941a10ad 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Path names are resolved using a distributed protocol. diff --git a/ibac.mdwn b/ibac.mdwn index 4aa4f70e..39ac5ebf 100644 --- a/ibac.mdwn +++ b/ibac.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] IBAC stands for identity-based access control. diff --git a/idl.mdwn b/idl.mdwn index 2086bfea..64359e93 100644 --- a/idl.mdwn +++ b/idl.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] An IDL is an interface definition language. The most well-known is diff --git a/ipc.mdwn b/ipc.mdwn index 2123fec8..e019645e 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] IPC stands for interprocess communication. diff --git a/isolation.mdwn b/isolation.mdwn index 67e2f61f..dc0921aa 100644 --- a/isolation.mdwn +++ b/isolation.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] When two [[principal]]s cannot affect each other, they are said to diff --git a/liedtke.mdwn b/liedtke.mdwn index 1c573afe..7114f098 100644 --- a/liedtke.mdwn +++ b/liedtke.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Liedtke is the father of [[microkernel/L4]]. diff --git a/local.css b/local.css index f099514a..24a8df70 100644 --- a/local.css +++ b/local.css @@ -60,6 +60,13 @@ pre + * font-size: small; } +/* Used in `.templates/editpage.tmpl'. +#copyright_assignment_notice +{ + background-color: #f0f0f0; + font-size: small; +} + /* Variable width. */ #sidebar diff --git a/mechanism.mdwn b/mechanism.mdwn index 16dfc641..ab01ae9b 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] The Collaborative International Dictionary of English v.0.48 diff --git a/microkernel.mdwn b/microkernel.mdwn index 56268b61..b2c0f059 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn index 24daf290..b4ea13c8 100644 --- a/microkernel/for_beginners.mdwn +++ b/microkernel/for_beginners.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # Concepts diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index bb91313c..fe9c619b 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] - OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 169745fb..cdb299f1 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Mach provides a so-called external pager [[mechanism]]. This diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 561c3742..bc3ef8d8 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] GNU Mach is currently used by the GNU [[Hurd]]. diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index b043b233..08f7f805 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] # CPU Architecture diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 89651d72..63be1b92 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index c493174c..1fe37496 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [[General_information|/ipc]] about IPC. diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index 3aff669d..fdbde7a0 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Mach's [[IPC]] mechanism allows for getting access to a message's sequence diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index 5dcc9ba3..3e0d3530 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Mach ports are [[capabilities|capability]]. diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index c315fa4e..7b2a9e30 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] [[General_information|/rpc]] about RPC. diff --git a/naming_context.mdwn b/naming_context.mdwn index be041211..4a15651f 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] Names are bindings to objects, however, to find an object diff --git a/persistency.mdwn b/persistency.mdwn index e9d0a248..abbf0c02 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A persistent object is an object that survives reboot. diff --git a/policy.mdwn b/policy.mdwn index 7135ddf0..4b8b8371 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A policy is a rule that define what may or may not happens, not diff --git a/principal.mdwn b/principal.mdwn index f2a23ae2..9cf90942 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] A principal is an accountable entity. A principal may be diff --git a/rpc.mdwn b/rpc.mdwn index 717a2d60..829d2967 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] RPC stands for remote procedure call. diff --git a/sfi.mdwn b/sfi.mdwn index 48daf15e..d236a6a6 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]] diff --git a/sidebar.mdwn b/sidebar.mdwn index 34995a8a..48990085 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] * **[[Home|/index]]** diff --git a/tcb.mdwn b/tcb.mdwn index 841b85fa..ef736efe 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] TCB stands for trusted computed base. Unqualified, the trusted diff --git a/trust.mdwn b/trust.mdwn index 96716f8d..4eee6a3d 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -6,13 +6,6 @@ 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.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. """]] The word trust is used in a number of contexts with different technical meanings. -- cgit v1.2.3 From 2804b6ebfdd7adbb08f89a057b053f43a67391bb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 21 Sep 2007 14:02:32 +0200 Subject: Switch pages to use the ``copyright'' and ``license'' facilities of ikiwiki's `meta' plugin. --- HowToContributeToThisWiki.mdwn | 16 +++++++--------- Hurd/HurdNames.mdwn | 16 +++++++--------- Hurd/TheGnuHurd.mdwn | 17 ++++++++--------- abac.mdwn | 16 +++++++--------- asbestos.mdwn | 16 +++++++--------- capability.mdwn | 16 +++++++--------- confused_deputy.mdwn | 16 +++++++--------- designation.mdwn | 16 +++++++--------- destructive_interference.mdwn | 16 +++++++--------- empty_page.mdwn | 16 +++++++--------- extensibility.mdwn | 16 +++++++--------- hurd/authentication.mdwn | 16 +++++++--------- hurd/concepts.mdwn | 16 +++++++--------- hurd/contributing.mdwn | 16 +++++++--------- hurd/critique.mdwn | 16 +++++++--------- hurd/debugging.mdwn | 16 +++++++--------- hurd/debugging/gdb.mdwn | 16 +++++++--------- hurd/debugging/gdb/noninvasive_debugging.mdwn | 16 +++++++--------- hurd/debugging/hurd.mdwn | 16 +++++++--------- hurd/debugging/rpctrace.mdwn | 16 +++++++--------- hurd/gettinghelp.mdwn | 16 +++++++--------- hurd/history.mdwn | 16 +++++++--------- hurd/hurd_hacking_guide.mdwn | 16 +++++++--------- hurd/libpager.mdwn | 16 +++++++--------- hurd/neighborhurd.mdwn | 16 +++++++--------- hurd/running.mdwn | 16 +++++++--------- hurd/running/debian/DebianAptOffline.mdwn | 15 +++++++-------- hurd/subhurd.mdwn | 16 +++++++--------- hurd/translator.mdwn | 16 +++++++--------- hurd/virtual_file_system.mdwn | 16 +++++++--------- ibac.mdwn | 16 +++++++--------- idl.mdwn | 16 +++++++--------- ipc.mdwn | 16 +++++++--------- isolation.mdwn | 16 +++++++--------- liedtke.mdwn | 16 +++++++--------- mechanism.mdwn | 16 +++++++--------- microkernel.mdwn | 16 +++++++--------- microkernel/for_beginners.mdwn | 16 +++++++--------- microkernel/fud.mdwn | 9 +++------ microkernel/mach/documentation.mdwn | 16 +++++++--------- microkernel/mach/external_pager_mechanism.mdwn | 16 +++++++--------- microkernel/mach/gnumach.mdwn | 16 +++++++--------- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 16 +++++++--------- microkernel/mach/gnumach/ports.mdwn | 16 +++++++--------- microkernel/mach/ipc.mdwn | 16 +++++++--------- microkernel/mach/ipc/sequence_numbering.mdwn | 16 +++++++--------- microkernel/mach/port.mdwn | 16 +++++++--------- microkernel/mach/rpc.mdwn | 16 +++++++--------- naming_context.mdwn | 16 +++++++--------- persistency.mdwn | 16 +++++++--------- policy.mdwn | 16 +++++++--------- principal.mdwn | 16 +++++++--------- rpc.mdwn | 16 +++++++--------- sfi.mdwn | 16 +++++++--------- sidebar.mdwn | 16 +++++++--------- tcb.mdwn | 16 +++++++--------- trust.mdwn | 16 +++++++--------- 57 files changed, 396 insertions(+), 509 deletions(-) (limited to 'microkernel') diff --git a/HowToContributeToThisWiki.mdwn b/HowToContributeToThisWiki.mdwn index ac1244eb..4086ed77 100644 --- a/HowToContributeToThisWiki.mdwn +++ b/HowToContributeToThisWiki.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # How to Contribute to This Wiki diff --git a/Hurd/HurdNames.mdwn b/Hurd/HurdNames.mdwn index d73afd14..1730c7bc 100644 --- a/Hurd/HurdNames.mdwn +++ b/Hurd/HurdNames.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [[toc ]] diff --git a/Hurd/TheGnuHurd.mdwn b/Hurd/TheGnuHurd.mdwn index 1107eb5f..bcae817c 100644 --- a/Hurd/TheGnuHurd.mdwn +++ b/Hurd/TheGnuHurd.mdwn @@ -1,12 +1,11 @@ -[[license text=""" -Copyright © 2001, 2002, 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2001, 2002, 2007 Free Software Foundation, +Inc."]] +[[meta license="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.txt]]."]] The Hurd is GNU's replacement for the various UNIX and Linux kernels. diff --git a/abac.mdwn b/abac.mdwn index 21f13215..e4486c10 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] ABAC stands for authorization-based access control. In this model, access is not granted based on the diff --git a/asbestos.mdwn b/asbestos.mdwn index 89af7c1c..f3c8d94a 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Asbestos is an operating system developed at MIT, Stanford and UCLA to explore information flow control policies. The motivation diff --git a/capability.mdwn b/capability.mdwn index 34a18afe..0e06a6d6 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A capability is a protected reference. It is a reference in that it designates an object; it is protected in that in cannot be diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn index 7dae5da6..01c3513a 100644 --- a/confused_deputy.mdwn +++ b/confused_deputy.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html) problem was articulated by Norm Hardy. It is a possible consequence diff --git a/designation.mdwn b/designation.mdwn index 30540ade..55037939 100644 --- a/designation.mdwn +++ b/designation.mdwn @@ -1,11 +1,9 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] To designate is to name. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index b6c80325..44e0855e 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Interference can be destructive or non-destructive. When a [[principal]] invokes an object (thereby requesting a service) and the implementation diff --git a/empty_page.mdwn b/empty_page.mdwn index d71ef07e..47464167 100644 --- a/empty_page.mdwn +++ b/empty_page.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this line. diff --git a/extensibility.mdwn b/extensibility.mdwn index 6a12c812..edfd78d2 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index 2b35ea14..7502aa7d 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] UIDs on the Hurd are separate from processes. A process has [[capabilities|capability]] designating so-called UID vectors that diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn index 0a88d248..f56af8f0 100644 --- a/hurd/concepts.mdwn +++ b/hurd/concepts.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] * [[Translator]] * [[Virtual_File_System]] diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn index 785cfa1a..9d07e740 100644 --- a/hurd/contributing.mdwn +++ b/hurd/contributing.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # Porting Applications diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index cc0c53dc..862e63ae 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled "[A Critique of the GNU Hurd Multi-Server Operating System](http://walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf)." diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn index 66175d13..5a825479 100644 --- a/hurd/debugging.mdwn +++ b/hurd/debugging.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # Strategies diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn index ca7d1783..02c66711 100644 --- a/hurd/debugging/gdb.mdwn +++ b/hurd/debugging/gdb.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/) works on GNU/Hurd systems as it does on other system, but has some additional [hurd-specific diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn index a712cfa6..63e970e2 100644 --- a/hurd/debugging/gdb/noninvasive_debugging.mdwn +++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Sometimes using [[GDB]] on a system server can result in a [[deadlock]]. You can however still use GDB by using the [`set diff --git a/hurd/debugging/hurd.mdwn b/hurd/debugging/hurd.mdwn index b759df22..f5c8bd34 100644 --- a/hurd/debugging/hurd.mdwn +++ b/hurd/debugging/hurd.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Say you want to try running file system server (*[[translator/ext2fs]]*, *[[translator/jfs]]*, ...) against a modified version of *[[libpager]]* and diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn index 6590431d..de85a8b7 100644 --- a/hurd/debugging/rpctrace.mdwn +++ b/hurd/debugging/rpctrace.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] *rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index 59e76b99..d7f96323 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # Essential Documentation diff --git a/hurd/history.mdwn b/hurd/history.mdwn index ce4cf9fd..9f442b93 100644 --- a/hurd/history.mdwn +++ b/hurd/history.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] History 1997-2003
Personal view of Marcus Brinkmann about Hurd development in 1997-2003. diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index c7ac9ba8..c7bdb135 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Originally written by Wolfgang Jährling, the [Hurd Hacking Guide](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) contains an overview of some of the Hurd's features. diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn index ed2fa7bb..b51b9efd 100644 --- a/hurd/libpager.mdwn +++ b/hurd/libpager.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Mach's [[microkernel/mach/external_pager_mechanism]]. diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn index b1082f6b..ac2939ec 100644 --- a/hurd/neighborhurd.mdwn +++ b/hurd/neighborhurd.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] It is possible to run multiple instances of the Hurd in parallel, on a single instance of Mach. Other than diff --git a/hurd/running.mdwn b/hurd/running.mdwn index c631123d..2be73078 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] * [[Distrib]] - Distributions based on the Hurd * [[microkernel/mach/gnumach/Xen]] - In Xen diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index 8ef52824..6d03be5a 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -1,11 +1,10 @@ -[[license text=""" -Copyright © 2005, 2007 Free Software Foundation, Inc. -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.txt]]. -"""]] +[[meta copyright="Copyright © 2005, 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 42b714a4..e976a5ff 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some resources provided by another Hurd. For instance, backing store and the diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index f6c08505..7656053b 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A translator is simply a normal program acting as an object server and participating in the Hurd's diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index 941a10ad..e39c7705 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Path names are resolved using a distributed protocol. No single entity is responsible for the resolution of diff --git a/ibac.mdwn b/ibac.mdwn index 39ac5ebf..91bd5274 100644 --- a/ibac.mdwn +++ b/ibac.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] IBAC stands for identity-based access control. In this access control scheme, access to a resource diff --git a/idl.mdwn b/idl.mdwn index 64359e93..bcaacdec 100644 --- a/idl.mdwn +++ b/idl.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] An IDL is an interface definition language. The most well-known is CORBA. An IDL compiler takes a specification and generates stubs diff --git a/ipc.mdwn b/ipc.mdwn index e019645e..09d8499c 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] IPC stands for interprocess communication. diff --git a/isolation.mdwn b/isolation.mdwn index dc0921aa..cd6c0eea 100644 --- a/isolation.mdwn +++ b/isolation.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] When two [[principal]]s cannot affect each other, they are said to be isolated from one another. Strictly speaking, if two principals diff --git a/liedtke.mdwn b/liedtke.mdwn index 7114f098..927b1d1e 100644 --- a/liedtke.mdwn +++ b/liedtke.mdwn @@ -1,11 +1,9 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Liedtke is the father of [[microkernel/L4]]. diff --git a/mechanism.mdwn b/mechanism.mdwn index ab01ae9b..e991a8b2 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] The Collaborative International Dictionary of English v.0.48 defines a mechanism as: diff --git a/microkernel.mdwn b/microkernel.mdwn index b2c0f059..21a826dc 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) that a microkernel attempts to minimize the mandatory part of the operating diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn index b4ea13c8..f31111a7 100644 --- a/microkernel/for_beginners.mdwn +++ b/microkernel/for_beginners.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # Concepts diff --git a/microkernel/fud.mdwn b/microkernel/fud.mdwn index bc2e366b..68794e69 100644 --- a/microkernel/fud.mdwn +++ b/microkernel/fud.mdwn @@ -1,9 +1,6 @@ -[[license text=""" -Copyright © 2002 Wolfgang Jährling and Jeroen Dekkers - -Verbatim copying and distribution of this entire article is permitted in any -medium, provided this notice is preserved. -"""]] +[[meta copyright="Copyright © 2002 Wolfgang Jährling and Jeroen Dekkers"]] +[[meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] # The Microkernel Experiment is Going On diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index fe9c619b..ac9dd6ec 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] - OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - OSF's [Kernel Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index cdb299f1..2c917ff6 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2002, 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2002, 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Mach provides a so-called external pager [[mechanism]]. This mechanism serves to separate *managing memory* from *managing diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index bc3ef8d8..cfdb1a99 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] GNU Mach is currently used by the GNU [[Hurd]]. diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 08f7f805..cedccae6 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] # CPU Architecture diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 63be1b92..1aeb23f2 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. * Alpha. Was once started, but isn't in a usable state either. diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index 1fe37496..a6aef7c7 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [[General_information|/ipc]] about IPC. diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index fdbde7a0..78a49c1a 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Mach's [[IPC]] mechanism allows for getting access to a message's sequence number. diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index 3e0d3530..c572cfbb 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Mach ports are [[capabilities|capability]]. diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index 7b2a9e30..b2e04908 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] [[General_information|/rpc]] about RPC. diff --git a/naming_context.mdwn b/naming_context.mdwn index 4a15651f..5c2badb9 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] Names are bindings to objects, however, to find an object given a name, the relation must be looked up in a diff --git a/persistency.mdwn b/persistency.mdwn index abbf0c02..370cbadf 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A persistent object is an object that survives reboot. On Unix, files and directories are persistent but diff --git a/policy.mdwn b/policy.mdwn index 4b8b8371..e11720a5 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A policy is a rule that define what may or may not happens, not how it happens. The latter is referred to as [[mechanism]]. diff --git a/principal.mdwn b/principal.mdwn index 9cf90942..6092f967 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] A principal is an accountable entity. A principal may be a user. On some computer systems, users are represented by their diff --git a/rpc.mdwn b/rpc.mdwn index 829d2967..4da79eb9 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -1,11 +1,9 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] RPC stands for remote procedure call. diff --git a/sfi.mdwn b/sfi.mdwn index d236a6a6..a3a78832 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]] technique described by Wahbe et al. in their 1993 paper [Effcient diff --git a/sidebar.mdwn b/sidebar.mdwn index 48990085..34e23772 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] * **[[Home|/index]]** * **[[Community]]** diff --git a/tcb.mdwn b/tcb.mdwn index ef736efe..0dc4d2fb 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] TCB stands for trusted computed base. Unqualified, the trusted computing base referrers to the set of components programs diff --git a/trust.mdwn b/trust.mdwn index 4eee6a3d..d96f702f 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -1,12 +1,10 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -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.txt]]. -"""]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] The word trust is used in a number of contexts with different technical meanings. Sometimes it is used to confuse, for instance trusted computing is rarely about -- cgit v1.2.3 From 7e62bd286bb7539e24e837f973c4e4db7da6dbbf Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 21 Sep 2007 18:37:05 +0000 Subject: web commit by steevithak: fixed typos --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index cedccae6..27052bad 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -68,5 +68,5 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these These boards or hardware combination are known to fail with gnumach/Hurd. * ASUS P5A motherboard and AMD K6-2 333MHz CPU - Debian GNU/Hurd will install but not boot on this board -* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous streams of eth0 and eth1 reset messages on the console that renders the system unusable. +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. -- cgit v1.2.3 From 197263d381342d14ed383ea756d26fb5f7439b0e Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 21 Sep 2007 18:52:36 +0000 Subject: web commit by clearer --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 27052bad..1bf65297 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -69,4 +69,4 @@ These boards or hardware combination are known to fail with gnumach/Hurd. * ASUS P5A motherboard and AMD K6-2 333MHz CPU - Debian GNU/Hurd will install but not boot on this board * ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. - +* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Installs but does not boot. -- cgit v1.2.3 From 474d12ada29e83f8e914887a92a14925a1370faa Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 27 Sep 2007 19:29:22 +0000 Subject: web commit by mitrox --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 1bf65297..2dc599de 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -62,6 +62,7 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these * ASUS P2B motherboard with an Intel PII 450MHz CPU * Intel SE-440BX motherboard +* VIA EPIA-M Mini-ITX Motherboard with VIA Nehemiah C3 1Ghz processor. # User Failure Reports -- cgit v1.2.3 From 9eaa967fbe0c50bbeceaa8b05f4c05d5889467ba Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 27 Sep 2007 19:58:32 +0000 Subject: web commit by mitrox --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 2dc599de..9f3deb62 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -62,7 +62,7 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these * ASUS P2B motherboard with an Intel PII 450MHz CPU * Intel SE-440BX motherboard -* VIA EPIA-M Mini-ITX Motherboard with VIA Nehemiah C3 1Ghz processor. +* VIA EPIA-M Mini-ITX Motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC not working. Got networking with Realtek 8139 NIC plugged into single PCI slot. # User Failure Reports -- cgit v1.2.3 From a52304a6b9f6c872490c9150efd227fa73205048 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 27 Sep 2007 23:26:49 +0000 Subject: web commit by steevithak --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 9f3deb62..603b023d 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -60,7 +60,7 @@ on the hardware devices they support. These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. -* ASUS P2B motherboard with an Intel PII 450MHz CPU +* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot * Intel SE-440BX motherboard * VIA EPIA-M Mini-ITX Motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC not working. Got networking with Realtek 8139 NIC plugged into single PCI slot. -- cgit v1.2.3 From b423e8d16362e18fad301499556249c1c1456422 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 29 Sep 2007 11:07:45 +0000 Subject: web commit by mitrox --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 603b023d..e9e5bd87 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -62,7 +62,7 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these * ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot * Intel SE-440BX motherboard -* VIA EPIA-M Mini-ITX Motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC not working. Got networking with Realtek 8139 NIC plugged into single PCI slot. +* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. # User Failure Reports -- cgit v1.2.3 From bca93c85250dab863296780abf55c7105388fac4 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 3 Oct 2007 14:28:30 +0200 Subject: The port to Xen is a port. --- hurd/running.mdwn | 2 +- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 4 +++- microkernel/mach/gnumach/ports.mdwn | 2 ++ microkernel/mach/gnumach/ports/xen.mdwn | 17 +++++++++++++++++ microkernel/mach/gnumach/xen.mdwn | 17 ----------------- 5 files changed, 23 insertions(+), 19 deletions(-) create mode 100644 microkernel/mach/gnumach/ports/xen.mdwn delete mode 100644 microkernel/mach/gnumach/xen.mdwn (limited to 'microkernel') diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 2be73078..82b11b53 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -7,7 +7,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]."]] * [[Distrib]] - Distributions based on the Hurd -* [[microkernel/mach/gnumach/Xen]] - In Xen +* [[microkernel/mach/gnumach/ports/Xen]] - In Xen * [[LiveCD]] - Live CDs * [[QEMU]] - In QEMU * [[FlashHurd]] - From a flash stick diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index e9e5bd87..e0e7e4ea 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -15,7 +15,9 @@ on such a system won't succeed. Support for running GNU Mach (and a complete GNU/Hurd system) in a [Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` -only) is [[being_worked_on|xen]]. +only) is [[being_worked_on|ports/xen]]. + +Read about further [[ports]]. # Memory diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 1aeb23f2..47967d65 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -8,3 +8,5 @@ is included in the section entitled * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. * Alpha. Was once started, but isn't in a usable state either. + +* [[Xen]] diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn new file mode 100644 index 00000000..3d70b4f6 --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -0,0 +1,17 @@ +Note: since GNU Mach doesn't handle PAE, you need a PAE-disabled Hypervisor. + +- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. +- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap +- Run `xm create -c hurd`, gnumach should get started. +- If `xm` complains about networking, it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. + +If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. +Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. +Then use + + ./configure --enable-platform=xen + make + +Instead, you can get the binaries at . + +The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. diff --git a/microkernel/mach/gnumach/xen.mdwn b/microkernel/mach/gnumach/xen.mdwn deleted file mode 100644 index 3d70b4f6..00000000 --- a/microkernel/mach/gnumach/xen.mdwn +++ /dev/null @@ -1,17 +0,0 @@ -Note: since GNU Mach doesn't handle PAE, you need a PAE-disabled Hypervisor. - -- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. -- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap -- Run `xm create -c hurd`, gnumach should get started. -- If `xm` complains about networking, it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. - -If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. -Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -Then use - - ./configure --enable-platform=xen - make - -Instead, you can get the binaries at . - -The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. -- cgit v1.2.3 From 8b197fae7b7bb3bcb8cfe1c302e42ccd4e14097d Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 3 Oct 2007 12:57:21 +0000 Subject: web commit by tschwinge: Need glibc 2.6; comment by stesie. --- microkernel/mach/gnumach/ports/xen.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 3d70b4f6..e044941e 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -15,3 +15,4 @@ Then use Instead, you can get the binaries at . The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. +/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! -- cgit v1.2.3 From 496890f58e71fd8772045198cadb9b6e8f1fd21e Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 3 Oct 2007 13:27:35 +0000 Subject: web commit by tschwinge: Move link to the top. --- microkernel/mach/gnumach/ports/xen.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index e044941e..7b989de7 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,4 +1,6 @@ -Note: since GNU Mach doesn't handle PAE, you need a PAE-disabled Hypervisor. +/!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. + +You can either get binaries at or build them yourself. - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap @@ -12,7 +14,5 @@ Then use ./configure --enable-platform=xen make -Instead, you can get the binaries at . - The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. /!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! -- cgit v1.2.3 From c7990886446817b0f1f25777a881680afc272ba5 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 3 Oct 2007 13:31:54 +0000 Subject: web commit by tschwinge: Link to stesie's PAE-disabled Linux kernel image. --- microkernel/mach/gnumach/ports/xen.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 7b989de7..6c9577df 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,5 +1,9 @@ /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. +This also means that you'll currently need a PAE-disabled `dom0`. +Stefan Siegl is providing a PAE-disabled Linux kernel image at . + + You can either get binaries at or build them yourself. - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. -- cgit v1.2.3 From 93d0008eb7510e8c1e0583d20bb331fc87475ba9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 6 Oct 2007 22:36:20 +0200 Subject: Fix links to stesie's user page. --- community/meetings/fosdem_2006.mdwn | 2 +- community/meetings/fosdem_2007.mdwn | 2 +- community/meetings/fosdem_2008.mdwn | 2 +- community/meetings/rmll_2006.mdwn | 2 +- microkernel/mach/gnumach/ports/xen.mdwn | 3 ++- 5 files changed, 6 insertions(+), 5 deletions(-) (limited to 'microkernel') diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn index 3ad69e8a..a990cd3b 100644 --- a/community/meetings/fosdem_2006.mdwn +++ b/community/meetings/fosdem_2006.mdwn @@ -169,7 +169,7 @@ FOSDEM will take place on February 25th/26th at the Universit� Libre de Bruxel N/A - [[StefanSiegl]] + [[Stefan_Siegl|stesie]] yes Thu Mon diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn index 30d2867e..1f5c9018 100644 --- a/community/meetings/fosdem_2007.mdwn +++ b/community/meetings/fosdem_2007.mdwn @@ -38,7 +38,7 @@ Bruxelles. "[[RolandMcGrath]]","?","?","?","?" "[[SamuelThibault]]","yes","2007-02-24
10h17","2007-02-25
19h43","**yes**" "[[SoerenSchulze]]","yes","2007-02-23
20:03","2007-02-25","**yes**" -"[[StefanSiegl]]","yes","2007-02-22
12:10","2007-02-26
11:05","**yes**" +"[[Stefan_Siegl|stesie]]","yes","2007-02-22
12:10","2007-02-26
11:05","**yes**" "[[ThomasBushnell]]","?","?","?","?" "[[Thomas_Schwinge|tschwinge]]","yes","2007-02-22
12:10","2007-02-26
11:05","**yes**" "[[TimRetout]]","yes","2007-02-23
lunchtime","2007-02-25
evening","no" diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn index fce0034f..d71b5534 100644 --- a/community/meetings/fosdem_2008.mdwn +++ b/community/meetings/fosdem_2008.mdwn @@ -40,7 +40,7 @@ FOSDEM 2008 is still in planning, but is expected to take place on February "Roland McGrath","?","?","?","?" "[[Samuel_Thibault|SamuelThibault]]","?","?","?","?" "Soeren Schulze","?","?","?","?" -"Stefan Siegl","plans to go","?","?","?" +"[[Stefan_Siegl|stesie]]","plans to go","?","?","?" "Thomas Bushnell","?","?","?","?" "[[Thomas_Schwinge|tschwinge]]","plans to go","?","?","?" "Tim Retout","?","?","?","?" diff --git a/community/meetings/rmll_2006.mdwn b/community/meetings/rmll_2006.mdwn index 1655069e..e5b6a9f0 100644 --- a/community/meetings/rmll_2006.mdwn +++ b/community/meetings/rmll_2006.mdwn @@ -76,7 +76,7 @@ Dorms have to be reserved on as soon as possible. ? - [[StefanSiegl]] + [[Stefan_Siegl|stesie]] no n/a n/a diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 6c9577df..c20b6a09 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,7 +1,8 @@ /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. This also means that you'll currently need a PAE-disabled `dom0`. -Stefan Siegl is providing a PAE-disabled Linux kernel image at . +[[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at +. You can either get binaries at or build them yourself. -- cgit v1.2.3 From 47e0ddbf78de952850634de217fa079e63dd9524 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 17 Oct 2007 17:02:33 +0200 Subject: Some hints about debugging GNU Mach stuff. --- microkernel/mach/gnumach.mdwn | 7 +++-- microkernel/mach/gnumach/debugging.mdwn | 53 +++++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 microkernel/mach/gnumach/debugging.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index cfdb1a99..16ed602a 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -10,15 +10,16 @@ GNU Mach is currently used by the GNU [[Hurd]]. GNU Mach remains compatible with Mach 3.0. -The majority of GNU Mach's device drivers are from Linux 2.0. They were -added using glue code, i.e., a Linux emulation layer in Mach. +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|hardwarecompatibilitylist]] and information about [[ports]] to other architectures. -# Related Links +# Development * [[Building]] +* [[Debugging]] * [[RevivalProject]] - GNU Mach Projects diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn new file mode 100644 index 00000000..7f4fc6ad --- /dev/null +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -0,0 +1,53 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] + +Mach has a built-in kernel debugger. +[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). + + +When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly +[use GDB on the running +kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). + + +Alternatively you can use an approach like this one: add the following code +snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top +of the function, and modify the code as needed. + + void D (char *s) + { + switch (s[0] - '0') + { + case 0: + printf ("Hello from %s!\n", __FUNCTION__); + break; + case 1: + printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__); + extern void task_collect_scan (void); + task_collect_scan (); + break; + default: + printf ("No idea what you want me to do.\n"); + break; + } + } + + if (name && name[0] == 'D') + D (name + 1); + +Then boot your system and do something like this: + + # devprobe D0 + Hello from D! + # devprobe D1 + D: Invoking task_collect_scan. + # devprobe D2 + No idea what you want me to do. + +This is especially useful if you need to manually trigger some stuff inside the +running kernel, as with the *D1* example. -- cgit v1.2.3 From 47d7a43e48660e7f66de1e447093eb48ada53c9f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 12:55:47 +0200 Subject: Add document by tschwinge containing a trace how the system is booted. --- microkernel/mach/gnumach/boot_trace.mdwn | 191 +++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 microkernel/mach/gnumach/boot_trace.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn new file mode 100644 index 00000000..138f62cc --- /dev/null +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -0,0 +1,191 @@ +* System Boot Up + +** i386/i386at/boothdr.S: _start + +** i386/i386at/boothdr.S: boot_entry + +*** i386/i386at/model_dep.c: c_boot_entry + +**** i386/i386at/boothdr.S: discover_x86_cpu_type + +**** i386/i386at/model_dep.c: i386at_init + +***** i386/i386/pic.c: picinit + +***** i386/i386at/model_dep.c: mem_size_init + +***** i386/intel/pmap.c: pmap_bootstrap + +***** i386/i386/gdt.c: gdt_init + +***** i386/i386/idt.c: idt_init + +***** i386/i386at/int_init.c: int_init + +***** i386/i386/ldt.c: ldt_init + +***** i386/i386/ktss.c: ktss_init + +**** kern/startup.c: setup_main + +***** kern/debug.c: panic_init + +***** kern/printf.c: printf_init + +***** kern/sched_prim.c: sched_init + +****** kern/sched_prim.c: wait_queue_init + +****** kern/processor.c: pset_sys_bootstrap + +****** kern/ast.c: ast_init + +***** vm/vm_init.c: vm_mem_bootstrap + +****** vm/vm_resident.c: vm_page_bootstrap + +******* vm/vm_resident.c: pmap_startup + +****** kern/zalloc.c: zone_bootstrap + +****** vm/vm_object.c: vm_object_bootstrap + +******* vm/vm_external.c: vm_external_module_initialize + +****** vm/vm_map.c: vm_map_init + +****** vm/vm_kern.c: kmem_init + +****** i386/intel/pmap.c: pmap_init + +****** kern/zalloc.c: zone_init + +****** kern/kalloc.c: kalloc_init + +****** vm/vm_fault.c: vm_fault_init + +****** vm/vm_resident.c: vm_page_module_init + +****** vm/memory_object.c: memory_manager_default_init + +***** ipc/ipc_init.c: ipc_bootstrap + +****** ipc/ipc_table.c: ipc_table_init + +****** ipc/ipc_notify.c: ipc_notify_init + +****** ipc/ipc_hash.c: ipc_hash_init + +****** ipc/ipc_marequest.c: ipc_marequest_init + +***** vm/vm_init.c: vm_mem_init + +****** vm/vm_object.c: vm_object_init + +***** ipc/ipc_init.c: ipc_init + +****** kern/ipc_host.c: ipc_host_init + +******* kern/ipc_host.c: ipc_pset_init + +******* kern/ipc_host.c: ipc_pset_enable + +******* kern/ipc_host.c: ipc_processor_init + +***** i386/intel/pmap.h: PMAP_ACTIVATE_KERNEL + +***** kern/timer.c: init_timers + +***** kern/mach_clock.c: init_timeout + +***** kern/xpr.c: xprbootstrap + +***** kern/time_stamp.c: timestamp_init + +***** kern/mach_clock.c: mapable_time_init + +***** i386/i386at/model_dep.c: machine_init + +****** device/cons.c: cninit + +****** i386/i386/fpu.c: init_fpu + +****** linux/dev/init/main.c: linux_init + +******* linux/dev/arch/i386/kernel/irq.c: init_IRQ + +******** linux/dev/arch/i386/kernel/irq.c: reserve_mach_irqs + +******* linux/dev/kernel/sched.c: linux_sched_init + +******* linux/dev/init/main.c: calibrate_delay + +******* linux/dev/glue/kmem.c: linux_kmem_init + +******* linux/src/drivers/pci/pci.c: pci_init + +******** linux/src/arch/i386/kernel/bios32.c: pcibios_init + +******** linux/src/drivers/pci/pci.c: scan_bus + +******** linux/src/arch/i386/kernel/bios32.c: pcibios_fixup + +******* linux/dev/glue/net.c: linux_net_emulation_init + +******* linux/dev/drivers/block/genhd.c: device_setup + +******** linux/dev/glue/block.c: blk_dev_init + +********* linux/src/drivers/block/ide.c: ide_init + +********* linux/dev/drivers/block/floppy.c: floppy_init + +******** linux/src/drivers/scsi/scsi.c: scsi_dev_init + +******** linux/dev/net/core/dev.c: net_dev_init + +******* linux/pcmcia-cs/glue/pcmcia.c: pcmcia_init + +****** i386/i386at/autoconf.c: probeio + +****** i386/i386at/model_dep.c: inittodr + +****** i386/intel/pmap.c: pmap_unmap_page_zero + +***** kern/task.c: task_init + +****** kern/syscall_emulation.c: eml_init + +***** kern/thread.c: thread_init + +****** i386/i386/pcb.c: pcb_module_init + +******* i386/i386/fpu.c: fpu_module_init + +******* i386/i386/iopb.c: iopb_init + +***** kern/thread_swap.c: swapper_init + +***** kern/sched_prim.c: recompute_priorities + +***** kern/mach_factor.c: compute_mach_factor + +***** kern/startup.c: start_kernel_threads + +[...] + +***** kern/startup.c: cpu_launch_first_thread + +****** i386/i386at/model_dep.c: startrtclock + +******* i386/i386/pit.c: clkstart + +****** i386/intel/pmap.h: PMAP_ACTIVATE_KERNEL + +****** i386/i386/pcb.c: load_context + +Compiled by Thomas Schwinge, , on 2007-03-26. + +Local Variables: +mode: outline +End: -- cgit v1.2.3 From 5eada177cbd8dc99d22316aceb0e9c2d015f8695 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 13:00:58 +0200 Subject: Ikiwiki syntax. --- microkernel/mach/gnumach/boot_trace.mdwn | 196 +++++++++++++++---------------- 1 file changed, 98 insertions(+), 98 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index 138f62cc..a9847e29 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -1,191 +1,191 @@ -* System Boot Up +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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.txt]]."]] -** i386/i386at/boothdr.S: _start +# i386/i386at/boothdr.S: \_start -** i386/i386at/boothdr.S: boot_entry +# i386/i386at/boothdr.S: boot\_entry -*** i386/i386at/model_dep.c: c_boot_entry +## i386/i386at/model\_dep.c: c\_boot\_entry -**** i386/i386at/boothdr.S: discover_x86_cpu_type +### i386/i386at/boothdr.S: discover\_x86\_cpu\_type -**** i386/i386at/model_dep.c: i386at_init +### i386/i386at/model\_dep.c: i386at\_init -***** i386/i386/pic.c: picinit +#### i386/i386/pic.c: picinit -***** i386/i386at/model_dep.c: mem_size_init +#### i386/i386at/model\_dep.c: mem\_size\_init -***** i386/intel/pmap.c: pmap_bootstrap +#### i386/intel/pmap.c: pmap\_bootstrap -***** i386/i386/gdt.c: gdt_init +#### i386/i386/gdt.c: gdt\_init -***** i386/i386/idt.c: idt_init +#### i386/i386/idt.c: idt\_init -***** i386/i386at/int_init.c: int_init +#### i386/i386at/int\_init.c: int\_init -***** i386/i386/ldt.c: ldt_init +#### i386/i386/ldt.c: ldt\_init -***** i386/i386/ktss.c: ktss_init +#### i386/i386/ktss.c: ktss\_init -**** kern/startup.c: setup_main +### kern/startup.c: setup\_main -***** kern/debug.c: panic_init +#### kern/debug.c: panic\_init -***** kern/printf.c: printf_init +#### kern/printf.c: printf\_init -***** kern/sched_prim.c: sched_init +#### kern/sched\_prim.c: sched\_init -****** kern/sched_prim.c: wait_queue_init +##### kern/sched\_prim.c: wait\_queue\_init -****** kern/processor.c: pset_sys_bootstrap +##### kern/processor.c: pset\_sys\_bootstrap -****** kern/ast.c: ast_init +##### kern/ast.c: ast\_init -***** vm/vm_init.c: vm_mem_bootstrap +#### vm/vm\_init.c: vm\_mem\_bootstrap -****** vm/vm_resident.c: vm_page_bootstrap +##### vm/vm\_resident.c: vm\_page\_bootstrap -******* vm/vm_resident.c: pmap_startup +###### vm/vm\_resident.c: pmap\_startup -****** kern/zalloc.c: zone_bootstrap +##### kern/zalloc.c: zone\_bootstrap -****** vm/vm_object.c: vm_object_bootstrap +##### vm/vm\_object.c: vm\_object\_bootstrap -******* vm/vm_external.c: vm_external_module_initialize +###### vm/vm\_external.c: vm\_external\_module\_initialize -****** vm/vm_map.c: vm_map_init +##### vm/vm\_map.c: vm\_map\_init -****** vm/vm_kern.c: kmem_init +##### vm/vm\_kern.c: kmem\_init -****** i386/intel/pmap.c: pmap_init +##### i386/intel/pmap.c: pmap\_init -****** kern/zalloc.c: zone_init +##### kern/zalloc.c: zone\_init -****** kern/kalloc.c: kalloc_init +##### kern/kalloc.c: kalloc\_init -****** vm/vm_fault.c: vm_fault_init +##### vm/vm\_fault.c: vm\_fault\_init -****** vm/vm_resident.c: vm_page_module_init +##### vm/vm\_resident.c: vm\_page\_module\_init -****** vm/memory_object.c: memory_manager_default_init +##### vm/memory\_object.c: memory\_manager\_default\_init -***** ipc/ipc_init.c: ipc_bootstrap +#### ipc/ipc\_init.c: ipc\_bootstrap -****** ipc/ipc_table.c: ipc_table_init +##### ipc/ipc\_table.c: ipc\_table\_init -****** ipc/ipc_notify.c: ipc_notify_init +##### ipc/ipc\_notify.c: ipc\_notify\_init -****** ipc/ipc_hash.c: ipc_hash_init +##### ipc/ipc\_hash.c: ipc\_hash\_init -****** ipc/ipc_marequest.c: ipc_marequest_init +##### ipc/ipc\_marequest.c: ipc\_marequest\_init -***** vm/vm_init.c: vm_mem_init +#### vm/vm\_init.c: vm\_mem\_init -****** vm/vm_object.c: vm_object_init +##### vm/vm\_object.c: vm\_object\_init -***** ipc/ipc_init.c: ipc_init +#### ipc/ipc\_init.c: ipc\_init -****** kern/ipc_host.c: ipc_host_init +##### kern/ipc\_host.c: ipc\_host\_init -******* kern/ipc_host.c: ipc_pset_init +###### kern/ipc\_host.c: ipc\_pset\_init -******* kern/ipc_host.c: ipc_pset_enable +###### kern/ipc\_host.c: ipc\_pset\_enable -******* kern/ipc_host.c: ipc_processor_init +###### kern/ipc\_host.c: ipc\_processor\_init -***** i386/intel/pmap.h: PMAP_ACTIVATE_KERNEL +#### i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL -***** kern/timer.c: init_timers +#### kern/timer.c: init\_timers -***** kern/mach_clock.c: init_timeout +#### kern/mach\_clock.c: init\_timeout -***** kern/xpr.c: xprbootstrap +#### kern/xpr.c: xprbootstrap -***** kern/time_stamp.c: timestamp_init +#### kern/time\_stamp.c: timestamp\_init -***** kern/mach_clock.c: mapable_time_init +#### kern/mach\_clock.c: mapable\_time\_init -***** i386/i386at/model_dep.c: machine_init +#### i386/i386at/model\_dep.c: machine\_init -****** device/cons.c: cninit +##### device/cons.c: cninit -****** i386/i386/fpu.c: init_fpu +##### i386/i386/fpu.c: init\_fpu -****** linux/dev/init/main.c: linux_init +##### linux/dev/init/main.c: linux\_init -******* linux/dev/arch/i386/kernel/irq.c: init_IRQ +###### linux/dev/arch/i386/kernel/irq.c: init\_IRQ -******** linux/dev/arch/i386/kernel/irq.c: reserve_mach_irqs +####### linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs -******* linux/dev/kernel/sched.c: linux_sched_init +###### linux/dev/kernel/sched.c: linux\_sched\_init -******* linux/dev/init/main.c: calibrate_delay +###### linux/dev/init/main.c: calibrate\_delay -******* linux/dev/glue/kmem.c: linux_kmem_init +###### linux/dev/glue/kmem.c: linux\_kmem\_init -******* linux/src/drivers/pci/pci.c: pci_init +###### linux/src/drivers/pci/pci.c: pci\_init -******** linux/src/arch/i386/kernel/bios32.c: pcibios_init +####### linux/src/arch/i386/kernel/bios32.c: pcibios\_init -******** linux/src/drivers/pci/pci.c: scan_bus +####### linux/src/drivers/pci/pci.c: scan\_bus -******** linux/src/arch/i386/kernel/bios32.c: pcibios_fixup +####### linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup -******* linux/dev/glue/net.c: linux_net_emulation_init +###### linux/dev/glue/net.c: linux\_net\_emulation\_init -******* linux/dev/drivers/block/genhd.c: device_setup +###### linux/dev/drivers/block/genhd.c: device\_setup -******** linux/dev/glue/block.c: blk_dev_init +####### linux/dev/glue/block.c: blk\_dev\_init -********* linux/src/drivers/block/ide.c: ide_init +######## linux/src/drivers/block/ide.c: ide\_init -********* linux/dev/drivers/block/floppy.c: floppy_init +######## linux/dev/drivers/block/floppy.c: floppy\_init -******** linux/src/drivers/scsi/scsi.c: scsi_dev_init +####### linux/src/drivers/scsi/scsi.c: scsi\_dev\_init -******** linux/dev/net/core/dev.c: net_dev_init +####### linux/dev/net/core/dev.c: net\_dev\_init -******* linux/pcmcia-cs/glue/pcmcia.c: pcmcia_init +###### linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init -****** i386/i386at/autoconf.c: probeio +##### i386/i386at/autoconf.c: probeio -****** i386/i386at/model_dep.c: inittodr +##### i386/i386at/model\_dep.c: inittodr -****** i386/intel/pmap.c: pmap_unmap_page_zero +##### i386/intel/pmap.c: pmap\_unmap\_page\_zero -***** kern/task.c: task_init +#### kern/task.c: task\_init -****** kern/syscall_emulation.c: eml_init +##### kern/syscall\_emulation.c: eml\_init -***** kern/thread.c: thread_init +#### kern/thread.c: thread\_init -****** i386/i386/pcb.c: pcb_module_init +##### i386/i386/pcb.c: pcb\_module\_init -******* i386/i386/fpu.c: fpu_module_init +###### i386/i386/fpu.c: fpu\_module\_init -******* i386/i386/iopb.c: iopb_init +###### i386/i386/iopb.c: iopb\_init -***** kern/thread_swap.c: swapper_init +#### kern/thread\_swap.c: swapper\_init -***** kern/sched_prim.c: recompute_priorities +#### kern/sched\_prim.c: recompute\_priorities -***** kern/mach_factor.c: compute_mach_factor +#### kern/mach\_factor.c: compute\_mach\_factor -***** kern/startup.c: start_kernel_threads +#### kern/startup.c: start\_kernel\_threads [...] -***** kern/startup.c: cpu_launch_first_thread +#### kern/startup.c: cpu\_launch\_first\_thread -****** i386/i386at/model_dep.c: startrtclock +##### i386/i386at/model\_dep.c: startrtclock -******* i386/i386/pit.c: clkstart +###### i386/i386/pit.c: clkstart -****** i386/intel/pmap.h: PMAP_ACTIVATE_KERNEL +##### i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL -****** i386/i386/pcb.c: load_context - -Compiled by Thomas Schwinge, , on 2007-03-26. - -Local Variables: -mode: outline -End: +##### i386/i386/pcb.c: load\_context -- cgit v1.2.3 From 470e56257595b99d19e918cf23357ecdac571b00 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 13:02:23 +0200 Subject: [[Boot_Trace]]. --- microkernel/mach/gnumach.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 16ed602a..5ad50f73 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -22,4 +22,5 @@ GNU Mach runs on x86 machines. See the * [[Building]] * [[Debugging]] +* [[Boot_Trace]] * [[RevivalProject]] - GNU Mach Projects -- cgit v1.2.3 From 0363bd70e9fc4d7270008f5d082b5c61c9e24e4e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 17:48:48 +0200 Subject: Low-level Mach debugging. --- microkernel/mach/gnumach/debugging.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 7f4fc6ad..94fdb461 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -51,3 +51,16 @@ Then boot your system and do something like this: This is especially useful if you need to manually trigger some stuff inside the running kernel, as with the *D1* example. + + +If you're doing real low level debugging, you might want to put variations of +the following snipped into the code, this code will write a `#` character at +line `[LINE]`, column `[COLUMN]` on the screen: + + *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#'; + halt_cpu (); + +The call of `halt_cpu` will -- as the name suggests -- halt the system +afterwards. This might be what you want or it might not, but it is needed at +some place when running the kernel inside QEMU, as QEMU somehow decides not to +update its display buffer anymore under certain conditions. -- cgit v1.2.3 From fcd4799786116330c29f3c4f0ce95ce3a045dd40 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 18:28:13 +0200 Subject: Extend some more. --- microkernel/mach/gnumach/boot_trace.mdwn | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index a9847e29..315337fa 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -6,6 +6,9 @@ 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.txt]]."]] +``if NCPUS > 1'' stuff is not being considered so far. + + # i386/i386at/boothdr.S: \_start # i386/i386at/boothdr.S: boot\_entry @@ -189,3 +192,29 @@ is included in the section entitled ##### i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL ##### i386/i386/pcb.c: load\_context + +[...] + +# kern/startup.c: start\_kernel\_threads + +Threads get created. + +## kern/sched\_prim.c: idle\_thread + +One for each CPU. + +## kern/thread.c: reaper\_thread + +## kern/thread\_swap.c: swapin\_thread + +## kern/sched\_prim.c: sched\_thread + +[...] + +## kern/bootstrap.c: bootstrap\_create + +[...] + +## vm\_pageout + +Does not return. -- cgit v1.2.3 From e150229797e9ff54462465abac98ba1f7cb12362 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 20:07:17 +0200 Subject: Use more suitable Ikiwiki syntax facilities. --- microkernel/mach/gnumach/boot_trace.mdwn | 206 +++++++++++++++---------------- 1 file changed, 103 insertions(+), 103 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index 315337fa..8cccb14b 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -9,212 +9,212 @@ is included in the section entitled ``if NCPUS > 1'' stuff is not being considered so far. -# i386/i386at/boothdr.S: \_start +> i386/i386at/boothdr.S: \_start -# i386/i386at/boothdr.S: boot\_entry +> i386/i386at/boothdr.S: boot\_entry -## i386/i386at/model\_dep.c: c\_boot\_entry +>> i386/i386at/model\_dep.c: c\_boot\_entry -### i386/i386at/boothdr.S: discover\_x86\_cpu\_type +>>> i386/i386at/boothdr.S: discover\_x86\_cpu\_type -### i386/i386at/model\_dep.c: i386at\_init +>>> i386/i386at/model\_dep.c: i386at\_init -#### i386/i386/pic.c: picinit +>>>> i386/i386/pic.c: picinit -#### i386/i386at/model\_dep.c: mem\_size\_init +>>>> i386/i386at/model\_dep.c: mem\_size\_init -#### i386/intel/pmap.c: pmap\_bootstrap +>>>> i386/intel/pmap.c: pmap\_bootstrap -#### i386/i386/gdt.c: gdt\_init +>>>> i386/i386/gdt.c: gdt\_init -#### i386/i386/idt.c: idt\_init +>>>> i386/i386/idt.c: idt\_init -#### i386/i386at/int\_init.c: int\_init +>>>> i386/i386at/int\_init.c: int\_init -#### i386/i386/ldt.c: ldt\_init +>>>> i386/i386/ldt.c: ldt\_init -#### i386/i386/ktss.c: ktss\_init +>>>> i386/i386/ktss.c: ktss\_init -### kern/startup.c: setup\_main +>>> kern/startup.c: setup\_main -#### kern/debug.c: panic\_init +>>>> kern/debug.c: panic\_init -#### kern/printf.c: printf\_init +>>>> kern/printf.c: printf\_init -#### kern/sched\_prim.c: sched\_init +>>>> kern/sched\_prim.c: sched\_init -##### kern/sched\_prim.c: wait\_queue\_init +>>>>> kern/sched\_prim.c: wait\_queue\_init -##### kern/processor.c: pset\_sys\_bootstrap +>>>>> kern/processor.c: pset\_sys\_bootstrap -##### kern/ast.c: ast\_init +>>>>> kern/ast.c: ast\_init -#### vm/vm\_init.c: vm\_mem\_bootstrap +>>>> vm/vm\_init.c: vm\_mem\_bootstrap -##### vm/vm\_resident.c: vm\_page\_bootstrap +>>>>> vm/vm\_resident.c: vm\_page\_bootstrap -###### vm/vm\_resident.c: pmap\_startup +>>>>>> vm/vm\_resident.c: pmap\_startup -##### kern/zalloc.c: zone\_bootstrap +>>>>> kern/zalloc.c: zone\_bootstrap -##### vm/vm\_object.c: vm\_object\_bootstrap +>>>>> vm/vm\_object.c: vm\_object\_bootstrap -###### vm/vm\_external.c: vm\_external\_module\_initialize +>>>>>> vm/vm\_external.c: vm\_external\_module\_initialize -##### vm/vm\_map.c: vm\_map\_init +>>>>> vm/vm\_map.c: vm\_map\_init -##### vm/vm\_kern.c: kmem\_init +>>>>> vm/vm\_kern.c: kmem\_init -##### i386/intel/pmap.c: pmap\_init +>>>>> i386/intel/pmap.c: pmap\_init -##### kern/zalloc.c: zone\_init +>>>>> kern/zalloc.c: zone\_init -##### kern/kalloc.c: kalloc\_init +>>>>> kern/kalloc.c: kalloc\_init -##### vm/vm\_fault.c: vm\_fault\_init +>>>>> vm/vm\_fault.c: vm\_fault\_init -##### vm/vm\_resident.c: vm\_page\_module\_init +>>>>> vm/vm\_resident.c: vm\_page\_module\_init -##### vm/memory\_object.c: memory\_manager\_default\_init +>>>>> vm/memory\_object.c: memory\_manager\_default\_init -#### ipc/ipc\_init.c: ipc\_bootstrap +>>>> ipc/ipc\_init.c: ipc\_bootstrap -##### ipc/ipc\_table.c: ipc\_table\_init +>>>>> ipc/ipc\_table.c: ipc\_table\_init -##### ipc/ipc\_notify.c: ipc\_notify\_init +>>>>> ipc/ipc\_notify.c: ipc\_notify\_init -##### ipc/ipc\_hash.c: ipc\_hash\_init +>>>>> ipc/ipc\_hash.c: ipc\_hash\_init -##### ipc/ipc\_marequest.c: ipc\_marequest\_init +>>>>> ipc/ipc\_marequest.c: ipc\_marequest\_init -#### vm/vm\_init.c: vm\_mem\_init +>>>> vm/vm\_init.c: vm\_mem\_init -##### vm/vm\_object.c: vm\_object\_init +>>>>> vm/vm\_object.c: vm\_object\_init -#### ipc/ipc\_init.c: ipc\_init +>>>> ipc/ipc\_init.c: ipc\_init -##### kern/ipc\_host.c: ipc\_host\_init +>>>>> kern/ipc\_host.c: ipc\_host\_init -###### kern/ipc\_host.c: ipc\_pset\_init +>>>>>> kern/ipc\_host.c: ipc\_pset\_init -###### kern/ipc\_host.c: ipc\_pset\_enable +>>>>>> kern/ipc\_host.c: ipc\_pset\_enable -###### kern/ipc\_host.c: ipc\_processor\_init +>>>>>> kern/ipc\_host.c: ipc\_processor\_init -#### i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL +>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL -#### kern/timer.c: init\_timers +>>>> kern/timer.c: init\_timers -#### kern/mach\_clock.c: init\_timeout +>>>> kern/mach\_clock.c: init\_timeout -#### kern/xpr.c: xprbootstrap +>>>> kern/xpr.c: xprbootstrap -#### kern/time\_stamp.c: timestamp\_init +>>>> kern/time\_stamp.c: timestamp\_init -#### kern/mach\_clock.c: mapable\_time\_init +>>>> kern/mach\_clock.c: mapable\_time\_init -#### i386/i386at/model\_dep.c: machine\_init +>>>> i386/i386at/model\_dep.c: machine\_init -##### device/cons.c: cninit +>>>>> device/cons.c: cninit -##### i386/i386/fpu.c: init\_fpu +>>>>> i386/i386/fpu.c: init\_fpu -##### linux/dev/init/main.c: linux\_init +>>>>> linux/dev/init/main.c: linux\_init -###### linux/dev/arch/i386/kernel/irq.c: init\_IRQ +>>>>>> linux/dev/arch/i386/kernel/irq.c: init\_IRQ -####### linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs +>>>>>>> linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs -###### linux/dev/kernel/sched.c: linux\_sched\_init +>>>>>> linux/dev/kernel/sched.c: linux\_sched\_init -###### linux/dev/init/main.c: calibrate\_delay +>>>>>> linux/dev/init/main.c: calibrate\_delay -###### linux/dev/glue/kmem.c: linux\_kmem\_init +>>>>>> linux/dev/glue/kmem.c: linux\_kmem\_init -###### linux/src/drivers/pci/pci.c: pci\_init +>>>>>> linux/src/drivers/pci/pci.c: pci\_init -####### linux/src/arch/i386/kernel/bios32.c: pcibios\_init +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_init -####### linux/src/drivers/pci/pci.c: scan\_bus +>>>>>>> linux/src/drivers/pci/pci.c: scan\_bus -####### linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup -###### linux/dev/glue/net.c: linux\_net\_emulation\_init +>>>>>> linux/dev/glue/net.c: linux\_net\_emulation\_init -###### linux/dev/drivers/block/genhd.c: device\_setup +>>>>>> linux/dev/drivers/block/genhd.c: device\_setup -####### linux/dev/glue/block.c: blk\_dev\_init +>>>>>>> linux/dev/glue/block.c: blk\_dev\_init -######## linux/src/drivers/block/ide.c: ide\_init +>>>>>>>> linux/src/drivers/block/ide.c: ide\_init -######## linux/dev/drivers/block/floppy.c: floppy\_init +>>>>>>>> linux/dev/drivers/block/floppy.c: floppy\_init -####### linux/src/drivers/scsi/scsi.c: scsi\_dev\_init +>>>>>>> linux/src/drivers/scsi/scsi.c: scsi\_dev\_init -####### linux/dev/net/core/dev.c: net\_dev\_init +>>>>>>> linux/dev/net/core/dev.c: net\_dev\_init -###### linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init +>>>>>> linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init -##### i386/i386at/autoconf.c: probeio +>>>>> i386/i386at/autoconf.c: probeio -##### i386/i386at/model\_dep.c: inittodr +>>>>> i386/i386at/model\_dep.c: inittodr -##### i386/intel/pmap.c: pmap\_unmap\_page\_zero +>>>>> i386/intel/pmap.c: pmap\_unmap\_page\_zero -#### kern/task.c: task\_init +>>>> kern/task.c: task\_init -##### kern/syscall\_emulation.c: eml\_init +>>>>> kern/syscall\_emulation.c: eml\_init -#### kern/thread.c: thread\_init +>>>> kern/thread.c: thread\_init -##### i386/i386/pcb.c: pcb\_module\_init +>>>>> i386/i386/pcb.c: pcb\_module\_init -###### i386/i386/fpu.c: fpu\_module\_init +>>>>>> i386/i386/fpu.c: fpu\_module\_init -###### i386/i386/iopb.c: iopb\_init +>>>>>> i386/i386/iopb.c: iopb\_init -#### kern/thread\_swap.c: swapper\_init +>>>> kern/thread\_swap.c: swapper\_init -#### kern/sched\_prim.c: recompute\_priorities +>>>> kern/sched\_prim.c: recompute\_priorities -#### kern/mach\_factor.c: compute\_mach\_factor +>>>> kern/mach\_factor.c: compute\_mach\_factor -#### kern/startup.c: start\_kernel\_threads +>>>> kern/startup.c: start\_kernel\_threads [...] -#### kern/startup.c: cpu\_launch\_first\_thread +>>>> kern/startup.c: cpu\_launch\_first\_thread -##### i386/i386at/model\_dep.c: startrtclock +>>>>> i386/i386at/model\_dep.c: startrtclock -###### i386/i386/pit.c: clkstart +>>>>>> i386/i386/pit.c: clkstart -##### i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL +>>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL -##### i386/i386/pcb.c: load\_context +>>>>> i386/i386/pcb.c: load\_context [...] -# kern/startup.c: start\_kernel\_threads +> kern/startup.c: start\_kernel\_threads -Threads get created. +> Threads get created. -## kern/sched\_prim.c: idle\_thread +>> kern/sched\_prim.c: idle\_thread -One for each CPU. +>> One for each CPU. -## kern/thread.c: reaper\_thread +>> kern/thread.c: reaper\_thread -## kern/thread\_swap.c: swapin\_thread +>> kern/thread\_swap.c: swapin\_thread -## kern/sched\_prim.c: sched\_thread +>> kern/sched\_prim.c: sched\_thread -[...] +>> [...] -## kern/bootstrap.c: bootstrap\_create +>> kern/bootstrap.c: bootstrap\_create -[...] +>> [...] -## vm\_pageout +>> vm\_pageout -Does not return. +>> Does not return. -- cgit v1.2.3 From 1bbef523bf9e2d03e61281b2b9c1079f75440f34 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 27 Oct 2007 15:32:21 +0000 Subject: web commit by antrik: Reworked section on amd64 compatibility, to be more exact and informative --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index e0e7e4ea..9366d3ab 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -8,10 +8,15 @@ is included in the section entitled # CPU Architecture -GNU Mach current only supports the `x86` architecture. `amd64` should -- in -theory -- as well work fine in `32-bit` compatibility mode, however in practice -there are problems with the chipsets used for such processors, so that booting -on such a system won't succeed. +GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. + +`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice +`amd64` systems seem to be troublesome more often than not. This is probably +related to the same (chipset-related) problems we often see with recent +machines; but it seems that amd64 ones use problematic chipsets particularily +often. So far we haven't heard of similar problems with Intel's eqivalent +`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer +people tried running the Hurd on such machines :-) Support for running GNU Mach (and a complete GNU/Hurd system) in a [Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` -- cgit v1.2.3 From 645e55c702220f4c69e2f7398c638dfaf1b31763 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 27 Oct 2007 16:45:50 +0000 Subject: web commit by antrik: Added my success reports --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 9366d3ab..09c9fa15 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -70,6 +70,8 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these * ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot * Intel SE-440BX motherboard * VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. +* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. +* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. # User Failure Reports -- cgit v1.2.3 From 6e05c91aa5f3edc27e239f44ef045a8d77e0b789 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 27 Oct 2007 17:09:14 +0000 Subject: web commit by antrik: Remove redundant notes about "installs but doesn't boot" from individual failure reports; add a generic note instead --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 09c9fa15..aa432250 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -77,6 +77,8 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these These boards or hardware combination are known to fail with gnumach/Hurd. -* ASUS P5A motherboard and AMD K6-2 333MHz CPU - Debian GNU/Hurd will install but not boot on this board +Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. + +* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot * ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. -* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Installs but does not boot. +* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. -- cgit v1.2.3 From f7ec9f8bc0bf9cdfae2bf1bc94df90a36bcf776c Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 27 Oct 2007 17:18:24 +0000 Subject: web commit by antrik: Reworderd introduction sentence in failure report section, to make it not sound like the listed hardware combinations couldn't ever work --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index aa432250..7ddd931c 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -75,7 +75,7 @@ These boards are known to work. Gnumach/Hurd has been installed and run on these # User Failure Reports -These boards or hardware combination are known to fail with gnumach/Hurd. +Some people couldn't get these hardware combinations to work with Hurd. Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. -- cgit v1.2.3 From 2fdeabc57119f1ca9bd246cd7ec6aec63a590822 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 29 Oct 2007 19:54:24 +0100 Subject: Ikiwiki syntax. I should get used to this some day... --- microkernel/mach/gnumach/boot_trace.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index 8cccb14b..495dfbf4 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -6,7 +6,7 @@ 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.txt]]."]] -``if NCPUS > 1'' stuff is not being considered so far. +`if NCPUS > 1` stuff is not being considered so far. > i386/i386at/boothdr.S: \_start -- cgit v1.2.3 From dee07dd5417d53af9aec5f3caca9d8ddb56db188 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 29 Oct 2007 20:06:32 +0100 Subject: Show how booting in a SATA system will fail. Use the `toggle' plugin. --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 7ddd931c..9deb65d5 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -13,7 +13,7 @@ GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. `amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice `amd64` systems seem to be troublesome more often than not. This is probably related to the same (chipset-related) problems we often see with recent -machines; but it seems that amd64 ones use problematic chipsets particularily +machines; but it seems that `amd64` ones use problematic chipsets particularily often. So far we haven't heard of similar problems with Intel's eqivalent `ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer people tried running the Hurd on such machines :-) @@ -54,7 +54,17 @@ IEEE 1394 is not supported at this time Most IDE drives are known to work. Some drive geometries do not work. If you find a specific IDE drive that does not work, make a note of the model and technical specifications here. -SATA drives may work in compatibility mode. +[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] + + +[[toggleable id="SATA" text=""" +This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach +couldn't connect to the hard disk, e.g., in a SATA system without IDE +compatibility mode: + + start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static + device:hd0s4: No such device or address +"""]] # Device Drivers -- cgit v1.2.3 From a4680204999312af4596f8da8b6fe7c9f94f6b88 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 29 Oct 2007 20:30:03 +0100 Subject: Be more specific about non-working IDE drives. --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 9deb65d5..aa30189e 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -52,7 +52,10 @@ IEEE 1394 is not supported at this time # Storage -Most IDE drives are known to work. Some drive geometries do not work. If you find a specific IDE drive that does not work, make a note of the model and technical specifications here. +All common IDE drives should work. Some drive geometries do not work, +e.g. drives with hundreds of GiB of storage space. If you find a specific IDE +drive that does not work, make a note of the model and technical specifications +here. [[toggle id="SATA" text="SATA drives may work in compatibility mode."]] -- cgit v1.2.3 From cd10b4a51603da6fb701b0997dcbf42f8f6c317d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 9 Nov 2007 16:38:01 +0100 Subject: Get rid of the TXT version of the FDL and switch to using the Texinfo-rendered one instead. --- Hurd/HurdNames.mdwn | 2 +- Hurd/TheGnuHurd.mdwn | 2 +- abac.mdwn | 2 +- about_the_twiki_to_ikiwiki_conversion.mdwn | 2 +- asbestos.mdwn | 2 +- capability.mdwn | 2 +- community/facebook.mdwn | 2 +- community/meetings/stesie_2007-10-12.mdwn | 2 +- confused_deputy.mdwn | 2 +- designation.mdwn | 2 +- destructive_interference.mdwn | 2 +- empty_page.mdwn | 2 +- extensibility.mdwn | 2 +- fdl.txt | 397 --------------------- how_to_contribute_to_this_wiki.mdwn | 2 +- hurd/authentication.mdwn | 2 +- hurd/building/cross-compiling.mdwn | 2 +- hurd/concepts.mdwn | 2 +- hurd/contributing.mdwn | 2 +- hurd/critique.mdwn | 2 +- hurd/debugging.mdwn | 2 +- hurd/debugging/gdb.mdwn | 2 +- hurd/debugging/gdb/backtrace.mdwn | 2 +- hurd/debugging/gdb/noninvasive_debugging.mdwn | 2 +- hurd/debugging/hurd.mdwn | 2 +- hurd/debugging/rpctrace.mdwn | 2 +- hurd/gettinghelp.mdwn | 2 +- hurd/history.mdwn | 2 +- hurd/hurd_hacking_guide.mdwn | 2 +- hurd/libpager.mdwn | 2 +- hurd/libstore.mdwn | 2 +- hurd/logo.mdwn | 2 +- hurd/neighborhurd.mdwn | 2 +- hurd/ng/history.mdwn | 2 +- hurd/ng/position_paper.mdwn | 2 +- hurd/running.mdwn | 2 +- hurd/running/debian/DebianAptOffline.mdwn | 2 +- hurd/subhurd.mdwn | 2 +- hurd/translator.mdwn | 2 +- hurd/translator/ext2fs.mdwn | 2 +- hurd/translator/fatfs.mdwn | 2 +- hurd/translator/pfinet.mdwn | 2 +- hurd/translator/pfinet/ipv6.mdwn | 2 +- hurd/translator/storeio.mdwn | 2 +- hurd/virtual_file_system.mdwn | 2 +- ibac.mdwn | 2 +- idl.mdwn | 2 +- index/discussion.mdwn | 2 +- ipc.mdwn | 2 +- isolation.mdwn | 2 +- license.html | 2 +- liedtke.mdwn | 2 +- mechanism.mdwn | 2 +- microkernel.mdwn | 2 +- microkernel/for_beginners.mdwn | 2 +- microkernel/mach/documentation.mdwn | 2 +- microkernel/mach/external_pager_mechanism.mdwn | 2 +- microkernel/mach/gnumach.mdwn | 2 +- microkernel/mach/gnumach/boot_trace.mdwn | 2 +- microkernel/mach/gnumach/debugging.mdwn | 2 +- .../mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- microkernel/mach/gnumach/ports.mdwn | 2 +- microkernel/mach/ipc.mdwn | 2 +- microkernel/mach/ipc/sequence_numbering.mdwn | 2 +- microkernel/mach/port.mdwn | 2 +- microkernel/mach/rpc.mdwn | 2 +- naming_context.mdwn | 2 +- persistency.mdwn | 2 +- policy.mdwn | 2 +- principal.mdwn | 2 +- rpc.mdwn | 2 +- sfi.mdwn | 2 +- sidebar.mdwn | 2 +- tcb.mdwn | 2 +- trust.mdwn | 2 +- 75 files changed, 74 insertions(+), 471 deletions(-) delete mode 100644 fdl.txt (limited to 'microkernel') diff --git a/Hurd/HurdNames.mdwn b/Hurd/HurdNames.mdwn index 1730c7bc..07d5ebd9 100644 --- a/Hurd/HurdNames.mdwn +++ b/Hurd/HurdNames.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[toc ]] diff --git a/Hurd/TheGnuHurd.mdwn b/Hurd/TheGnuHurd.mdwn index bcae817c..f14a6939 100644 --- a/Hurd/TheGnuHurd.mdwn +++ b/Hurd/TheGnuHurd.mdwn @@ -5,7 +5,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The Hurd is GNU's replacement for the various UNIX and Linux kernels. diff --git a/abac.mdwn b/abac.mdwn index e4486c10..1a0db406 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] ABAC stands for authorization-based access control. In this model, access is not granted based on the diff --git a/about_the_twiki_to_ikiwiki_conversion.mdwn b/about_the_twiki_to_ikiwiki_conversion.mdwn index bf8fb1fa..01f284e3 100644 --- a/about_the_twiki_to_ikiwiki_conversion.mdwn +++ b/about_the_twiki_to_ikiwiki_conversion.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # Some Quick Notes About the *TWiki to ikiwiki* Conversion diff --git a/asbestos.mdwn b/asbestos.mdwn index f3c8d94a..838dfd0d 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Asbestos is an operating system developed at MIT, Stanford and UCLA to explore information flow control policies. The motivation diff --git a/capability.mdwn b/capability.mdwn index 0e06a6d6..bb849cae 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A capability is a protected reference. It is a reference in that it designates an object; it is protected in that in cannot be diff --git a/community/facebook.mdwn b/community/facebook.mdwn index 07e6eaf9..a6e9e558 100644 --- a/community/facebook.mdwn +++ b/community/facebook.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] There is [a Facebook group for the Hurd](http://www.facebook.com/group.php?gid=5141429597). If you're on Facebook, join it and say hello. diff --git a/community/meetings/stesie_2007-10-12.mdwn b/community/meetings/stesie_2007-10-12.mdwn index 60b6a1cf..d34bf045 100644 --- a/community/meetings/stesie_2007-10-12.mdwn +++ b/community/meetings/stesie_2007-10-12.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] On the weekend 2007-10-12 to 14 [[Stefan_Siegl|stesie]] invited Hurd people. Colin Leitner and [[Thomas_Schwinge|tschwinge]] came, as well as novice diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn index 01c3513a..ac4a9ede 100644 --- a/confused_deputy.mdwn +++ b/confused_deputy.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html) problem was articulated by Norm Hardy. It is a possible consequence diff --git a/designation.mdwn b/designation.mdwn index 55037939..c9c7c166 100644 --- a/designation.mdwn +++ b/designation.mdwn @@ -4,6 +4,6 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] To designate is to name. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index 44e0855e..2ace1a33 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Interference can be destructive or non-destructive. When a [[principal]] invokes an object (thereby requesting a service) and the implementation diff --git a/empty_page.mdwn b/empty_page.mdwn index 47464167..200ed59e 100644 --- a/empty_page.mdwn +++ b/empty_page.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this line. diff --git a/extensibility.mdwn b/extensibility.mdwn index edfd78d2..ba7359a0 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to diff --git a/fdl.txt b/fdl.txt deleted file mode 100644 index 4a0fe1c8..00000000 --- a/fdl.txt +++ /dev/null @@ -1,397 +0,0 @@ - GNU Free Documentation License - Version 1.2, November 2002 - - - Copyright (C) 2000,2001,2002 Free Software Foundation, Inc. - 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - -0. PREAMBLE - -The purpose of this License is to make a manual, textbook, or other -functional and useful document "free" in the sense of freedom: to -assure everyone the effective freedom to copy and redistribute it, -with or without modifying it, either commercially or noncommercially. -Secondarily, this License preserves for the author and publisher a way -to get credit for their work, while not being considered responsible -for modifications made by others. - -This License is a kind of "copyleft", which means that derivative -works of the document must themselves be free in the same sense. It -complements the GNU General Public License, which is a copyleft -license designed for free software. - -We have designed this License in order to use it for manuals for free -software, because free software needs free documentation: a free -program should come with manuals providing the same freedoms that the -software does. But this License is not limited to software manuals; -it can be used for any textual work, regardless of subject matter or -whether it is published as a printed book. We recommend this License -principally for works whose purpose is instruction or reference. - - -1. APPLICABILITY AND DEFINITIONS - -This License applies to any manual or other work, in any medium, that -contains a notice placed by the copyright holder saying it can be -distributed under the terms of this License. Such a notice grants a -world-wide, royalty-free license, unlimited in duration, to use that -work under the conditions stated herein. The "Document", below, -refers to any such manual or work. Any member of the public is a -licensee, and is addressed as "you". You accept the license if you -copy, modify or distribute the work in a way requiring permission -under copyright law. - -A "Modified Version" of the Document means any work containing the -Document or a portion of it, either copied verbatim, or with -modifications and/or translated into another language. - -A "Secondary Section" is a named appendix or a front-matter section of -the Document that deals exclusively with the relationship of the -publishers or authors of the Document to the Document's overall subject -(or to related matters) and contains nothing that could fall directly -within that overall subject. (Thus, if the Document is in part a -textbook of mathematics, a Secondary Section may not explain any -mathematics.) The relationship could be a matter of historical -connection with the subject or with related matters, or of legal, -commercial, philosophical, ethical or political position regarding -them. - -The "Invariant Sections" are certain Secondary Sections whose titles -are designated, as being those of Invariant Sections, in the notice -that says that the Document is released under this License. If a -section does not fit the above definition of Secondary then it is not -allowed to be designated as Invariant. The Document may contain zero -Invariant Sections. If the Document does not identify any Invariant -Sections then there are none. - -The "Cover Texts" are certain short passages of text that are listed, -as Front-Cover Texts or Back-Cover Texts, in the notice that says that -the Document is released under this License. A Front-Cover Text may -be at most 5 words, and a Back-Cover Text may be at most 25 words. - -A "Transparent" copy of the Document means a machine-readable copy, -represented in a format whose specification is available to the -general public, that is suitable for revising the document -straightforwardly with generic text editors or (for images composed of -pixels) generic paint programs or (for drawings) some widely available -drawing editor, and that is suitable for input to text formatters or -for automatic translation to a variety of formats suitable for input -to text formatters. A copy made in an otherwise Transparent file -format whose markup, or absence of markup, has been arranged to thwart -or discourage subsequent modification by readers is not Transparent. -An image format is not Transparent if used for any substantial amount -of text. A copy that is not "Transparent" is called "Opaque". - -Examples of suitable formats for Transparent copies include plain -ASCII without markup, Texinfo input format, LaTeX input format, SGML -or XML using a publicly available DTD, and standard-conforming simple -HTML, PostScript or PDF designed for human modification. Examples of -transparent image formats include PNG, XCF and JPG. Opaque formats -include proprietary formats that can be read and edited only by -proprietary word processors, SGML or XML for which the DTD and/or -processing tools are not generally available, and the -machine-generated HTML, PostScript or PDF produced by some word -processors for output purposes only. - -The "Title Page" means, for a printed book, the title page itself, -plus such following pages as are needed to hold, legibly, the material -this License requires to appear in the title page. For works in -formats which do not have any title page as such, "Title Page" means -the text near the most prominent appearance of the work's title, -preceding the beginning of the body of the text. - -A section "Entitled XYZ" means a named subunit of the Document whose -title either is precisely XYZ or contains XYZ in parentheses following -text that translates XYZ in another language. (Here XYZ stands for a -specific section name mentioned below, such as "Acknowledgements", -"Dedications", "Endorsements", or "History".) To "Preserve the Title" -of such a section when you modify the Document means that it remains a -section "Entitled XYZ" according to this definition. - -The Document may include Warranty Disclaimers next to the notice which -states that this License applies to the Document. These Warranty -Disclaimers are considered to be included by reference in this -License, but only as regards disclaiming warranties: any other -implication that these Warranty Disclaimers may have is void and has -no effect on the meaning of this License. - - -2. VERBATIM COPYING - -You may copy and distribute the Document in any medium, either -commercially or noncommercially, provided that this License, the -copyright notices, and the license notice saying this License applies -to the Document are reproduced in all copies, and that you add no other -conditions whatsoever to those of this License. You may not use -technical measures to obstruct or control the reading or further -copying of the copies you make or distribute. However, you may accept -compensation in exchange for copies. If you distribute a large enough -number of copies you must also follow the conditions in section 3. - -You may also lend copies, under the same conditions stated above, and -you may publicly display copies. - - -3. COPYING IN QUANTITY - -If you publish printed copies (or copies in media that commonly have -printed covers) of the Document, numbering more than 100, and the -Document's license notice requires Cover Texts, you must enclose the -copies in covers that carry, clearly and legibly, all these Cover -Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on -the back cover. Both covers must also clearly and legibly identify -you as the publisher of these copies. The front cover must present -the full title with all words of the title equally prominent and -visible. You may add other material on the covers in addition. -Copying with changes limited to the covers, as long as they preserve -the title of the Document and satisfy these conditions, can be treated -as verbatim copying in other respects. - -If the required texts for either cover are too voluminous to fit -legibly, you should put the first ones listed (as many as fit -reasonably) on the actual cover, and continue the rest onto adjacent -pages. - -If you publish or distribute Opaque copies of the Document numbering -more than 100, you must either include a machine-readable Transparent -copy along with each Opaque copy, or state in or with each Opaque copy -a computer-network location from which the general network-using -public has access to download using public-standard network protocols -a complete Transparent copy of the Document, free of added material. -If you use the latter option, you must take reasonably prudent steps, -when you begin distribution of Opaque copies in quantity, to ensure -that this Transparent copy will remain thus accessible at the stated -location until at least one year after the last time you distribute an -Opaque copy (directly or through your agents or retailers) of that -edition to the public. - -It is requested, but not required, that you contact the authors of the -Document well before redistributing any large number of copies, to give -them a chance to provide you with an updated version of the Document. - - -4. MODIFICATIONS - -You may copy and distribute a Modified Version of the Document under -the conditions of sections 2 and 3 above, provided that you release -the Modified Version under precisely this License, with the Modified -Version filling the role of the Document, thus licensing distribution -and modification of the Modified Version to whoever possesses a copy -of it. In addition, you must do these things in the Modified Version: - -A. Use in the Title Page (and on the covers, if any) a title distinct - from that of the Document, and from those of previous versions - (which should, if there were any, be listed in the History section - of the Document). You may use the same title as a previous version - if the original publisher of that version gives permission. -B. List on the Title Page, as authors, one or more persons or entities - responsible for authorship of the modifications in the Modified - Version, together with at least five of the principal authors of the - Document (all of its principal authors, if it has fewer than five), - unless they release you from this requirement. -C. State on the Title page the name of the publisher of the - Modified Version, as the publisher. -D. Preserve all the copyright notices of the Document. -E. Add an appropriate copyright notice for your modifications - adjacent to the other copyright notices. -F. Include, immediately after the copyright notices, a license notice - giving the public permission to use the Modified Version under the - terms of this License, in the form shown in the Addendum below. -G. Preserve in that license notice the full lists of Invariant Sections - and required Cover Texts given in the Document's license notice. -H. Include an unaltered copy of this License. -I. Preserve the section Entitled "History", Preserve its Title, and add - to it an item stating at least the title, year, new authors, and - publisher of the Modified Version as given on the Title Page. If - there is no section Entitled "History" in the Document, create one - stating the title, year, authors, and publisher of the Document as - given on its Title Page, then add an item describing the Modified - Version as stated in the previous sentence. -J. Preserve the network location, if any, given in the Document for - public access to a Transparent copy of the Document, and likewise - the network locations given in the Document for previous versions - it was based on. These may be placed in the "History" section. - You may omit a network location for a work that was published at - least four years before the Document itself, or if the original - publisher of the version it refers to gives permission. -K. For any section Entitled "Acknowledgements" or "Dedications", - Preserve the Title of the section, and preserve in the section all - the substance and tone of each of the contributor acknowledgements - and/or dedications given therein. -L. Preserve all the Invariant Sections of the Document, - unaltered in their text and in their titles. Section numbers - or the equivalent are not considered part of the section titles. -M. Delete any section Entitled "Endorsements". Such a section - may not be included in the Modified Version. -N. Do not retitle any existing section to be Entitled "Endorsements" - or to conflict in title with any Invariant Section. -O. Preserve any Warranty Disclaimers. - -If the Modified Version includes new front-matter sections or -appendices that qualify as Secondary Sections and contain no material -copied from the Document, you may at your option designate some or all -of these sections as invariant. To do this, add their titles to the -list of Invariant Sections in the Modified Version's license notice. -These titles must be distinct from any other section titles. - -You may add a section Entitled "Endorsements", provided it contains -nothing but endorsements of your Modified Version by various -parties--for example, statements of peer review or that the text has -been approved by an organization as the authoritative definition of a -standard. - -You may add a passage of up to five words as a Front-Cover Text, and a -passage of up to 25 words as a Back-Cover Text, to the end of the list -of Cover Texts in the Modified Version. Only one passage of -Front-Cover Text and one of Back-Cover Text may be added by (or -through arrangements made by) any one entity. If the Document already -includes a cover text for the same cover, previously added by you or -by arrangement made by the same entity you are acting on behalf of, -you may not add another; but you may replace the old one, on explicit -permission from the previous publisher that added the old one. - -The author(s) and publisher(s) of the Document do not by this License -give permission to use their names for publicity for or to assert or -imply endorsement of any Modified Version. - - -5. COMBINING DOCUMENTS - -You may combine the Document with other documents released under this -License, under the terms defined in section 4 above for modified -versions, provided that you include in the combination all of the -Invariant Sections of all of the original documents, unmodified, and -list them all as Invariant Sections of your combined work in its -license notice, and that you preserve all their Warranty Disclaimers. - -The combined work need only contain one copy of this License, and -multiple identical Invariant Sections may be replaced with a single -copy. If there are multiple Invariant Sections with the same name but -different contents, make the title of each such section unique by -adding at the end of it, in parentheses, the name of the original -author or publisher of that section if known, or else a unique number. -Make the same adjustment to the section titles in the list of -Invariant Sections in the license notice of the combined work. - -In the combination, you must combine any sections Entitled "History" -in the various original documents, forming one section Entitled -"History"; likewise combine any sections Entitled "Acknowledgements", -and any sections Entitled "Dedications". You must delete all sections -Entitled "Endorsements". - - -6. COLLECTIONS OF DOCUMENTS - -You may make a collection consisting of the Document and other documents -released under this License, and replace the individual copies of this -License in the various documents with a single copy that is included in -the collection, provided that you follow the rules of this License for -verbatim copying of each of the documents in all other respects. - -You may extract a single document from such a collection, and distribute -it individually under this License, provided you insert a copy of this -License into the extracted document, and follow this License in all -other respects regarding verbatim copying of that document. - - -7. AGGREGATION WITH INDEPENDENT WORKS - -A compilation of the Document or its derivatives with other separate -and independent documents or works, in or on a volume of a storage or -distribution medium, is called an "aggregate" if the copyright -resulting from the compilation is not used to limit the legal rights -of the compilation's users beyond what the individual works permit. -When the Document is included in an aggregate, this License does not -apply to the other works in the aggregate which are not themselves -derivative works of the Document. - -If the Cover Text requirement of section 3 is applicable to these -copies of the Document, then if the Document is less than one half of -the entire aggregate, the Document's Cover Texts may be placed on -covers that bracket the Document within the aggregate, or the -electronic equivalent of covers if the Document is in electronic form. -Otherwise they must appear on printed covers that bracket the whole -aggregate. - - -8. TRANSLATION - -Translation is considered a kind of modification, so you may -distribute translations of the Document under the terms of section 4. -Replacing Invariant Sections with translations requires special -permission from their copyright holders, but you may include -translations of some or all Invariant Sections in addition to the -original versions of these Invariant Sections. You may include a -translation of this License, and all the license notices in the -Document, and any Warranty Disclaimers, provided that you also include -the original English version of this License and the original versions -of those notices and disclaimers. In case of a disagreement between -the translation and the original version of this License or a notice -or disclaimer, the original version will prevail. - -If a section in the Document is Entitled "Acknowledgements", -"Dedications", or "History", the requirement (section 4) to Preserve -its Title (section 1) will typically require changing the actual -title. - - -9. TERMINATION - -You may not copy, modify, sublicense, or distribute the Document except -as expressly provided for under this License. Any other attempt to -copy, modify, sublicense or distribute the Document is void, and will -automatically terminate your rights under this License. However, -parties who have received copies, or rights, from you under this -License will not have their licenses terminated so long as such -parties remain in full compliance. - - -10. FUTURE REVISIONS OF THIS LICENSE - -The Free Software Foundation may publish new, revised versions -of the GNU Free Documentation License from time to time. Such new -versions will be similar in spirit to the present version, but may -differ in detail to address new problems or concerns. See -http://www.gnu.org/copyleft/. - -Each version of the License is given a distinguishing version number. -If the Document specifies that a particular numbered version of this -License "or any later version" applies to it, you have the option of -following the terms and conditions either of that specified version or -of any later version that has been published (not as a draft) by the -Free Software Foundation. If the Document does not specify a version -number of this License, you may choose any version ever published (not -as a draft) by the Free Software Foundation. - - -ADDENDUM: How to use this License for your documents - -To use this License in a document you have written, include a copy of -the License in the document and put the following copyright and -license notices just after the title page: - - Copyright (c) YEAR YOUR NAME. - 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". - -If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, -replace the "with...Texts." line with this: - - with the Invariant Sections being LIST THEIR TITLES, with the - Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. - -If you have Invariant Sections without Cover Texts, or some other -combination of the three, merge those two alternatives to suit the -situation. - -If your document contains nontrivial examples of program code, we -recommend releasing these examples in parallel under your choice of -free software license, such as the GNU General Public License, -to permit their use in free software. diff --git a/how_to_contribute_to_this_wiki.mdwn b/how_to_contribute_to_this_wiki.mdwn index 3ee9a782..43d5b23e 100644 --- a/how_to_contribute_to_this_wiki.mdwn +++ b/how_to_contribute_to_this_wiki.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] (!) Some general hints first; they may sound very familiar from other software projects: diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index 7502aa7d..54dc8de2 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] UIDs on the Hurd are separate from processes. A process has [[capabilities|capability]] designating so-called UID vectors that diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index 16a26284..dd8edd0d 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[Thomas_Schwinge|tschwinge]] has written a shell script for building a complete cross-build environment for GNU/Hurd systems. diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn index f56af8f0..1158d357 100644 --- a/hurd/concepts.mdwn +++ b/hurd/concepts.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] * [[Translator]] * [[Virtual_File_System]] diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn index 9d07e740..132894ce 100644 --- a/hurd/contributing.mdwn +++ b/hurd/contributing.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # Porting Applications diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index 24f43198..4db8726f 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*A Critique of the GNU Hurd Multi-Server Operating diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn index 5f4184e3..f2f5dcd6 100644 --- a/hurd/debugging.mdwn +++ b/hurd/debugging.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # Strategies diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn index d9d6de02..f01a5461 100644 --- a/hurd/debugging/gdb.mdwn +++ b/hurd/debugging/gdb.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/) works on GNU/Hurd systems as it does on other system, but has some additional [hurd-specific diff --git a/hurd/debugging/gdb/backtrace.mdwn b/hurd/debugging/gdb/backtrace.mdwn index 62067392..158031c4 100644 --- a/hurd/debugging/gdb/backtrace.mdwn +++ b/hurd/debugging/gdb/backtrace.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] When someone asks you to supply a backtrace (from a [[segmentation_fault]], for example), here is roughly what you have to do. diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn index 63e970e2..18355c8c 100644 --- a/hurd/debugging/gdb/noninvasive_debugging.mdwn +++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Sometimes using [[GDB]] on a system server can result in a [[deadlock]]. You can however still use GDB by using the [`set diff --git a/hurd/debugging/hurd.mdwn b/hurd/debugging/hurd.mdwn index f5c8bd34..2f758920 100644 --- a/hurd/debugging/hurd.mdwn +++ b/hurd/debugging/hurd.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Say you want to try running file system server (*[[translator/ext2fs]]*, *[[translator/jfs]]*, ...) against a modified version of *[[libpager]]* and diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn index de85a8b7..05003fab 100644 --- a/hurd/debugging/rpctrace.mdwn +++ b/hurd/debugging/rpctrace.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] *rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index d7f96323..704dcc07 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # Essential Documentation diff --git a/hurd/history.mdwn b/hurd/history.mdwn index 9f442b93..d556b5d5 100644 --- a/hurd/history.mdwn +++ b/hurd/history.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] History 1997-2003
Personal view of Marcus Brinkmann about Hurd development in 1997-2003. diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index c7bdb135..b277fb5e 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Originally written by Wolfgang Jährling, the [Hurd Hacking Guide](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) contains an overview of some of the Hurd's features. diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn index b51b9efd..f59d9a74 100644 --- a/hurd/libpager.mdwn +++ b/hurd/libpager.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Mach's [[microkernel/mach/external_pager_mechanism]]. diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn index 87c6842e..b484accb 100644 --- a/hurd/libstore.mdwn +++ b/hurd/libstore.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] `libstore` is more than just a thin layer between [[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the diff --git a/hurd/logo.mdwn b/hurd/logo.mdwn index 345b443e..b39a1525 100644 --- a/hurd/logo.mdwn +++ b/hurd/logo.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The famous *Hurd Boxes* logo is available at . diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn index ac2939ec..9228d6ca 100644 --- a/hurd/neighborhurd.mdwn +++ b/hurd/neighborhurd.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] It is possible to run multiple instances of the Hurd in parallel, on a single instance of Mach. Other than diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn index b9f083f3..0df6dc8e 100644 --- a/hurd/ng/history.mdwn +++ b/hurd/ng/history.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The idea of using [[microkernel/L4]] as a [[microkernel]] for a [[Hurd_system|hurd]] was initially voiced in the [[Hurd_community|community]] diff --git a/hurd/ng/position_paper.mdwn b/hurd/ng/position_paper.mdwn index b163aea7..901aae1a 100644 --- a/hurd/ng/position_paper.mdwn +++ b/hurd/ng/position_paper.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*Improving Usability via Access Decomposition and Policy diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 82b11b53..28b9b241 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] * [[Distrib]] - Distributions based on the Hurd * [[microkernel/mach/gnumach/ports/Xen]] - In Xen diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index 6d03be5a..ad4fa9af 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index e976a5ff..8751b459 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some resources provided by another Hurd. For instance, backing store and the diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index afd9b647..9e72d108 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A translator is simply a normal program acting as an object server and participating in the Hurd's diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn index c644d0ca..9a5a9106 100644 --- a/hurd/translator/ext2fs.mdwn +++ b/hurd/translator/ext2fs.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The `ext2fs` translator from the upstream Hurd code base can only handle file systems with sizes of less than roughly 2 GiB. diff --git a/hurd/translator/fatfs.mdwn b/hurd/translator/fatfs.mdwn index 436ecf99..d1a4b69c 100644 --- a/hurd/translator/fatfs.mdwn +++ b/hurd/translator/fatfs.mdwn @@ -4,6 +4,6 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The current `fatfs` translator is read-only. diff --git a/hurd/translator/pfinet.mdwn b/hurd/translator/pfinet.mdwn index c0bd1b28..2790c601 100644 --- a/hurd/translator/pfinet.mdwn +++ b/hurd/translator/pfinet.mdwn @@ -4,6 +4,6 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Notes about [[IPv6]]. diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn index ca1132db..739fd47c 100644 --- a/hurd/translator/pfinet/ipv6.mdwn +++ b/hurd/translator/pfinet/ipv6.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]]. This was [Savannah task #5470](http://savannah.gnu.org/task/?5470). diff --git a/hurd/translator/storeio.mdwn b/hurd/translator/storeio.mdwn index 4493fad1..58834ef1 100644 --- a/hurd/translator/storeio.mdwn +++ b/hurd/translator/storeio.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] `storeio` is a *translator for devices and other stores*. diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index e39c7705..f3c2faaf 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Path names are resolved using a distributed protocol. No single entity is responsible for the resolution of diff --git a/ibac.mdwn b/ibac.mdwn index 91bd5274..3e860a0c 100644 --- a/ibac.mdwn +++ b/ibac.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] IBAC stands for identity-based access control. In this access control scheme, access to a resource diff --git a/idl.mdwn b/idl.mdwn index bcaacdec..67c69830 100644 --- a/idl.mdwn +++ b/idl.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] An IDL is an interface definition language. The most well-known is CORBA. An IDL compiler takes a specification and generates stubs diff --git a/index/discussion.mdwn b/index/discussion.mdwn index 4d6b53f7..c9a7517c 100644 --- a/index/discussion.mdwn +++ b/index/discussion.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # TODO diff --git a/ipc.mdwn b/ipc.mdwn index 09d8499c..8047970d 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] IPC stands for interprocess communication. diff --git a/isolation.mdwn b/isolation.mdwn index cd6c0eea..0e3e41c0 100644 --- a/isolation.mdwn +++ b/isolation.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] When two [[principal]]s cannot affect each other, they are said to be isolated from one another. Strictly speaking, if two principals diff --git a/license.html b/license.html index a626f556..9b2ddd4f 100644 --- a/license.html +++ b/license.html @@ -2,4 +2,4 @@ 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.txt]]. +in the section entitled [[GNU_Free_Documentation_License|/fdl]]. diff --git a/liedtke.mdwn b/liedtke.mdwn index 927b1d1e..95dacdcb 100644 --- a/liedtke.mdwn +++ b/liedtke.mdwn @@ -4,6 +4,6 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Liedtke is the father of [[microkernel/L4]]. diff --git a/mechanism.mdwn b/mechanism.mdwn index e991a8b2..959ac003 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The Collaborative International Dictionary of English v.0.48 defines a mechanism as: diff --git a/microkernel.mdwn b/microkernel.mdwn index 21a826dc..944169ab 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) that a microkernel attempts to minimize the mandatory part of the operating diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn index f31111a7..bf9920e3 100644 --- a/microkernel/for_beginners.mdwn +++ b/microkernel/for_beginners.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # Concepts diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index ac9dd6ec..6c72d951 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] - OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - OSF's [Kernel Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 2c917ff6..09a9919b 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Mach provides a so-called external pager [[mechanism]]. This mechanism serves to separate *managing memory* from *managing diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 5ad50f73..3a46ea82 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] GNU Mach is currently used by the GNU [[Hurd]]. diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index 495dfbf4..668a5977 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] `if NCPUS > 1` stuff is not being considered so far. diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 94fdb461..0f550dcd 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Mach has a built-in kernel debugger. [Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index aa30189e..67cd9a38 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] # CPU Architecture diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 47967d65..6bed775f 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. * Alpha. Was once started, but isn't in a usable state either. diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index a6aef7c7..abe536a1 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[General_information|/ipc]] about IPC. diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index 78a49c1a..602280f7 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Mach's [[IPC]] mechanism allows for getting access to a message's sequence number. diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index c572cfbb..df4420ab 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Mach ports are [[capabilities|capability]]. diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index b2e04908..9db99e74 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[General_information|/rpc]] about RPC. diff --git a/naming_context.mdwn b/naming_context.mdwn index 5c2badb9..14a9d9a0 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] Names are bindings to objects, however, to find an object given a name, the relation must be looked up in a diff --git a/persistency.mdwn b/persistency.mdwn index 370cbadf..1df99bc2 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A persistent object is an object that survives reboot. On Unix, files and directories are persistent but diff --git a/policy.mdwn b/policy.mdwn index e11720a5..6111e077 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A policy is a rule that define what may or may not happens, not how it happens. The latter is referred to as [[mechanism]]. diff --git a/principal.mdwn b/principal.mdwn index 6092f967..891c3224 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] A principal is an accountable entity. A principal may be a user. On some computer systems, users are represented by their diff --git a/rpc.mdwn b/rpc.mdwn index 4da79eb9..0878ac52 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -4,6 +4,6 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] RPC stands for remote procedure call. diff --git a/sfi.mdwn b/sfi.mdwn index a3a78832..8384b55c 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]] technique described by Wahbe et al. in their 1993 paper [Effcient diff --git a/sidebar.mdwn b/sidebar.mdwn index 21d24b7a..266b5f44 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] diff --git a/tcb.mdwn b/tcb.mdwn index 0dc4d2fb..7eba1fc1 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] TCB stands for trusted computed base. Unqualified, the trusted computing base referrers to the set of components programs diff --git a/trust.mdwn b/trust.mdwn index d96f702f..341e394b 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -4,7 +4,7 @@ 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.txt]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]] The word trust is used in a number of contexts with different technical meanings. Sometimes it is used to confuse, for instance trusted computing is rarely about -- cgit v1.2.3 From 8473a9df851c25bd2dd0b23b9d9c698ab9481f81 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 13 Nov 2007 19:14:50 +0100 Subject: Move to a suitable place. --- gnumachcompilation.mdwn | 52 -------------------------- howtos.mdwn | 5 ++- microkernel/mach/gnumach/building.mdwn | 3 ++ microkernel/mach/gnumach/building/example.mdwn | 52 ++++++++++++++++++++++++++ 4 files changed, 59 insertions(+), 53 deletions(-) delete mode 100644 gnumachcompilation.mdwn create mode 100644 microkernel/mach/gnumach/building/example.mdwn (limited to 'microkernel') diff --git a/gnumachcompilation.mdwn b/gnumachcompilation.mdwn deleted file mode 100644 index bb22dbff..00000000 --- a/gnumachcompilation.mdwn +++ /dev/null @@ -1,52 +0,0 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="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]]."]] - -## Compiling GNU Mach microkernel - -Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. - -* gcc version: 3.3.5 -* GNU sed version: 4.1.2 -* GNU make version: 3.8 -* mig version: 1.3-4 - -Obtained gnumach-1-branch sources from cvs: - - export CVS_RSH="ssh" - cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach - -Obtained mig_1.3-4_i386.deb from -http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: - - dpkg -i mig_1.3-4_i386.deb - -Entered into the gnumach sources and did the following for compilation: - - mkdir build - cd build - ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ - --enable-kdb --enable-ide - make - -The kernel file is created in the build directory. Move it to /boot on the -testing x86 system Hurd partition. Rename it as gnumach1 and compress it: - - mv kernel gnumach1 - gzip gnumach1 - -Add a new entry on the testing machine /boot/grub/menu.lst to boot the new -kernel. - - title GNU Hurd K10 Compiled gnumach - kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s - module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ - --host-priv-port=${host-port} --device-master-port=${device-port} \\ - --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) - module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -Reboot into the new compiled mygnumach1.gz kernel! diff --git a/howtos.mdwn b/howtos.mdwn index a9a34818..1398bcd2 100644 --- a/howtos.mdwn +++ b/howtos.mdwn @@ -7,6 +7,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]] ## Collection of brief !HOWTOs + * [[Setup_a_GNU_System|hurd/running/gnu/setup]] (also known as GNU/Hurd) * [[BuildGNUOnQemu]] Build a bootable qemu image of GNU System, aka build a bootable qemu image * GNU/Hurd on qemu (external link) @@ -20,5 +21,7 @@ is included in the section entitled * [[HurdLibraryHOWTO]] Hurd Library HOWTO ## Compilation - * [[GNUMachCompilation]] Compiling GNU Mach from sources + + * An [[microkernel/mach/gnumach/building/example]] about the compilation of + GNU Mach from sources * An [[hurd/building/example]] about the compilation of Hurd sources diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn index 3d62c3f0..e7135005 100644 --- a/microkernel/mach/gnumach/building.mdwn +++ b/microkernel/mach/gnumach/building.mdwn @@ -1,3 +1,6 @@ +Additional to the following text, a further [[example]] has be posted. + + # Building [[GNUMach]] from Source If you want to build the [[GNUMach]] kernel yourself instead of just using a pre-built binary, follow these instructions. diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn new file mode 100644 index 00000000..bb22dbff --- /dev/null +++ b/microkernel/mach/gnumach/building/example.mdwn @@ -0,0 +1,52 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +## Compiling GNU Mach microkernel + +Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. + +* gcc version: 3.3.5 +* GNU sed version: 4.1.2 +* GNU make version: 3.8 +* mig version: 1.3-4 + +Obtained gnumach-1-branch sources from cvs: + + export CVS_RSH="ssh" + cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach + +Obtained mig_1.3-4_i386.deb from +http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: + + dpkg -i mig_1.3-4_i386.deb + +Entered into the gnumach sources and did the following for compilation: + + mkdir build + cd build + ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ + --enable-kdb --enable-ide + make + +The kernel file is created in the build directory. Move it to /boot on the +testing x86 system Hurd partition. Rename it as gnumach1 and compress it: + + mv kernel gnumach1 + gzip gnumach1 + +Add a new entry on the testing machine /boot/grub/menu.lst to boot the new +kernel. + + title GNU Hurd K10 Compiled gnumach + kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s + module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ + --host-priv-port=${host-port} --device-master-port=${device-port} \\ + --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) + module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) + +Reboot into the new compiled mygnumach1.gz kernel! -- cgit v1.2.3 From 0f51b6c555647b2f44621e60988414dd66ce9a46 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 13 Nov 2007 19:18:32 +0100 Subject: Use proper ikiwiki syntax. --- microkernel/mach/gnumach/building.mdwn | 61 +++++++++++++++++++++------------- 1 file changed, 37 insertions(+), 24 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn index e7135005..27573b64 100644 --- a/microkernel/mach/gnumach/building.mdwn +++ b/microkernel/mach/gnumach/building.mdwn @@ -1,54 +1,63 @@ Additional to the following text, a further [[example]] has be posted. -# Building [[GNUMach]] from Source +# Building [[GNUMach]] from Source -If you want to build the [[GNUMach]] kernel yourself instead of just using a pre-built binary, follow these instructions. +If you want to build the [[GNUMach]] 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 enabled) is around 50 MiB. +The unpacked source tree is around 20 MiB, and the build tree (with all drivers +enabled) is around 50 MiB. -## Getting the Source Code +## Getting the Source Code -### Developers's rcs +### Developers's RCS See [here](http://www.gnu.org/software/hurd/gnumach-download.html#cvs). $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach -(Most probably you want to get hold of the _GNU Mach 1 branch_ and not the trunk, which is also what we've done above.) +(Most probably you want to get hold of the *GNU Mach 1 branch* and not the +trunk, which is also what we've done above.) You then have to create the automatically generatable files: $ ( cd gnumach && autoreconf --install ) -### What Debian is currently using +### What Debian is currently using See [here](http://packages.debian.net/source/unstable/gnumach). $ apt-get source gnumach -Please see the Debian [[running/debian/FAQ]] before using _apt-get source_. +Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. -## Preparing for the Build +## Preparing for the Build -### ... on Debian systems +### ... on Debian systems -Building GNU Mach requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source gnumach package: +Building GNU Mach requires the *build-essential* and *fakeroot* packages, their +dependencies and additional packages that are specified by the source gnumach +package: # apt-get install build-essential fakeroot # apt-get build-dep gnumach -### ... on non-Debian systems +### ... on non-Debian systems -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 back here. +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 +back here. -Additionally, building GNU Mach requires a C compiler, a standard C library and your favourite flavor of awk (gawk) and GNU make. +Additionally, building GNU Mach requires a C compiler, a standard C library and +your favourite flavor of awk (gawk) and GNU make. -## Building and Installing +## Building and Installing -### ... Debian _.deb_ files +### ... Debian `.deb` files -Change into the directory with the downloaded / unpacked _gnumach_ sources, e.g. +Change into the directory with the downloaded / unpacked GNU Mach sources, e.g. $ cd gnumach-20050801 @@ -56,20 +65,23 @@ Start the build process with $ dpkg-buildpackage -us -uc -b -rfakeroot -[[GNUMach]] 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. +[[GNUMach]] 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. # dpkg -i ../gnumach_20050801-4_hurd-i386.deb You can now reboot your computer and enjoy the new kernel. -### [TODO] +### [TODO] GNU Mach should be built in a separate directory: $ mkdir gnumach-build $ cd gnumach-build -Find the path to your GNU Mach sources (_[...]/gnumach-1-branch_) and configure it: +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: $ [...]/gnumach-1-branch/configure [TODO] @@ -81,21 +93,22 @@ Optionally run the (tiny) test suite: $ make check -You can then install and use _gnumach.gz_. +You can then install and use `gnumach.gz`. [TODO.] -### Installing only the Header Files +### Installing only the Header Files GNU Mach should be built in a separate directory: $ mkdir gnumach-build $ cd gnumach-build -Find the path to your GNU Mach sources (_[...]/gnumach-1-branch_) and configure it: +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: $ [...]/gnumach-1-branch/configure --prefix= -Install the header files into e.g. _~/gnu/include/_: +Install the header files into e.g. `~/gnu/include/`: $ make DESTDIR=~/gnu install-data -- cgit v1.2.3 From 1641a6a96d43da498999fe44022ec8fa9f3b7838 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 20 Nov 2007 13:52:13 +0100 Subject: How to enable a SATA -> IDE compatibility mode. --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 67cd9a38..a4e70386 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -67,6 +67,9 @@ compatibility mode: start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static device:hd0s4: No such device or address + +There *may* be an option in the system's BIOS setup to configure enabling such +a compatibility mode. """]] # Device Drivers -- cgit v1.2.3 From 526baadd1428a2d4d26ab0cb8a8270f34633fd0a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 1 Dec 2007 16:50:44 +0100 Subject: microkernel/mach/gnumach/hardwarecompatibilitylist: Add information about USB keyboards and mice. Based on the information from . --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index a4e70386..cbd0d496 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -46,6 +46,10 @@ No sound cards are supported at this time. USB is not supported at this time. +However, USB-type keyboards and mice may (and have been reported to) work +nevertheless, given that the hardware / BIOS is doing emulation to the +supported legacy interfaces. + # IEEE 1394 (Firewire) IEEE 1394 is not supported at this time -- cgit v1.2.3 From 89ae777f5dbd9bea2aeb05541ea557da15714085 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 11 Dec 2007 19:31:44 +0100 Subject: microkernel/mach/gnumach/revivalproject -> microkernel/mach/gnumach/projects --- Mach/OskitMach.mdwn | 7 +++- hurd/contributing.mdwn | 2 +- microkernel/mach/gnumach.mdwn | 2 +- microkernel/mach/gnumach/projects.mdwn | 51 ++++++++++++++++++++++++++++ microkernel/mach/gnumach/revivalproject.mdwn | 51 ---------------------------- microkernel/mach/history.mdwn | 3 +- 6 files changed, 61 insertions(+), 55 deletions(-) create mode 100644 microkernel/mach/gnumach/projects.mdwn delete mode 100644 microkernel/mach/gnumach/revivalproject.mdwn (limited to 'microkernel') diff --git a/Mach/OskitMach.mdwn b/Mach/OskitMach.mdwn index bfa12380..a1c3dab6 100644 --- a/Mach/OskitMach.mdwn +++ b/Mach/OskitMach.mdwn @@ -15,7 +15,12 @@ GNU Mach 2.0 makes use of the drivers provided by [the OSKit](http://www.cs.utah ## Status -The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody is working on it. Few people ever got it running, and by now there are also problems building with recent toolchains. Instead, the Hurd developers now concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also [[gnumach/RevivalProject]].) +The OSKit-Mach version of GNUmach is today (2005) more or less defunct. Nobody +is working on it. Few people ever got it running, and by now there are also +problems building with recent toolchains. Instead, the Hurd developers now +concentrate on completely different microkernels (Coyotos being the current +favourite), as well as on improving the original GNU Mach 1.x codebase. (See +also [[microkernel/mach/gnumach/projects]].) The [[MailingLists]], or the [[IRC]] is, like always, the best source of more current information. diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn index 132894ce..73550831 100644 --- a/hurd/contributing.mdwn +++ b/hurd/contributing.mdwn @@ -43,4 +43,4 @@ See the [[ToDo]]. [[GNU_Mach|microkernel/mach/gnumach]] is the underlying microkernel used by the Hurd. It has a number of deficencies; -[[microkernel/mach/gnumach/RevivalProject]]. +[[microkernel/mach/gnumach/projects]]. diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 3a46ea82..13ab8441 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -23,4 +23,4 @@ GNU Mach runs on x86 machines. See the * [[Building]] * [[Debugging]] * [[Boot_Trace]] -* [[RevivalProject]] - GNU Mach Projects +* [[Projects]] diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn new file mode 100644 index 00000000..b04b695f --- /dev/null +++ b/microkernel/mach/gnumach/projects.mdwn @@ -0,0 +1,51 @@ +## GNU Mach Revival Project + +This page is a place to keep track of all those things that we need to improve in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. + +If you want to help with any of the task (thanks!), please send a mail to the mailing list stating what task you wish to work on, so that no duplicate efforts end up. + +**_Task List_** + +* Clean up the Code. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Pedro J. Ruiz Lopez (holzplatten)_, _Matheus Morais (xsun)_, _We need **YOU** here!_) + * Remove all dead files from the GNU Mach source tree. + * Restructure the tree in a sane way. + * Remove dead functions/variables/etc from source files. + * Rewrite ugly code. + +* Update the core architecture and drivers. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Sergio Lopez (koro)_, _Pedro J. Ruiz Lopez (holzplatten)_, _We need **YOU** here!_) + * Check what NetBSD, FreeBSD and Linux do with their host specific code (i486, PPC, Sparc, ...). And if it might be wise to take that and use it in GNU Mach. There is no need to worry about purely internal API's, but the external ones shouldn't require any major changes. + * Write a list of all functions provided by the host dependant code in GNU Mach that gets used in the non-host specific code (kernel, IPC and VM). + * Once we have decided what the new internal API should look like, make a list of the new API and the old one, and try to make things as compatible as possible, but not at the expense of anything. + +* Implement Migrating Threads. (Assigned to: _Sergio Lopez (koro)_) + * Migrating Threads (MT) could improve IPC performance and making easier the work of the scheduler. For more information, check this + +* Improve the external pagers interface. (Assigned to: _We need **YOU** here!_) + * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage from MT's). + * Implement more paging eviction policies, so they fit better with usual behaviour of the pagers. + * Implement resource accounting for external pagers. + +* VM. (Assigned to: _We need **YOU** here!_) + * Put it on user level (?) + * Clean up the mess. + * Provide a fast way to read/write from/to a memory object. + * Simplify/normalise the code. + +* Simplify the IPC Semantics. (Assigned to: _We need **YOU** here!_) + * There are a lot of things in GNU Mach's IPC that we don't need. Track down those things, and get rid of them without requiring many changes in the Hurd (the changes will affect MiG, but that is OK). + +* Temporary mappings for Client-Server memory transfers. (Assigned to: _We need **YOU** here!_) + * Extend Mach's IPC to provide some kind of object which can represent a range of memory that can temporarily be mapped into the servers address space for sending/receiving data. This would allow us to avoid excessive memory copies. + * Find a new way to work with unaligned memory. + +* GDB remote debugging support (Assigned to: _Alfred M. Szmidt (ams)_) + * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. + +**_Wish List_** + +* Interface for userspace non-critical drivers. +* Sound Support ;-) +* WLAN support (ipw2200) with WEP/WPA +* ACPI support + +-- [[Main/SergioLopez]] - 20 Dec 2005 (Corrections by Alfred M. Szmidt) diff --git a/microkernel/mach/gnumach/revivalproject.mdwn b/microkernel/mach/gnumach/revivalproject.mdwn deleted file mode 100644 index b04b695f..00000000 --- a/microkernel/mach/gnumach/revivalproject.mdwn +++ /dev/null @@ -1,51 +0,0 @@ -## GNU Mach Revival Project - -This page is a place to keep track of all those things that we need to improve in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. - -If you want to help with any of the task (thanks!), please send a mail to the mailing list stating what task you wish to work on, so that no duplicate efforts end up. - -**_Task List_** - -* Clean up the Code. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Pedro J. Ruiz Lopez (holzplatten)_, _Matheus Morais (xsun)_, _We need **YOU** here!_) - * Remove all dead files from the GNU Mach source tree. - * Restructure the tree in a sane way. - * Remove dead functions/variables/etc from source files. - * Rewrite ugly code. - -* Update the core architecture and drivers. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Sergio Lopez (koro)_, _Pedro J. Ruiz Lopez (holzplatten)_, _We need **YOU** here!_) - * Check what NetBSD, FreeBSD and Linux do with their host specific code (i486, PPC, Sparc, ...). And if it might be wise to take that and use it in GNU Mach. There is no need to worry about purely internal API's, but the external ones shouldn't require any major changes. - * Write a list of all functions provided by the host dependant code in GNU Mach that gets used in the non-host specific code (kernel, IPC and VM). - * Once we have decided what the new internal API should look like, make a list of the new API and the old one, and try to make things as compatible as possible, but not at the expense of anything. - -* Implement Migrating Threads. (Assigned to: _Sergio Lopez (koro)_) - * Migrating Threads (MT) could improve IPC performance and making easier the work of the scheduler. For more information, check this - -* Improve the external pagers interface. (Assigned to: _We need **YOU** here!_) - * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage from MT's). - * Implement more paging eviction policies, so they fit better with usual behaviour of the pagers. - * Implement resource accounting for external pagers. - -* VM. (Assigned to: _We need **YOU** here!_) - * Put it on user level (?) - * Clean up the mess. - * Provide a fast way to read/write from/to a memory object. - * Simplify/normalise the code. - -* Simplify the IPC Semantics. (Assigned to: _We need **YOU** here!_) - * There are a lot of things in GNU Mach's IPC that we don't need. Track down those things, and get rid of them without requiring many changes in the Hurd (the changes will affect MiG, but that is OK). - -* Temporary mappings for Client-Server memory transfers. (Assigned to: _We need **YOU** here!_) - * Extend Mach's IPC to provide some kind of object which can represent a range of memory that can temporarily be mapped into the servers address space for sending/receiving data. This would allow us to avoid excessive memory copies. - * Find a new way to work with unaligned memory. - -* GDB remote debugging support (Assigned to: _Alfred M. Szmidt (ams)_) - * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. - -**_Wish List_** - -* Interface for userspace non-critical drivers. -* Sound Support ;-) -* WLAN support (ipw2200) with WEP/WPA -* ACPI support - --- [[Main/SergioLopez]] - 20 Dec 2005 (Corrections by Alfred M. Szmidt) diff --git a/microkernel/mach/history.mdwn b/microkernel/mach/history.mdwn index fe3247df..a27595c0 100644 --- a/microkernel/mach/history.mdwn +++ b/microkernel/mach/history.mdwn @@ -36,7 +36,8 @@ 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 [[gnumach/RevivalProject]]. +Today, GNU Mach development focuses on the 1.x branch again -- see also this +list of [[gnumach/projects]]. # Status of the project -- cgit v1.2.3 From 7a11d0976c75bab00e95a910324e26498ca32eaa Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 11 Dec 2007 23:39:44 +0100 Subject: microkernel/mach/gnumach/projects: Copyright (2005, 2006, 2007) is assigned to the FSF. This text was written by Sergio Lopez who has papers on file for the GNU Hurd. --- microkernel/mach/gnumach/projects.mdwn | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index b04b695f..188fcde7 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -1,4 +1,11 @@ -## GNU Mach Revival Project +[[meta copyright="Copyright © 2005, 2006, 2007 + Free Software Foundation, Inc."]] +[[meta license="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]]."]] This page is a place to keep track of all those things that we need to improve in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. @@ -47,5 +54,3 @@ If you want to help with any of the task (thanks!), please send a mail to the ma * Sound Support ;-) * WLAN support (ipw2200) with WEP/WPA * ACPI support - --- [[Main/SergioLopez]] - 20 Dec 2005 (Corrections by Alfred M. Szmidt) -- cgit v1.2.3 From f4ebf4ba5fec7998b4ad03844a041c2ece298332 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 11 Dec 2007 23:43:20 +0100 Subject: microkernel/mach/gnumach/projects: Better ikiwiki syntax. --- microkernel/mach/gnumach/projects.mdwn | 72 +++++++++++++++++++++++++++------- 1 file changed, 58 insertions(+), 14 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 188fcde7..33afec06 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -7,50 +7,94 @@ 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]]."]] -This page is a place to keep track of all those things that we need to improve in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. +This page is a place to keep track of all those things that we need to improve +in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms +of stability and performance. If you find anything missing here, please feel +free to add a entry with a short description. -If you want to help with any of the task (thanks!), please send a mail to the mailing list stating what task you wish to work on, so that no duplicate efforts end up. +If you want to help with any of the task (thanks!), please send a mail to the +[[*bug-hurd*_mailing_list|mailinglists]] stating what task you wish to work on, +so that no duplicate efforts end up. -**_Task List_** +# Task List * Clean up the Code. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Pedro J. Ruiz Lopez (holzplatten)_, _Matheus Morais (xsun)_, _We need **YOU** here!_) + * Remove all dead files from the GNU Mach source tree. + * Restructure the tree in a sane way. + * Remove dead functions/variables/etc from source files. + * Rewrite ugly code. * Update the core architecture and drivers. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Sergio Lopez (koro)_, _Pedro J. Ruiz Lopez (holzplatten)_, _We need **YOU** here!_) - * Check what NetBSD, FreeBSD and Linux do with their host specific code (i486, PPC, Sparc, ...). And if it might be wise to take that and use it in GNU Mach. There is no need to worry about purely internal API's, but the external ones shouldn't require any major changes. - * Write a list of all functions provided by the host dependant code in GNU Mach that gets used in the non-host specific code (kernel, IPC and VM). - * Once we have decided what the new internal API should look like, make a list of the new API and the old one, and try to make things as compatible as possible, but not at the expense of anything. + + * Check what NetBSD, FreeBSD and Linux do with their host specific code + (i486, PPC, Sparc, ...). And if it might be wise to take that and use it + in GNU Mach. There is no need to worry about purely internal API's, but + the external ones shouldn't require any major changes. + + * Write a list of all functions provided by the host dependant code in GNU + Mach that gets used in the non-host specific code (kernel, IPC and VM). + + * Once we have decided what the new internal API should look like, make a + list of the new API and the old one, and try to make things as compatible + as possible, but not at the expense of anything. * Implement Migrating Threads. (Assigned to: _Sergio Lopez (koro)_) - * Migrating Threads (MT) could improve IPC performance and making easier the work of the scheduler. For more information, check this + + * Migrating Threads (MT) could improve IPC performance and making easier the + work of the scheduler. For more information, check + * Improve the external pagers interface. (Assigned to: _We need **YOU** here!_) - * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage from MT's). - * Implement more paging eviction policies, so they fit better with usual behaviour of the pagers. + + * Making this interface synchronous should improve I/O performance + significantly, without (almost) any drawbacks (we also get some advantage + from MT's). + + * Implement more paging eviction policies, so they fit better with usual + behaviour of the pagers. + * Implement resource accounting for external pagers. * VM. (Assigned to: _We need **YOU** here!_) + * Put it on user level (?) + * Clean up the mess. + * Provide a fast way to read/write from/to a memory object. + * Simplify/normalise the code. * Simplify the IPC Semantics. (Assigned to: _We need **YOU** here!_) - * There are a lot of things in GNU Mach's IPC that we don't need. Track down those things, and get rid of them without requiring many changes in the Hurd (the changes will affect MiG, but that is OK). + + * There are a lot of things in GNU Mach's IPC that we don't need. Track down + those things, and get rid of them without requiring many changes in the + Hurd (the changes will affect MiG, but that is OK). * Temporary mappings for Client-Server memory transfers. (Assigned to: _We need **YOU** here!_) - * Extend Mach's IPC to provide some kind of object which can represent a range of memory that can temporarily be mapped into the servers address space for sending/receiving data. This would allow us to avoid excessive memory copies. + + * Extend Mach's IPC to provide some kind of object which can represent a + range of memory that can temporarily be mapped into the servers address + space for sending/receiving data. This would allow us to avoid excessive + memory copies. + * Find a new way to work with unaligned memory. * GDB remote debugging support (Assigned to: _Alfred M. Szmidt (ams)_) - * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. -**_Wish List_** + * Implement support for GDB debugging via serial line and/or network. Maybe + this can be done together with the host-specific work above. + +# Wish List * Interface for userspace non-critical drivers. -* Sound Support ;-) + +* Sound Support + * WLAN support (ipw2200) with WEP/WPA + * ACPI support -- cgit v1.2.3 From b6a900e3cc317596433f28a8211ac5d4bb54a155 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 11 Dec 2007 23:51:24 +0100 Subject: microkernel/mach/gnumach/projects: Remove assignments. Some of those people publically stated that they'd no longer work on their tasks, and some others we've also never heard of again. --- microkernel/mach/gnumach/projects.mdwn | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 33afec06..348975fa 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -7,10 +7,10 @@ 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]]."]] -This page is a place to keep track of all those things that we need to improve -in GNU Mach, so that it is a reliable microkernel for The Hurd, both in terms -of stability and performance. If you find anything missing here, please feel -free to add a entry with a short description. +This page is a place to keep track of ideas about things that may be improved +in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both +in terms of stability and performance. If you find anything missing here, +please feel free to add a entry with a short description. If you want to help with any of the task (thanks!), please send a mail to the [[*bug-hurd*_mailing_list|mailinglists]] stating what task you wish to work on, @@ -18,7 +18,7 @@ so that no duplicate efforts end up. # Task List -* Clean up the Code. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Pedro J. Ruiz Lopez (holzplatten)_, _Matheus Morais (xsun)_, _We need **YOU** here!_) +* Clean up the Code * Remove all dead files from the GNU Mach source tree. @@ -28,7 +28,7 @@ so that no duplicate efforts end up. * Rewrite ugly code. -* Update the core architecture and drivers. (Assigned to: **Team Leader:** _Gianluca Guida (gianluca)_, **Hackers:** _Alfredo Beaumont (abeaumont)_, _Sergio Lopez (koro)_, _Pedro J. Ruiz Lopez (holzplatten)_, _We need **YOU** here!_) +* Update the core architecture and drivers * Check what NetBSD, FreeBSD and Linux do with their host specific code (i486, PPC, Sparc, ...). And if it might be wise to take that and use it @@ -42,13 +42,13 @@ so that no duplicate efforts end up. list of the new API and the old one, and try to make things as compatible as possible, but not at the expense of anything. -* Implement Migrating Threads. (Assigned to: _Sergio Lopez (koro)_) +* Implement Migrating Threads * Migrating Threads (MT) could improve IPC performance and making easier the work of the scheduler. For more information, check -* Improve the external pagers interface. (Assigned to: _We need **YOU** here!_) +* Improve the external pagers interface * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage @@ -59,7 +59,7 @@ so that no duplicate efforts end up. * Implement resource accounting for external pagers. -* VM. (Assigned to: _We need **YOU** here!_) +* VM * Put it on user level (?) @@ -69,13 +69,13 @@ so that no duplicate efforts end up. * Simplify/normalise the code. -* Simplify the IPC Semantics. (Assigned to: _We need **YOU** here!_) +* Simplify the IPC Semantics * There are a lot of things in GNU Mach's IPC that we don't need. Track down those things, and get rid of them without requiring many changes in the Hurd (the changes will affect MiG, but that is OK). -* Temporary mappings for Client-Server memory transfers. (Assigned to: _We need **YOU** here!_) +* Temporary mappings for Client-Server memory transfers * Extend Mach's IPC to provide some kind of object which can represent a range of memory that can temporarily be mapped into the servers address @@ -84,7 +84,7 @@ so that no duplicate efforts end up. * Find a new way to work with unaligned memory. -* GDB remote debugging support (Assigned to: _Alfred M. Szmidt (ams)_) +* GDB remote debugging support * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. -- cgit v1.2.3 From c6972ce6e88950beacdf408c702b53ca694d1681 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 13 Dec 2007 11:29:56 +0100 Subject: microkernel/mach/gnumach/hardwarecompatibilitylist: Internal i815 videocard won't work. --- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index cbd0d496..4daae309 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -38,6 +38,11 @@ depends on a special kernel interface such as that provided by the `agpgart` kernel module for the Linux kernel, then your video card will only be supported by the VESA driver. +Using an internal i815 videocard [won't +work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when +using the specialized driver), because of [missing AGP GART support in GNU +Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). + # Sound No sound cards are supported at this time. -- cgit v1.2.3 From d5fb7b7e2e18d13143ae102fdaceafb3effae53b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 15 Dec 2007 21:58:45 +0100 Subject: microkernel/mach/gnumach/projects/clean_up_the_code: New file, from `microkernel/mach/gnumach/projects'. --- microkernel/mach/gnumach/projects.mdwn | 10 +--------- microkernel/mach/gnumach/projects/clean_up_the_code.mdwn | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 9 deletions(-) create mode 100644 microkernel/mach/gnumach/projects/clean_up_the_code.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 348975fa..7e8f19cb 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -18,15 +18,7 @@ so that no duplicate efforts end up. # Task List -* Clean up the Code - - * Remove all dead files from the GNU Mach source tree. - - * Restructure the tree in a sane way. - - * Remove dead functions/variables/etc from source files. - - * Rewrite ugly code. +* [[Clean_up_the_code]] * Update the core architecture and drivers diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn new file mode 100644 index 00000000..714273ab --- /dev/null +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -0,0 +1,16 @@ +[[meta copyright="Copyright © 2005, 2006, 2007 + Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +# Restructure the tree in a sane way + +# Remove dead files from the GNU Mach source tree + +# Remove dead functions, variables, etc. from source files + +# Rewrite ugly code -- cgit v1.2.3 From eca458b07ffa8bf15281e8cafdf3e81b8d2a908d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 15 Dec 2007 22:10:36 +0100 Subject: microkernel/mach/gnumach/projects/clean_up_the_code: Add some content. --- .../mach/gnumach/projects/clean_up_the_code.mdwn | 103 +++++++++++++++++++++ 1 file changed, 103 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn index 714273ab..67e341af 100644 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -9,8 +9,111 @@ is included in the section entitled # Restructure the tree in a sane way +Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it +as-is for now. Also, a bunch of (header) files from there may probably be +discarded. + + # Remove dead files from the GNU Mach source tree +For *exported* files (via `make install`), the plan is to first stick some +`#error This file is scheduled for removal. Write to if you +have a reason to have it kept available.` into them, and then actually remove +them after some months. + +For some of the internal header files (containing function prototypes and the +like), it might actually be useful to use them. (And then get rid of a bunch +of `extern ...` statements in other files.) + +This following list was assembled by putting such a `#error ...` line into each +of the `gnumach-1-branch`'s header files (exported and internal; save the +`linux/` ones (only internal) for simplicity), and then trying to build GNU +Mach until this would succeed again (by removing offending `#error ...`s), and +afterwards using the set of exported files for building a cross toolchain +(again still removing offending `#error ...`s). A very crude and imprecise +method. + +So, additionally to the list given below, there may actually be a bunch of +further files (also exported ones) that serve no real value, but are being +`#include`d through one way or another. + +* [[source_gnumach-1-branch ddb/db_expr.h]] + + Currently used, but copyright violation? Rewrite? + +* [[source_gnumach-1-branch ddb/db_print.h]] + + Copyright violation? Currently unused, but could be used in principle (or + be rewritten, to avoid the copyright oddity). + +* [[source_gnumach-1-branch ddb/tr.h]] + + Copyright violation. Unused. Remove. + +* [[source_gnumach-1-branch device/dev_master.h]] + + Might be usable for SMP? Remove otherwise. + +* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] + +* [[source_gnumach-1-branch i386/i386/sched_param.h]] + +* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] + + Was probably once exported, but is no longer. + +* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/audio_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/tape_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/alert.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/boot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/macro_help.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/multiboot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profil.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profilparam.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/exec/a.out.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] + + Currently not exported, but was probably once meant to be. + +* [[source_gnumach-1-branch kern/act.h]] + +* [[source_gnumach-1-branch kern/refcount.h]] + +* [[source_gnumach-1-branch kern/shuttle.h]] + + # Remove dead functions, variables, etc. from source files + # Rewrite ugly code -- cgit v1.2.3 From a6d7f00f976cf775093fa97d06178c853c461c05 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 12 Nov 2007 14:48:57 +0100 Subject: Rename [[microkernel/mach/gnumach/hardwarecompatibilitylist]] to [[.../hardware_compatibility_list]] and add a forwarding from the old page. Change all uses. --- hurd/gettinghelp.mdwn | 2 +- microkernel/mach/gnumach.mdwn | 2 +- .../mach/gnumach/hardware_compatibility_list.mdwn | 109 +++++++++++++++++++++ .../hardware_compatibility_list/discussion.mdwn | 4 + .../mach/gnumach/hardwarecompatibilitylist.mdwn | 102 +------------------ .../hardwarecompatibilitylist/discussion.mdwn | 4 - 6 files changed, 116 insertions(+), 107 deletions(-) create mode 100644 microkernel/mach/gnumach/hardware_compatibility_list.mdwn create mode 100644 microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn delete mode 100644 microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn (limited to 'microkernel') diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index 704dcc07..a02d091f 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -9,7 +9,7 @@ is included in the section entitled # Essential Documentation * [[FAQ]] -* [[microkernel/mach/gnumach/HardwareCompatibilityList]] +* [[microkernel/mach/gnumach/Hardware_Compatibility_List]] # Forums diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 13ab8441..ab35a9de 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -14,7 +14,7 @@ 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|hardwarecompatibilitylist]] and information about +[[hardware_compatibility_list]] and information about [[ports]] to other architectures. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn new file mode 100644 index 00000000..4daae309 --- /dev/null +++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn @@ -0,0 +1,109 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +# CPU Architecture + +GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. + +`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice +`amd64` systems seem to be troublesome more often than not. This is probably +related to the same (chipset-related) problems we often see with recent +machines; but it seems that `amd64` ones use problematic chipsets particularily +often. So far we haven't heard of similar problems with Intel's eqivalent +`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer +people tried running the Hurd on such machines :-) + +Support for running GNU Mach (and a complete GNU/Hurd system) in a +[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` +only) is [[being_worked_on|ports/xen]]. + +Read about further [[ports]]. + +# Memory + +GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, +the surplus will silently be ignored. (In past times, this would hinder GNU +Mach from booting at all, but this has been fixed, so you no longer need to +apply GRUB's `uppermem` directive.) + +# Video Cards + +Debian distributes a version of [X.org](http://x.org/). If your video card driver +depends on a special kernel interface such as that provided by +the `agpgart` kernel module for the Linux kernel, then your video +card will only be supported by the VESA driver. + +Using an internal i815 videocard [won't +work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when +using the specialized driver), because of [missing AGP GART support in GNU +Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). + +# Sound + +No sound cards are supported at this time. + +# USB 1.1/2.0 + +USB is not supported at this time. + +However, USB-type keyboards and mice may (and have been reported to) work +nevertheless, given that the hardware / BIOS is doing emulation to the +supported legacy interfaces. + +# IEEE 1394 (Firewire) + +IEEE 1394 is not supported at this time + +# Storage + +All common IDE drives should work. Some drive geometries do not work, +e.g. drives with hundreds of GiB of storage space. If you find a specific IDE +drive that does not work, make a note of the model and technical specifications +here. + +[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] + + +[[toggleable id="SATA" text=""" +This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach +couldn't connect to the hard disk, e.g., in a SATA system without IDE +compatibility mode: + + start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static + device:hd0s4: No such device or address + +There *may* be an option in the system's BIOS setup to configure enabling such +a compatibility mode. +"""]] + +# Device Drivers + +[GNU Mach Reference Manual, +Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) +contains a list of device drivers that are included in GNU Mach and elaborates +on the hardware devices they support. + +# User Success Reports + +These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. + +* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot +* Intel SE-440BX motherboard +* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. +* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. +* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. + +# User Failure Reports + +Some people couldn't get these hardware combinations to work with Hurd. + +Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. + +* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. +* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn new file mode 100644 index 00000000..69ca3190 --- /dev/null +++ b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn @@ -0,0 +1,4 @@ +Further information may still be found on + +and could perhaps be incorporated into that page. +--[[tschwinge]] diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 4daae309..60990733 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -6,104 +6,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]]."]] -# CPU Architecture - -GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. - -`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice -`amd64` systems seem to be troublesome more often than not. This is probably -related to the same (chipset-related) problems we often see with recent -machines; but it seems that `amd64` ones use problematic chipsets particularily -often. So far we haven't heard of similar problems with Intel's eqivalent -`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer -people tried running the Hurd on such machines :-) - -Support for running GNU Mach (and a complete GNU/Hurd system) in a -[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` -only) is [[being_worked_on|ports/xen]]. - -Read about further [[ports]]. - -# Memory - -GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, -the surplus will silently be ignored. (In past times, this would hinder GNU -Mach from booting at all, but this has been fixed, so you no longer need to -apply GRUB's `uppermem` directive.) - -# Video Cards - -Debian distributes a version of [X.org](http://x.org/). If your video card driver -depends on a special kernel interface such as that provided by -the `agpgart` kernel module for the Linux kernel, then your video -card will only be supported by the VESA driver. - -Using an internal i815 videocard [won't -work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when -using the specialized driver), because of [missing AGP GART support in GNU -Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). - -# Sound - -No sound cards are supported at this time. - -# USB 1.1/2.0 - -USB is not supported at this time. - -However, USB-type keyboards and mice may (and have been reported to) work -nevertheless, given that the hardware / BIOS is doing emulation to the -supported legacy interfaces. - -# IEEE 1394 (Firewire) - -IEEE 1394 is not supported at this time - -# Storage - -All common IDE drives should work. Some drive geometries do not work, -e.g. drives with hundreds of GiB of storage space. If you find a specific IDE -drive that does not work, make a note of the model and technical specifications -here. - -[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] - - -[[toggleable id="SATA" text=""" -This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach -couldn't connect to the hard disk, e.g., in a SATA system without IDE -compatibility mode: - - start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static - device:hd0s4: No such device or address - -There *may* be an option in the system's BIOS setup to configure enabling such -a compatibility mode. -"""]] - -# Device Drivers - -[GNU Mach Reference Manual, -Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) -contains a list of device drivers that are included in GNU Mach and elaborates -on the hardware devices they support. - -# User Success Reports - -These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. - -* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot -* Intel SE-440BX motherboard -* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. -* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. -* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. - -# User Failure Reports - -Some people couldn't get these hardware combinations to work with Hurd. - -Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. - -* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot -* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. -* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. +[[meta forward="[[hardware_compatibility_list]]"]] diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn deleted file mode 100644 index 69ca3190..00000000 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist/discussion.mdwn +++ /dev/null @@ -1,4 +0,0 @@ -Further information may still be found on - -and could perhaps be incorporated into that page. ---[[tschwinge]] -- cgit v1.2.3 From 4fa5216a5d1f91b55d68287b3ce696a46a960ecb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 9 Dec 2007 22:47:06 +0100 Subject: Use the correct ikiwiki syntax, now that this functionality is part of ikiwiki proper. --- hurd/gettinghelp.mdwn | 2 +- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index f984f577..d8bdaf52 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -6,4 +6,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 forward="[[getting_help]]"]] +[[meta redir=getting_help]] diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 60990733..42d558f3 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -6,4 +6,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 forward="[[hardware_compatibility_list]]"]] +[[meta redir=hardware_compatibility_list]] -- cgit v1.2.3 From a4037ec4b3668100c73ef90735c965bc1511d40a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 20 Dec 2007 00:22:20 +0100 Subject: rules: New. --- hurd.mdwn | 1 + microkernel/mach/gnumach.mdwn | 1 + rules.mdwn | 87 +++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 rules.mdwn (limited to 'microkernel') diff --git a/hurd.mdwn b/hurd.mdwn index bf57c9ba..61329f97 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -56,6 +56,7 @@ # Developer References +* [[Rules]] * Libraries * [[libpager]] * [[libstore]] diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index ab35a9de..30073a16 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -24,3 +24,4 @@ GNU Mach runs on x86 machines. See the * [[Debugging]] * [[Boot_Trace]] * [[Projects]] + * [[Rules]] diff --git a/rules.mdwn b/rules.mdwn new file mode 100644 index 00000000..53810a8c --- /dev/null +++ b/rules.mdwn @@ -0,0 +1,87 @@ +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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]]."]] + +# Source repositories + +CVS repositories on Savannah, see . + +## Branches + +Members of the Hurd Savannah group, +, are allowed to +create branches without formal permission... + +* named *SAVANNAH_LOGIN-WHATEVER-branch* for general-purpose branches, or + +* named *BASE_BRANCH-WHATEVER-branch* for topic-branches basing on + *BASE_BRANCH*. + +*WHATEVER* shall be a suitable tag. + +Exaples: + +* GNU Mach + + * *gnumach-1-branch-Xen-branch* + * *gnumach-1-branch-gdb-branch* + +* GNU Hurd + + * *miles-orphaned-changes* + * *hammy-libchannel-branch* + * *mmenal-soc2006-nfs-branch* + +Also, create helper tags for merging mainline changes into your branches. + +Exaples: + +* GNU Mach + + * *gnumach-1-branch-Xen-branch*: *gnumach-1-branch-Xen-branch-merge_helper* + * *gnumach-1-branch-gdb-branch*: *gnumach-1-branch-gdb-branch-merge_helper* + +* GNU Hurd + + * *hammy-libchannel-branch*: *hammy-libchannel-branch-base* + * *mmenal-soc2006-nfs-branch*: *mmenal-soc2006-nfs-branch-base* + +### Merging + +Merging between CVS branches is not trivial. Unless you really know what +you're doing, please talk to [[Thomas_Schwinge|tschwinge]] or +[[Samuel_Thibault|samuelthibault]], to avoid cluttering the repositories +unintendedly. + +## Tags + +Equivalent rules apply. + +## Behavior + +Most branches are to be eventually be merged back into the mainline branch. To +faciliate (and also to help other contributors) we'd like you to write a short +summary log in a top-level (or wherever else appropriate) `ChangeLog.WHATEVER` +file. + +Exaples: + +* GNU Mach + + * *gnumach-1-branch-Xen-branch*: `ChangeLog.Xen` + * *gnumach-1-branch-gdb-branch-merge_helper*: `ChangeLog.gdb` + +* GNU Hurd + + * *hammy-libchannel-branch-base*: `channelio/ChangeLog`, `libchannel/ChangeLog` + * *mmenal-soc2006-nfs-branch-base*: `nfs/ChangeLog` + +This need not be a full-fledged [GNU-style *ChangeLog* +file](http://www.gnu.org/prep/standards/html_node/Change-Logs.html). E.g., +don't waste time writing *ChangeLog* entries for debugging stuff that will be +removed again before merging back into mainline. But please do write +something. Short notes. -- cgit v1.2.3 From 1bb5202e046ffc78bb1cbf3ae35890a6c1b8bf5e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 22 Dec 2007 14:45:59 +0100 Subject: mailinglists -> mailing_lists. Add redirection from the old location. --- Hurd/SeenHurd.mdwn | 2 +- Mach/OskitMach.mdwn | 3 +- community.mdwn | 2 +- hurd/faq.mdwn | 2 +- hurd/getting_help.mdwn | 2 +- hurd/ng/history.mdwn | 2 +- index.mdwn | 4 +-- mailing_lists.mdwn | 48 ++++++++++++++++++++++++++++ mailing_lists/unmoderated.mdwn | 10 ++++++ mailinglists.mdwn | 57 ++++++---------------------------- mailinglists/unmoderated.mdwn | 10 ------ microkernel/mach/gnumach/projects.mdwn | 2 +- rules/savannah_group.mdwn | 5 ++- 13 files changed, 79 insertions(+), 70 deletions(-) create mode 100644 mailing_lists.mdwn create mode 100644 mailing_lists/unmoderated.mdwn delete mode 100644 mailinglists/unmoderated.mdwn (limited to 'microkernel') diff --git a/Hurd/SeenHurd.mdwn b/Hurd/SeenHurd.mdwn index 3b4c4bbd..be9e1aba 100644 --- a/Hurd/SeenHurd.mdwn +++ b/Hurd/SeenHurd.mdwn @@ -7,7 +7,7 @@ ## Hurd People Sightings
-
[[MailingLists]]
+
[[Mailing_lists]]
Available mailing lists
[[IRC]]
diff --git a/Mach/OskitMach.mdwn b/Mach/OskitMach.mdwn index a1c3dab6..c28f2d89 100644 --- a/Mach/OskitMach.mdwn +++ b/Mach/OskitMach.mdwn @@ -22,7 +22,8 @@ concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also [[microkernel/mach/gnumach/projects]].) -The [[MailingLists]], or the [[IRC]] is, like always, the best source of more current information. +The [[mailing_lists]], or the [[IRC]] is, like always, the best source of more +current information. There also exist other efforts: diff --git a/community.mdwn b/community.mdwn index e1db9a57..fabe6afd 100644 --- a/community.mdwn +++ b/community.mdwn @@ -2,7 +2,7 @@ There is an expanding community of people developing and running test Debian GNU/Hurd machines. The two key resources most often used for communication are the Debian and GNU -[[mailinglists]], as well as the [[IRC]]. +[[mailing_lists]], as well as the [[IRC]]. [[community/Meetings]] -- Meetings with Hurd developer attendance. diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn index 3f0cc7e5..6a9c1f64 100644 --- a/hurd/faq.mdwn +++ b/hurd/faq.mdwn @@ -1,6 +1,6 @@ In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.) -If you still have problems, do not hesitate to make use of the [[MailingLists]] or the [[IRC]]. +If you still have problems, do not hesitate to make use of the [[mailing_lists]] or the [[IRC]]. * **_You say GNU, don't you mean GNU/Hurd?_** * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. Also see [[GNU/GnuNames]] diff --git a/hurd/getting_help.mdwn b/hurd/getting_help.mdwn index a02d091f..72cfc3c2 100644 --- a/hurd/getting_help.mdwn +++ b/hurd/getting_help.mdwn @@ -20,5 +20,5 @@ use this wiki, etc.), show us that you did so when you ask your question, and provide as many relevant details as possible reproducing them as exactly as possible. -* [[MailingLists]] +* [[Mailing_lists]] * [[IRC]] diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn index 0df6dc8e..78ae8001 100644 --- a/hurd/ng/history.mdwn +++ b/hurd/ng/history.mdwn @@ -8,7 +8,7 @@ is included in the section entitled The idea of using [[microkernel/L4]] as a [[microkernel]] for a [[Hurd_system|hurd]] was initially voiced in the [[Hurd_community|community]] -by Okuji Yoshinori. He created the [[*l4-hurd*_mailing_list|mailinglists]] in +by Okuji Yoshinori. He created the [[*l4-hurd*_mailing_list|mailing_lists]] in November 2000. It does not appear that he got any further than simply suggesting it as an alternative to [[microkernel/Mach]] and doing some reading. diff --git a/index.mdwn b/index.mdwn index da8a5c0b..091c6857 100644 --- a/index.mdwn +++ b/index.mdwn @@ -26,7 +26,7 @@ package from Debian experimental fixed this for me. --> There are a couple of different [[Hurd_FAQs|hurd/FAQ]]. There are a number of [[IRC_channels|IRC]] and several -different [[mailing_lists|MailingLists]] with searchable archives. +different [[mailing_lists]] with searchable archives. Before asking a question on a mailing list or on IRC, first, please try to answer your own question using a search engine and reading the introductory @@ -92,7 +92,7 @@ This wiki is living proof of a working HURD installation, as it is served server Community resources for related projects focus around the official website , this site at , the -[[mailing_lists|MailingLists]] and the [[IRC_channels|IRC]]. +[[mailing_lists]] and the [[IRC_channels|IRC]]. [[hurd/Status]] diff --git a/mailing_lists.mdwn b/mailing_lists.mdwn new file mode 100644 index 00000000..8a854908 --- /dev/null +++ b/mailing_lists.mdwn @@ -0,0 +1,48 @@ +# On Posting + +Before asking a question on a list, first make an effort to find the answer +to your question. When you ask your question, (1) be details, and (2) demonstrate +that you have made an effort, e.g., "I am having trouble frobbing the foo. I +searched the web and only found information regarding how to frob a bar, but +that seems unrelated." + +List etiquette is to cc the sender and anyone **actively** involved in the +discussion. Some people don't like this and they set their reply-to header +appropriately. Respect this. + +It is rarely appropriate to cc multiple lists. Sometimes it is. In that case, +do so. If in doubt, don't; just choose the single most appropriate list. + + +# Main Lists + +The lists are [[unmoderated]] and most of them are hosted on +. Try to post to the appropriate mailing list. + +* [bug-hurd](http://lists.gnu.org/mailman/listinfo/bug-hurd) -- Technical + discussion and bug reports; main development list. +* [hurd-devel](http://lists.gnu.org/mailman/listinfo/hurd-devel) -- Low-traffic + developers list. (This list is *moderated* and *restricted*; subscribe to + [hurd-devel-readers](http://lists.gnu.org/mailman/listinfo/hurd-devel-readers) + instead.) +* [help-hurd](http://lists.gnu.org/mailman/listinfo/help-hurd) -- Hurd-specific + questions; for users of the Hurd. +* [web-hurd](http://lists.gnu.org/mailman/listinfo/web-hurd) -- Discussion of + the website and this wiki. + +* [l4-hurd](http://lists.gnu.org/mailman/listinfo/l4-hurd) -- Discussion + regarding a possible [[design_successor|hurd/ng]] to the Hurd. + +* [debian-hurd](http://lists.debian.org/debian-hurd/) -- Discussion around + and questions regarding the [[Debian_GNU/Hurd|hurd/running/debian]] + distribution. +* [gnu-system-discuss](http://lists.gnu.org/mailman/listinfo/gnu-system-discuss) + -- Discussion about the [[GNU_system|hurd/running/gnu]]. + +Some of the Hurd user groups listed on [[community]] also host additional +mailing lists. + + +# Related + +* [[IRC]] diff --git a/mailing_lists/unmoderated.mdwn b/mailing_lists/unmoderated.mdwn new file mode 100644 index 00000000..43fbe750 --- /dev/null +++ b/mailing_lists/unmoderated.mdwn @@ -0,0 +1,10 @@ +In fact the lists *are* moderated for users that post from not-subscribed email +addresses. However, this moderation should be transparent to the poster, you +only might notice some additional delay until your message shows up on the +list, as it has to be handled manually. Note that this is a one-time delay, as +the address will be added to a white-list, so that further messages from the +same sending address will get through immediatelly. + +So, to initiate a discussion you do not need to subscribe to the mailing list +in question. And people are very much encouraged to maintain the CC +recipients, so that you'll also receive replys to your message. diff --git a/mailinglists.mdwn b/mailinglists.mdwn index 8a854908..8d040d84 100644 --- a/mailinglists.mdwn +++ b/mailinglists.mdwn @@ -1,48 +1,9 @@ -# On Posting - -Before asking a question on a list, first make an effort to find the answer -to your question. When you ask your question, (1) be details, and (2) demonstrate -that you have made an effort, e.g., "I am having trouble frobbing the foo. I -searched the web and only found information regarding how to frob a bar, but -that seems unrelated." - -List etiquette is to cc the sender and anyone **actively** involved in the -discussion. Some people don't like this and they set their reply-to header -appropriately. Respect this. - -It is rarely appropriate to cc multiple lists. Sometimes it is. In that case, -do so. If in doubt, don't; just choose the single most appropriate list. - - -# Main Lists - -The lists are [[unmoderated]] and most of them are hosted on -. Try to post to the appropriate mailing list. - -* [bug-hurd](http://lists.gnu.org/mailman/listinfo/bug-hurd) -- Technical - discussion and bug reports; main development list. -* [hurd-devel](http://lists.gnu.org/mailman/listinfo/hurd-devel) -- Low-traffic - developers list. (This list is *moderated* and *restricted*; subscribe to - [hurd-devel-readers](http://lists.gnu.org/mailman/listinfo/hurd-devel-readers) - instead.) -* [help-hurd](http://lists.gnu.org/mailman/listinfo/help-hurd) -- Hurd-specific - questions; for users of the Hurd. -* [web-hurd](http://lists.gnu.org/mailman/listinfo/web-hurd) -- Discussion of - the website and this wiki. - -* [l4-hurd](http://lists.gnu.org/mailman/listinfo/l4-hurd) -- Discussion - regarding a possible [[design_successor|hurd/ng]] to the Hurd. - -* [debian-hurd](http://lists.debian.org/debian-hurd/) -- Discussion around - and questions regarding the [[Debian_GNU/Hurd|hurd/running/debian]] - distribution. -* [gnu-system-discuss](http://lists.gnu.org/mailman/listinfo/gnu-system-discuss) - -- Discussion about the [[GNU_system|hurd/running/gnu]]. - -Some of the Hurd user groups listed on [[community]] also host additional -mailing lists. - - -# Related - -* [[IRC]] +[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] +[[meta license="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=mailing_lists]] diff --git a/mailinglists/unmoderated.mdwn b/mailinglists/unmoderated.mdwn deleted file mode 100644 index 43fbe750..00000000 --- a/mailinglists/unmoderated.mdwn +++ /dev/null @@ -1,10 +0,0 @@ -In fact the lists *are* moderated for users that post from not-subscribed email -addresses. However, this moderation should be transparent to the poster, you -only might notice some additional delay until your message shows up on the -list, as it has to be handled manually. Note that this is a one-time delay, as -the address will be added to a white-list, so that further messages from the -same sending address will get through immediatelly. - -So, to initiate a discussion you do not need to subscribe to the mailing list -in question. And people are very much encouraged to maintain the CC -recipients, so that you'll also receive replys to your message. diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 7e8f19cb..8f4df98f 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -13,7 +13,7 @@ in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. If you want to help with any of the task (thanks!), please send a mail to the -[[*bug-hurd*_mailing_list|mailinglists]] stating what task you wish to work on, +[[*bug-hurd*_mailing_list|mailing_lists]] stating what task you wish to work on, so that no duplicate efforts end up. # Task List diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn index c913b28e..06d98fe6 100644 --- a/rules/savannah_group.mdwn +++ b/rules/savannah_group.mdwn @@ -14,6 +14,5 @@ There is no need to be a formal member of the GNU Hurd Savannah group in order to be able to contribute to the system. In fact, if we added every single soul that was interested in the Hurd to the Savannah group it'd probably have exploded by now. We have the policy of adding people as soon as they are -beginning to make substantial contributions. Simply use the -[[mailing_lists|mailinglists]] for sending your contributions, for asking -questions, and so on. +beginning to make substantial contributions. Simply use the [[mailing_lists]] +for sending your contributions, for asking questions, and so on. -- cgit v1.2.3 From 8220c7bbf402be21a85f8215947d1e72f9d8fdca Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 22 Dec 2007 16:46:48 +0100 Subject: contributing/questionnaire: Use the new interface for referring to specific mailing lists. hurd/ng/history: Likewise. microkernel/mach/gnumach/projects: Likewise. --- contributing/questionnaire.mdwn | 2 +- hurd/ng/history.mdwn | 2 +- microkernel/mach/gnumach/projects.mdwn | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/contributing/questionnaire.mdwn b/contributing/questionnaire.mdwn index 6402eb3a..1a45442e 100644 --- a/contributing/questionnaire.mdwn +++ b/contributing/questionnaire.mdwn @@ -40,4 +40,4 @@ items and spend some time thinking about those. Every new contributor is very much encouraged to take some notes about these -items and post them to the [[*bug-hurd*_mailing_list|mailing_lists]]. +items and post them to *[[mailing_lists/bug-hurd]]*. diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn index 78ae8001..3d45192d 100644 --- a/hurd/ng/history.mdwn +++ b/hurd/ng/history.mdwn @@ -8,7 +8,7 @@ is included in the section entitled The idea of using [[microkernel/L4]] as a [[microkernel]] for a [[Hurd_system|hurd]] was initially voiced in the [[Hurd_community|community]] -by Okuji Yoshinori. He created the [[*l4-hurd*_mailing_list|mailing_lists]] in +by Okuji Yoshinori. He created the *[[mailing_lists/l4-hurd]]* mailing list in November 2000. It does not appear that he got any further than simply suggesting it as an alternative to [[microkernel/Mach]] and doing some reading. diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 8f4df98f..d186a6de 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -12,8 +12,8 @@ in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. -If you want to help with any of the task (thanks!), please send a mail to the -[[*bug-hurd*_mailing_list|mailing_lists]] stating what task you wish to work on, +If you want to help with any of the task (thanks!), please send a mail to +*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, so that no duplicate efforts end up. # Task List -- cgit v1.2.3 From a3b32e924ccb0f6cc31c36ce7d3ea695bcc360ad Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 18 Jan 2008 17:28:28 +0100 Subject: Make the GFDL 1.2+ licensing text toggleable. --- Hurd/GNUHurdStatus.mdwn | 8 +++++--- Hurd/HurdNames.mdwn | 8 +++++--- Hurd/TheGnuHurd.mdwn | 8 +++++--- abac.mdwn | 8 +++++--- about_the_twiki_to_ikiwiki_conversion.mdwn | 8 +++++--- asbestos.mdwn | 8 +++++--- binutils.mdwn | 8 +++++--- capability.mdwn | 8 +++++--- community.mdwn | 6 ++++-- community/facebook.mdwn | 8 +++++--- community/meetings.mdwn | 6 ++++-- community/meetings/fosdem_2005.mdwn | 6 ++++-- community/meetings/fosdem_2006.mdwn | 6 ++++-- community/meetings/fosdem_2007.mdwn | 6 ++++-- community/meetings/fosdem_2008.mdwn | 6 ++++-- community/meetings/rmll_2006.mdwn | 6 ++++-- community/meetings/stesie_2007-10-12.mdwn | 8 +++++--- config_edittemplate.mdwn | 8 +++++--- config_edittemplate/regular_page.mdwn | 6 ++++-- confused_deputy.mdwn | 8 +++++--- contributing.mdwn | 8 +++++--- contributing/questionnaire.mdwn | 8 +++++--- contributing/wiki.mdwn | 8 +++++--- designation.mdwn | 8 +++++--- destructive_interference.mdwn | 8 +++++--- donate.mdwn | 6 ++++-- extensibility.mdwn | 8 +++++--- gcc.mdwn | 8 +++++--- gdb.mdwn | 8 +++++--- gdb/backtrace.mdwn | 8 +++++--- glibc.mdwn | 8 +++++--- how_to_contribute_to_this_wiki.mdwn | 8 +++++--- hurd/authentication.mdwn | 8 +++++--- hurd/binutils.mdwn | 8 +++++--- hurd/building/cross-compiling.mdwn | 8 +++++--- hurd/building/cross-compiling/discussion.mdwn | 8 +++++--- hurd/building/example.mdwn | 8 +++++--- hurd/concepts.mdwn | 8 +++++--- hurd/contributing.mdwn | 8 +++++--- hurd/critique.mdwn | 8 +++++--- hurd/debugging.mdwn | 8 +++++--- hurd/debugging/gdb.mdwn | 8 +++++--- hurd/debugging/gdb/noninvasive_debugging.mdwn | 8 +++++--- hurd/debugging/hurd.mdwn | 8 +++++--- hurd/debugging/rpctrace.mdwn | 8 +++++--- hurd/gcc.mdwn | 8 +++++--- hurd/getting_help.mdwn | 8 +++++--- hurd/gettinghelp.mdwn | 8 +++++--- hurd/glibc.mdwn | 8 +++++--- hurd/glibc/hurd-specific_api.mdwn | 8 +++++--- hurd/history.mdwn | 8 +++++--- hurd/hurd_hacking_guide.mdwn | 8 +++++--- hurd/libhello_example.mdwn | 8 +++++--- hurd/libpager.mdwn | 8 +++++--- hurd/libstore.mdwn | 8 +++++--- hurd/logo.mdwn | 8 +++++--- hurd/neighborhurd.mdwn | 8 +++++--- hurd/ng/history.mdwn | 8 +++++--- hurd/ng/position_paper.mdwn | 8 +++++--- hurd/running.mdwn | 8 +++++--- hurd/running/debian/DebianAptOffline.mdwn | 8 +++++--- hurd/running/debian/faq/2_gib_partition_limit.mdwn | 8 +++++--- hurd/running/debian/faq/512_mib_ram_limit.mdwn | 8 +++++--- hurd/running/debian/faq/apt_umount.mdwn | 8 +++++--- hurd/running/debian/faq/bad_hypermeta_data.mdwn | 8 +++++--- hurd/running/debian/faq/debugging_inside_glibc.mdwn | 8 +++++--- hurd/running/debian/faq/debugging_translators.mdwn | 8 +++++--- hurd/running/debian/faq/dev_random.mdwn | 8 +++++--- hurd/running/debian/faq/df.mdwn | 8 +++++--- hurd/running/debian/faq/free_memory.mdwn | 8 +++++--- hurd/running/debian/faq/hurd_console.mdwn | 8 +++++--- hurd/running/debian/faq/kernel_logs.mdwn | 8 +++++--- hurd/running/debian/faq/other_repositories.mdwn | 8 +++++--- hurd/running/debian/faq/ps_hangs.mdwn | 8 +++++--- hurd/running/debian/faq/reporting_bugs.mdwn | 8 +++++--- hurd/running/debian/faq/sshd.mdwn | 8 +++++--- hurd/running/debian/faq/xserver-common.mdwn | 8 +++++--- hurd/running/debian/patch_submission.mdwn | 6 ++++-- hurd/running/gnu/create_an_image.mdwn | 8 +++++--- hurd/running/gnu/setup.mdwn | 8 +++++--- hurd/running/gnu/universal_package_manager.mdwn | 8 +++++--- hurd/running/qemu/microsoft_windows.mdwn | 8 +++++--- hurd/running/qemu/networking.mdwn | 8 +++++--- hurd/running/qemu/networking/sharing_files.mdwn | 8 +++++--- hurd/running/vmware.mdwn | 8 +++++--- hurd/running/vmware/discussion.mdwn | 8 +++++--- hurd/status.mdwn | 8 +++++--- hurd/subhurd.mdwn | 8 +++++--- hurd/toolchain.mdwn | 8 +++++--- hurd/translator.mdwn | 8 +++++--- hurd/translator/cvsfs.mdwn | 8 +++++--- hurd/translator/emailfs.mdwn | 8 +++++--- hurd/translator/examples.mdwn | 8 +++++--- hurd/translator/ext2fs.mdwn | 8 +++++--- hurd/translator/fatfs.mdwn | 8 +++++--- hurd/translator/magic.mdwn | 8 +++++--- hurd/translator/pfinet.mdwn | 8 +++++--- hurd/translator/pfinet/ipv6.mdwn | 8 +++++--- hurd/translator/storeio.mdwn | 8 +++++--- hurd/translator/tmpfs.mdwn | 8 +++++--- hurd/translator/tmpfs/notes_bing.mdwn | 8 +++++--- hurd/translator/tmpfs/notes_various.mdwn | 8 +++++--- hurd/translator/writing/example.mdwn | 8 +++++--- hurd/virtual_file_system.mdwn | 8 +++++--- hurd/virtualization.mdwn | 8 +++++--- ibac.mdwn | 8 +++++--- idl.mdwn | 8 +++++--- index/discussion.mdwn | 8 +++++--- ipc.mdwn | 8 +++++--- isolation.mdwn | 8 +++++--- liedtke.mdwn | 8 +++++--- mailing_lists/bug-hurd.mdwn | 8 +++++--- mailing_lists/debian-hurd.mdwn | 8 +++++--- mailing_lists/gnu-system-discuss.mdwn | 8 +++++--- mailing_lists/help-hurd.mdwn | 8 +++++--- mailing_lists/hurd-devel-readers.mdwn | 8 +++++--- mailing_lists/hurd-devel.mdwn | 8 +++++--- mailing_lists/l4-hurd.mdwn | 8 +++++--- mailing_lists/unmoderated.mdwn | 8 +++++--- mailing_lists/web-hurd.mdwn | 8 +++++--- mailinglists.mdwn | 8 +++++--- mechanism.mdwn | 8 +++++--- microkernel.mdwn | 8 +++++--- microkernel/for_beginners.mdwn | 8 +++++--- microkernel/mach/documentation.mdwn | 8 +++++--- microkernel/mach/external_pager_mechanism.mdwn | 8 +++++--- microkernel/mach/gnumach.mdwn | 8 +++++--- microkernel/mach/gnumach/boot_trace.mdwn | 8 +++++--- microkernel/mach/gnumach/building/example.mdwn | 8 +++++--- microkernel/mach/gnumach/debugging.mdwn | 8 +++++--- microkernel/mach/gnumach/hardware_compatibility_list.mdwn | 8 +++++--- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 8 +++++--- microkernel/mach/gnumach/ports.mdwn | 8 +++++--- microkernel/mach/gnumach/projects.mdwn | 8 +++++--- microkernel/mach/gnumach/projects/clean_up_the_code.mdwn | 8 +++++--- microkernel/mach/ipc.mdwn | 8 +++++--- microkernel/mach/ipc/sequence_numbering.mdwn | 8 +++++--- microkernel/mach/port.mdwn | 8 +++++--- microkernel/mach/rpc.mdwn | 8 +++++--- naming_context.mdwn | 8 +++++--- persistency.mdwn | 8 +++++--- policy.mdwn | 8 +++++--- principal.mdwn | 8 +++++--- rpc.mdwn | 8 +++++--- rules.mdwn | 8 +++++--- rules/savannah_group.mdwn | 8 +++++--- rules/source_repositories.mdwn | 8 +++++--- security.mdwn | 8 +++++--- sfi.mdwn | 8 +++++--- sidebar.mdwn | 8 +++++--- tcb.mdwn | 8 +++++--- trust.mdwn | 8 +++++--- user/tschwinge.mdwn | 6 ++++-- user/vincentvikram.mdwn | 8 +++++--- virtualization.mdwn | 8 +++++--- 155 files changed, 764 insertions(+), 454 deletions(-) (limited to 'microkernel') diff --git a/Hurd/GNUHurdStatus.mdwn b/Hurd/GNUHurdStatus.mdwn index cbc3b8d4..21448e60 100644 --- a/Hurd/GNUHurdStatus.mdwn +++ b/Hurd/GNUHurdStatus.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=hurd/status]] diff --git a/Hurd/HurdNames.mdwn b/Hurd/HurdNames.mdwn index 07d5ebd9..c4e647e5 100644 --- a/Hurd/HurdNames.mdwn +++ b/Hurd/HurdNames.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[toc ]] diff --git a/Hurd/TheGnuHurd.mdwn b/Hurd/TheGnuHurd.mdwn index f14a6939..dbd5c721 100644 --- a/Hurd/TheGnuHurd.mdwn +++ b/Hurd/TheGnuHurd.mdwn @@ -1,11 +1,13 @@ -[[meta copyright="Copyright © 2001, 2002, 2007 Free Software Foundation, +[[meta copyright="Copyright © 2001, 2002, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] The Hurd is GNU's replacement for the various UNIX and Linux kernels. diff --git a/abac.mdwn b/abac.mdwn index 1a0db406..a260a986 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ABAC stands for authorization-based access control. In this model, access is not granted based on the diff --git a/about_the_twiki_to_ikiwiki_conversion.mdwn b/about_the_twiki_to_ikiwiki_conversion.mdwn index 01f284e3..8c556261 100644 --- a/about_the_twiki_to_ikiwiki_conversion.mdwn +++ b/about_the_twiki_to_ikiwiki_conversion.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Some Quick Notes About the *TWiki to ikiwiki* Conversion diff --git a/asbestos.mdwn b/asbestos.mdwn index 838dfd0d..65ab391e 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Asbestos is an operating system developed at MIT, Stanford and UCLA to explore information flow control policies. The motivation diff --git a/binutils.mdwn b/binutils.mdwn index f74058a8..3e9e5889 100644 --- a/binutils.mdwn +++ b/binutils.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The [GNU Binutils](http://www.gnu.org/software/binutils/). diff --git a/capability.mdwn b/capability.mdwn index bb849cae..8bb14f13 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A capability is a protected reference. It is a reference in that it designates an object; it is protected in that in cannot be diff --git a/community.mdwn b/community.mdwn index 7a38fe93..030c9209 100644 --- a/community.mdwn +++ b/community.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] There is an expanding community of people developing and running test Debian GNU/Hurd machines. diff --git a/community/facebook.mdwn b/community/facebook.mdwn index a6e9e558..b5340224 100644 --- a/community/facebook.mdwn +++ b/community/facebook.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] There is [a Facebook group for the Hurd](http://www.facebook.com/group.php?gid=5141429597). If you're on Facebook, join it and say hello. diff --git a/community/meetings.mdwn b/community/meetings.mdwn index b43997b6..b67637e3 100644 --- a/community/meetings.mdwn +++ b/community/meetings.mdwn @@ -1,10 +1,12 @@ [[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Upcoming diff --git a/community/meetings/fosdem_2005.mdwn b/community/meetings/fosdem_2005.mdwn index e69453b9..984c6637 100644 --- a/community/meetings/fosdem_2005.mdwn +++ b/community/meetings/fosdem_2005.mdwn @@ -1,10 +1,12 @@ [[meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn index 8392fdf0..c775b658 100644 --- a/community/meetings/fosdem_2006.mdwn +++ b/community/meetings/fosdem_2006.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn index e17cf9ae..c320c1fc 100644 --- a/community/meetings/fosdem_2007.mdwn +++ b/community/meetings/fosdem_2007.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn index 0c10f79d..f6813b83 100644 --- a/community/meetings/fosdem_2008.mdwn +++ b/community/meetings/fosdem_2008.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] diff --git a/community/meetings/rmll_2006.mdwn b/community/meetings/rmll_2006.mdwn index e02fbadf..74ad21c9 100644 --- a/community/meetings/rmll_2006.mdwn +++ b/community/meetings/rmll_2006.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] The 7th Rencontres Mondiales du Logiciel Libre (also known as Libre Software Meeting) will be held on July 4th-8th 2006 in Vandoeuvre-les-Nancy. diff --git a/community/meetings/stesie_2007-10-12.mdwn b/community/meetings/stesie_2007-10-12.mdwn index d34bf045..8559c662 100644 --- a/community/meetings/stesie_2007-10-12.mdwn +++ b/community/meetings/stesie_2007-10-12.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] On the weekend 2007-10-12 to 14 [[Stefan_Siegl|stesie]] invited Hurd people. Colin Leitner and [[Thomas_Schwinge|tschwinge]] came, as well as novice diff --git a/config_edittemplate.mdwn b/config_edittemplate.mdwn index e9502a55..24641bb5 100644 --- a/config_edittemplate.mdwn +++ b/config_edittemplate.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] This page exists purely for configuring the [[iki plugins/edittemplate]] plugin. diff --git a/config_edittemplate/regular_page.mdwn b/config_edittemplate/regular_page.mdwn index b69bb4fd..fe591ac7 100644 --- a/config_edittemplate/regular_page.mdwn +++ b/config_edittemplate/regular_page.mdwn @@ -1,10 +1,12 @@ [[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this line. diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn index ac4a9ede..16b3bebf 100644 --- a/confused_deputy.mdwn +++ b/confused_deputy.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html) problem was articulated by Norm Hardy. It is a possible consequence diff --git a/contributing.mdwn b/contributing.mdwn index b5d7b8e5..0d66980e 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2006, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] So, you are interested in contributing to the GNU/Hurd effort? diff --git a/contributing/questionnaire.mdwn b/contributing/questionnaire.mdwn index 1a45442e..3320b80a 100644 --- a/contributing/questionnaire.mdwn +++ b/contributing/questionnaire.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2006, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] People often come to us and state that they'd like to help with the GNU/Hurd. This is very good and very much encouraged: we're always looking for volunteers diff --git a/contributing/wiki.mdwn b/contributing/wiki.mdwn index ab12a68e..c34aa557 100644 --- a/contributing/wiki.mdwn +++ b/contributing/wiki.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] (!) Some general hints first; they may sound very familiar from other software projects: diff --git a/designation.mdwn b/designation.mdwn index c9c7c166..4307ec5b 100644 --- a/designation.mdwn +++ b/designation.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] To designate is to name. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index 2ace1a33..c41e5a36 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Interference can be destructive or non-destructive. When a [[principal]] invokes an object (thereby requesting a service) and the implementation diff --git a/donate.mdwn b/donate.mdwn index f2a4f307..954b4ee4 100644 --- a/donate.mdwn +++ b/donate.mdwn @@ -1,11 +1,13 @@ [[meta copyright="Copyright © 2003, 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] If you feel like donating goods or money for the work the developers are doing, then we're happy to confirm that this is indeed possible. Of course we'd diff --git a/extensibility.mdwn b/extensibility.mdwn index ba7359a0..1d6adc51 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to diff --git a/gcc.mdwn b/gcc.mdwn index 7fdee301..93256f1b 100644 --- a/gcc.mdwn +++ b/gcc.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The [GNU Compiler Collection](http://gcc.gnu.org/). diff --git a/gdb.mdwn b/gdb.mdwn index 36d096bc..83113f9e 100644 --- a/gdb.mdwn +++ b/gdb.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/). diff --git a/gdb/backtrace.mdwn b/gdb/backtrace.mdwn index a8825d3b..9716a211 100644 --- a/gdb/backtrace.mdwn +++ b/gdb/backtrace.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] When someone asks you to supply a backtrace (from a [[segmentation_fault]], for example), here is roughly what you have to do. diff --git a/glibc.mdwn b/glibc.mdwn index 5a61812c..f6325ff8 100644 --- a/glibc.mdwn +++ b/glibc.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The [GNU C Library](http://www.gnu.org/software/libc/). diff --git a/how_to_contribute_to_this_wiki.mdwn b/how_to_contribute_to_this_wiki.mdwn index 88950834..89df20e5 100644 --- a/how_to_contribute_to_this_wiki.mdwn +++ b/how_to_contribute_to_this_wiki.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=contributing/wiki]] diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index 54dc8de2..cbb164c8 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] UIDs on the Hurd are separate from processes. A process has [[capabilities|capability]] designating so-called UID vectors that diff --git a/hurd/binutils.mdwn b/hurd/binutils.mdwn index 56918834..97c93602 100644 --- a/hurd/binutils.mdwn +++ b/hurd/binutils.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[General_information|/binutils]] about the binutils. diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index fb02c507..11afc97f 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # `cross-gnu` diff --git a/hurd/building/cross-compiling/discussion.mdwn b/hurd/building/cross-compiling/discussion.mdwn index 14852827..f75e9e3e 100644 --- a/hurd/building/cross-compiling/discussion.mdwn +++ b/hurd/building/cross-compiling/discussion.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] What happens if the external link goes down? Is there any way to store files within the wiki itself? --[[vincentvikram]] diff --git a/hurd/building/example.mdwn b/hurd/building/example.mdwn index 0adaf1f8..afa18d8a 100644 --- a/hurd/building/example.mdwn +++ b/hurd/building/example.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] I checked out the source code on my Ubuntu GNU/Linux system connected to the Internet using: diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn index cdbd60dd..e416f1e6 100644 --- a/hurd/concepts.mdwn +++ b/hurd/concepts.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * [[Translator]] * [[Virtual_File_System]] diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn index 73550831..f083b9b8 100644 --- a/hurd/contributing.mdwn +++ b/hurd/contributing.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Porting Applications diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index 4db8726f..9770138e 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*A Critique of the GNU Hurd Multi-Server Operating diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn index f2f5dcd6..b84c5675 100644 --- a/hurd/debugging.mdwn +++ b/hurd/debugging.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Strategies diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn index ea5ef857..98c31435 100644 --- a/hurd/debugging/gdb.mdwn +++ b/hurd/debugging/gdb.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The [[GNU_debugger_*GDB*|/gdb]] works on GNU/Hurd systems as it does on other system, but has some additional [hurd-specific diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn index b6beb9c5..62179f7d 100644 --- a/hurd/debugging/gdb/noninvasive_debugging.mdwn +++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Sometimes using [[GDB]] on a [[system_server|translator]] can result in a [[deadlock]]. You can however still use GDB by using the [`set diff --git a/hurd/debugging/hurd.mdwn b/hurd/debugging/hurd.mdwn index 2f758920..043da3e0 100644 --- a/hurd/debugging/hurd.mdwn +++ b/hurd/debugging/hurd.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Say you want to try running file system server (*[[translator/ext2fs]]*, *[[translator/jfs]]*, ...) against a modified version of *[[libpager]]* and diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn index 05003fab..68edca2f 100644 --- a/hurd/debugging/rpctrace.mdwn +++ b/hurd/debugging/rpctrace.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] *rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is diff --git a/hurd/gcc.mdwn b/hurd/gcc.mdwn index 48d1b7fc..3700b8b8 100644 --- a/hurd/gcc.mdwn +++ b/hurd/gcc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[General_information|/gcc]] about the GCC. diff --git a/hurd/getting_help.mdwn b/hurd/getting_help.mdwn index 72cfc3c2..540dc851 100644 --- a/hurd/getting_help.mdwn +++ b/hurd/getting_help.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Essential Documentation diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn index d8bdaf52..1faa94c5 100644 --- a/hurd/gettinghelp.mdwn +++ b/hurd/gettinghelp.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=getting_help]] diff --git a/hurd/glibc.mdwn b/hurd/glibc.mdwn index 2d43425d..de85c03d 100644 --- a/hurd/glibc.mdwn +++ b/hurd/glibc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[General_information|/glibc]] about the glibc. diff --git a/hurd/glibc/hurd-specific_api.mdwn b/hurd/glibc/hurd-specific_api.mdwn index aaaf8e2e..7333ec0d 100644 --- a/hurd/glibc/hurd-specific_api.mdwn +++ b/hurd/glibc/hurd-specific_api.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2002, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="Hurd-specific glibc API"]] diff --git a/hurd/history.mdwn b/hurd/history.mdwn index d556b5d5..7ee5df5a 100644 --- a/hurd/history.mdwn +++ b/hurd/history.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] History 1997-2003
Personal view of Marcus Brinkmann about Hurd development in 1997-2003. diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index b277fb5e..0cb96f32 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Originally written by Wolfgang Jährling, the [Hurd Hacking Guide](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) contains an overview of some of the Hurd's features. diff --git a/hurd/libhello_example.mdwn b/hurd/libhello_example.mdwn index d5df45e3..9b4640e7 100644 --- a/hurd/libhello_example.mdwn +++ b/hurd/libhello_example.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Howto write a Hurd library diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn index f59d9a74..91beddfc 100644 --- a/hurd/libpager.mdwn +++ b/hurd/libpager.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Mach's [[microkernel/mach/external_pager_mechanism]]. diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn index b484accb..ab649ebc 100644 --- a/hurd/libstore.mdwn +++ b/hurd/libstore.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] `libstore` is more than just a thin layer between [[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the diff --git a/hurd/logo.mdwn b/hurd/logo.mdwn index b39a1525..b1030e50 100644 --- a/hurd/logo.mdwn +++ b/hurd/logo.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The famous *Hurd Boxes* logo is available at . diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn index 9228d6ca..3298e07a 100644 --- a/hurd/neighborhurd.mdwn +++ b/hurd/neighborhurd.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] It is possible to run multiple instances of the Hurd in parallel, on a single instance of Mach. Other than diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn index 3d45192d..b6008eec 100644 --- a/hurd/ng/history.mdwn +++ b/hurd/ng/history.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The idea of using [[microkernel/L4]] as a [[microkernel]] for a [[Hurd_system|hurd]] was initially voiced in the [[Hurd_community|community]] diff --git a/hurd/ng/position_paper.mdwn b/hurd/ng/position_paper.mdwn index 901aae1a..3240a41d 100644 --- a/hurd/ng/position_paper.mdwn +++ b/hurd/ng/position_paper.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*Improving Usability via Access Decomposition and Policy diff --git a/hurd/running.mdwn b/hurd/running.mdwn index a79e6b60..162bc9ea 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * [[Distrib]] - Distributions based on the Hurd * [[microkernel/mach/gnumach/ports/Xen]] - In Xen diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index ad4fa9af..b8dc3cac 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2005, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 2005, 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_Free_Documentation_License|/fdl]]."]]"""]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/running/debian/faq/2_gib_partition_limit.mdwn b/hurd/running/debian/faq/2_gib_partition_limit.mdwn index 805282c7..aed47445 100644 --- a/hurd/running/debian/faq/2_gib_partition_limit.mdwn +++ b/hurd/running/debian/faq/2_gib_partition_limit.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="2 GiB Partition Limit"]] diff --git a/hurd/running/debian/faq/512_mib_ram_limit.mdwn b/hurd/running/debian/faq/512_mib_ram_limit.mdwn index a0239787..462ba73d 100644 --- a/hurd/running/debian/faq/512_mib_ram_limit.mdwn +++ b/hurd/running/debian/faq/512_mib_ram_limit.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="512 MiB RAM Limit"]] diff --git a/hurd/running/debian/faq/apt_umount.mdwn b/hurd/running/debian/faq/apt_umount.mdwn index f7070222..4a3b2dd2 100644 --- a/hurd/running/debian/faq/apt_umount.mdwn +++ b/hurd/running/debian/faq/apt_umount.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="apt: unmount cdroms"]] diff --git a/hurd/running/debian/faq/bad_hypermeta_data.mdwn b/hurd/running/debian/faq/bad_hypermeta_data.mdwn index dac6c52a..eedb461d 100644 --- a/hurd/running/debian/faq/bad_hypermeta_data.mdwn +++ b/hurd/running/debian/faq/bad_hypermeta_data.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] If you get the error `bad hypermeta data` when trying to mount an ext3 partition from GNU/Linux, that is usually because the file system has not been diff --git a/hurd/running/debian/faq/debugging_inside_glibc.mdwn b/hurd/running/debian/faq/debugging_inside_glibc.mdwn index 2f4ab8ce..997bfadb 100644 --- a/hurd/running/debian/faq/debugging_inside_glibc.mdwn +++ b/hurd/running/debian/faq/debugging_inside_glibc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] To get [[debugging]] information for glibc, you need to install the `libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging diff --git a/hurd/running/debian/faq/debugging_translators.mdwn b/hurd/running/debian/faq/debugging_translators.mdwn index 54148da9..e87513c4 100644 --- a/hurd/running/debian/faq/debugging_translators.mdwn +++ b/hurd/running/debian/faq/debugging_translators.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] In order to [[debug|debugging]] translators and being able to step into glibc during it, you need the `hurd-dbg` and `libc0.3-dbg` packages installed. Then diff --git a/hurd/running/debian/faq/dev_random.mdwn b/hurd/running/debian/faq/dev_random.mdwn index 86cafa9b..0043699e 100644 --- a/hurd/running/debian/faq/dev_random.mdwn +++ b/hurd/running/debian/faq/dev_random.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="/dev/random"]] diff --git a/hurd/running/debian/faq/df.mdwn b/hurd/running/debian/faq/df.mdwn index 591e26c8..be0df444 100644 --- a/hurd/running/debian/faq/df.mdwn +++ b/hurd/running/debian/faq/df.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] There is no `/etc/mtab`, so just running `df` will yield an error. Pass `df` a path like `df /` or `df ./` to see the disk usage of that particular file diff --git a/hurd/running/debian/faq/free_memory.mdwn b/hurd/running/debian/faq/free_memory.mdwn index 2f2c982d..c5c28d2d 100644 --- a/hurd/running/debian/faq/free_memory.mdwn +++ b/hurd/running/debian/faq/free_memory.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Run `vmstat` to see memory and swap usage. diff --git a/hurd/running/debian/faq/hurd_console.mdwn b/hurd/running/debian/faq/hurd_console.mdwn index 6bf52f93..3d5a6035 100644 --- a/hurd/running/debian/faq/hurd_console.mdwn +++ b/hurd/running/debian/faq/hurd_console.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on bootup. See [[console]] for further information about the Hurd console. diff --git a/hurd/running/debian/faq/kernel_logs.mdwn b/hurd/running/debian/faq/kernel_logs.mdwn index 22690ece..0962f3aa 100644 --- a/hurd/running/debian/faq/kernel_logs.mdwn +++ b/hurd/running/debian/faq/kernel_logs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root and hit `ctrl+c` after a few seconds to catch the logs. You can do this only diff --git a/hurd/running/debian/faq/other_repositories.mdwn b/hurd/running/debian/faq/other_repositories.mdwn index da9396e6..d824f779 100644 --- a/hurd/running/debian/faq/other_repositories.mdwn +++ b/hurd/running/debian/faq/other_repositories.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] If you want to use the `apt-get source` facility, make sure that `/etc/apt/sources.list` contains a line like diff --git a/hurd/running/debian/faq/ps_hangs.mdwn b/hurd/running/debian/faq/ps_hangs.mdwn index 7ae1c8c7..d2ffefeb 100644 --- a/hurd/running/debian/faq/ps_hangs.mdwn +++ b/hurd/running/debian/faq/ps_hangs.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] If `ps` hangs, try `ps -M` which might still work. diff --git a/hurd/running/debian/faq/reporting_bugs.mdwn b/hurd/running/debian/faq/reporting_bugs.mdwn index adaaa9ac..5abac5ce 100644 --- a/hurd/running/debian/faq/reporting_bugs.mdwn +++ b/hurd/running/debian/faq/reporting_bugs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Please try to reproduce bugs which are not obviously Hurd-specific on Debian GNU/Linux and then file them there. diff --git a/hurd/running/debian/faq/sshd.mdwn b/hurd/running/debian/faq/sshd.mdwn index 86eca791..3b98eddf 100644 --- a/hurd/running/debian/faq/sshd.mdwn +++ b/hurd/running/debian/faq/sshd.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] You need to disable `PriviledgeSeperation` in `/etc/ssh/sshd_options`. Also make sure you have `/dev/random`, see below. diff --git a/hurd/running/debian/faq/xserver-common.mdwn b/hurd/running/debian/faq/xserver-common.mdwn index 7464ed3b..5cf0ec11 100644 --- a/hurd/running/debian/faq/xserver-common.mdwn +++ b/hurd/running/debian/faq/xserver-common.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] You need to run `dpkg-reconfigure xserver-common` and select `Anybody` for starting X as there is no way to detect console users currently. diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn index 6c1471a0..d15ae1a2 100644 --- a/hurd/running/debian/patch_submission.mdwn +++ b/hurd/running/debian/patch_submission.mdwn @@ -1,10 +1,12 @@ [[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] If you fixed a Debian package which FTBFS (fails to build from source), you should submit the patch so that all users can profit from your work. diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn index c5fb8da3..42379f45 100644 --- a/hurd/running/gnu/create_an_image.mdwn +++ b/hurd/running/gnu/create_an_image.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Creating a bootable qemu image from a root filesystem and bootloader diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn index ac978b38..6ff32630 100644 --- a/hurd/running/gnu/setup.mdwn +++ b/hurd/running/gnu/setup.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ... diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn index 6f3c2f57..44e6b9ee 100644 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Mission diff --git a/hurd/running/qemu/microsoft_windows.mdwn b/hurd/running/qemu/microsoft_windows.mdwn index d2b2651c..61dbd414 100644 --- a/hurd/running/qemu/microsoft_windows.mdwn +++ b/hurd/running/qemu/microsoft_windows.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Welcome, This document is for getting you started in a few minutes. diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn index fc950118..8014e303 100644 --- a/hurd/running/qemu/networking.mdwn +++ b/hurd/running/qemu/networking.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## User mode network diff --git a/hurd/running/qemu/networking/sharing_files.mdwn b/hurd/running/qemu/networking/sharing_files.mdwn index f897bb68..c0bd99e2 100644 --- a/hurd/running/qemu/networking/sharing_files.mdwn +++ b/hurd/running/qemu/networking/sharing_files.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # SCP diff --git a/hurd/running/vmware.mdwn b/hurd/running/vmware.mdwn index 25d90a13..0f15939e 100644 --- a/hurd/running/vmware.mdwn +++ b/hurd/running/vmware.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Installation diff --git a/hurd/running/vmware/discussion.mdwn b/hurd/running/vmware/discussion.mdwn index 4fc4d673..65179cec 100644 --- a/hurd/running/vmware/discussion.mdwn +++ b/hurd/running/vmware/discussion.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] I find that this is all quite quick to try and that I can run through the ./native-install and reboot cycle twice OK. However, at that point the diff --git a/hurd/status.mdwn b/hurd/status.mdwn index 38bbbe67..771b1c50 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The last official release of the Hurd was 0.2. An eminent release is not planned. There are a number of diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 8751b459..8816e312 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some resources provided by another Hurd. For instance, backing store and the diff --git a/hurd/toolchain.mdwn b/hurd/toolchain.mdwn index b36809f5..e94029ba 100644 --- a/hurd/toolchain.mdwn +++ b/hurd/toolchain.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * [[binutils]] * [[GCC]] diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 2d60ecd3..afc4dd0f 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A translator is simply a normal program acting as an object server and participating in the Hurd's diff --git a/hurd/translator/cvsfs.mdwn b/hurd/translator/cvsfs.mdwn index 2f72b90e..0dd682bf 100644 --- a/hurd/translator/cvsfs.mdwn +++ b/hurd/translator/cvsfs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Setting up cvsfs on GNU/Hurd - A step by step process diff --git a/hurd/translator/emailfs.mdwn b/hurd/translator/emailfs.mdwn index dc05887c..04b58f33 100644 --- a/hurd/translator/emailfs.mdwn +++ b/hurd/translator/emailfs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # How cool it would be if the email becomes similar to snail mail? diff --git a/hurd/translator/examples.mdwn b/hurd/translator/examples.mdwn index dc4f9a81..b9f145e3 100644 --- a/hurd/translator/examples.mdwn +++ b/hurd/translator/examples.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Setting up translators - HowTo diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn index 9a5a9106..cfa8c997 100644 --- a/hurd/translator/ext2fs.mdwn +++ b/hurd/translator/ext2fs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The `ext2fs` translator from the upstream Hurd code base can only handle file systems with sizes of less than roughly 2 GiB. diff --git a/hurd/translator/fatfs.mdwn b/hurd/translator/fatfs.mdwn index d1a4b69c..b534b97e 100644 --- a/hurd/translator/fatfs.mdwn +++ b/hurd/translator/fatfs.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The current `fatfs` translator is read-only. diff --git a/hurd/translator/magic.mdwn b/hurd/translator/magic.mdwn index d8539d6a..f6d0494b 100644 --- a/hurd/translator/magic.mdwn +++ b/hurd/translator/magic.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2006, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] The magic translator provides `/dev/fd`. diff --git a/hurd/translator/pfinet.mdwn b/hurd/translator/pfinet.mdwn index 2790c601..acd7b855 100644 --- a/hurd/translator/pfinet.mdwn +++ b/hurd/translator/pfinet.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Notes about [[IPv6]]. diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn index 739fd47c..37fabcb7 100644 --- a/hurd/translator/pfinet/ipv6.mdwn +++ b/hurd/translator/pfinet/ipv6.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]]. This was [Savannah task #5470](http://savannah.gnu.org/task/?5470). diff --git a/hurd/translator/storeio.mdwn b/hurd/translator/storeio.mdwn index 58834ef1..49d70e1b 100644 --- a/hurd/translator/storeio.mdwn +++ b/hurd/translator/storeio.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] `storeio` is a *translator for devices and other stores*. diff --git a/hurd/translator/tmpfs.mdwn b/hurd/translator/tmpfs.mdwn index 6215ca1a..6d10c163 100644 --- a/hurd/translator/tmpfs.mdwn +++ b/hurd/translator/tmpfs.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] `tmpfs` is a file system server for temporary data storage without using a real (permanent) [[backing_store]]. diff --git a/hurd/translator/tmpfs/notes_bing.mdwn b/hurd/translator/tmpfs/notes_bing.mdwn index 312c3342..2392bd61 100644 --- a/hurd/translator/tmpfs/notes_bing.mdwn +++ b/hurd/translator/tmpfs/notes_bing.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] 1. to run tmpfs as a regular user, /servers/default-pager must be executable by that user. by default it seems to be set to read/write. diff --git a/hurd/translator/tmpfs/notes_various.mdwn b/hurd/translator/tmpfs/notes_various.mdwn index 8a73d9bf..90636b61 100644 --- a/hurd/translator/tmpfs/notes_various.mdwn +++ b/hurd/translator/tmpfs/notes_various.mdwn @@ -1,11 +1,13 @@ -[[meta copyright="Copyright © 2005, 2006, 2007 +[[meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] hde: what's the status on tmpfs? Broke diff --git a/hurd/translator/writing/example.mdwn b/hurd/translator/writing/example.mdwn index 83ac7da1..170812ad 100644 --- a/hurd/translator/writing/example.mdwn +++ b/hurd/translator/writing/example.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Data User-Server Translator Example diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index f3c2faaf..2902a26e 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Path names are resolved using a distributed protocol. No single entity is responsible for the resolution of diff --git a/hurd/virtualization.mdwn b/hurd/virtualization.mdwn index 1fff45ac..dfd6c375 100644 --- a/hurd/virtualization.mdwn +++ b/hurd/virtualization.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Olaf Buddenhagen has written a text about how [[/virtualization]] is applicable within Hurd systems: diff --git a/ibac.mdwn b/ibac.mdwn index 3e860a0c..5247c297 100644 --- a/ibac.mdwn +++ b/ibac.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] IBAC stands for identity-based access control. In this access control scheme, access to a resource diff --git a/idl.mdwn b/idl.mdwn index 67c69830..60e3fea6 100644 --- a/idl.mdwn +++ b/idl.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] An IDL is an interface definition language. The most well-known is CORBA. An IDL compiler takes a specification and generates stubs diff --git a/index/discussion.mdwn b/index/discussion.mdwn index c9a7517c..0e90244b 100644 --- a/index/discussion.mdwn +++ b/index/discussion.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # TODO diff --git a/ipc.mdwn b/ipc.mdwn index c1e68a98..0e8d674a 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] IPC stands for interprocess communication. diff --git a/isolation.mdwn b/isolation.mdwn index 0e3e41c0..f43ae3d6 100644 --- a/isolation.mdwn +++ b/isolation.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] When two [[principal]]s cannot affect each other, they are said to be isolated from one another. Strictly speaking, if two principals diff --git a/liedtke.mdwn b/liedtke.mdwn index 95dacdcb..ca55eaf3 100644 --- a/liedtke.mdwn +++ b/liedtke.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Liedtke is the father of [[microkernel/L4]]. diff --git a/mailing_lists/bug-hurd.mdwn b/mailing_lists/bug-hurd.mdwn index 12ac500c..11d4dfd1 100644 --- a/mailing_lists/bug-hurd.mdwn +++ b/mailing_lists/bug-hurd.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#bug-hurd]] diff --git a/mailing_lists/debian-hurd.mdwn b/mailing_lists/debian-hurd.mdwn index 84d8721d..4df9e593 100644 --- a/mailing_lists/debian-hurd.mdwn +++ b/mailing_lists/debian-hurd.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#debian-hurd]] diff --git a/mailing_lists/gnu-system-discuss.mdwn b/mailing_lists/gnu-system-discuss.mdwn index e8adb31f..30f22eab 100644 --- a/mailing_lists/gnu-system-discuss.mdwn +++ b/mailing_lists/gnu-system-discuss.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#gnu-system-discuss]] diff --git a/mailing_lists/help-hurd.mdwn b/mailing_lists/help-hurd.mdwn index b424637d..ee7bc5e1 100644 --- a/mailing_lists/help-hurd.mdwn +++ b/mailing_lists/help-hurd.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#help-hurd]] diff --git a/mailing_lists/hurd-devel-readers.mdwn b/mailing_lists/hurd-devel-readers.mdwn index 4dd74732..bb2b2fb3 100644 --- a/mailing_lists/hurd-devel-readers.mdwn +++ b/mailing_lists/hurd-devel-readers.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#hurd-devel-readers]] diff --git a/mailing_lists/hurd-devel.mdwn b/mailing_lists/hurd-devel.mdwn index 0ff0bc6a..63299691 100644 --- a/mailing_lists/hurd-devel.mdwn +++ b/mailing_lists/hurd-devel.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#hurd-devel]] diff --git a/mailing_lists/l4-hurd.mdwn b/mailing_lists/l4-hurd.mdwn index 63b9aece..1c326586 100644 --- a/mailing_lists/l4-hurd.mdwn +++ b/mailing_lists/l4-hurd.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#l4-hurd]] diff --git a/mailing_lists/unmoderated.mdwn b/mailing_lists/unmoderated.mdwn index ac7bced7..14a407b1 100644 --- a/mailing_lists/unmoderated.mdwn +++ b/mailing_lists/unmoderated.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] In fact the lists *are* moderated for users that post from not-subscribed email addresses. However, this moderation should be transparent to the poster, you diff --git a/mailing_lists/web-hurd.mdwn b/mailing_lists/web-hurd.mdwn index 7139db59..7a1abeb2 100644 --- a/mailing_lists/web-hurd.mdwn +++ b/mailing_lists/web-hurd.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists#web-hurd]] diff --git a/mailinglists.mdwn b/mailinglists.mdwn index 8d040d84..709b1771 100644 --- a/mailinglists.mdwn +++ b/mailinglists.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=mailing_lists]] diff --git a/mechanism.mdwn b/mechanism.mdwn index 959ac003..6a96c656 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The Collaborative International Dictionary of English v.0.48 defines a mechanism as: diff --git a/microkernel.mdwn b/microkernel.mdwn index 39e31433..2670c78a 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) that a microkernel attempts to minimize the mandatory part of the operating diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn index bf9920e3..aed436e8 100644 --- a/microkernel/for_beginners.mdwn +++ b/microkernel/for_beginners.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Concepts diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 6c72d951..4dc4837b 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] - OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - OSF's [Kernel Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 09a9919b..7ed1ca57 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2002, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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_Free_Documentation_License|/fdl]]."]]"""]] Mach provides a so-called external pager [[mechanism]]. This mechanism serves to separate *managing memory* from *managing diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 30073a16..8da22938 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] GNU Mach is currently used by the GNU [[Hurd]]. diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index 668a5977..a08384f0 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] `if NCPUS > 1` stuff is not being considered so far. diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn index bb22dbff..6da05c5b 100644 --- a/microkernel/mach/gnumach/building/example.mdwn +++ b/microkernel/mach/gnumach/building/example.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] ## Compiling GNU Mach microkernel diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 0f550dcd..fa2a9d42 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Mach has a built-in kernel debugger. [Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn index 4daae309..09882467 100644 --- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn +++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] # CPU Architecture diff --git a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn index 42d558f3..8c67e3e0 100644 --- a/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn +++ b/microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta redir=hardware_compatibility_list]] diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 6bed775f..35b5412a 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. * Alpha. Was once started, but isn't in a usable state either. diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index d186a6de..2b2c4678 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -1,11 +1,13 @@ -[[meta copyright="Copyright © 2005, 2006, 2007 +[[meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] This page is a place to keep track of ideas about things that may be improved in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn index 67e341af..875bb8cd 100644 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -1,11 +1,13 @@ -[[meta copyright="Copyright © 2005, 2006, 2007 +[[meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] # Restructure the tree in a sane way diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index abe536a1..889fac2f 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[General_information|/ipc]] about IPC. diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index 602280f7..7c1f68e4 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Mach's [[IPC]] mechanism allows for getting access to a message's sequence number. diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index df4420ab..77b1372f 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Mach ports are [[capabilities|capability]]. diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index 9db99e74..ecef86ee 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[General_information|/rpc]] about RPC. diff --git a/naming_context.mdwn b/naming_context.mdwn index 14a9d9a0..9c701e71 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Names are bindings to objects, however, to find an object given a name, the relation must be looked up in a diff --git a/persistency.mdwn b/persistency.mdwn index 1df99bc2..5bd4f524 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A persistent object is an object that survives reboot. On Unix, files and directories are persistent but diff --git a/policy.mdwn b/policy.mdwn index 6111e077..f0a414f2 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A policy is a rule that define what may or may not happens, not how it happens. The latter is referred to as [[mechanism]]. diff --git a/principal.mdwn b/principal.mdwn index 891c3224..897c0436 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] A principal is an accountable entity. A principal may be a user. On some computer systems, users are represented by their diff --git a/rpc.mdwn b/rpc.mdwn index 0878ac52..e60254d1 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] RPC stands for remote procedure call. diff --git a/rules.mdwn b/rules.mdwn index 6f504532..d1a544e0 100644 --- a/rules.mdwn +++ b/rules.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * [[Source_repositories]] * [[Savannah_group]] diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn index 06d98fe6..317ec49f 100644 --- a/rules/savannah_group.mdwn +++ b/rules/savannah_group.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2006, 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[meta copyright="Copyright © 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]]."]] +[[GNU_Free_Documentation_License|/fdl]]."]]"""]] diff --git a/rules/source_repositories.mdwn b/rules/source_repositories.mdwn index e38644b4..2ecc6fe6 100644 --- a/rules/source_repositories.mdwn +++ b/rules/source_repositories.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] CVS repositories on Savannah, see . diff --git a/security.mdwn b/security.mdwn index 0871aab4..1bdc8c34 100644 --- a/security.mdwn +++ b/security.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] Alan Karp [identifies][1] 11 security questions: diff --git a/sfi.mdwn b/sfi.mdwn index 8384b55c..1a987290 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]] technique described by Wahbe et al. in their 1993 paper [Effcient diff --git a/sidebar.mdwn b/sidebar.mdwn index 3a190f2b..fc7c4dc8 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] diff --git a/tcb.mdwn b/tcb.mdwn index 7eba1fc1..d321a954 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] TCB stands for trusted computed base. Unqualified, the trusted computing base referrers to the set of components programs diff --git a/trust.mdwn b/trust.mdwn index 341e394b..46c762f0 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] The word trust is used in a number of contexts with different technical meanings. Sometimes it is used to confuse, for instance trusted computing is rarely about diff --git a/user/tschwinge.mdwn b/user/tschwinge.mdwn index 6e07f880..b72f26f5 100644 --- a/user/tschwinge.mdwn +++ b/user/tschwinge.mdwn @@ -1,10 +1,12 @@ [[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this + +[[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_Free_Documentation_License|/fdl]]."]]"""]] [[meta title="Thomas Schwinge"]] diff --git a/user/vincentvikram.mdwn b/user/vincentvikram.mdwn index 5ef1979c..0b323729 100644 --- a/user/vincentvikram.mdwn +++ b/user/vincentvikram.mdwn @@ -1,10 +1,12 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] * Name: Vikram Vincent * Email: vincentvikram@swatantra.org diff --git a/virtualization.mdwn b/virtualization.mdwn index f099b3d3..b6fb0eb5 100644 --- a/virtualization.mdwn +++ b/virtualization.mdwn @@ -1,9 +1,11 @@ -[[meta copyright="Copyright © 2007 Free Software Foundation, Inc."]] -[[meta license="Permission is granted to copy, distribute and/or modify this +[[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_Free_Documentation_License|/fdl]]."]]"""]] See [[wikipedia Virtualization]]. -- cgit v1.2.3 From ac19008ebc9af7961c6381892995f9d7b2e2e190 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 1 Mar 2008 17:01:49 +0000 Subject: web commit by SamuelThibault --- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index c20b6a09..b48c074e 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -10,7 +10,7 @@ You can either get binaries at o - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - Run `xm create -c hurd`, gnumach should get started. -- If `xm` complains about networking, it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. +- If `xm` complains about networking (vif could not be connected), it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. You can also just disable networking by commenting the vif line in the config. If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -- cgit v1.2.3 From 479793d24ba023f0a01990b52e87d017cb849f76 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 1 Mar 2008 17:45:38 +0000 Subject: web commit by SamuelThibault: PAE error message --- microkernel/mach/gnumach/ports/xen.mdwn | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index b48c074e..19c5653e 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -10,7 +10,8 @@ You can either get binaries at o - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - Run `xm create -c hurd`, gnumach should get started. -- If `xm` complains about networking (vif could not be connected), it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. You can also just disable networking by commenting the vif line in the config. +- If `xm` complains about networking (`vif could not be connected`), it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. You can also just disable networking by commenting the vif line in the config. +- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot a non-PAE hypervisor. If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -- cgit v1.2.3 From af6424f861e93e3e03a05c97e07f110db592ac08 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 1 Mar 2008 17:49:54 +0000 Subject: web commit by SamuelThibault --- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 19c5653e..d995c42d 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -10,7 +10,7 @@ You can either get binaries at o - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - Run `xm create -c hurd`, gnumach should get started. -- If `xm` complains about networking (`vif could not be connected`), it's Xen fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs. You can also just disable networking by commenting the vif line in the config. +- If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot a non-PAE hypervisor. If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. -- cgit v1.2.3 From 3966b1a19c061203f5eb02cfdc343df940b3f10a Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sat, 1 Mar 2008 19:20:45 +0000 Subject: web commit by SamuelThibault --- microkernel/mach/gnumach/ports/xen.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index d995c42d..8c8acd40 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,5 +1,7 @@ /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. +/!\ You need an already installed GNU/Hurd system. + This also means that you'll currently need a PAE-disabled `dom0`. [[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at . @@ -11,7 +13,7 @@ You can either get binaries at o - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - Run `xm create -c hurd`, gnumach should get started. - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. -- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot a non-PAE hypervisor. +- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -- cgit v1.2.3 From 36a02056b199376e6b1e7b35b12da85e14eb4417 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 31 Mar 2008 16:34:36 +0200 Subject: Link to the Mach page more obviously. --- microkernel/mach/gnumach.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 8da22938..71681eed 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -10,7 +10,7 @@ is included in the section entitled GNU Mach is currently used by the GNU [[Hurd]]. -GNU Mach remains compatible with Mach 3.0. +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. -- cgit v1.2.3 From b00484370be2df5165c29e493a0d686e5c44af8c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 2 Apr 2008 14:11:37 +0200 Subject: Copyright for 2007, 2008 is assigned to the FSF. --- microkernel/mach/gnumach/ports/xen.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 8c8acd40..e22bc276 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,3 +1,13 @@ +[[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]]."]]"""]] + /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. /!\ You need an already installed GNU/Hurd system. -- cgit v1.2.3 From 805e538b1db9d1969007eff1c556d854c630da0e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 2 Apr 2008 14:12:05 +0200 Subject: Add a note about x86 port. --- microkernel/mach/gnumach/ports.mdwn | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 35b5412a..00cdee8c 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -8,7 +8,8 @@ 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]]."]]"""]] -* [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. -* Alpha. Was once started, but isn't in a usable state either. + * x86. This is the main port. + * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. + * Alpha. Was once started, but isn't in a usable state either. -* [[Xen]] + * [[Xen]] -- cgit v1.2.3 From 7f9c540e49cbb3b4e9adc6b4c95aa79dc349a89a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 2 Apr 2008 14:26:02 +0200 Subject: microkernel/mach/gnumach/ports/xen/internals: New stub page. microkernel/mach/gnumach/ports/xen: Add links to GNU Savannah tasks. --- microkernel/mach/gnumach/ports/xen.mdwn | 6 ++++++ microkernel/mach/gnumach/ports/xen/internals.mdwn | 12 ++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 microkernel/mach/gnumach/ports/xen/internals.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index e22bc276..f1aac598 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -34,3 +34,9 @@ Then use The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. /!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! + +--- + +[[Internals]]. + +[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn new file mode 100644 index 00000000..22aac75e --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn @@ -0,0 +1,12 @@ +[[meta copyright="Copyright © 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 port does use Xen's para-virtualized interface for device (ide, network, +etc.) access. -- cgit v1.2.3 From 5b41f2e4140e4d08699b432271c2741b988ee0c5 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 2 Apr 2008 17:13:35 +0200 Subject: New stub page. --- microkernel/viengoos.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 microkernel/viengoos.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn new file mode 100644 index 00000000..83dd310d --- /dev/null +++ b/microkernel/viengoos.mdwn @@ -0,0 +1,15 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +*viengoos* is a new kernel currently being designed and written by Neal +Walfield. + +It can be found in the *hurd-l4* repository, available at +. -- cgit v1.2.3 From bb16d8caa7015ad861799bcdc588483cc87ac1a8 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 29 Apr 2008 13:47:07 +0200 Subject: Talk about active branches. --- microkernel/mach/gnumach/projects.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 2b2c4678..1c45d169 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -18,6 +18,17 @@ If you want to help with any of the task (thanks!), please send a mail to *[[mailing_lists/bug-hurd]]* stating what task you wish to work on, so that no duplicate efforts end up. +# Active Branches + + * `gnumach-1-branch` is the main branch. + + * `gnumach-1-branch-Xen-branch` is a branch created by Samuel Thibault for + working on a [[ports/Xen]] port. + + * `gnumach-1-branch-gdb-branch` is a branch created by Michael Casadevall for + working on [[GDB_stubs]]. + + # Task List * [[Clean_up_the_code]] @@ -83,6 +94,9 @@ so that no duplicate efforts end up. * Implement support for GDB debugging via serial line and/or network. Maybe this can be done together with the host-specific work above. + See [[GDB_stubs]]. + + # Wish List * Interface for userspace non-critical drivers. -- cgit v1.2.3 From 01af632a76ee8685d5db281c7805255a1b7c57d6 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 29 Apr 2008 13:47:42 +0200 Subject: Talk about active branches: gnumach-1-branch-gdb-branch. --- microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 microkernel/mach/gnumach/projects/gdb_stubs.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn new file mode 100644 index 00000000..9a11a82b --- /dev/null +++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn @@ -0,0 +1,13 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + + * + + * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) -- cgit v1.2.3 From e5a3be83f30e7926a66ebfe40884e5fb5fc1bd69 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 29 Apr 2008 14:14:19 +0200 Subject: Indenting. --- microkernel/mach/gnumach/projects.mdwn | 89 +++++++++++++++++----------------- 1 file changed, 45 insertions(+), 44 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 1c45d169..e0b6572c 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -31,78 +31,79 @@ so that no duplicate efforts end up. # Task List -* [[Clean_up_the_code]] + * [[Clean_up_the_code]] -* Update the core architecture and drivers + * Update the core architecture and drivers - * Check what NetBSD, FreeBSD and Linux do with their host specific code - (i486, PPC, Sparc, ...). And if it might be wise to take that and use it - in GNU Mach. There is no need to worry about purely internal API's, but - the external ones shouldn't require any major changes. + * Check what NetBSD, FreeBSD and Linux do with their host specific code + (i486, PPC, Sparc, ...). And if it might be wise to take that and use + it in GNU Mach. There is no need to worry about purely internal API's, + but the external ones shouldn't require any major changes. - * Write a list of all functions provided by the host dependant code in GNU - Mach that gets used in the non-host specific code (kernel, IPC and VM). + * Write a list of all functions provided by the host dependant code in + GNU Mach that gets used in the non-host specific code (kernel, IPC and + VM). - * Once we have decided what the new internal API should look like, make a - list of the new API and the old one, and try to make things as compatible - as possible, but not at the expense of anything. + * Once we have decided what the new internal API should look like, make a + list of the new API and the old one, and try to make things as + compatible as possible, but not at the expense of anything. -* Implement Migrating Threads + * Implement Migrating Threads - * Migrating Threads (MT) could improve IPC performance and making easier the - work of the scheduler. For more information, check - + * Migrating Threads (MT) could improve IPC performance and making easier + the work of the scheduler. For more information, check + -* Improve the external pagers interface + * Improve the external pagers interface - * Making this interface synchronous should improve I/O performance - significantly, without (almost) any drawbacks (we also get some advantage - from MT's). + * Making this interface synchronous should improve I/O performance + significantly, without (almost) any drawbacks (we also get some + advantage from MT's). - * Implement more paging eviction policies, so they fit better with usual - behaviour of the pagers. + * Implement more paging eviction policies, so they fit better with usual + behaviour of the pagers. - * Implement resource accounting for external pagers. + * Implement resource accounting for external pagers. -* VM + * VM - * Put it on user level (?) + * Put it on user level (?) - * Clean up the mess. + * Clean up the mess. - * Provide a fast way to read/write from/to a memory object. + * Provide a fast way to read/write from/to a memory object. - * Simplify/normalise the code. + * Simplify/normalise the code. -* Simplify the IPC Semantics + * Simplify the IPC Semantics - * There are a lot of things in GNU Mach's IPC that we don't need. Track down - those things, and get rid of them without requiring many changes in the - Hurd (the changes will affect MiG, but that is OK). + * There are a lot of things in GNU Mach's IPC that we don't need. Track + down those things, and get rid of them without requiring many changes + in the Hurd (the changes will affect MiG, but that is OK). -* Temporary mappings for Client-Server memory transfers + * Temporary mappings for Client-Server memory transfers - * Extend Mach's IPC to provide some kind of object which can represent a - range of memory that can temporarily be mapped into the servers address - space for sending/receiving data. This would allow us to avoid excessive - memory copies. + * Extend Mach's IPC to provide some kind of object which can represent a + range of memory that can temporarily be mapped into the servers address + space for sending/receiving data. This would allow us to avoid + excessive memory copies. - * Find a new way to work with unaligned memory. + * Find a new way to work with unaligned memory. -* GDB remote debugging support + * GDB remote debugging support - * Implement support for GDB debugging via serial line and/or network. Maybe - this can be done together with the host-specific work above. + * Implement support for GDB debugging via serial line and/or network. + Maybe this can be done together with the host-specific work above. See [[GDB_stubs]]. # Wish List -* Interface for userspace non-critical drivers. + * Interface for userspace non-critical drivers. -* Sound Support + * Sound Support -* WLAN support (ipw2200) with WEP/WPA + * WLAN support (ipw2200) with WEP/WPA -* ACPI support + * ACPI support -- cgit v1.2.3 From 09ee72dce67ec8814b906429a4a8d7ffd15c2dd5 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 29 Apr 2008 14:17:52 +0200 Subject: Port the Mach interface to Linux. --- microkernel/mach/gnumach/projects.mdwn | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index e0b6572c..f1b984fb 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -97,6 +97,22 @@ so that no duplicate efforts end up. See [[GDB_stubs]]. + * Make it run as a UNIX/Linux executable. + + * Neal: + + here's a fun project: port the mach interface to Linux + (e.g., via kernel modifications) + or, to posix/glibc + (mmap, some minimal ptrace, etc.) + + * From the [Hurd bits at + sourceforge.net](http://sourceforge.net/projects/hurd): + , started by John + Tobey. Last time touched in 2003. Status completely unknown. + + * [README](http://hurd.cvs.sourceforge.net/hurd/gnumach-otop/README?view=markup) + # Wish List -- cgit v1.2.3 From d737309086de67f077525171a36c2b873aaf1301 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Wed, 30 Apr 2008 01:04:34 +0000 Subject: web commit by SamuelThibault: +readahead --- microkernel/mach/gnumach/projects.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index f1b984fb..35b5c2ef 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -56,6 +56,8 @@ so that no duplicate efforts end up. * Improve the external pagers interface + * Implement read-ahead (huge I/O improvements expected). + * Making this interface synchronous should improve I/O performance significantly, without (almost) any drawbacks (we also get some advantage from MT's). -- cgit v1.2.3 From 7fc99828372142eed8c800543c1024a83dc51cc4 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 20 May 2008 15:38:22 +0200 Subject: Formatting. --- microkernel/mach/documentation.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 4dc4837b..9d06fb7a 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -8,5 +8,7 @@ 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]]."]]"""]] -- OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) -- OSF's [Kernel Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) + - OSF's [Kernel + Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) + - OSF's [Kernel + Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) -- cgit v1.2.3 From ae508a723d44e5458844aed5846b3894299dda15 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 20 May 2008 15:44:04 +0200 Subject: Link to ``Meet Mach''. --- microkernel/mach/documentation.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 9d06fb7a..83e2d0e2 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -8,6 +8,9 @@ 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]]."]]"""]] + - [Meet Mach](http://www.stepwise.com/Articles/Technical/MeetMach.html), a + summary of Mach's history and main concepts. + - OSF's [Kernel Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - OSF's [Kernel -- cgit v1.2.3 From 5c50a40f5f74b23aeb674fbdd7bf7f53d6119013 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Sun, 8 Jun 2008 14:35:24 +0000 Subject: web commit by Verte: Update the link to Samuel's website. --- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index f1aac598..1c1cc40f 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -17,7 +17,7 @@ This also means that you'll currently need a PAE-disabled `dom0`. . -You can either get binaries at or build them yourself. +You can either get binaries at or build them yourself. - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap -- cgit v1.2.3 From 8a07f5c259ef2a93d976ef02096b4ac89323ca05 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 14 Jul 2008 16:43:41 +0200 Subject: microkernel/faq: New FAQ infrastructure. --- microkernel.mdwn | 2 ++ microkernel/faq.mdwn | 17 +++++++++++++++++ 2 files changed, 19 insertions(+) create mode 100644 microkernel/faq.mdwn (limited to 'microkernel') diff --git a/microkernel.mdwn b/microkernel.mdwn index 2670c78a..82c6368c 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -30,4 +30,6 @@ An [introduction](http://www.cs.cornell.edu/Info/People/ulfar/ukernel/ukernel.ht A 2002 article about [[microkernel_FUD|FUD]] (Fear, Uncertainty, Doubt). +[[FAQ]]. + [[Mach]]. diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn new file mode 100644 index 00000000..0e129095 --- /dev/null +++ b/microkernel/faq.mdwn @@ -0,0 +1,17 @@ +[[meta copyright="Copyright © 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 title=Microkernel FAQ"]] + +[[inline +pages="microkernel/faq/* and !*/discussion" +show=0 +actions=yes +rootpage=microkernel/faq" postformtext="Add a new item titled:"]] -- cgit v1.2.3 From fe223de474375f8a306ad33d3d5e755de1cb5c6e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 14 Jul 2008 16:43:52 +0200 Subject: microkernel/faq/multiserver_microkernel: Split out of faq.en.in. --- faq.en.in | 19 ------------------- microkernel/faq/multiserver_microkernel.mdwn | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 19 deletions(-) create mode 100644 microkernel/faq/multiserver_microkernel.mdwn (limited to 'microkernel') diff --git a/faq.en.in b/faq.en.in index 16b22529..a9c1e436 100644 --- a/faq.en.in +++ b/faq.en.in @@ -27,25 +27,6 @@ license is included in the file COPYRIGHT. ? Generally Speaking -?? What is a Multiserver Microkernel? - -{NHW} A Microkernel has nothing to do with the size of the kernel. -Rather, it refers to the functionality that the kernel provides. It is -generally agreed that this is; a set of interfaces to allow processes to -communicate and a way to talk to the hardware. ``Software drivers,'' as -I like to call them, are then implemented in user space as servers. The -most obvious examples of these are the TCP/IP stack, the ext2 filesystem -and NFS. In the case of the Hurd, users now have access to -functionality that, in a monolithic kernel, they could never 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'', -available at: - - http://www.gnu.org/software/hurd/hurd-paper.html - ?? Grammatically speaking, what is the Hurd? {NHW} ``Hurd'', as an acronym, stands for ``Hird of Unix-Replacing diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn new file mode 100644 index 00000000..da690425 --- /dev/null +++ b/microkernel/faq/multiserver_microkernel.mdwn @@ -0,0 +1,26 @@ +[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 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 title="What is a Multiserver Microkernel?"]] + +A Microkernel has nothing to do with the size of the kernel. Rather, it refers +to the functionality that the kernel provides. It is generally agreed that +this is; a set of interfaces to allow processes to communicate and a way to +talk to the hardware. *Software drivers*, as we like to call them, are then +implemented in user space as servers. The most obvious examples of these are +the TCP/IP stack, the ext2 filesystem and NFS. In the case of the Hurd, users +now have access to functionality that, in a monolithic kernel, they could never +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). -- cgit v1.2.3 From 05d5f6e8c272bf2f6b088d38c644371ca3e3a74b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:24:19 +0200 Subject: Add copyright and licensing header. --- microkernel/mach/mig/documentation.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 222f89d1..fec0347d 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -1,3 +1,14 @@ +[[meta copyright="Copyright © 2002, 2003, 2005, 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]]."]]"""]] + [[toc ]] # About -- cgit v1.2.3 From 884d8359a9627db91ce02c843cb4719c8a4a67a0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:24:45 +0200 Subject: Formatting. --- microkernel/mach/mig/documentation.mdwn | 48 +++++++++++++++++++++++++-------- 1 file changed, 37 insertions(+), 11 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index fec0347d..a0528449 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -9,30 +9,56 @@ 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]]."]]"""]] -[[toc ]] +This is a small collection of links to external documents describing the *Mach +Interface Generator* used by GNU Mach. -# About - -This is a small collection of links to external documents describing the Mach Interface Generator used by GNU Mach. # MIG and C Thread Programming -A tutorial which demonstrates the use of the C Threads library primitives in writing a multithreaded program and the use of the Mach Interface Generator (MIG) to generate remote procedure calls for interprocess communication. Like its companion tutorial, it is based on the Mach 2.5 system. However, the concepts are applicable to Mach 3.0 user level programming. +A tutorial which demonstrates the use of the C Threads library primitives in +writing a multithreaded program and the use of the Mach Interface Generator +(MIG) to generate remote procedure calls for interprocess communication. Like +its companion tutorial, it is based on the Mach 2.5 system. However, the +concepts are applicable to Mach 3.0 user level programming. + +Linda R. Walmer and Mary R. Thompson. *A Programmer's Guide to the Mach User +Environment*. [PostScript +](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps), +[Doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc). +February 1988. School of Computer Science, Carnegie Mellon University. -Linda R. Walmer and Mary R. Thompson. **A Programmer's Guide to the Mach User Environment**. [PostScript ](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps)[Doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc) February 1988. School of Computer Science, Carnegie Mellon University. +An ftp directory containing the [mig programming +examples](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) +for this tutorial. -An ftp directory containing the [mig programming examples](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) for this tutorial. +Slides to Rich Drave's talk on MIG, on November 21, 1991: +[PostScript](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps), +[TeX](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex). -Slides to Rich Drave's talk on Mig, the Mach Interface Generator, on November 21, 1991: [PostScript](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps) [TeX](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex) # Roots Mig is an implementation of a subset of the Matchmaker **language**. -"Matchmaker is a language for specifying and automating the generation of multilingual interprocess communication interfaces. MIG is an interim implementation of a subset of the Matchmaker language that generates C and C++ remote procedure call interfaces for interprocess communication between Mach tasks." +"Matchmaker is a language for specifying and automating the generation of +multilingual interprocess communication interfaces. MIG is an interim +implementation of a subset of the Matchmaker language that generates C and C++ +remote procedure call interfaces for interprocess communication between Mach +tasks." + +Richard P. Draves, Michael B. Jones, Mary R. Thompson, *MIG - THE MACH +INTERFACE GENERATOR*. +[ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps), +[doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc). +November 1989. Department of Computer Science, Carnegie-Mellon University. -Richard P. Draves,Michael B. Jones,Mary R. Thompson, **MIG - THE MACH INTERFACE GENERATOR**. [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps) [doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc) November 1989. Department of Computer Science, Carnegie-Mellon University. # Related Work -See the citations about [Mach and matchmaker: kernel and language support for objectoriented distributed systems](http://citeseer.ist.psu.edu/context/93073/0) here. "M. B. Jones and R. F. Rashid, \`Mach and matchmaker: kernel and language support for objectoriented distributed systems', Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1986, pp. 67--77." +See the citations about [Mach and matchmaker: kernel and language support for +objectoriented distributed +systems](http://citeseer.ist.psu.edu/context/93073/0). "M. B. Jones and +R. F. Rashid, *Mach and matchmaker: kernel and language support for +objectoriented distributed systems*, Proceedings of the Conference on +Object-Oriented Programming Systems, Languages, and Applications, October 1986, +pp. 67--77." -- cgit v1.2.3 From ab5f35244b4a3c05235aeadc4f1b5d4a3cfdca88 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:30:48 +0200 Subject: Link to a few pages from the GNU Mach Reference Manual. --- microkernel/mach/mig/documentation.mdwn | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index a0528449..a4628a1a 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -62,3 +62,13 @@ R. F. Rashid, *Mach and matchmaker: kernel and language support for objectoriented distributed systems*, Proceedings of the Conference on Object-Oriented Programming Systems, Languages, and Applications, October 1986, pp. 67--77." + + +# Further Relevant Documentation + + * The [GNU Mach Reference + Manual](http://www.gnu.org/software/hurd/docs.html#manuals), espacially + [Chapter 4, Inter Process + Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), + which, for example, explains how the `dealloc` flag works in [Chapter + 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) -- cgit v1.2.3 From 6427e2bec264b9ae915590a3723f816be37dcfc0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 10:31:09 +0200 Subject: Link to hurd/io_path. --- microkernel/mach/mig/documentation.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index a4628a1a..2998008d 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -72,3 +72,5 @@ pp. 67--77." Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), which, for example, explains how the `dealloc` flag works in [Chapter 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + + * MIG *in action*: [[hurd/io_path]]. -- cgit v1.2.3 From faa864b5b180c3897b6d0ae843a87bf9ac134aef Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 22 Jul 2008 11:46:11 +0200 Subject: Have [[microkernel/mach/mig/dealloc]] redirect to its documentation. --- microkernel/mach/mig/dealloc.mdwn | 11 +++++++++++ microkernel/mach/mig/documentation.mdwn | 5 +++-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 microkernel/mach/mig/dealloc.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/dealloc.mdwn b/microkernel/mach/mig/dealloc.mdwn new file mode 100644 index 00000000..1ed9d52b --- /dev/null +++ b/microkernel/mach/mig/dealloc.mdwn @@ -0,0 +1,11 @@ +[[meta copyright="Copyright © 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=documentation#dealloc]] diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 2998008d..8c977e55 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -70,7 +70,8 @@ pp. 67--77." Manual](http://www.gnu.org/software/hurd/docs.html#manuals), espacially [Chapter 4, Inter Process Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html), - which, for example, explains how the `dealloc` flag works in [Chapter - 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + which, for example, explains how the `dealloc` flag + works in [Chapter 4.2.4, + Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) * MIG *in action*: [[hurd/io_path]]. -- cgit v1.2.3 From 35b4dcf40dce854eba0341d651764a003ba6dac9 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:14:12 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos/hardware.mdwn | 50 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 microkernel/viengoos/hardware.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn new file mode 100644 index 00000000..1b4ce514 --- /dev/null +++ b/microkernel/viengoos/hardware.mdwn @@ -0,0 +1,50 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +I boot over the network using PXE. + +On my build machine, I have installed a tftpserver. Specifically, I use +the one built into dnscache. In /tftpboot, I have symlinks to pistachio, +sigma0, and the root of the build tree. + +My build machine boots using PXE. It gets an IP address, contacts +my build machine and loads [grub2pxe](http://grub.enbug.org/PXEBOOT). +Note that there is no need to use pxelinux; grub2 is a valid PXE +executable. Further, grub2 uses the PXE interface for accessing the +network, so if your hardware supports PXE, then you do not need to +worry about a network driver. Here is how I build grub2 and the +grub2 image: + + cd ~/src + svn co svn://svn.savannah.gnu.org/grub/trunk/grub2 + cd grub2 + mkdir build + cd build + ../configure --prefix=$HOME/src/grub2/install && make && make install + cd ~/src/grub2/install + bin/grub-mkimage --output=core.img --prefix="(pxe)" pxe pxecmd help reboot serial multiboot pc configfile normal boot + cat lib/grub/i386-pc/pxeboot.img core.img > grub2pxe + +Here is my /tftpboot/grub.cfg, which sends output to the first +[[serial_port]]: + + # Timeout for menu + set timeout=1 + + # Set default boot entry as Entry 0 + set default=0 + + menuentry "Viengoos" { + multiboot /viengoos/laden/laden -o serial -D + module /pistachio + module /sigma0 + module /viengoos/viengoos/viengoos.stripped -D 3 -o serial + module /viengoos/hieronymus/hieronymus.stripped + } -- cgit v1.2.3 From dc16aad4f287802dce8c560e18406f30a968eb93 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:32:02 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos/serial_port.mdwn | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 microkernel/viengoos/serial_port.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn new file mode 100644 index 00000000..53b988c5 --- /dev/null +++ b/microkernel/viengoos/serial_port.mdwn @@ -0,0 +1,15 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +Viengoos can be configured to send output to the serial port (in fact, +this is the only configuration that I use). To talk to the serial +port, I use ser2net, which provides a telnet interface to the serial +port. Be sure to edit /etc/ser2net.conf to use 115200 bps, which +Viengoos uses by default. -- cgit v1.2.3 From 4c79d14733c1bf9958867b13f28bddbb61d5d588 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Thu, 14 Aug 2008 04:34:40 +0000 Subject: web commit by NealWalfield --- microkernel/viengoos.mdwn | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 83dd310d..9a4f726f 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -13,3 +13,8 @@ Walfield. It can be found in the *hurd-l4* repository, available at . + +* [[Building]] +* Running + * [[QEMU]] + * [[Hardware]] -- cgit v1.2.3 From 071534c77850ea1f32987c3b908c047c40c225b4 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Tue, 23 Sep 2008 05:42:19 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 1c1cc40f..695be30d 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -10,17 +10,34 @@ is included in the section entitled /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. +On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. + /!\ You need an already installed GNU/Hurd system. +If you have a free partition, you can fdisk to type 0x83, create a filesystem using: + + sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 + +Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. + This also means that you'll currently need a PAE-disabled `dom0`. [[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at . - You can either get binaries at or build them yourself. - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap + +Here is a sample /etc/xen/hurd configuration + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda4,hda,w'] + extra = "root=device:hd0" + vif = [ '' ] + ramdisk = "/boot/hurd-modules" + - Run `xm create -c hurd`, gnumach should get started. - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. -- cgit v1.2.3 From 7ea8f272277a21c9a8f6761bc552ef9805bc7667 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Tue, 23 Sep 2008 05:45:09 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 695be30d..5d33a8d0 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -16,7 +16,7 @@ On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. If you have a free partition, you can fdisk to type 0x83, create a filesystem using: - sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 + sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. @@ -31,12 +31,12 @@ You can either get binaries at or bu Here is a sample /etc/xen/hurd configuration - kernel = "/boot/gnumach-xen" - memory = 256 - disk = ['phy:sda4,hda,w'] - extra = "root=device:hd0" - vif = [ '' ] - ramdisk = "/boot/hurd-modules" + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda4,hda,w'] + extra = "root=device:hd0" + vif = [ '' ] + ramdisk = "/boot/hurd-modules" - Run `xm create -c hurd`, gnumach should get started. - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. -- cgit v1.2.3 From 64b01e4b16aa0c649c523dfbca6ec011cf569156 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Tue, 23 Sep 2008 05:52:54 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 33 ++++++++++++++++++++++++--------- 1 file changed, 24 insertions(+), 9 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 5d33a8d0..47a7804b 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -8,18 +8,12 @@ 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]]."]]"""]] +## Xen dom0, PAE-disabled hypervisor + /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. -/!\ You need an already installed GNU/Hurd system. - -If you have a free partition, you can fdisk to type 0x83, create a filesystem using: - - sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 - -Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. - This also means that you'll currently need a PAE-disabled `dom0`. [[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at . @@ -29,6 +23,18 @@ You can either get binaries at or bu - Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap +## GNU/Hurd system + +/!\ You need an already installed GNU/Hurd system. + +If you have a free partition, you can fdisk to type 0x83, create a filesystem using: + + sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 + +Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. + +## /etc/xen/hurd configuration + Here is a sample /etc/xen/hurd configuration kernel = "/boot/gnumach-xen" @@ -38,10 +44,19 @@ Here is a sample /etc/xen/hurd configuration vif = [ '' ] ramdisk = "/boot/hurd-modules" -- Run `xm create -c hurd`, gnumach should get started. +## Running Hurd with Xen + +To run Hurd with Xen, use: + + xm create -c hurd + +and gnumach should get started. + - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. +## Building from sources + If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. Then use -- cgit v1.2.3 From 0dd5d4a3f537db40b812913b2df6f81fc4293126 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 23 Sep 2008 08:34:38 +0200 Subject: microkernel/mach/gnumach/ports/xen/networking_configuration: New page. --- microkernel/mach/gnumach/ports/xen.mdwn | 2 + .../ports/xen/networking_configuration.mdwn | 46 ++++++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 47a7804b..20fa3e62 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -44,6 +44,8 @@ Here is a sample /etc/xen/hurd configuration vif = [ '' ] ramdisk = "/boot/hurd-modules" +Suggestions about [[networking_configuration]] are available. + ## Running Hurd with Xen To run Hurd with Xen, use: diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn new file mode 100644 index 00000000..15af862c --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -0,0 +1,46 @@ +[[meta copyright="Copyright © 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 Xen dom0 infrastructure provides for a bridged networking setup using shell +scripts to configure the bridging device properly and attach the domUs' virtual +interfaces to the bridge. However, we've [seen +problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) +when using this approach, so to [solve these +issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), +instead suggest the following configuration method (to achieve the same thing). + +This is for a Debian dom0. + +# */etc/network/interfaces* + +Comment out everything referencing your physical devices. Add this: + + auto br0 + iface br0 inet dhcp + bridge_ports regex (eth|vif).* noregex + +... or if you want to do the manual configuration dance: + + auto br0 + iface br0 inet static + bridge_ports regex (eth|vif).* noregex + address 192.168.10.60 + netmask 255.255.255.0 + [...] + +This needs a version of the `bridge-utils` package more recent than the current +Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, +e.g., the Debian testing one on Debian stable.) + +# */etc/xen/xend-config.sxp* + +Make sure that only `(network-script network-dummy)` and `(vif-script +vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, +respective `(vif-script vif-WHATEVER)` are commented out. -- cgit v1.2.3 From 8bd1c783800d72b13d8b874acf1e8ea3d401fe34 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 23 Sep 2008 08:56:26 +0200 Subject: How to get stable MAC addresses. --- microkernel/mach/gnumach/ports/xen.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 20fa3e62..14a5c495 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -46,6 +46,9 @@ Here is a sample /etc/xen/hurd configuration Suggestions about [[networking_configuration]] are available. +If you need stable MAC addresses, use a syntax like `vif = [ +'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. + ## Running Hurd with Xen To run Hurd with Xen, use: -- cgit v1.2.3 From 225c6a677f836ba1ceb015b63efc5b2321c58273 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Wed, 24 Sep 2008 12:44:44 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 14a5c495..8919aa57 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -55,7 +55,10 @@ To run Hurd with Xen, use: xm create -c hurd -and gnumach should get started. +and gnumach should get started. Proceed with native-install. + + export TERM=mach + ./native-install - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. -- cgit v1.2.3 From 49f169105058c671817c360f3ddad950b9576bda Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 07:48:09 +0000 Subject: . --- .../ports/xen/networking_configuration.mdwn | 53 ++++++++++++++++++++++ 1 file changed, 53 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 15af862c..07442477 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -44,3 +44,56 @@ e.g., the Debian testing one on Debian stable.) Make sure that only `(network-script network-dummy)` and `(vif-script vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, respective `(vif-script vif-WHATEVER)` are commented out. + + +## Sample configuration files on Debian Lenny + +### /etc/xen/hurd on dom0 + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda5,hda,w'] + extra = "root=device:hd0" + vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] + ramdisk = "/boot/hurd-modules" + +### /etc/xen/xend-config.sxp on dom0 + + (network-script 'network-bridge netdev=br0') + (dom0-min-mem 196) + (dom0-cpus 0) + (vncpasswd '') + +### /etc/network/interfaces on dom0 + + auto br0 + iface br0 inet static + address 192.168.1.211 + network 192.168.1.0 + netmask 255.255.255.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + bridge_ports eth1 + +### Doing settrans on domU + + settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 + +### /sbin/ifconfig on dom0 + + br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 + TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) + + eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 + TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB) -- cgit v1.2.3 From 1776ed47f97591e6d4fa308b69a9e1644d346108 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 07:50:54 +0000 Subject: . --- .../mach/gnumach/ports/xen/networking_configuration.mdwn | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 07442477..7b798636 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -68,12 +68,12 @@ respective `(vif-script vif-WHATEVER)` are commented out. auto br0 iface br0 inet static - address 192.168.1.211 - network 192.168.1.0 - netmask 255.255.255.0 - broadcast 192.168.1.255 - gateway 192.168.1.1 - bridge_ports eth1 + address 192.168.1.211 + network 192.168.1.0 + netmask 255.255.255.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + bridge_ports eth1 ### Doing settrans on domU -- cgit v1.2.3 From d604f1bad3d7341a04c4dd6e974efe16270bfd73 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 07:54:40 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 7b798636..a14a0efd 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -8,6 +8,8 @@ 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]]."]]"""]] +[[toc ]] + The Xen dom0 infrastructure provides for a bridged networking setup using shell scripts to configure the bridging device properly and attach the domUs' virtual interfaces to the bridge. However, we've [seen -- cgit v1.2.3 From b2340183c493ea0f9e58ff965834588b47a29604 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 07:56:42 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 8919aa57..4bf01183 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -8,6 +8,8 @@ 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]]."]]"""]] +[[toc]] + ## Xen dom0, PAE-disabled hypervisor /!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. -- cgit v1.2.3 From a05bab3bd8ad80e0a4bed7e0c6ee364a665c3ca5 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 07:58:18 +0000 Subject: . --- .../mach/gnumach/ports/xen/networking_configuration.mdwn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index a14a0efd..7a448ac9 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -8,7 +8,7 @@ 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]]."]]"""]] -[[toc ]] +[[toc]] The Xen dom0 infrastructure provides for a bridged networking setup using shell scripts to configure the bridging device properly and attach the domUs' virtual @@ -48,9 +48,9 @@ vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, respective `(vif-script vif-WHATEVER)` are commented out. -## Sample configuration files on Debian Lenny +# Sample configuration files on Debian Lenny -### /etc/xen/hurd on dom0 +## /etc/xen/hurd on dom0 kernel = "/boot/gnumach-xen" memory = 256 @@ -59,14 +59,14 @@ respective `(vif-script vif-WHATEVER)` are commented out. vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] ramdisk = "/boot/hurd-modules" -### /etc/xen/xend-config.sxp on dom0 +## /etc/xen/xend-config.sxp on dom0 (network-script 'network-bridge netdev=br0') (dom0-min-mem 196) (dom0-cpus 0) (vncpasswd '') -### /etc/network/interfaces on dom0 +## /etc/network/interfaces on dom0 auto br0 iface br0 inet static @@ -77,11 +77,11 @@ respective `(vif-script vif-WHATEVER)` are commented out. gateway 192.168.1.1 bridge_ports eth1 -### Doing settrans on domU +## Doing settrans on domU settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 -### /sbin/ifconfig on dom0 +## /sbin/ifconfig on dom0 br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 -- cgit v1.2.3 From 122dc52e538c6f92db902bafca65a51371627d04 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 08:04:07 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 4bf01183..cdb4e2de 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -8,7 +8,7 @@ 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]]."]]"""]] -[[toc]] +[[toc ]] ## Xen dom0, PAE-disabled hypervisor -- cgit v1.2.3 From 8b96f51ad4d3315aaa3d95af22a94379f314612f Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 08:06:35 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 7a448ac9..65f4fbb9 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -8,7 +8,7 @@ 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]]."]]"""]] -[[toc]] +[[toc ]] The Xen dom0 infrastructure provides for a bridged networking setup using shell scripts to configure the bridging device properly and attach the domUs' virtual -- cgit v1.2.3 From 1f6064f5a91a2846c0c195eca3c190b65405e73c Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Fri, 26 Sep 2008 08:14:47 +0000 Subject: . --- microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 65f4fbb9..71a72bac 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -59,6 +59,8 @@ respective `(vif-script vif-WHATEVER)` are commented out. vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] ramdisk = "/boot/hurd-modules" +/dev/sda5 is an extended partition. br0 is bridge interface on dom0. + ## /etc/xen/xend-config.sxp on dom0 (network-script 'network-bridge netdev=br0') @@ -77,6 +79,8 @@ respective `(vif-script vif-WHATEVER)` are commented out. gateway 192.168.1.1 bridge_ports eth1 +eth1 is the interface that is connected to the Internet on the LAN: + ## Doing settrans on domU settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 -- cgit v1.2.3 From c27c0f96b9ca6898064d5bdbbc79c4475ee7c65a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 7 Oct 2008 23:10:27 +0200 Subject: [[Emulation]]: New. Add some links. --- emulation.mdwn | 20 ++++++++++++++++++++ microkernel/mach/gnumach/ports/xen/internals.mdwn | 2 ++ virtualization.mdwn | 9 ++++++++- 3 files changed, 30 insertions(+), 1 deletion(-) create mode 100644 emulation.mdwn (limited to 'microkernel') diff --git a/emulation.mdwn b/emulation.mdwn new file mode 100644 index 00000000..856e0f92 --- /dev/null +++ b/emulation.mdwn @@ -0,0 +1,20 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +# External + + * [*Emulation: Role-Playing for + Computers*](http://www.informit.com/articles/printerfriendly.aspx?p=659522), + an article by David Chisnall. + + +# See Also + + * [[Virtualization]]. diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn index 22aac75e..09e707ea 100644 --- a/microkernel/mach/gnumach/ports/xen/internals.mdwn +++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn @@ -10,3 +10,5 @@ is included in the section entitled The port does use Xen's para-virtualized interface for device (ide, network, etc.) access. + +[[Virtualization]]. diff --git a/virtualization.mdwn b/virtualization.mdwn index b6fb0eb5..88f95328 100644 --- a/virtualization.mdwn +++ b/virtualization.mdwn @@ -8,4 +8,11 @@ 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]]."]]"""]] -See [[wikipedia Virtualization]]. +# External + + * Wikipedia page about [[wikipedia Virtualization]]. + + +# See Also + + * [[Emulation]]. -- cgit v1.2.3 From f7cc93166ae25dc6936b7115f4196030c1eca288 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 8 Oct 2008 00:26:42 +0200 Subject: UNIX. --- capability.mdwn | 2 +- community/gsoc/project_ideas.mdwn | 12 ++++++------ destructive_interference.mdwn | 2 +- documentation.mdwn | 2 +- extensibility.mdwn | 2 +- hurd/faq/gramatically_speaking.mdwn | 2 +- hurd/faq/slash_usr_symlink.mdwn | 2 +- hurd/networking.mdwn | 2 +- hurd/ng/part2systemstructure.mdwn | 15 +++++++++++++-- hurd/ng/usecaseprivatekeys.mdwn | 6 +++++- hurd/ng/usecaseuserfilesystem.mdwn | 2 +- hurd/running/gnu.mdwn | 7 ++++++- hurd/running/gnu/gnu.mdwn | 7 ++++++- hurd/running/gnu/names.mdwn | 2 +- hurd/running/qemu.mdwn | 2 +- hurd/translator.mdwn | 2 +- ipc.mdwn | 2 +- mechanism.mdwn | 2 +- microkernel/mach/external_pager_mechanism.mdwn | 2 +- microkernel/mach/gnumach/projects.mdwn | 4 ++-- microkernel/mach/history.mdwn | 6 +++++- persistency.mdwn | 4 ++-- trust.mdwn | 2 +- unix.mdwn | 17 +++++++++++++++++ 24 files changed, 77 insertions(+), 31 deletions(-) create mode 100644 unix.mdwn (limited to 'microkernel') diff --git a/capability.mdwn b/capability.mdwn index 8bb14f13..2d4d2ce8 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -27,7 +27,7 @@ sent a string to identify the file to B, the identifier lacks a than A intended. Be ensuring that [[designation]] and [[authorization]] are always bound together, these problems are avoided. -Unix file descriptors can be viewed as capabilities. Unix file +[[Unix]] file descriptors can be viewed as capabilities. Unix file descriptors do not survive reboot, that is, they are not [[persistent|persistency]]. To work around this, [[ACL]]s are used to recover authority. diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index 0dc5f152..c4b665b7 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -145,7 +145,7 @@ virtualization using so-called logical partitions. (Similar to Linux-vserver, OpenVZ etc.) While subhurd allow creating a complete second system instance, with an own set -of Hurd servers and UNIX daemons and all, there are also situations where it is +of Hurd servers and [[UNIX]] daemons and all, there are also situations where it is desirable to have a smaller subenvironment, living withing the main system and using most of its facilities -- similar to a chroot environment. A simple way to create such a subenvironment with a single command would be very helpful. @@ -279,7 +279,7 @@ ongoing. ## Fix File Locking -Over the years, UNIX has aquired a host of different file locking mechanisms. +Over the years, [[UNIX]] has aquired a host of different file locking mechanisms. Some of them work on the Hurd, while others are buggy or only partially implemented. This breaks many applications. @@ -745,7 +745,7 @@ alltogether, the current Hurd implementation is based on variant of the original CMU [[microkernel/Mach]]. Unfortunately, Mach was created about two decades ago, and is in turn based on -even older BSD code. Parts of the BSD kernel -- file systems, UNIX mechanisms +even older BSD code. Parts of the BSD kernel -- file systems, [[UNIX]] [[mechanism]]s like processes and signals, etc. -- were ripped out (to be implemented in [[userspace_servers|hurd/translator]] instead); while other mechanisms were added to allow implementing stuff in userspace. @@ -821,7 +821,7 @@ shell script that uses xmlfs to extract some interesting information from an ## Allow Using `unionfs` Early at Boot -In UNIX systems, traditionally most software is installed in a common directory +In [[UNIX]] systems, traditionally most software is installed in a common directory hierachy, where files from various packages live beside each other, grouped by function: user-invokable executables in `/bin`, system-wide configuration files in `/etc`, architecture specific static files in `/lib`, variable data in @@ -897,7 +897,7 @@ to do a detailed analysis of the problem. ## Lexical `..` Resolution -For historical reasons, UNIX filesystems have a real (hard) `..` link from each +For historical reasons, [[UNIX]] filesystems have a real (hard) `..` link from each directory pointing to its parent. However, this is problematic, because the meaning of "parent" really depends on context. If you have a symlink for example, you can reach a certain node in the filesystem by a different path. If @@ -926,7 +926,7 @@ suggestions welcome... :-) ) ## Secure `chroot` implementation -As the Hurd attempts to be (almost) fully UNIX-compatible, it also implements a +As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a `chroot()` system call. However, the current implementation is not really good, as it allows easily escaping the `chroot`, for example by use of [[passive_translators|hurd/translator]]. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index c41e5a36..1cda81a6 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -19,7 +19,7 @@ the Solitaire program is instantiated and given all of the user's authority. The program may delete all of the users files after publishing credit card and other sensitive information on the Internet. This type of interference is undesirable, however, generally practically -unavoidable due to the way programs work on Windows (and Unix, for that +unavoidable due to the way programs work on Windows (and [[Unix]], for that matter). The problem is that the callee has induced negative consequence for caller diff --git a/documentation.mdwn b/documentation.mdwn index 4ac335be..45bb5ffc 100644 --- a/documentation.mdwn +++ b/documentation.mdwn @@ -25,7 +25,7 @@ is included in the section entitled applied, comparisions to other systems. -# Unix Programming +# [[Unix]] Programming * *The C Programming Language* by Brian W. Kernighan and Dennis M. Ritchie, [order from diff --git a/extensibility.mdwn b/extensibility.mdwn index 1d6adc51..4ef70986 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -10,7 +10,7 @@ is included in the section entitled An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to -introduce new objects. UNIX is generally not an extensible system as it does +introduce new objects. [[UNIX]] is generally not an extensible system as it does not generally facilitate the hooking of system calls. For instance, there is no way to hook into the virtual file system. This has motivated the introduction of separate, parallel interfaces by both the GNOME and KDE projects to provide diff --git a/hurd/faq/gramatically_speaking.mdwn b/hurd/faq/gramatically_speaking.mdwn index f6073376..7aa3edac 100644 --- a/hurd/faq/gramatically_speaking.mdwn +++ b/hurd/faq/gramatically_speaking.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[meta title="Grammatically speaking, what is the Hurd?"]] -*Hurd*, as an acronym, stands for *Hird of Unix-Replacing Daemons*. *Hird*, in +*Hurd*, as an acronym, stands for *Hird of [[Unix]]-Replacing Daemons*. *Hird*, in turn, stands for *Hurd of Interfaces Representing Depth*. We treat *Hurd* as a title rather than as a proper name: it requires an diff --git a/hurd/faq/slash_usr_symlink.mdwn b/hurd/faq/slash_usr_symlink.mdwn index d78913fb..6fa6c58d 100644 --- a/hurd/faq/slash_usr_symlink.mdwn +++ b/hurd/faq/slash_usr_symlink.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[meta title="Why is `/usr' a symbolic link to `.'?"]] -The distinction between `/` and `/usr` has historical reasons. Back when Unix +The distinction between `/` and `/usr` has historical reasons. Back when [[Unix]] systems were booted from two tapes, a small root tape and a big user tape. Today, we like to use different partitions for these two spaces. The Hurd throws this historical garbage away. We think that we have found a more diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn index bc33769a..6ed031ed 100644 --- a/hurd/networking.mdwn +++ b/hurd/networking.mdwn @@ -16,7 +16,7 @@ where `N` is the numberic value fo the `PF_*` symbol. Right now User programs open those files, and use the `socket_create` [[RPC]] to make a new socket. With that socket, they can use the other `socket_*` RPCs and also -the `io_*` RPCs. The `socket_*` RPCs are essentially clones of the Unix +the `io_*` RPCs. The `socket_*` RPCs are essentially clones of the [[Unix]] syscalls in question. The only exception is `sockaddrs`, which are implemented as [[ports|libports]] diff --git a/hurd/ng/part2systemstructure.mdwn b/hurd/ng/part2systemstructure.mdwn index 4ce8026f..0f94ff2a 100644 --- a/hurd/ng/part2systemstructure.mdwn +++ b/hurd/ng/part2systemstructure.mdwn @@ -38,7 +38,12 @@ It is clear from this description that the child's existance is completely deter ## Canonical Process Destruction -Process destruction can be done either cooperatively, or forcibly. The difference corresponds approximately to the difference between SIGTERM and SIGKILL in Unix. To destroy a process cooperatively, a request message is sent to a special capability implemented by the child process. The child can then begin to tear down the program, and at some time send a request back to the parent process to ask for forced process destruction. +Process destruction can be done either cooperatively, or forcibly. The +difference corresponds approximately to the difference between SIGTERM and +SIGKILL in [[Unix]]. To destroy a process cooperatively, a request message is +sent to a special capability implemented by the child process. The child can +then begin to tear down the program, and at some time send a request back to +the parent process to ask for forced process destruction. Forced process destruction can be done by the parent process without any cooperation by the child process. The parent process simply destroys the primary container of the child (this means that the parent process should retain the primary container capability). @@ -84,7 +89,13 @@ I will now describe some common applications that need to be supported, and how ## System Services -Unix-style suid applications have been proposed as one application for alternative process construction mechanisms. However, suid applications in Unix are, from the perspective of the parent, not confined, only isolated. Thus, they are readily replaced by a system service that is created by the system software, and that runs as a sibling to any user process. Only the ability to invoke the system service needs to be given to the user, not the ability to instantiate it. +[[Unix]]-style suid applications have been proposed as one application for +alternative process construction mechanisms. However, suid applications in +Unix are, from the perspective of the parent, not confined, only isolated. +Thus, they are readily replaced by a system service that is created by the +system software, and that runs as a sibling to any user process. Only the +ability to invoke the system service needs to be given to the user, not the +ability to instantiate it. In fact, no gain can derived from letting the user instantiate system services. In Unix, system services run on durable resources, which the user can not revoke. Thus, the system service needs to acquire its resources from a container that is not derived from the user's primary container. diff --git a/hurd/ng/usecaseprivatekeys.mdwn b/hurd/ng/usecaseprivatekeys.mdwn index 612a8f25..3cb65af2 100644 --- a/hurd/ng/usecaseprivatekeys.mdwn +++ b/hurd/ng/usecaseprivatekeys.mdwn @@ -1,6 +1,10 @@ _Private Keys_ as used by SSH servers, clients and generally by any cryptographic software need to be stored and manipulated securely. These may get replaced with smartcards soon, but in the mean time it appears to be an interesting use case. -All Unix systems that I am aware of do not allow secrets to be protected in a manner that I would feel is appropiate. A users compromised web browser could either read your private key file or talk to the very popular ssh-agent program and get your secrets out (not sure how popular distributions are configured, but it can be done). +All [[Unix]] systems that I am aware of do not allow secrets to be protected in +a manner that I would feel is appropiate. A users compromised web browser +could either read your private key file or talk to the very popular ssh-agent +program and get your secrets out (not sure how popular distributions are +configured, but it can be done). The requirements so far are: diff --git a/hurd/ng/usecaseuserfilesystem.mdwn b/hurd/ng/usecaseuserfilesystem.mdwn index 6dce5670..4e4fdf35 100644 --- a/hurd/ng/usecaseuserfilesystem.mdwn +++ b/hurd/ng/usecaseuserfilesystem.mdwn @@ -3,7 +3,7 @@ These appear as _translators_ in the current Hurd and something similar needs to appear in the next hurd. * The user should be able to dynamically add and remove translators -* For some reason it seems appropiate to have seperate namespaces (VFS's) for each user (this is quite a departure from Unix. [[SamMason]]) +* For some reason it seems appropiate to have seperate namespaces (VFS's) for each user (this is quite a departure from [[Unix]]. [[SamMason]]) * translators can be used to expose the structure of an archive file * translators can be provide access to remote file systems diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 322597ec..2ae2f2ca 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -2,7 +2,12 @@ # The GNU Operating System -The GNU Operating System, or GNU System as it is more commonly known, will be a complete Unix-like operating system composed entirely of [free software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU System is one of the goals of the [GNU Project](http://www.gnu.org/), which was [launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by [Richard Stallman](http://www.stallman.org/). +The GNU Operating System, or GNU System as it is more commonly known, will be a +complete [[Unix]]-like operating system composed entirely of [free +software](http://www.gnu.org/philosophy/free-sw.html). The creation of the GNU +System is one of the goals of the [GNU Project](http://www.gnu.org/), which was +[launched in 1983](http://www.gnu.org/gnu/initial-announcement.html) by +[Richard Stallman](http://www.stallman.org/). diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn index 22bb5161..2a3629d7 100644 --- a/hurd/running/gnu/gnu.mdwn +++ b/hurd/running/gnu/gnu.mdwn @@ -2,7 +2,12 @@ ## GNU, FSF & RMS -GNU stands for GNU's Not Unix. It is a project announced in 1983 by [[RichardStallman]] (RMS). The Free Software Foundation ([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent organization for GNU and many other projects. GNU and some non-GNU projects are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to SourceForge.net. +GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by +[[RichardStallman]] (RMS). The Free Software Foundation +([FSF](http://www.fsf.org/fsf/fsf.html)) was founded in 1985 to act as a parent +organization for GNU and many other projects. GNU and some non-GNU projects +are now hosted on the [Savannah](http://savannah.gnu.org) platform similar to +SourceForge.net.
[[History]]
diff --git a/hurd/running/gnu/names.mdwn b/hurd/running/gnu/names.mdwn index d470a632..fcab6a11 100644 --- a/hurd/running/gnu/names.mdwn +++ b/hurd/running/gnu/names.mdwn @@ -1,4 +1,4 @@ -The GNU stands for GNU's Not Unix. It is a project as described in [[GNU]]. +The GNU stands for GNU's Not [[Unix]]. It is a project as described in [[GNU]]. What can be confusing is the usage. GNU can stand for: diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index 3a9784f7..1cf149bd 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -1,4 +1,4 @@ -This page discusses things for Unix systems, there is a separate page for +This page discusses things for [[Unix]] systems, there is a separate page for [[Microsoft_Windows]] systems. diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index 9cdd8a31..b9952931 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -26,7 +26,7 @@ that to access the indiviudal resources they use. This is primarily the [[backing_store]] and the node they attach to. Typically, a translator can only be attached to a node by the node's owner. -On Unix this is not possible because file systems +On [[Unix]] this is not possible because file systems and the virtual file system are implemented in the kernel and thus have absolute access to the machine. As the protocols do not require any special privilege diff --git a/ipc.mdwn b/ipc.mdwn index 0e8d674a..7c0e16b2 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -10,7 +10,7 @@ is included in the section entitled IPC stands for interprocess communication. -On Unix, interprocess communication can be achieved using pipes. +On [[Unix]], interprocess communication can be achieved using pipes. This is inefficient for large amounts of data as the data must be copied. This is generally not a problem as most services are provided by the Unix kernel and Unix is not designed to be diff --git a/mechanism.mdwn b/mechanism.mdwn index 6a96c656..c0a6b02c 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -20,7 +20,7 @@ As mechanisms determine the type of result, they necessarily impose some [[policy]] (rules). Mechanisms that are referred to as policy-free are those that minimally impose policy. -A process can be used to encapsulate a program instance. On Unix, +A process can be used to encapsulate a program instance. On [[Unix]], a process is associated with a UID. This UID, in part, determines what the process is authorized to do. On a [[microkernel]], the policy that controls what resources a process may access diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 7ed1ca57..608b6581 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -28,7 +28,7 @@ and the offset at which to install it. (The first time a task maps an object, Mach sends an initialization message to the server including a control capability, which it uses to supply pages to the kernel.) This is essentially -the same as mapping a file into an address space on Unix +the same as mapping a file into an address space on [[Unix]] using mmap. When a task faults, Mach checks to see if there is a memory diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 35b5c2ef..10ba0fe2 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -1,5 +1,5 @@ [[meta copyright="Copyright © 2005, 2006, 2007, 2008 - Free Software Foundation, Inc."]] +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 @@ -99,7 +99,7 @@ so that no duplicate efforts end up. See [[GDB_stubs]]. - * Make it run as a UNIX/Linux executable. + * Make it run as a [[UNIX]]/Linux executable. * Neal: diff --git a/microkernel/mach/history.mdwn b/microkernel/mach/history.mdwn index a27595c0..a8951737 100644 --- a/microkernel/mach/history.mdwn +++ b/microkernel/mach/history.mdwn @@ -8,7 +8,11 @@ Mach has quite a history. Everything actually started at the University of Roche One of the engineers behind the project was Richard Rashid. In 1979 he moved his socks to Carnegie Mellon University to continue his research on message passing operating systems. The result emerged in 1981 and was called Accent. -Accent kept running at CMU until 1984 but was by then being run over by UNIX. Rashid then decided to use an early embrace strategy and started designing the third generation OS project called Mach. By making Mach compatible with UNIX, Mach was supposed to gain a lot of available UNIX software. +Accent kept running at CMU until 1984 but was by then being run over by +[[UNIX]]. Rashid then decided to use an early embrace strategy and started +designing the third generation OS project called Mach. By making Mach +compatible with UNIX, Mach was supposed to gain a lot of available UNIX +software. Mach was a vast improvement over Accent. It incorporated parts commonly used today, such as: threads, better IPC, multiprocessor support and an advanced VM system. diff --git a/persistency.mdwn b/persistency.mdwn index 5bd4f524..17176708 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -9,8 +9,8 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] A persistent object is an object that survives reboot. -On Unix, files and directories are persistent but -processes and file descriptors are not. EROS is +On [[Unix]], files and directories are persistent but +processes and file descriptors are not. [[microkernel/EROS]] is an example of an orthogonally persistent system: processes and capabilities also survive reboot. To a process, it generally only looks as if it had not been diff --git a/trust.mdwn b/trust.mdwn index 46c762f0..f0d29a9c 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -18,7 +18,7 @@ user. When we say that a program trusts another, we mean that [[correctness]] of the former depends on the cooperation of the latter. For instance, when a user runs ssh, the user's intention is that all communication is encrypted. In this case, -the user trusts that the ssh binary respects this intent. In Unix, a program's +the user trusts that the ssh binary respects this intent. In [[Unix]], a program's [[tcb]] consists not only of the kernel (and all the drivers, file systems and protocol stacks that it contains) but every program running under the same UID; it is impossible to protect against diff --git a/unix.mdwn b/unix.mdwn new file mode 100644 index 00000000..b313010a --- /dev/null +++ b/unix.mdwn @@ -0,0 +1,17 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +# External + + * Wikipedia page about [[wikipedia UNIX]]. + + * [*Standardizing + UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an + article by David Chisnall. -- cgit v1.2.3 From 43f455cc03f5815a8a212a9b97e346c515ef8c00 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Wed, 8 Oct 2008 07:06:13 +0000 Subject: --- microkernel/building.mdwn | 104 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) create mode 100644 microkernel/building.mdwn (limited to 'microkernel') diff --git a/microkernel/building.mdwn b/microkernel/building.mdwn new file mode 100644 index 00000000..e06092a0 --- /dev/null +++ b/microkernel/building.mdwn @@ -0,0 +1,104 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +## Viengoos build + +### Checkout hurd-l4 + + cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 + +Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. + +### Configure + + autoreconf -i + mkdir test build + +### Make check on test (fails to complete as on July 7, 2008) + + cd test + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests + make check + +### Build the compiler + + cd ../build + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib + +### Build cross-compiler + + make + +### Build Viengoos proper + + make + +### Install the built executables + + cd .. + mkdir install + install -s build/laden/laden install + install -s build/viengoos/viengoos install + install -s build/hieronymus/hieronymus install + +## BUILD L4 + +### Get Pistachio using hg + + hg clone http://hg.l4ka.org/l4ka-pistachio + +### Build + + cd kernel + + make BUILDDIR=build + cd build + +Check Makeconf.local + + make menuconfig + Kernel->Enable experimental features->Pager ExchangeRegisters + + make + +## Build sigma0 + + cd user + + autoheader + autoconf + ./configure + make + +Install all executables to /usr/local/hurd. Create a menu.lst + + title The GNU Hurd on L4 + root (hd0,0) + kernel /laden -D + module /x86-kernel + module /sigma0 + module /viengoos -D 3 -o serial + module /hieronymus -D 3 + +Get specific grub version: + + wget ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs + +Use the following to boot: + + qemu -serial stdio -hdb fat:/usr/local/hurd -fda grub-0.97-i386-pc.ext2fs -boot a + +At grub prompt: + + grub> root (hd0,0) + + grub> configfile /menu.lst + +It will boot to a kernel debugger prompt. -- cgit v1.2.3 From 2074b90675099158a7f4404bd45dc9e47e262c1b Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Wed, 8 Oct 2008 07:13:16 +0000 Subject: --- microkernel/building.mdwn | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'microkernel') diff --git a/microkernel/building.mdwn b/microkernel/building.mdwn index e06092a0..4a18423f 100644 --- a/microkernel/building.mdwn +++ b/microkernel/building.mdwn @@ -10,37 +10,37 @@ is included in the section entitled ## Viengoos build -### Checkout hurd-l4 +Checkout hurd-l4: cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. -### Configure +Configure: autoreconf -i mkdir test build -### Make check on test (fails to complete as on July 7, 2008) +Make check on test (fails to complete as on July 7, 2008): cd test ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests make check -### Build the compiler +Build the compiler: cd ../build ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib -### Build cross-compiler +Build cross-compiler: make -### Build Viengoos proper +Build Viengoos proper: make -### Install the built executables +Install the built executables: cd .. mkdir install @@ -50,18 +50,18 @@ Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. ## BUILD L4 -### Get Pistachio using hg +Get Pistachio using hg: hg clone http://hg.l4ka.org/l4ka-pistachio -### Build +Build: cd kernel make BUILDDIR=build cd build -Check Makeconf.local +Check Makeconf.local: make menuconfig Kernel->Enable experimental features->Pager ExchangeRegisters @@ -97,8 +97,8 @@ Use the following to boot: At grub prompt: - grub> root (hd0,0) + grub> root (hd0,0) - grub> configfile /menu.lst + grub> configfile /menu.lst It will boot to a kernel debugger prompt. -- cgit v1.2.3 From 0baa631dbffa8148ebf7937dba50f8ddb30ea3a7 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Wed, 8 Oct 2008 07:16:22 +0000 Subject: --- microkernel/building.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'microkernel') diff --git a/microkernel/building.mdwn b/microkernel/building.mdwn index 4a18423f..8868c46c 100644 --- a/microkernel/building.mdwn +++ b/microkernel/building.mdwn @@ -77,6 +77,8 @@ Check Makeconf.local: ./configure make +## Test! + Install all executables to /usr/local/hurd. Create a menu.lst title The GNU Hurd on L4 -- cgit v1.2.3 From a6e1f910fdd5da0181b85cf1ad3cd57b72a22297 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 8 Oct 2008 09:34:22 +0200 Subject: Move to proper location. --- microkernel/building.mdwn | 106 ------------------------------------- microkernel/viengoos/building.mdwn | 106 +++++++++++++++++++++++++++++++++++++ 2 files changed, 106 insertions(+), 106 deletions(-) delete mode 100644 microkernel/building.mdwn create mode 100644 microkernel/viengoos/building.mdwn (limited to 'microkernel') diff --git a/microkernel/building.mdwn b/microkernel/building.mdwn deleted file mode 100644 index 8868c46c..00000000 --- a/microkernel/building.mdwn +++ /dev/null @@ -1,106 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -## Viengoos build - -Checkout hurd-l4: - - cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 - -Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. - -Configure: - - autoreconf -i - mkdir test build - -Make check on test (fails to complete as on July 7, 2008): - - cd test - ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests - make check - -Build the compiler: - - cd ../build - ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib - -Build cross-compiler: - - make - -Build Viengoos proper: - - make - -Install the built executables: - - cd .. - mkdir install - install -s build/laden/laden install - install -s build/viengoos/viengoos install - install -s build/hieronymus/hieronymus install - -## BUILD L4 - -Get Pistachio using hg: - - hg clone http://hg.l4ka.org/l4ka-pistachio - -Build: - - cd kernel - - make BUILDDIR=build - cd build - -Check Makeconf.local: - - make menuconfig - Kernel->Enable experimental features->Pager ExchangeRegisters - - make - -## Build sigma0 - - cd user - - autoheader - autoconf - ./configure - make - -## Test! - -Install all executables to /usr/local/hurd. Create a menu.lst - - title The GNU Hurd on L4 - root (hd0,0) - kernel /laden -D - module /x86-kernel - module /sigma0 - module /viengoos -D 3 -o serial - module /hieronymus -D 3 - -Get specific grub version: - - wget ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs - -Use the following to boot: - - qemu -serial stdio -hdb fat:/usr/local/hurd -fda grub-0.97-i386-pc.ext2fs -boot a - -At grub prompt: - - grub> root (hd0,0) - - grub> configfile /menu.lst - -It will boot to a kernel debugger prompt. diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn new file mode 100644 index 00000000..8868c46c --- /dev/null +++ b/microkernel/viengoos/building.mdwn @@ -0,0 +1,106 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +## Viengoos build + +Checkout hurd-l4: + + cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 + +Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. + +Configure: + + autoreconf -i + mkdir test build + +Make check on test (fails to complete as on July 7, 2008): + + cd test + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests + make check + +Build the compiler: + + cd ../build + ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib + +Build cross-compiler: + + make + +Build Viengoos proper: + + make + +Install the built executables: + + cd .. + mkdir install + install -s build/laden/laden install + install -s build/viengoos/viengoos install + install -s build/hieronymus/hieronymus install + +## BUILD L4 + +Get Pistachio using hg: + + hg clone http://hg.l4ka.org/l4ka-pistachio + +Build: + + cd kernel + + make BUILDDIR=build + cd build + +Check Makeconf.local: + + make menuconfig + Kernel->Enable experimental features->Pager ExchangeRegisters + + make + +## Build sigma0 + + cd user + + autoheader + autoconf + ./configure + make + +## Test! + +Install all executables to /usr/local/hurd. Create a menu.lst + + title The GNU Hurd on L4 + root (hd0,0) + kernel /laden -D + module /x86-kernel + module /sigma0 + module /viengoos -D 3 -o serial + module /hieronymus -D 3 + +Get specific grub version: + + wget ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs + +Use the following to boot: + + qemu -serial stdio -hdb fat:/usr/local/hurd -fda grub-0.97-i386-pc.ext2fs -boot a + +At grub prompt: + + grub> root (hd0,0) + + grub> configfile /menu.lst + +It will boot to a kernel debugger prompt. -- cgit v1.2.3 From 0c3192bb84e26de37e1fd18e566005899a8a34f9 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 9 Oct 2008 00:00:25 +0200 Subject: [[microkernel/mach/mig/open_issues]]. --- microkernel/mach/mig.mdwn | 1 + microkernel/mach/mig/open_issues.mdwn | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 microkernel/mach/mig/open_issues.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index f47eadfb..c620420a 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -10,3 +10,4 @@ GNU MIG is fully compatible with OSF MIG. * MIG's [homepage](http://www.gnu.org/software/hurd/mig.html) * [[Documentation]] * [[Building]] - Building (and obtaining) MIG +* [[Open_Issues]] diff --git a/microkernel/mach/mig/open_issues.mdwn b/microkernel/mach/mig/open_issues.mdwn new file mode 100644 index 00000000..68c4e5b4 --- /dev/null +++ b/microkernel/mach/mig/open_issues.mdwn @@ -0,0 +1,19 @@ +[[meta copyright="Copyright © 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 title="Open Issues"]] + +This is a dumping ground for open issues. + +[[inline +pages="microkernel/mach/mig/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/mig/open_issues" postformtext="Add a new item titled:"]] -- cgit v1.2.3 From 1bd8504fda886ef36f58b4667559ee19e9283a2c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 9 Oct 2008 00:00:59 +0200 Subject: ``duplicate inclusion guards''. --- .../mach/mig/open_issues/duplicate_inclusion_guards.mdwn | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn new file mode 100644 index 00000000..93347759 --- /dev/null +++ b/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn @@ -0,0 +1,14 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +E.g., both `/usr/include/hurd/process.h` and +`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion +guard. This leads to problems when both are needed, as is the case in +[[GDB]]'s `gdb/gnu-nat.c`. -- cgit v1.2.3 From 961a8b18b0509c1bd957e0f83cfb3baf811fabbf Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 04:23:35 +0000 Subject: --- microkernel/mach/documentation.mdwn | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 83e2d0e2..9c145500 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -12,6 +12,9 @@ is included in the section entitled summary of Mach's history and main concepts. - OSF's [Kernel - Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) + Interface](http://shakthimaan.com/downloads/hurd/kernel_interface.pdf) - OSF's [Kernel - Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) + Principles](http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) + - Porting and Modifying the Mach 3.0 microkernel [Porting Mach] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) + - Programmers' Guide to the Mach System Call [Mach System Call] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) + - An IO System for Mach [IO system for Mach] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) -- cgit v1.2.3 From 495d9ec106b571f29b8eb0314702d5c14af33b27 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 04:27:14 +0000 Subject: --- microkernel/mach/documentation.mdwn | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 9c145500..d460aa4e 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -12,9 +12,6 @@ is included in the section entitled summary of Mach's history and main concepts. - OSF's [Kernel - Interface](http://shakthimaan.com/downloads/hurd/kernel_interface.pdf) + Interface]()(ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps/) - OSF's [Kernel - Principles](http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) - - Porting and Modifying the Mach 3.0 microkernel [Porting Mach] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) - - Programmers' Guide to the Mach System Call [Mach System Call] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) - - An IO System for Mach [IO system for Mach] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) + Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps/) -- cgit v1.2.3 From 4e55e288bcd95458d54d583c50dc20f7a655522c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 9 Oct 2008 10:50:37 +0200 Subject: [[microkernel/mach/gnumach/open_issues]]. --- microkernel/mach/gnumach.mdwn | 1 + microkernel/mach/gnumach/open_issues.mdwn | 19 +++++++++++++++++++ microkernel/mach/gnumach/projects.mdwn | 2 ++ 3 files changed, 22 insertions(+) create mode 100644 microkernel/mach/gnumach/open_issues.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 71681eed..d45549f5 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -27,3 +27,4 @@ GNU Mach runs on x86 machines. See the * [[Boot_Trace]] * [[Projects]] * [[Rules]] + * [[Open_Issues]] diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn new file mode 100644 index 00000000..440e506f --- /dev/null +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -0,0 +1,19 @@ +[[meta copyright="Copyright © 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 title="Open Issues"]] + +This is a dumping ground for open issues. + +[[inline +pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 10ba0fe2..9ace6270 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -33,6 +33,8 @@ so that no duplicate efforts end up. * [[Clean_up_the_code]] + * [[Open_Issues]] + * Update the core architecture and drivers * Check what NetBSD, FreeBSD and Linux do with their host specific code -- cgit v1.2.3 From 30a9eb36e9f4e000a4a306f707b7f574e0a5ffad Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 9 Oct 2008 10:57:17 +0200 Subject: Repair links shakthimaan broke. --- microkernel/mach/documentation.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index d460aa4e..83e2d0e2 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -12,6 +12,6 @@ is included in the section entitled summary of Mach's history and main concepts. - OSF's [Kernel - Interface]()(ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps/) + Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - OSF's [Kernel - Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps/) + Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) -- cgit v1.2.3 From 2299c7bdc2bbd6d0645e7d4bea17011ba745ce5b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 9 Oct 2008 12:59:14 +0200 Subject: Better state open issues for which project. --- hurd/open_issues.mdwn | 2 +- microkernel/mach/gnumach/open_issues.mdwn | 2 +- microkernel/mach/mig/open_issues.mdwn | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn index 09fd83dd..d7dc4d99 100644 --- a/hurd/open_issues.mdwn +++ b/hurd/open_issues.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[meta title="Open Issues"]] -This is a dumping ground for open issues. +This is a dumping ground for open issues for the GNU Hurd. [[inline pages="hurd/open_issues/* and !*/discussion" diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index 440e506f..433ec3ef 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[meta title="Open Issues"]] -This is a dumping ground for open issues. +This is a dumping ground for open issues for GNU Mach. [[inline pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" diff --git a/microkernel/mach/mig/open_issues.mdwn b/microkernel/mach/mig/open_issues.mdwn index 68c4e5b4..2d870695 100644 --- a/microkernel/mach/mig/open_issues.mdwn +++ b/microkernel/mach/mig/open_issues.mdwn @@ -10,7 +10,7 @@ is included in the section entitled [[meta title="Open Issues"]] -This is a dumping ground for open issues. +This is a dumping ground for open issues for GNU MIG. [[inline pages="microkernel/mach/mig/open_issues/* and !*/discussion" -- cgit v1.2.3 From c4991ab4dba78f915521a089b7160fdee8837559 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 13:30:50 +0000 Subject: --- microkernel/mach/documentation.mdwn | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 83e2d0e2..41a8176b 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -11,7 +11,10 @@ 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. - - OSF's [Kernel - Interface](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - - OSF's [Kernel - Principles](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) + - OSF's Kernel Interface [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) + [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) + [pdf] (http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) + - Porting and Modifying the Mach 3.0 Microkernel [pdf] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) + - An IO System for Mach [pdf] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) + - A Programmers' Guide to Mach System Call [pdf] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) -- cgit v1.2.3 From ed8f49abee9952243bad7bcba57f522add44db83 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 13:33:23 +0000 Subject: --- microkernel/mach/documentation.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 41a8176b..aa6b92dc 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -13,8 +13,12 @@ is included in the section entitled - OSF's Kernel Interface [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) [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) [pdf] (http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) + - Porting and Modifying the Mach 3.0 Microkernel [pdf] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) + - An IO System for Mach [pdf] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) + - A Programmers' Guide to Mach System Call [pdf] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) -- cgit v1.2.3 From f19b28a603c2d30f9cd27749275992f6ec50303d Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 13:36:52 +0000 Subject: --- microkernel/mach/documentation.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index aa6b92dc..c8cd70a5 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -14,7 +14,7 @@ is included in the section entitled - OSF's Kernel Interface [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) [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) + - OSF's Kernel Principles [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_principles.ps) [pdf] (http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) - Porting and Modifying the Mach 3.0 Microkernel [pdf] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) -- cgit v1.2.3 From dcba2449f625e6c44d50cb640258e34e3487a536 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 13:43:20 +0000 Subject: --- microkernel/mach/documentation.mdwn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index c8cd70a5..8f0483c6 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -11,14 +11,14 @@ 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. - - OSF's Kernel Interface [ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) - [pdf](http://shakthimaan.com/downloads/hurd/kernel_interface.pdf) + - 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) - [pdf] (http://shakthimaan.com/downloads/hurd/kernel_principles.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) - - Porting and Modifying the Mach 3.0 Microkernel [pdf] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) + - [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 [pdf] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) + - [An IO System for Mach] (http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) - - A Programmers' Guide to Mach System Call [pdf] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) + - [A Programmers' Guide to Mach System Call] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) -- cgit v1.2.3 From c6bfbb4bd03c131692ddffec5512359f6bc2d737 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 14:02:51 +0000 Subject: --- microkernel/mach/documentation.mdwn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 8f0483c6..fe870386 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -15,10 +15,10 @@ is included in the section entitled [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) + [Kernel Principles (pdf)](http://shakthimaan.com/downloads/hurd/kernel_principles.pdf) - - [Porting and Modifying the Mach 3.0 Microkernel] (http://shakthimaan.com/downloads/hurd/Porting%20and%20Modifying%20the%20Mach%203.0%20Microkernel.pdf) + - [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) + - [An IO System for Mach](http://shakthimaan.com/downloads/hurd/An%20IO%20System%20for%20Mach.pdf) - - [A Programmers' Guide to Mach System Call] (http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) + - [A Programmers' Guide to Mach System Call](http://shakthimaan.com/downloads/hurd/A.Programmers.Guide.to.the.Mach.System.Calls.pdf) -- cgit v1.2.3 From 4c22bdd4ddf3e403dbb1b9763a4b98c4c4a4e4bf Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 17:43:16 +0000 Subject: --- microkernel/viengoos/building.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 8868c46c..16e94cbd 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -14,7 +14,7 @@ Checkout hurd-l4: cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 -Apply hurd-l4/libl4/ patch to change to gs:0 on line 35. +There is a patch in the README file, to change to %%gs:0 in libl4/ia32/l4/bits/vregs.h in line 35. It should have been applied already in the checked out code. Do verify. Configure: -- cgit v1.2.3 From 0db68b9475c031600096ed556294a3898d3c7a58 Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Thu, 9 Oct 2008 18:39:09 +0000 Subject: --- microkernel/viengoos/building.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 16e94cbd..909f1b5e 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -56,10 +56,10 @@ Get Pistachio using hg: Build: - cd kernel + cd kernel - make BUILDDIR=build - cd build + make BUILDDIR=build + cd build Check Makeconf.local: -- cgit v1.2.3 From b6d8d5547f7d9d607f3909304f5cf6289c267e6e Mon Sep 17 00:00:00 2001 From: shakthimaan Date: Mon, 27 Oct 2008 12:43:12 +0000 Subject: --- microkernel/viengoos/building.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 909f1b5e..3c27af83 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -58,7 +58,7 @@ Build: cd kernel - make BUILDDIR=build + make BUILDDIR=/absolute/path/to/build cd build Check Makeconf.local: -- cgit v1.2.3 From 1b21d156dd420089325c0905f3814d0e12987f90 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 5 Nov 2008 09:37:40 +0100 Subject: Remove old redirection pages. All URLs will change nevertheless. --- Hurd/GNUHurdStatus.mdwn | 11 ----------- community/self-organised_2008.mdwn | 11 ----------- how_to_contribute_to_this_wiki.mdwn | 11 ----------- hurd/gettinghelp.mdwn | 11 ----------- hurd/running/creating_image_tarball.mdwn | 11 ----------- mailinglists.mdwn | 11 ----------- microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn | 11 ----------- 7 files changed, 77 deletions(-) delete mode 100644 Hurd/GNUHurdStatus.mdwn delete mode 100644 community/self-organised_2008.mdwn delete mode 100644 how_to_contribute_to_this_wiki.mdwn delete mode 100644 hurd/gettinghelp.mdwn delete mode 100644 hurd/running/creating_image_tarball.mdwn delete mode 100644 mailinglists.mdwn delete mode 100644 microkernel/mach/gnumach/hardwarecompatibilitylist.mdwn (limited to 'microkernel') diff --git a/Hurd/GNUHurdStatus.mdwn b/Hurd/GNUHurdStatus.mdwn deleted file mode 100644 index 21448e60..00000000 --- a/Hurd/GNUHurdStatus.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=hurd/status]] diff --git a/community/self-organised_2008.mdwn b/community/self-organised_2008.mdwn deleted file mode 100644 index 01b25578..00000000 --- a/community/self-organised_2008.mdwn +++ /dev/null @@ -1,11 +0,0 @@ -[[meta copyright="Copyright © 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=meetings/self-organised_2008]] diff --git a/how_to_contribute_to_this_wiki.mdwn b/how_to_contribute_to_this_wiki.mdwn deleted file mode 100644 index 89df20e5..00000000 --- a/how_to_contribute_to_this_wiki.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=contributing/wiki]] diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn deleted file mode 100644 index 1faa94c5..00000000 --- a/hurd/gettinghelp.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=getting_help]] diff --git a/hurd/running/creating_image_tarball.mdwn b/hurd/running/creating_image_tarball.mdwn deleted file mode 100644 index 2938c79a..00000000 --- a/hurd/running/creating_image_tarball.mdwn +++ /dev/null @@ -1,11 +0,0 @@ -[[meta copyright="Copyright © 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=debian/creating_image_tarball]] diff --git a/mailinglists.mdwn b/mailinglists.mdwn deleted file mode 100644 index 709b1771..00000000 --- a/mailinglists.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=mailing_lists]] 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]] -- cgit v1.2.3 From ae9e4e22a7ce8b2b56e98ff1708c2e8d42eefd69 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 5 Nov 2008 14:58:33 +0100 Subject: microkernel/mach/gnumach -> microkernel/mach/gnu_mach --- community/gsoc/project_ideas.mdwn | 6 +- contributing.mdwn | 6 +- hurd/building/cross-compiling.mdwn | 2 +- hurd/getting_help.mdwn | 2 +- hurd/libstore.mdwn | 2 +- hurd/running.mdwn | 2 +- microkernel/mach.mdwn | 2 +- microkernel/mach/gnu_mach.mdwn | 30 +++ microkernel/mach/gnu_mach/boot_trace.mdwn | 222 +++++++++++++++++++++ microkernel/mach/gnu_mach/building.mdwn | 114 +++++++++++ microkernel/mach/gnu_mach/building/example.mdwn | 54 +++++ microkernel/mach/gnu_mach/debugging.mdwn | 68 +++++++ .../mach/gnu_mach/hardware_compatibility_list.mdwn | 111 +++++++++++ .../hardware_compatibility_list/discussion.mdwn | 4 + microkernel/mach/gnu_mach/open_issues.mdwn | 19 ++ microkernel/mach/gnu_mach/ports.mdwn | 15 ++ microkernel/mach/gnu_mach/ports/xen.mdwn | 84 ++++++++ microkernel/mach/gnu_mach/ports/xen/internals.mdwn | 14 ++ .../ports/xen/networking_configuration.mdwn | 105 ++++++++++ microkernel/mach/gnu_mach/projects.mdwn | 129 ++++++++++++ .../mach/gnu_mach/projects/clean_up_the_code.mdwn | 121 +++++++++++ microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn | 13 ++ microkernel/mach/gnumach.mdwn | 30 --- microkernel/mach/gnumach/boot_trace.mdwn | 222 --------------------- microkernel/mach/gnumach/building.mdwn | 114 ----------- microkernel/mach/gnumach/building/example.mdwn | 54 ----- microkernel/mach/gnumach/debugging.mdwn | 68 ------- .../mach/gnumach/hardware_compatibility_list.mdwn | 111 ----------- .../hardware_compatibility_list/discussion.mdwn | 4 - microkernel/mach/gnumach/open_issues.mdwn | 19 -- microkernel/mach/gnumach/ports.mdwn | 15 -- microkernel/mach/gnumach/ports/xen.mdwn | 84 -------- microkernel/mach/gnumach/ports/xen/internals.mdwn | 14 -- .../ports/xen/networking_configuration.mdwn | 105 ---------- microkernel/mach/gnumach/projects.mdwn | 129 ------------ .../mach/gnumach/projects/clean_up_the_code.mdwn | 121 ----------- microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 13 -- microkernel/mach/history.mdwn | 2 +- microkernel/mach/mig/building.mdwn | 3 +- sidebar.mdwn | 2 +- 40 files changed, 1118 insertions(+), 1117 deletions(-) create mode 100644 microkernel/mach/gnu_mach.mdwn create mode 100644 microkernel/mach/gnu_mach/boot_trace.mdwn create mode 100644 microkernel/mach/gnu_mach/building.mdwn create mode 100644 microkernel/mach/gnu_mach/building/example.mdwn create mode 100644 microkernel/mach/gnu_mach/debugging.mdwn create mode 100644 microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn create mode 100644 microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn create mode 100644 microkernel/mach/gnu_mach/open_issues.mdwn create mode 100644 microkernel/mach/gnu_mach/ports.mdwn create mode 100644 microkernel/mach/gnu_mach/ports/xen.mdwn create mode 100644 microkernel/mach/gnu_mach/ports/xen/internals.mdwn create mode 100644 microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn create mode 100644 microkernel/mach/gnu_mach/projects.mdwn create mode 100644 microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn create mode 100644 microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn delete mode 100644 microkernel/mach/gnumach.mdwn delete mode 100644 microkernel/mach/gnumach/boot_trace.mdwn delete mode 100644 microkernel/mach/gnumach/building.mdwn delete mode 100644 microkernel/mach/gnumach/building/example.mdwn delete mode 100644 microkernel/mach/gnumach/debugging.mdwn delete mode 100644 microkernel/mach/gnumach/hardware_compatibility_list.mdwn delete mode 100644 microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn delete mode 100644 microkernel/mach/gnumach/open_issues.mdwn delete mode 100644 microkernel/mach/gnumach/ports.mdwn delete mode 100644 microkernel/mach/gnumach/ports/xen.mdwn delete mode 100644 microkernel/mach/gnumach/ports/xen/internals.mdwn delete mode 100644 microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn delete mode 100644 microkernel/mach/gnumach/projects.mdwn delete mode 100644 microkernel/mach/gnumach/projects/clean_up_the_code.mdwn delete mode 100644 microkernel/mach/gnumach/projects/gdb_stubs.mdwn (limited to 'microkernel') diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index c4b665b7..8f2fe385 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -340,7 +340,7 @@ GSoC 2008. He is still working on some outstanding issues. Although a driver framework in userspace would be desirable, presently the Hurd uses kernel drivers in the microkernel, -[[GNU_Mach|microkernel/mach/gnumach]]. (And changing this would be far beyond a +[[microkernel/mach/GNU_Mach]]. (And changing this would be far beyond a GSoC project...) The problem is that the drivers in GNU Mach are presently old Linux drivers @@ -590,7 +590,7 @@ pthreads. The Hurd presently has no sound support. Fixing this, [[GNU_Savannah_task 5485]], requires two steps: the first is to port some other kernel's drivers to -[[GNU_Mach|microkernel/mach/gnumach]] so we can get access to actual sound +[[microkernel/mach/GNU_Mach]] so we can get access to actual sound hardware. The second is to implement a userspace server ([[hurd/translator]]), that implements an interface on top of the kernel device that can be used by applications -- probably OSS or maybe ALSA. @@ -741,7 +741,7 @@ directories and attaching other translators. Although there are some attempts to move to a more modern microkernel alltogether, the current Hurd implementation is based on -[[GNU_Mach|microkernel/mach/gnumach]], which is only a slightly modified +[[microkernel/mach/GNU_Mach]], which is only a slightly modified variant of the original CMU [[microkernel/Mach]]. Unfortunately, Mach was created about two decades ago, and is in turn based on diff --git a/contributing.mdwn b/contributing.mdwn index 4b731065..f21a6f32 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -33,7 +33,7 @@ There are essential two kinds of Hurd system designs. ## Hurd on Mach For one there's the implementation of the *[[Hurd]] running on the -[[GNU_Mach_microkernel|microkernel/mach/gnumach]]*. This is what is commonly +[[microkernel/mach/GNU_Mach]] microkernel*. This is what is commonly meant when people are talking about GNU/Hurd systems. This system has mostly been designed and implemented [in the @@ -84,8 +84,8 @@ Here is a [[list_of_open_issues|hurd/Open_Issues]] for the [[GNU_Hurd|hurd]]. ### Open Issues: GNU Mach -Here is a [[list_of_open_issues|microkernel/mach/gnumach/Open_Issues]] for -[[GNU_Mach|microkernel/mach/gnumach]]. +Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/Open_Issues]] for +[[microkernel/mach/GNU_Mach]]. ### Open Issues: GNU MIG diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index 11afc97f..31722ead 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -98,7 +98,7 @@ guarantee is given. Always the preferred version is listed first. `gcc-4_3-branch` needs. --> -* `src/gnumach`: [[GNU_Mach|microkernel/mach/gnumach]] +* `src/gnumach`: [[microkernel/mach/GNU_Mach]] * CVS `gnumach-1-branch` diff --git a/hurd/getting_help.mdwn b/hurd/getting_help.mdwn index 342410dd..c4f80ff9 100644 --- a/hurd/getting_help.mdwn +++ b/hurd/getting_help.mdwn @@ -11,7 +11,7 @@ is included in the section entitled # Essential Documentation * [[FAQ]] -* [[microkernel/mach/gnumach/Hardware_Compatibility_List]] +* [[microkernel/mach/gnu_mach/Hardware_Compatibility_List]] # Forums diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn index ab649ebc..3de42be3 100644 --- a/hurd/libstore.mdwn +++ b/hurd/libstore.mdwn @@ -9,7 +9,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] `libstore` is more than just a thin layer between -[[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the +[[microkernel/mach/GNU_Mach]] devices (`hd0` for example) and the device node below `/dev`... # Available Stores diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 162bc9ea..78815099 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -9,7 +9,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] * [[Distrib]] - Distributions based on the Hurd -* [[microkernel/mach/gnumach/ports/Xen]] - In Xen +* [[microkernel/mach/gnu_mach/ports/Xen]] - In Xen * [[Live_CD]] * [[QEMU]] - In QEMU * [[vmware]] (**non-free!**) diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 078b531f..7e63c724 100644 --- a/microkernel/mach.mdwn +++ b/microkernel/mach.mdwn @@ -9,7 +9,7 @@ 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**) diff --git a/microkernel/mach/gnu_mach.mdwn b/microkernel/mach/gnu_mach.mdwn new file mode 100644 index 00000000..d45549f5 --- /dev/null +++ b/microkernel/mach/gnu_mach.mdwn @@ -0,0 +1,30 @@ +[[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/gnu_mach/boot_trace.mdwn b/microkernel/mach/gnu_mach/boot_trace.mdwn new file mode 100644 index 00000000..a08384f0 --- /dev/null +++ b/microkernel/mach/gnu_mach/boot_trace.mdwn @@ -0,0 +1,222 @@ +[[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]]."]]"""]] + +`if NCPUS > 1` stuff is not being considered so far. + + +> i386/i386at/boothdr.S: \_start + +> i386/i386at/boothdr.S: boot\_entry + +>> i386/i386at/model\_dep.c: c\_boot\_entry + +>>> i386/i386at/boothdr.S: discover\_x86\_cpu\_type + +>>> i386/i386at/model\_dep.c: i386at\_init + +>>>> i386/i386/pic.c: picinit + +>>>> i386/i386at/model\_dep.c: mem\_size\_init + +>>>> i386/intel/pmap.c: pmap\_bootstrap + +>>>> i386/i386/gdt.c: gdt\_init + +>>>> i386/i386/idt.c: idt\_init + +>>>> i386/i386at/int\_init.c: int\_init + +>>>> i386/i386/ldt.c: ldt\_init + +>>>> i386/i386/ktss.c: ktss\_init + +>>> kern/startup.c: setup\_main + +>>>> kern/debug.c: panic\_init + +>>>> kern/printf.c: printf\_init + +>>>> kern/sched\_prim.c: sched\_init + +>>>>> kern/sched\_prim.c: wait\_queue\_init + +>>>>> kern/processor.c: pset\_sys\_bootstrap + +>>>>> kern/ast.c: ast\_init + +>>>> vm/vm\_init.c: vm\_mem\_bootstrap + +>>>>> vm/vm\_resident.c: vm\_page\_bootstrap + +>>>>>> vm/vm\_resident.c: pmap\_startup + +>>>>> kern/zalloc.c: zone\_bootstrap + +>>>>> vm/vm\_object.c: vm\_object\_bootstrap + +>>>>>> vm/vm\_external.c: vm\_external\_module\_initialize + +>>>>> vm/vm\_map.c: vm\_map\_init + +>>>>> vm/vm\_kern.c: kmem\_init + +>>>>> i386/intel/pmap.c: pmap\_init + +>>>>> kern/zalloc.c: zone\_init + +>>>>> kern/kalloc.c: kalloc\_init + +>>>>> vm/vm\_fault.c: vm\_fault\_init + +>>>>> vm/vm\_resident.c: vm\_page\_module\_init + +>>>>> vm/memory\_object.c: memory\_manager\_default\_init + +>>>> ipc/ipc\_init.c: ipc\_bootstrap + +>>>>> ipc/ipc\_table.c: ipc\_table\_init + +>>>>> ipc/ipc\_notify.c: ipc\_notify\_init + +>>>>> ipc/ipc\_hash.c: ipc\_hash\_init + +>>>>> ipc/ipc\_marequest.c: ipc\_marequest\_init + +>>>> vm/vm\_init.c: vm\_mem\_init + +>>>>> vm/vm\_object.c: vm\_object\_init + +>>>> ipc/ipc\_init.c: ipc\_init + +>>>>> kern/ipc\_host.c: ipc\_host\_init + +>>>>>> kern/ipc\_host.c: ipc\_pset\_init + +>>>>>> kern/ipc\_host.c: ipc\_pset\_enable + +>>>>>> kern/ipc\_host.c: ipc\_processor\_init + +>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL + +>>>> kern/timer.c: init\_timers + +>>>> kern/mach\_clock.c: init\_timeout + +>>>> kern/xpr.c: xprbootstrap + +>>>> kern/time\_stamp.c: timestamp\_init + +>>>> kern/mach\_clock.c: mapable\_time\_init + +>>>> i386/i386at/model\_dep.c: machine\_init + +>>>>> device/cons.c: cninit + +>>>>> i386/i386/fpu.c: init\_fpu + +>>>>> linux/dev/init/main.c: linux\_init + +>>>>>> linux/dev/arch/i386/kernel/irq.c: init\_IRQ + +>>>>>>> linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs + +>>>>>> linux/dev/kernel/sched.c: linux\_sched\_init + +>>>>>> linux/dev/init/main.c: calibrate\_delay + +>>>>>> linux/dev/glue/kmem.c: linux\_kmem\_init + +>>>>>> linux/src/drivers/pci/pci.c: pci\_init + +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_init + +>>>>>>> linux/src/drivers/pci/pci.c: scan\_bus + +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup + +>>>>>> linux/dev/glue/net.c: linux\_net\_emulation\_init + +>>>>>> linux/dev/drivers/block/genhd.c: device\_setup + +>>>>>>> linux/dev/glue/block.c: blk\_dev\_init + +>>>>>>>> linux/src/drivers/block/ide.c: ide\_init + +>>>>>>>> linux/dev/drivers/block/floppy.c: floppy\_init + +>>>>>>> linux/src/drivers/scsi/scsi.c: scsi\_dev\_init + +>>>>>>> linux/dev/net/core/dev.c: net\_dev\_init + +>>>>>> linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init + +>>>>> i386/i386at/autoconf.c: probeio + +>>>>> i386/i386at/model\_dep.c: inittodr + +>>>>> i386/intel/pmap.c: pmap\_unmap\_page\_zero + +>>>> kern/task.c: task\_init + +>>>>> kern/syscall\_emulation.c: eml\_init + +>>>> kern/thread.c: thread\_init + +>>>>> i386/i386/pcb.c: pcb\_module\_init + +>>>>>> i386/i386/fpu.c: fpu\_module\_init + +>>>>>> i386/i386/iopb.c: iopb\_init + +>>>> kern/thread\_swap.c: swapper\_init + +>>>> kern/sched\_prim.c: recompute\_priorities + +>>>> kern/mach\_factor.c: compute\_mach\_factor + +>>>> kern/startup.c: start\_kernel\_threads + +[...] + +>>>> kern/startup.c: cpu\_launch\_first\_thread + +>>>>> i386/i386at/model\_dep.c: startrtclock + +>>>>>> i386/i386/pit.c: clkstart + +>>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL + +>>>>> i386/i386/pcb.c: load\_context + +[...] + +> kern/startup.c: start\_kernel\_threads + +> Threads get created. + +>> kern/sched\_prim.c: idle\_thread + +>> One for each CPU. + +>> kern/thread.c: reaper\_thread + +>> kern/thread\_swap.c: swapin\_thread + +>> kern/sched\_prim.c: sched\_thread + +>> [...] + +>> kern/bootstrap.c: bootstrap\_create + +>> [...] + +>> vm\_pageout + +>> Does not return. diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn new file mode 100644 index 00000000..ef0d8553 --- /dev/null +++ b/microkernel/mach/gnu_mach/building.mdwn @@ -0,0 +1,114 @@ +Additional to the following text, a further [[example]] has be posted. + + +# Building [[GNU_Mach]] from Source + +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 +enabled) is around 50 MiB. + +## Getting the Source Code + +### Developers's RCS + +See [here](http://www.gnu.org/software/hurd/gnumach-download.html#cvs). + + $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach + +(Most probably you want to get hold of the *GNU Mach 1 branch* and not the +trunk, which is also what we've done above.) + +You then have to create the automatically generatable files: + + $ ( cd gnumach && autoreconf --install ) + +### What Debian is currently using + +See [here](http://packages.debian.net/source/unstable/gnumach). + + $ apt-get source gnumach + +Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. + +## Preparing for the Build + +### ... on Debian systems + +Building GNU Mach requires the *build-essential* and *fakeroot* packages, their +dependencies and additional packages that are specified by the source gnumach +package: + + # apt-get install build-essential fakeroot + # apt-get build-dep gnumach + +### ... on non-Debian systems + +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 +back here. + +Additionally, building GNU Mach requires a C compiler, a standard C library and +your favourite flavor of awk (gawk) and GNU make. + +## Building and Installing + +### ... Debian `.deb` files + +Change into the directory with the downloaded / unpacked GNU Mach sources, e.g. + + $ cd gnumach-20050801 + +Start the build process with + + $ dpkg-buildpackage -us -uc -b -rfakeroot + +[[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. + + # dpkg -i ../gnumach_20050801-4_hurd-i386.deb + +You can now reboot your computer and enjoy the new kernel. + +### [TODO] + +GNU Mach should be built in a separate directory: + + $ mkdir gnumach-build + $ cd gnumach-build + +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: + + $ [...]/gnumach-1-branch/configure [TODO] + +Build the kernel image: + + $ make gnumach.gz + +Optionally run the (tiny) test suite: + + $ make check + +You can then install and use `gnumach.gz`. + +[TODO.] + +### Installing only the Header Files + +GNU Mach should be built in a separate directory: + + $ mkdir gnumach-build + $ cd gnumach-build + +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: + + $ [...]/gnumach-1-branch/configure --prefix= + +Install the header files into e.g. `~/gnu/include/`: + + $ make DESTDIR=~/gnu install-data diff --git a/microkernel/mach/gnu_mach/building/example.mdwn b/microkernel/mach/gnu_mach/building/example.mdwn new file mode 100644 index 00000000..6da05c5b --- /dev/null +++ b/microkernel/mach/gnu_mach/building/example.mdwn @@ -0,0 +1,54 @@ +[[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]]."]]"""]] + +## Compiling GNU Mach microkernel + +Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. + +* gcc version: 3.3.5 +* GNU sed version: 4.1.2 +* GNU make version: 3.8 +* mig version: 1.3-4 + +Obtained gnumach-1-branch sources from cvs: + + export CVS_RSH="ssh" + cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach + +Obtained mig_1.3-4_i386.deb from +http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: + + dpkg -i mig_1.3-4_i386.deb + +Entered into the gnumach sources and did the following for compilation: + + mkdir build + cd build + ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ + --enable-kdb --enable-ide + make + +The kernel file is created in the build directory. Move it to /boot on the +testing x86 system Hurd partition. Rename it as gnumach1 and compress it: + + mv kernel gnumach1 + gzip gnumach1 + +Add a new entry on the testing machine /boot/grub/menu.lst to boot the new +kernel. + + title GNU Hurd K10 Compiled gnumach + kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s + module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ + --host-priv-port=${host-port} --device-master-port=${device-port} \\ + --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) + module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) + +Reboot into the new compiled mygnumach1.gz kernel! diff --git a/microkernel/mach/gnu_mach/debugging.mdwn b/microkernel/mach/gnu_mach/debugging.mdwn new file mode 100644 index 00000000..fa2a9d42 --- /dev/null +++ b/microkernel/mach/gnu_mach/debugging.mdwn @@ -0,0 +1,68 @@ +[[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]]."]]"""]] + +Mach has a built-in kernel debugger. +[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). + + +When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly +[use GDB on the running +kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). + + +Alternatively you can use an approach like this one: add the following code +snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top +of the function, and modify the code as needed. + + void D (char *s) + { + switch (s[0] - '0') + { + case 0: + printf ("Hello from %s!\n", __FUNCTION__); + break; + case 1: + printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__); + extern void task_collect_scan (void); + task_collect_scan (); + break; + default: + printf ("No idea what you want me to do.\n"); + break; + } + } + + if (name && name[0] == 'D') + D (name + 1); + +Then boot your system and do something like this: + + # devprobe D0 + Hello from D! + # devprobe D1 + D: Invoking task_collect_scan. + # devprobe D2 + No idea what you want me to do. + +This is especially useful if you need to manually trigger some stuff inside the +running kernel, as with the *D1* example. + + +If you're doing real low level debugging, you might want to put variations of +the following snipped into the code, this code will write a `#` character at +line `[LINE]`, column `[COLUMN]` on the screen: + + *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#'; + halt_cpu (); + +The call of `halt_cpu` will -- as the name suggests -- halt the system +afterwards. This might be what you want or it might not, but it is needed at +some place when running the kernel inside QEMU, as QEMU somehow decides not to +update its display buffer anymore under certain conditions. diff --git a/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn new file mode 100644 index 00000000..09882467 --- /dev/null +++ b/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn @@ -0,0 +1,111 @@ +[[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]]."]]"""]] + +# CPU Architecture + +GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. + +`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice +`amd64` systems seem to be troublesome more often than not. This is probably +related to the same (chipset-related) problems we often see with recent +machines; but it seems that `amd64` ones use problematic chipsets particularily +often. So far we haven't heard of similar problems with Intel's eqivalent +`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer +people tried running the Hurd on such machines :-) + +Support for running GNU Mach (and a complete GNU/Hurd system) in a +[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` +only) is [[being_worked_on|ports/xen]]. + +Read about further [[ports]]. + +# Memory + +GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, +the surplus will silently be ignored. (In past times, this would hinder GNU +Mach from booting at all, but this has been fixed, so you no longer need to +apply GRUB's `uppermem` directive.) + +# Video Cards + +Debian distributes a version of [X.org](http://x.org/). If your video card driver +depends on a special kernel interface such as that provided by +the `agpgart` kernel module for the Linux kernel, then your video +card will only be supported by the VESA driver. + +Using an internal i815 videocard [won't +work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when +using the specialized driver), because of [missing AGP GART support in GNU +Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). + +# Sound + +No sound cards are supported at this time. + +# USB 1.1/2.0 + +USB is not supported at this time. + +However, USB-type keyboards and mice may (and have been reported to) work +nevertheless, given that the hardware / BIOS is doing emulation to the +supported legacy interfaces. + +# IEEE 1394 (Firewire) + +IEEE 1394 is not supported at this time + +# Storage + +All common IDE drives should work. Some drive geometries do not work, +e.g. drives with hundreds of GiB of storage space. If you find a specific IDE +drive that does not work, make a note of the model and technical specifications +here. + +[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] + + +[[toggleable id="SATA" text=""" +This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach +couldn't connect to the hard disk, e.g., in a SATA system without IDE +compatibility mode: + + start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static + device:hd0s4: No such device or address + +There *may* be an option in the system's BIOS setup to configure enabling such +a compatibility mode. +"""]] + +# Device Drivers + +[GNU Mach Reference Manual, +Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) +contains a list of device drivers that are included in GNU Mach and elaborates +on the hardware devices they support. + +# User Success Reports + +These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. + +* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot +* Intel SE-440BX motherboard +* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. +* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. +* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. + +# User Failure Reports + +Some people couldn't get these hardware combinations to work with Hurd. + +Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. + +* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. +* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. diff --git a/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn new file mode 100644 index 00000000..69ca3190 --- /dev/null +++ b/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn @@ -0,0 +1,4 @@ +Further information may still be found on + +and could perhaps be incorporated into that page. +--[[tschwinge]] diff --git a/microkernel/mach/gnu_mach/open_issues.mdwn b/microkernel/mach/gnu_mach/open_issues.mdwn new file mode 100644 index 00000000..433ec3ef --- /dev/null +++ b/microkernel/mach/gnu_mach/open_issues.mdwn @@ -0,0 +1,19 @@ +[[meta copyright="Copyright © 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 title="Open Issues"]] + +This is a dumping ground for open issues for GNU Mach. + +[[inline +pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnu_mach/ports.mdwn b/microkernel/mach/gnu_mach/ports.mdwn new file mode 100644 index 00000000..00cdee8c --- /dev/null +++ b/microkernel/mach/gnu_mach/ports.mdwn @@ -0,0 +1,15 @@ +[[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]]."]]"""]] + + * x86. This is the main port. + * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. + * Alpha. Was once started, but isn't in a usable state either. + + * [[Xen]] diff --git a/microkernel/mach/gnu_mach/ports/xen.mdwn b/microkernel/mach/gnu_mach/ports/xen.mdwn new file mode 100644 index 00000000..cdb4e2de --- /dev/null +++ b/microkernel/mach/gnu_mach/ports/xen.mdwn @@ -0,0 +1,84 @@ +[[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]]."]]"""]] + +[[toc ]] + +## Xen dom0, PAE-disabled hypervisor + +/!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. + +On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. + +This also means that you'll currently need a PAE-disabled `dom0`. +[[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at +. + +You can either get binaries at or build them yourself. + +- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. +- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap + +## GNU/Hurd system + +/!\ You need an already installed GNU/Hurd system. + +If you have a free partition, you can fdisk to type 0x83, create a filesystem using: + + sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 + +Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. + +## /etc/xen/hurd configuration + +Here is a sample /etc/xen/hurd configuration + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda4,hda,w'] + extra = "root=device:hd0" + vif = [ '' ] + ramdisk = "/boot/hurd-modules" + +Suggestions about [[networking_configuration]] are available. + +If you need stable MAC addresses, use a syntax like `vif = [ +'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. + +## Running Hurd with Xen + +To run Hurd with Xen, use: + + xm create -c hurd + +and gnumach should get started. Proceed with native-install. + + export TERM=mach + ./native-install + +- If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. +- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. + +## Building from sources + +If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. +Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. +Then use + + ./configure --enable-platform=xen + make + +The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. +/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! + +--- + +[[Internals]]. + +[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnu_mach/ports/xen/internals.mdwn b/microkernel/mach/gnu_mach/ports/xen/internals.mdwn new file mode 100644 index 00000000..09e707ea --- /dev/null +++ b/microkernel/mach/gnu_mach/ports/xen/internals.mdwn @@ -0,0 +1,14 @@ +[[meta copyright="Copyright © 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 port does use Xen's para-virtualized interface for device (ide, network, +etc.) access. + +[[Virtualization]]. diff --git a/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn new file mode 100644 index 00000000..71a72bac --- /dev/null +++ b/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn @@ -0,0 +1,105 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +[[toc ]] + +The Xen dom0 infrastructure provides for a bridged networking setup using shell +scripts to configure the bridging device properly and attach the domUs' virtual +interfaces to the bridge. However, we've [seen +problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) +when using this approach, so to [solve these +issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), +instead suggest the following configuration method (to achieve the same thing). + +This is for a Debian dom0. + +# */etc/network/interfaces* + +Comment out everything referencing your physical devices. Add this: + + auto br0 + iface br0 inet dhcp + bridge_ports regex (eth|vif).* noregex + +... or if you want to do the manual configuration dance: + + auto br0 + iface br0 inet static + bridge_ports regex (eth|vif).* noregex + address 192.168.10.60 + netmask 255.255.255.0 + [...] + +This needs a version of the `bridge-utils` package more recent than the current +Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, +e.g., the Debian testing one on Debian stable.) + +# */etc/xen/xend-config.sxp* + +Make sure that only `(network-script network-dummy)` and `(vif-script +vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, +respective `(vif-script vif-WHATEVER)` are commented out. + + +# Sample configuration files on Debian Lenny + +## /etc/xen/hurd on dom0 + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda5,hda,w'] + extra = "root=device:hd0" + vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] + ramdisk = "/boot/hurd-modules" + +/dev/sda5 is an extended partition. br0 is bridge interface on dom0. + +## /etc/xen/xend-config.sxp on dom0 + + (network-script 'network-bridge netdev=br0') + (dom0-min-mem 196) + (dom0-cpus 0) + (vncpasswd '') + +## /etc/network/interfaces on dom0 + + auto br0 + iface br0 inet static + address 192.168.1.211 + network 192.168.1.0 + netmask 255.255.255.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + bridge_ports eth1 + +eth1 is the interface that is connected to the Internet on the LAN: + +## Doing settrans on domU + + settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 + +## /sbin/ifconfig on dom0 + + br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 + TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) + + eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 + TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB) diff --git a/microkernel/mach/gnu_mach/projects.mdwn b/microkernel/mach/gnu_mach/projects.mdwn new file mode 100644 index 00000000..9ace6270 --- /dev/null +++ b/microkernel/mach/gnu_mach/projects.mdwn @@ -0,0 +1,129 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +This page is a place to keep track of ideas about things that may be improved +in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both +in terms of stability and performance. If you find anything missing here, +please feel free to add a entry with a short description. + +If you want to help with any of the task (thanks!), please send a mail to +*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, +so that no duplicate efforts end up. + +# Active Branches + + * `gnumach-1-branch` is the main branch. + + * `gnumach-1-branch-Xen-branch` is a branch created by Samuel Thibault for + working on a [[ports/Xen]] port. + + * `gnumach-1-branch-gdb-branch` is a branch created by Michael Casadevall for + working on [[GDB_stubs]]. + + +# Task List + + * [[Clean_up_the_code]] + + * [[Open_Issues]] + + * Update the core architecture and drivers + + * Check what NetBSD, FreeBSD and Linux do with their host specific code + (i486, PPC, Sparc, ...). And if it might be wise to take that and use + it in GNU Mach. There is no need to worry about purely internal API's, + but the external ones shouldn't require any major changes. + + * Write a list of all functions provided by the host dependant code in + GNU Mach that gets used in the non-host specific code (kernel, IPC and + VM). + + * Once we have decided what the new internal API should look like, make a + list of the new API and the old one, and try to make things as + compatible as possible, but not at the expense of anything. + + * Implement Migrating Threads + + * Migrating Threads (MT) could improve IPC performance and making easier + the work of the scheduler. For more information, check + + + * Improve the external pagers interface + + * Implement read-ahead (huge I/O improvements expected). + + * Making this interface synchronous should improve I/O performance + significantly, without (almost) any drawbacks (we also get some + advantage from MT's). + + * Implement more paging eviction policies, so they fit better with usual + behaviour of the pagers. + + * Implement resource accounting for external pagers. + + * VM + + * Put it on user level (?) + + * Clean up the mess. + + * Provide a fast way to read/write from/to a memory object. + + * Simplify/normalise the code. + + * Simplify the IPC Semantics + + * There are a lot of things in GNU Mach's IPC that we don't need. Track + down those things, and get rid of them without requiring many changes + in the Hurd (the changes will affect MiG, but that is OK). + + * Temporary mappings for Client-Server memory transfers + + * Extend Mach's IPC to provide some kind of object which can represent a + range of memory that can temporarily be mapped into the servers address + space for sending/receiving data. This would allow us to avoid + excessive memory copies. + + * Find a new way to work with unaligned memory. + + * GDB remote debugging support + + * Implement support for GDB debugging via serial line and/or network. + Maybe this can be done together with the host-specific work above. + + See [[GDB_stubs]]. + + * Make it run as a [[UNIX]]/Linux executable. + + * Neal: + + here's a fun project: port the mach interface to Linux + (e.g., via kernel modifications) + or, to posix/glibc + (mmap, some minimal ptrace, etc.) + + * From the [Hurd bits at + sourceforge.net](http://sourceforge.net/projects/hurd): + , started by John + Tobey. Last time touched in 2003. Status completely unknown. + + * [README](http://hurd.cvs.sourceforge.net/hurd/gnumach-otop/README?view=markup) + + +# Wish List + + * Interface for userspace non-critical drivers. + + * Sound Support + + * WLAN support (ipw2200) with WEP/WPA + + * ACPI support diff --git a/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn new file mode 100644 index 00000000..875bb8cd --- /dev/null +++ b/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn @@ -0,0 +1,121 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +# Restructure the tree in a sane way + +Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it +as-is for now. Also, a bunch of (header) files from there may probably be +discarded. + + +# Remove dead files from the GNU Mach source tree + +For *exported* files (via `make install`), the plan is to first stick some +`#error This file is scheduled for removal. Write to if you +have a reason to have it kept available.` into them, and then actually remove +them after some months. + +For some of the internal header files (containing function prototypes and the +like), it might actually be useful to use them. (And then get rid of a bunch +of `extern ...` statements in other files.) + +This following list was assembled by putting such a `#error ...` line into each +of the `gnumach-1-branch`'s header files (exported and internal; save the +`linux/` ones (only internal) for simplicity), and then trying to build GNU +Mach until this would succeed again (by removing offending `#error ...`s), and +afterwards using the set of exported files for building a cross toolchain +(again still removing offending `#error ...`s). A very crude and imprecise +method. + +So, additionally to the list given below, there may actually be a bunch of +further files (also exported ones) that serve no real value, but are being +`#include`d through one way or another. + +* [[source_gnumach-1-branch ddb/db_expr.h]] + + Currently used, but copyright violation? Rewrite? + +* [[source_gnumach-1-branch ddb/db_print.h]] + + Copyright violation? Currently unused, but could be used in principle (or + be rewritten, to avoid the copyright oddity). + +* [[source_gnumach-1-branch ddb/tr.h]] + + Copyright violation. Unused. Remove. + +* [[source_gnumach-1-branch device/dev_master.h]] + + Might be usable for SMP? Remove otherwise. + +* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] + +* [[source_gnumach-1-branch i386/i386/sched_param.h]] + +* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] + + Was probably once exported, but is no longer. + +* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/audio_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/tape_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/alert.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/boot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/macro_help.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/multiboot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profil.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profilparam.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/exec/a.out.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] + + Currently not exported, but was probably once meant to be. + +* [[source_gnumach-1-branch kern/act.h]] + +* [[source_gnumach-1-branch kern/refcount.h]] + +* [[source_gnumach-1-branch kern/shuttle.h]] + + +# Remove dead functions, variables, etc. from source files + + +# Rewrite ugly code diff --git a/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn b/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn new file mode 100644 index 00000000..9a11a82b --- /dev/null +++ b/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn @@ -0,0 +1,13 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + + * + + * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) 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/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn deleted file mode 100644 index a08384f0..00000000 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ /dev/null @@ -1,222 +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]]."]]"""]] - -`if NCPUS > 1` stuff is not being considered so far. - - -> i386/i386at/boothdr.S: \_start - -> i386/i386at/boothdr.S: boot\_entry - ->> i386/i386at/model\_dep.c: c\_boot\_entry - ->>> i386/i386at/boothdr.S: discover\_x86\_cpu\_type - ->>> i386/i386at/model\_dep.c: i386at\_init - ->>>> i386/i386/pic.c: picinit - ->>>> i386/i386at/model\_dep.c: mem\_size\_init - ->>>> i386/intel/pmap.c: pmap\_bootstrap - ->>>> i386/i386/gdt.c: gdt\_init - ->>>> i386/i386/idt.c: idt\_init - ->>>> i386/i386at/int\_init.c: int\_init - ->>>> i386/i386/ldt.c: ldt\_init - ->>>> i386/i386/ktss.c: ktss\_init - ->>> kern/startup.c: setup\_main - ->>>> kern/debug.c: panic\_init - ->>>> kern/printf.c: printf\_init - ->>>> kern/sched\_prim.c: sched\_init - ->>>>> kern/sched\_prim.c: wait\_queue\_init - ->>>>> kern/processor.c: pset\_sys\_bootstrap - ->>>>> kern/ast.c: ast\_init - ->>>> vm/vm\_init.c: vm\_mem\_bootstrap - ->>>>> vm/vm\_resident.c: vm\_page\_bootstrap - ->>>>>> vm/vm\_resident.c: pmap\_startup - ->>>>> kern/zalloc.c: zone\_bootstrap - ->>>>> vm/vm\_object.c: vm\_object\_bootstrap - ->>>>>> vm/vm\_external.c: vm\_external\_module\_initialize - ->>>>> vm/vm\_map.c: vm\_map\_init - ->>>>> vm/vm\_kern.c: kmem\_init - ->>>>> i386/intel/pmap.c: pmap\_init - ->>>>> kern/zalloc.c: zone\_init - ->>>>> kern/kalloc.c: kalloc\_init - ->>>>> vm/vm\_fault.c: vm\_fault\_init - ->>>>> vm/vm\_resident.c: vm\_page\_module\_init - ->>>>> vm/memory\_object.c: memory\_manager\_default\_init - ->>>> ipc/ipc\_init.c: ipc\_bootstrap - ->>>>> ipc/ipc\_table.c: ipc\_table\_init - ->>>>> ipc/ipc\_notify.c: ipc\_notify\_init - ->>>>> ipc/ipc\_hash.c: ipc\_hash\_init - ->>>>> ipc/ipc\_marequest.c: ipc\_marequest\_init - ->>>> vm/vm\_init.c: vm\_mem\_init - ->>>>> vm/vm\_object.c: vm\_object\_init - ->>>> ipc/ipc\_init.c: ipc\_init - ->>>>> kern/ipc\_host.c: ipc\_host\_init - ->>>>>> kern/ipc\_host.c: ipc\_pset\_init - ->>>>>> kern/ipc\_host.c: ipc\_pset\_enable - ->>>>>> kern/ipc\_host.c: ipc\_processor\_init - ->>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL - ->>>> kern/timer.c: init\_timers - ->>>> kern/mach\_clock.c: init\_timeout - ->>>> kern/xpr.c: xprbootstrap - ->>>> kern/time\_stamp.c: timestamp\_init - ->>>> kern/mach\_clock.c: mapable\_time\_init - ->>>> i386/i386at/model\_dep.c: machine\_init - ->>>>> device/cons.c: cninit - ->>>>> i386/i386/fpu.c: init\_fpu - ->>>>> linux/dev/init/main.c: linux\_init - ->>>>>> linux/dev/arch/i386/kernel/irq.c: init\_IRQ - ->>>>>>> linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs - ->>>>>> linux/dev/kernel/sched.c: linux\_sched\_init - ->>>>>> linux/dev/init/main.c: calibrate\_delay - ->>>>>> linux/dev/glue/kmem.c: linux\_kmem\_init - ->>>>>> linux/src/drivers/pci/pci.c: pci\_init - ->>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_init - ->>>>>>> linux/src/drivers/pci/pci.c: scan\_bus - ->>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup - ->>>>>> linux/dev/glue/net.c: linux\_net\_emulation\_init - ->>>>>> linux/dev/drivers/block/genhd.c: device\_setup - ->>>>>>> linux/dev/glue/block.c: blk\_dev\_init - ->>>>>>>> linux/src/drivers/block/ide.c: ide\_init - ->>>>>>>> linux/dev/drivers/block/floppy.c: floppy\_init - ->>>>>>> linux/src/drivers/scsi/scsi.c: scsi\_dev\_init - ->>>>>>> linux/dev/net/core/dev.c: net\_dev\_init - ->>>>>> linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init - ->>>>> i386/i386at/autoconf.c: probeio - ->>>>> i386/i386at/model\_dep.c: inittodr - ->>>>> i386/intel/pmap.c: pmap\_unmap\_page\_zero - ->>>> kern/task.c: task\_init - ->>>>> kern/syscall\_emulation.c: eml\_init - ->>>> kern/thread.c: thread\_init - ->>>>> i386/i386/pcb.c: pcb\_module\_init - ->>>>>> i386/i386/fpu.c: fpu\_module\_init - ->>>>>> i386/i386/iopb.c: iopb\_init - ->>>> kern/thread\_swap.c: swapper\_init - ->>>> kern/sched\_prim.c: recompute\_priorities - ->>>> kern/mach\_factor.c: compute\_mach\_factor - ->>>> kern/startup.c: start\_kernel\_threads - -[...] - ->>>> kern/startup.c: cpu\_launch\_first\_thread - ->>>>> i386/i386at/model\_dep.c: startrtclock - ->>>>>> i386/i386/pit.c: clkstart - ->>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL - ->>>>> i386/i386/pcb.c: load\_context - -[...] - -> kern/startup.c: start\_kernel\_threads - -> Threads get created. - ->> kern/sched\_prim.c: idle\_thread - ->> One for each CPU. - ->> kern/thread.c: reaper\_thread - ->> kern/thread\_swap.c: swapin\_thread - ->> kern/sched\_prim.c: sched\_thread - ->> [...] - ->> kern/bootstrap.c: bootstrap\_create - ->> [...] - ->> vm\_pageout - ->> Does not return. diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn deleted file mode 100644 index 27573b64..00000000 --- a/microkernel/mach/gnumach/building.mdwn +++ /dev/null @@ -1,114 +0,0 @@ -Additional to the following text, a further [[example]] has be posted. - - -# Building [[GNUMach]] from Source - -If you want to build the [[GNUMach]] 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 -enabled) is around 50 MiB. - -## Getting the Source Code - -### Developers's RCS - -See [here](http://www.gnu.org/software/hurd/gnumach-download.html#cvs). - - $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach - -(Most probably you want to get hold of the *GNU Mach 1 branch* and not the -trunk, which is also what we've done above.) - -You then have to create the automatically generatable files: - - $ ( cd gnumach && autoreconf --install ) - -### What Debian is currently using - -See [here](http://packages.debian.net/source/unstable/gnumach). - - $ apt-get source gnumach - -Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. - -## Preparing for the Build - -### ... on Debian systems - -Building GNU Mach requires the *build-essential* and *fakeroot* packages, their -dependencies and additional packages that are specified by the source gnumach -package: - - # apt-get install build-essential fakeroot - # apt-get build-dep gnumach - -### ... on non-Debian systems - -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 -back here. - -Additionally, building GNU Mach requires a C compiler, a standard C library and -your favourite flavor of awk (gawk) and GNU make. - -## Building and Installing - -### ... Debian `.deb` files - -Change into the directory with the downloaded / unpacked GNU Mach sources, e.g. - - $ cd gnumach-20050801 - -Start the build process with - - $ dpkg-buildpackage -us -uc -b -rfakeroot - -[[GNUMach]] 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. - - # dpkg -i ../gnumach_20050801-4_hurd-i386.deb - -You can now reboot your computer and enjoy the new kernel. - -### [TODO] - -GNU Mach should be built in a separate directory: - - $ mkdir gnumach-build - $ cd gnumach-build - -Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure -it: - - $ [...]/gnumach-1-branch/configure [TODO] - -Build the kernel image: - - $ make gnumach.gz - -Optionally run the (tiny) test suite: - - $ make check - -You can then install and use `gnumach.gz`. - -[TODO.] - -### Installing only the Header Files - -GNU Mach should be built in a separate directory: - - $ mkdir gnumach-build - $ cd gnumach-build - -Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure -it: - - $ [...]/gnumach-1-branch/configure --prefix= - -Install the header files into e.g. `~/gnu/include/`: - - $ make DESTDIR=~/gnu install-data diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn deleted file mode 100644 index 6da05c5b..00000000 --- a/microkernel/mach/gnumach/building/example.mdwn +++ /dev/null @@ -1,54 +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]]."]]"""]] - -## Compiling GNU Mach microkernel - -Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. - -* gcc version: 3.3.5 -* GNU sed version: 4.1.2 -* GNU make version: 3.8 -* mig version: 1.3-4 - -Obtained gnumach-1-branch sources from cvs: - - export CVS_RSH="ssh" - cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach - -Obtained mig_1.3-4_i386.deb from -http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: - - dpkg -i mig_1.3-4_i386.deb - -Entered into the gnumach sources and did the following for compilation: - - mkdir build - cd build - ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ - --enable-kdb --enable-ide - make - -The kernel file is created in the build directory. Move it to /boot on the -testing x86 system Hurd partition. Rename it as gnumach1 and compress it: - - mv kernel gnumach1 - gzip gnumach1 - -Add a new entry on the testing machine /boot/grub/menu.lst to boot the new -kernel. - - title GNU Hurd K10 Compiled gnumach - kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s - module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ - --host-priv-port=${host-port} --device-master-port=${device-port} \\ - --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) - module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -Reboot into the new compiled mygnumach1.gz kernel! diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn deleted file mode 100644 index fa2a9d42..00000000 --- a/microkernel/mach/gnumach/debugging.mdwn +++ /dev/null @@ -1,68 +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]]."]]"""]] - -Mach has a built-in kernel debugger. -[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). - - -When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly -[use GDB on the running -kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). - - -Alternatively you can use an approach like this one: add the following code -snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top -of the function, and modify the code as needed. - - void D (char *s) - { - switch (s[0] - '0') - { - case 0: - printf ("Hello from %s!\n", __FUNCTION__); - break; - case 1: - printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__); - extern void task_collect_scan (void); - task_collect_scan (); - break; - default: - printf ("No idea what you want me to do.\n"); - break; - } - } - - if (name && name[0] == 'D') - D (name + 1); - -Then boot your system and do something like this: - - # devprobe D0 - Hello from D! - # devprobe D1 - D: Invoking task_collect_scan. - # devprobe D2 - No idea what you want me to do. - -This is especially useful if you need to manually trigger some stuff inside the -running kernel, as with the *D1* example. - - -If you're doing real low level debugging, you might want to put variations of -the following snipped into the code, this code will write a `#` character at -line `[LINE]`, column `[COLUMN]` on the screen: - - *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#'; - halt_cpu (); - -The call of `halt_cpu` will -- as the name suggests -- halt the system -afterwards. This might be what you want or it might not, but it is needed at -some place when running the kernel inside QEMU, as QEMU somehow decides not to -update its display buffer anymore under certain conditions. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn deleted file mode 100644 index 09882467..00000000 --- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn +++ /dev/null @@ -1,111 +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]]."]]"""]] - -# CPU Architecture - -GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. - -`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice -`amd64` systems seem to be troublesome more often than not. This is probably -related to the same (chipset-related) problems we often see with recent -machines; but it seems that `amd64` ones use problematic chipsets particularily -often. So far we haven't heard of similar problems with Intel's eqivalent -`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer -people tried running the Hurd on such machines :-) - -Support for running GNU Mach (and a complete GNU/Hurd system) in a -[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` -only) is [[being_worked_on|ports/xen]]. - -Read about further [[ports]]. - -# Memory - -GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, -the surplus will silently be ignored. (In past times, this would hinder GNU -Mach from booting at all, but this has been fixed, so you no longer need to -apply GRUB's `uppermem` directive.) - -# Video Cards - -Debian distributes a version of [X.org](http://x.org/). If your video card driver -depends on a special kernel interface such as that provided by -the `agpgart` kernel module for the Linux kernel, then your video -card will only be supported by the VESA driver. - -Using an internal i815 videocard [won't -work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when -using the specialized driver), because of [missing AGP GART support in GNU -Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). - -# Sound - -No sound cards are supported at this time. - -# USB 1.1/2.0 - -USB is not supported at this time. - -However, USB-type keyboards and mice may (and have been reported to) work -nevertheless, given that the hardware / BIOS is doing emulation to the -supported legacy interfaces. - -# IEEE 1394 (Firewire) - -IEEE 1394 is not supported at this time - -# Storage - -All common IDE drives should work. Some drive geometries do not work, -e.g. drives with hundreds of GiB of storage space. If you find a specific IDE -drive that does not work, make a note of the model and technical specifications -here. - -[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] - - -[[toggleable id="SATA" text=""" -This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach -couldn't connect to the hard disk, e.g., in a SATA system without IDE -compatibility mode: - - start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static - device:hd0s4: No such device or address - -There *may* be an option in the system's BIOS setup to configure enabling such -a compatibility mode. -"""]] - -# Device Drivers - -[GNU Mach Reference Manual, -Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) -contains a list of device drivers that are included in GNU Mach and elaborates -on the hardware devices they support. - -# User Success Reports - -These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. - -* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot -* Intel SE-440BX motherboard -* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. -* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. -* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. - -# User Failure Reports - -Some people couldn't get these hardware combinations to work with Hurd. - -Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. - -* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot -* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. -* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn deleted file mode 100644 index 69ca3190..00000000 --- a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn +++ /dev/null @@ -1,4 +0,0 @@ -Further information may still be found on - -and could perhaps be incorporated into that page. ---[[tschwinge]] diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn deleted file mode 100644 index 433ec3ef..00000000 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[meta copyright="Copyright © 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 title="Open Issues"]] - -This is a dumping ground for open issues for GNU Mach. - -[[inline -pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" -show=0 -actions=yes -rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn deleted file mode 100644 index 00cdee8c..00000000 --- a/microkernel/mach/gnumach/ports.mdwn +++ /dev/null @@ -1,15 +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]]."]]"""]] - - * x86. This is the main port. - * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. - * Alpha. Was once started, but isn't in a usable state either. - - * [[Xen]] diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn deleted file mode 100644 index cdb4e2de..00000000 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ /dev/null @@ -1,84 +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]]."]]"""]] - -[[toc ]] - -## Xen dom0, PAE-disabled hypervisor - -/!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. - -On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. - -This also means that you'll currently need a PAE-disabled `dom0`. -[[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at -. - -You can either get binaries at or build them yourself. - -- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. -- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - -## GNU/Hurd system - -/!\ You need an already installed GNU/Hurd system. - -If you have a free partition, you can fdisk to type 0x83, create a filesystem using: - - sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 - -Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. - -## /etc/xen/hurd configuration - -Here is a sample /etc/xen/hurd configuration - - kernel = "/boot/gnumach-xen" - memory = 256 - disk = ['phy:sda4,hda,w'] - extra = "root=device:hd0" - vif = [ '' ] - ramdisk = "/boot/hurd-modules" - -Suggestions about [[networking_configuration]] are available. - -If you need stable MAC addresses, use a syntax like `vif = [ -'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. - -## Running Hurd with Xen - -To run Hurd with Xen, use: - - xm create -c hurd - -and gnumach should get started. Proceed with native-install. - - export TERM=mach - ./native-install - -- If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. -- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. - -## Building from sources - -If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. -Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -Then use - - ./configure --enable-platform=xen - make - -The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. -/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! - ---- - -[[Internals]]. - -[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn deleted file mode 100644 index 09e707ea..00000000 --- a/microkernel/mach/gnumach/ports/xen/internals.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[meta copyright="Copyright © 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 port does use Xen's para-virtualized interface for device (ide, network, -etc.) access. - -[[Virtualization]]. diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn deleted file mode 100644 index 71a72bac..00000000 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ /dev/null @@ -1,105 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -[[toc ]] - -The Xen dom0 infrastructure provides for a bridged networking setup using shell -scripts to configure the bridging device properly and attach the domUs' virtual -interfaces to the bridge. However, we've [seen -problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) -when using this approach, so to [solve these -issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), -instead suggest the following configuration method (to achieve the same thing). - -This is for a Debian dom0. - -# */etc/network/interfaces* - -Comment out everything referencing your physical devices. Add this: - - auto br0 - iface br0 inet dhcp - bridge_ports regex (eth|vif).* noregex - -... or if you want to do the manual configuration dance: - - auto br0 - iface br0 inet static - bridge_ports regex (eth|vif).* noregex - address 192.168.10.60 - netmask 255.255.255.0 - [...] - -This needs a version of the `bridge-utils` package more recent than the current -Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, -e.g., the Debian testing one on Debian stable.) - -# */etc/xen/xend-config.sxp* - -Make sure that only `(network-script network-dummy)` and `(vif-script -vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, -respective `(vif-script vif-WHATEVER)` are commented out. - - -# Sample configuration files on Debian Lenny - -## /etc/xen/hurd on dom0 - - kernel = "/boot/gnumach-xen" - memory = 256 - disk = ['phy:sda5,hda,w'] - extra = "root=device:hd0" - vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] - ramdisk = "/boot/hurd-modules" - -/dev/sda5 is an extended partition. br0 is bridge interface on dom0. - -## /etc/xen/xend-config.sxp on dom0 - - (network-script 'network-bridge netdev=br0') - (dom0-min-mem 196) - (dom0-cpus 0) - (vncpasswd '') - -## /etc/network/interfaces on dom0 - - auto br0 - iface br0 inet static - address 192.168.1.211 - network 192.168.1.0 - netmask 255.255.255.0 - broadcast 192.168.1.255 - gateway 192.168.1.1 - bridge_ports eth1 - -eth1 is the interface that is connected to the Internet on the LAN: - -## Doing settrans on domU - - settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 - -## /sbin/ifconfig on dom0 - - br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 - inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 - inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link - UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 - RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 - TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 - collisions:0 txqueuelen:0 - RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) - - eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 - inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link - UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 - RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 - TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 - collisions:0 txqueuelen:1000 - RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB) diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn deleted file mode 100644 index 9ace6270..00000000 --- a/microkernel/mach/gnumach/projects.mdwn +++ /dev/null @@ -1,129 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -This page is a place to keep track of ideas about things that may be improved -in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both -in terms of stability and performance. If you find anything missing here, -please feel free to add a entry with a short description. - -If you want to help with any of the task (thanks!), please send a mail to -*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, -so that no duplicate efforts end up. - -# Active Branches - - * `gnumach-1-branch` is the main branch. - - * `gnumach-1-branch-Xen-branch` is a branch created by Samuel Thibault for - working on a [[ports/Xen]] port. - - * `gnumach-1-branch-gdb-branch` is a branch created by Michael Casadevall for - working on [[GDB_stubs]]. - - -# Task List - - * [[Clean_up_the_code]] - - * [[Open_Issues]] - - * Update the core architecture and drivers - - * Check what NetBSD, FreeBSD and Linux do with their host specific code - (i486, PPC, Sparc, ...). And if it might be wise to take that and use - it in GNU Mach. There is no need to worry about purely internal API's, - but the external ones shouldn't require any major changes. - - * Write a list of all functions provided by the host dependant code in - GNU Mach that gets used in the non-host specific code (kernel, IPC and - VM). - - * Once we have decided what the new internal API should look like, make a - list of the new API and the old one, and try to make things as - compatible as possible, but not at the expense of anything. - - * Implement Migrating Threads - - * Migrating Threads (MT) could improve IPC performance and making easier - the work of the scheduler. For more information, check - - - * Improve the external pagers interface - - * Implement read-ahead (huge I/O improvements expected). - - * Making this interface synchronous should improve I/O performance - significantly, without (almost) any drawbacks (we also get some - advantage from MT's). - - * Implement more paging eviction policies, so they fit better with usual - behaviour of the pagers. - - * Implement resource accounting for external pagers. - - * VM - - * Put it on user level (?) - - * Clean up the mess. - - * Provide a fast way to read/write from/to a memory object. - - * Simplify/normalise the code. - - * Simplify the IPC Semantics - - * There are a lot of things in GNU Mach's IPC that we don't need. Track - down those things, and get rid of them without requiring many changes - in the Hurd (the changes will affect MiG, but that is OK). - - * Temporary mappings for Client-Server memory transfers - - * Extend Mach's IPC to provide some kind of object which can represent a - range of memory that can temporarily be mapped into the servers address - space for sending/receiving data. This would allow us to avoid - excessive memory copies. - - * Find a new way to work with unaligned memory. - - * GDB remote debugging support - - * Implement support for GDB debugging via serial line and/or network. - Maybe this can be done together with the host-specific work above. - - See [[GDB_stubs]]. - - * Make it run as a [[UNIX]]/Linux executable. - - * Neal: - - here's a fun project: port the mach interface to Linux - (e.g., via kernel modifications) - or, to posix/glibc - (mmap, some minimal ptrace, etc.) - - * From the [Hurd bits at - sourceforge.net](http://sourceforge.net/projects/hurd): - , started by John - Tobey. Last time touched in 2003. Status completely unknown. - - * [README](http://hurd.cvs.sourceforge.net/hurd/gnumach-otop/README?view=markup) - - -# Wish List - - * Interface for userspace non-critical drivers. - - * Sound Support - - * WLAN support (ipw2200) with WEP/WPA - - * ACPI support diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn deleted file mode 100644 index 875bb8cd..00000000 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ /dev/null @@ -1,121 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -# Restructure the tree in a sane way - -Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it -as-is for now. Also, a bunch of (header) files from there may probably be -discarded. - - -# Remove dead files from the GNU Mach source tree - -For *exported* files (via `make install`), the plan is to first stick some -`#error This file is scheduled for removal. Write to if you -have a reason to have it kept available.` into them, and then actually remove -them after some months. - -For some of the internal header files (containing function prototypes and the -like), it might actually be useful to use them. (And then get rid of a bunch -of `extern ...` statements in other files.) - -This following list was assembled by putting such a `#error ...` line into each -of the `gnumach-1-branch`'s header files (exported and internal; save the -`linux/` ones (only internal) for simplicity), and then trying to build GNU -Mach until this would succeed again (by removing offending `#error ...`s), and -afterwards using the set of exported files for building a cross toolchain -(again still removing offending `#error ...`s). A very crude and imprecise -method. - -So, additionally to the list given below, there may actually be a bunch of -further files (also exported ones) that serve no real value, but are being -`#include`d through one way or another. - -* [[source_gnumach-1-branch ddb/db_expr.h]] - - Currently used, but copyright violation? Rewrite? - -* [[source_gnumach-1-branch ddb/db_print.h]] - - Copyright violation? Currently unused, but could be used in principle (or - be rewritten, to avoid the copyright oddity). - -* [[source_gnumach-1-branch ddb/tr.h]] - - Copyright violation. Unused. Remove. - -* [[source_gnumach-1-branch device/dev_master.h]] - - Might be usable for SMP? Remove otherwise. - -* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] - -* [[source_gnumach-1-branch i386/i386/sched_param.h]] - -* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] - - Was probably once exported, but is no longer. - -* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] - - Exported. - -* [[source_gnumach-1-branch include/device/audio_status.h]] - - Exported. - -* [[source_gnumach-1-branch include/device/tape_status.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/alert.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/boot.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/macro_help.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/multiboot.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/profil.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/profilparam.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/exec/a.out.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] - - Currently not exported, but was probably once meant to be. - -* [[source_gnumach-1-branch kern/act.h]] - -* [[source_gnumach-1-branch kern/refcount.h]] - -* [[source_gnumach-1-branch kern/shuttle.h]] - - -# Remove dead functions, variables, etc. from source files - - -# Rewrite ugly code diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn deleted file mode 100644 index 9a11a82b..00000000 --- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - - * - - * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) 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]]. # Status of the project diff --git a/microkernel/mach/mig/building.mdwn b/microkernel/mach/mig/building.mdwn index ee299166..2ec75e38 100644 --- a/microkernel/mach/mig/building.mdwn +++ b/microkernel/mach/mig/building.mdwn @@ -29,7 +29,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. ## Building and Installing diff --git a/sidebar.mdwn b/sidebar.mdwn index 0ac0561c..a368c6c3 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -22,7 +22,7 @@ Hurd! * *[[Hurd/Documentation]]* * *[[hurd/Running]]*"]] * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" - * *[[GNU_Mach|microkernel/mach/gnumach]]* + * *[[microkernel/mach/GNU_Mach]]* * *[[microkernel/mach/Documentation]]*"]] --- -- cgit v1.2.3 From a9accad064758577799a0ef2fb8f6242ef815829 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 07:55:26 +0100 Subject: Remove old logos. --- hurd.mdwn | 2 -- hurd/logo.png | Bin 15125 -> 0 bytes hurd/running/debian.mdwn | 2 -- hurd/running/debian/logo.png | Bin 2463 -> 0 bytes hurd/running/gnu.mdwn | 2 -- hurd/running/gnu/gnu.mdwn | 2 -- hurd/running/gnu/logo.png | Bin 3112 -> 0 bytes microkernel/mach.mdwn | 2 -- microkernel/mach/logo.png | Bin 13617 -> 0 bytes microkernel/mach/mig.mdwn | 2 -- microkernel/mach/mig/logo.png | Bin 23622 -> 0 bytes 11 files changed, 12 deletions(-) delete mode 100644 hurd/logo.png delete mode 100644 hurd/running/debian/logo.png delete mode 100644 hurd/running/gnu/logo.png delete mode 100644 microkernel/mach/logo.png delete mode 100644 microkernel/mach/mig/logo.png (limited to 'microkernel') diff --git a/hurd.mdwn b/hurd.mdwn index 2805ddfc..4bf43873 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - [[toc ]] # Introduction diff --git a/hurd/logo.png b/hurd/logo.png deleted file mode 100644 index a892b47d..00000000 Binary files a/hurd/logo.png and /dev/null differ diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn index f291b75b..f80c1cfc 100644 --- a/hurd/running/debian.mdwn +++ b/hurd/running/debian.mdwn @@ -1,7 +1,5 @@ [[meta title="Debian GNU/Hurd"]] -[[img logo.png]] - - Debian [[FAQ]] -- Frequently Asked Questions - [[After_install]] -- Do this to get networking, new console and X - [Presentation](http://people.debian.org/~mbanck/talks/hurd_lt2004/html/) diff --git a/hurd/running/debian/logo.png b/hurd/running/debian/logo.png deleted file mode 100644 index 068d9584..00000000 Binary files a/hurd/running/debian/logo.png and /dev/null differ diff --git a/hurd/running/gnu.mdwn b/hurd/running/gnu.mdwn index 2ae2f2ca..26d93279 100644 --- a/hurd/running/gnu.mdwn +++ b/hurd/running/gnu.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - # The GNU Operating System The GNU Operating System, or GNU System as it is more commonly known, will be a diff --git a/hurd/running/gnu/gnu.mdwn b/hurd/running/gnu/gnu.mdwn index 2a3629d7..3ee5f657 100644 --- a/hurd/running/gnu/gnu.mdwn +++ b/hurd/running/gnu/gnu.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - ## GNU, FSF & RMS GNU stands for GNU's Not [[Unix]]. It is a project announced in 1983 by diff --git a/hurd/running/gnu/logo.png b/hurd/running/gnu/logo.png deleted file mode 100644 index 50c392cf..00000000 Binary files a/hurd/running/gnu/logo.png and /dev/null differ diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 7e63c724..594a74f9 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]]. diff --git a/microkernel/mach/logo.png b/microkernel/mach/logo.png deleted file mode 100644 index 94951acf..00000000 Binary files a/microkernel/mach/logo.png and /dev/null differ diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index c620420a..cf6d95bb 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -1,5 +1,3 @@ -[[img logo.png]] - 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 diff --git a/microkernel/mach/mig/logo.png b/microkernel/mach/mig/logo.png deleted file mode 100644 index cdfec179..00000000 Binary files a/microkernel/mach/mig/logo.png and /dev/null differ -- cgit v1.2.3 From 9ef4358330ec422c518a0094bc965f3476466882 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 08:09:23 +0100 Subject: Add copyright and licensing header. --- microkernel/mach/mig.mdwn | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index cf6d95bb..5f09621d 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -1,3 +1,14 @@ +[[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 -- cgit v1.2.3 From 65ad34e710723380896dd7d2d193afc62116ad89 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 08:29:26 +0100 Subject: [[microkernel/mach/mig/gnu_mig]]: New; move most content there. --- contributing.mdwn | 8 +- hurd/building/cross-compiling.mdwn | 2 +- microkernel/mach.mdwn | 2 +- microkernel/mach/gnu_mach/building.mdwn | 2 +- microkernel/mach/mig.mdwn | 12 +- microkernel/mach/mig/building.mdwn | 72 --------- microkernel/mach/mig/discussion.mdwn | 17 --- microkernel/mach/mig/gnu_mig.mdwn | 24 +++ microkernel/mach/mig/gnu_mig/building.mdwn | 73 +++++++++ microkernel/mach/mig/gnu_mig/open_issues.mdwn | 20 +++ .../open_issues/duplicate_inclusion_guards.mdwn | 14 ++ microkernel/mach/mig/open_issues.mdwn | 19 --- .../open_issues/duplicate_inclusion_guards.mdwn | 14 -- mig-download.html | 167 --------------------- mig.html | 125 --------------- sidebar.mdwn | 28 ++-- 16 files changed, 159 insertions(+), 440 deletions(-) delete mode 100644 microkernel/mach/mig/building.mdwn delete mode 100644 microkernel/mach/mig/discussion.mdwn create mode 100644 microkernel/mach/mig/gnu_mig.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/building.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/open_issues.mdwn create mode 100644 microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn delete mode 100644 microkernel/mach/mig/open_issues.mdwn delete mode 100644 microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn delete mode 100644 mig-download.html delete mode 100644 mig.html (limited to 'microkernel') diff --git a/contributing.mdwn b/contributing.mdwn index f21a6f32..698d03b3 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -80,17 +80,17 @@ doesn't work or suit you and try to improve that. ### Open Issues: GNU Hurd -Here is a [[list_of_open_issues|hurd/Open_Issues]] for the [[GNU_Hurd|hurd]]. +Here is a [[list_of_open_issues|hurd/open_issues]] for the [[GNU_Hurd|hurd]]. ### Open Issues: GNU Mach -Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/Open_Issues]] for +Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/open_issues]] for [[microkernel/mach/GNU_Mach]]. ### Open Issues: GNU MIG -Here is a [[list_of_open_issues|microkernel/mach/mig/Open_Issues]] for -[[GNU_MIG|microkernel/mach/mig]]. +Here is a [[list_of_open_issues|microkernel/mach/mig/gnu_mig/open_issues]] for +[[microkernel/mach/mig/GNU_MIG]]. diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index 31722ead..e548c75c 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -110,7 +110,7 @@ guarantee is given. Always the preferred version is listed first. $ ( cd gnumach-1-branch/ && autoreconf -vfi ) -* `src/mig`: [[GNU_Mach_Interface_Generator|microkernel/mach/mig]] +* `src/mig`: [[microkernel/mach/mig/GNU_MIG]] * CVS `HEAD` diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 594a74f9..9d3289b4 100644 --- a/microkernel/mach.mdwn +++ b/microkernel/mach.mdwn @@ -13,4 +13,4 @@ microkernel currently used by the [[Hurd]]. # Related -* [[Mach_Interface_Generator|mig]] +* [[Mach_Interface_Generator_(MIG)|mig]] diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn index ef0d8553..073c68a3 100644 --- a/microkernel/mach/gnu_mach/building.mdwn +++ b/microkernel/mach/gnu_mach/building.mdwn @@ -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 diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index 5f09621d..eb1c0906 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -12,11 +12,11 @@ is included in the section entitled 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. +the details of Mach's [[IPC]] machinery and make it easy to implement +and use Mach [[interface]]s as [[remote_procedure_calls_(RPC)|rpc]]. -GNU MIG is fully compatible with OSF MIG. - -* 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/building.mdwn b/microkernel/mach/mig/building.mdwn deleted file mode 100644 index 2ec75e38..00000000 --- a/microkernel/mach/mig/building.mdwn +++ /dev/null @@ -1,72 +0,0 @@ -# Building the Mach Interface Generator from Source - -If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions. - -## Getting the Source Code - -You can chose between getting the [sources from the developers's rcs](http://www.gnu.org/software/hurd/mig-download.html#cvs): - - $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig - -... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig): - - $ apt-get source mig - -Please see the Debian [[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. - -## Preparing for the Build - -### ... on Debian systems - -Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package: - - # apt-get install build-essential fakeroot - # apt-get build-dep mig - -### ... on non-Debian systems - -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/gnu_mach/building]] about how to do that, then come back here. - -## Building and Installing - -### ... a _.deb_ file - -Change into the directory with the downloaded / unpacked MIG sources (_mig-1.3.1.99_): - - $ cd mig-1.3.1.99 - -Start the build process: - - $ dpkg-buildpackage -us -uc -b -rfakeroot - -You can then install / distribute the _.deb_ file which will drop out one directory above the current one. - -### [TODO] - -The Mach Interface Generator has to be built in a separate directory: - - $ mkdir mig-build - $ cd mig-build - -Find the root directory where you installed GNU Mach's header files and where you now intend to install the Mach Interface Generator (_~/gnu_) and the path to your Mach Interface Generator sources (\_[...]/mig) and configure it: - - $ GNU=~/gnu - $ TARGET_CPPFLAGS=-I"$GNU"/include [...]/mig/configure --prefix="$GNU" - -Build and install the Mach Interface Generator into _$GNU_, i.e. _~/gnu/_ in our example: - - $ make all install - -To make your _mig_ binary easily available, you should append something like the following to e.g. your _~/.bash\_profile_: - - PATH=~/gnu/bin:$PATH - export PATH - -If you already have e.g. _~/bin_ in your _$PATH_, you could also create a symbolic link: - - $ ln -s ~/gnu/bin/mig ~/bin/ 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/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/gnu_mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn new file mode 100644 index 00000000..8b553b6b --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/building.mdwn @@ -0,0 +1,73 @@ +# Building the Mach Interface Generator from Source + +If you want to build the Mach Interface Generator yourself instead of just using a pre-built package, follow these instructions. + +## Getting the Source Code + +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 + +... or (if you are working on a Debian system) the ones that are used for the [current Debian mig package](http://packages.debian.net/source/unstable/mig): + + $ apt-get source mig + +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. + +## Preparing for the Build + +### ... on Debian systems + +Building the Mach Interface Generator requires the _build-essential_ and _fakeroot_ packages, their dependencies and additional packages that are specified by the source mig package: + + # apt-get install build-essential fakeroot + # apt-get build-dep mig + +### ... on non-Debian systems + +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/gnu_mach/building]] about how to do that, then come back here. + +## Building and Installing + +### ... a _.deb_ file + +Change into the directory with the downloaded / unpacked MIG sources (_mig-1.3.1.99_): + + $ cd mig-1.3.1.99 + +Start the build process: + + $ dpkg-buildpackage -us -uc -b -rfakeroot + +You can then install / distribute the _.deb_ file which will drop out one directory above the current one. + +### [TODO] + +The Mach Interface Generator has to be built in a separate directory: + + $ mkdir mig-build + $ cd mig-build + +Find the root directory where you installed GNU Mach's header files and where you now intend to install the Mach Interface Generator (_~/gnu_) and the path to your Mach Interface Generator sources (\_[...]/mig) and configure it: + + $ GNU=~/gnu + $ TARGET_CPPFLAGS=-I"$GNU"/include [...]/mig/configure --prefix="$GNU" + +Build and install the Mach Interface Generator into _$GNU_, i.e. _~/gnu/_ in our example: + + $ make all install + +To make your _mig_ binary easily available, you should append something like the following to e.g. your _~/.bash\_profile_: + + PATH=~/gnu/bin:$PATH + export PATH + +If you already have e.g. _~/bin_ in your _$PATH_, you could also create a symbolic link: + + $ ln -s ~/gnu/bin/mig ~/bin/ diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn new file mode 100644 index 00000000..7a6233da --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -0,0 +1,20 @@ +[[meta copyright="Copyright © 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 title="Open Issues"]] + +This is a dumping ground for open issues for GNU MIG. + +[[inline +pages="microkernel/mach/mig/gnu_mig/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/mig/gnu_mig/open_issues" +postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn new file mode 100644 index 00000000..93347759 --- /dev/null +++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn @@ -0,0 +1,14 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +E.g., both `/usr/include/hurd/process.h` and +`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion +guard. This leads to problems when both are needed, as is the case in +[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/microkernel/mach/mig/open_issues.mdwn b/microkernel/mach/mig/open_issues.mdwn deleted file mode 100644 index 2d870695..00000000 --- a/microkernel/mach/mig/open_issues.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[meta copyright="Copyright © 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 title="Open Issues"]] - -This is a dumping ground for open issues for GNU MIG. - -[[inline -pages="microkernel/mach/mig/open_issues/* and !*/discussion" -show=0 -actions=yes -rootpage="microkernel/mach/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/open_issues/duplicate_inclusion_guards.mdwn deleted file mode 100644 index 93347759..00000000 --- a/microkernel/mach/mig/open_issues/duplicate_inclusion_guards.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -E.g., both `/usr/include/hurd/process.h` and -`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion -guard. This leads to problems when both are needed, as is the case in -[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/mig-download.html b/mig-download.html deleted file mode 100644 index efbf1359..00000000 --- a/mig-download.html +++ /dev/null @@ -1,167 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -| Spanish -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Latest Release

-

-The latest release of MIG is version 1.3, 2002-03-08. However, it is -recommended that you use the version in CVS instead, as we are only a few steps -before we'll do another release from there. - - - -

CVS repository

-

-The MIG source code is managed in the version control system CVS. You can check out the CVS -repository through anonymous CVS over SSH with the following -instruction set. When prompted for a password for anoncvs, -simply press the Enter key. - -

-Source tree: - 
-cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co mig - -

Updates from within the module's directory do not need the -d parameter. - -

For the full details, read the savannah page. - -

Browsing the code

-

-You can also browse the CVS -repository of MIG with your web browser. The web pages are -generated dynamically at the time you request them and are always up -to date. -

-There is also a cross referenced -database of the Hurd, GNU Mach, MIG, and the GNU C library sources -online for you to browse. It provides better searching and browsing -facilities than the online CVS repository, but it is not always up to -date and does not contain history information. - -

-Some of these links are at other web sites not maintained by the -FSF. The FSF is not responsible for the content of these other web sites. -

- -
- -[ - - - English -| Spanish -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/mig.html b/mig.html deleted file mode 100644 index 49e19a37..00000000 --- a/mig.html +++ /dev/null @@ -1,125 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - en -| es -| he -| pl -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

-

Table of Contents

- -

-


- -

Introduction to GNU MIG

-

-GNU MIG is the GNU distribution of the Mach 3.0 interface generator `MIG', as -maintained by the GNU Hurd developers for the GNU project. -

-The interface generator produces stub code from interface definition -(.defs) files. The stub code makes it easy to implement -and use Mach interfaces as remote procedure calls (RPC). -

-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. - -

Status of the project

-

-MIG 1.3 was released in March 2002, and features compatibility with -OSF Mach. -

- -
- -[ - - - en -| es -| he -| pl -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2006 Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/sidebar.mdwn b/sidebar.mdwn index a368c6c3..6a132e6d 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -11,25 +11,27 @@ is included in the section entitled Welcome to... [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU Hurd! -* **[[Home|/index]]** -* **[[Community]]** -* **[[Documentation]]** -* **[[Hurd/Getting_Help]]** + * **[[Home|/index]]** + * **[[Community]]** + * **[[Documentation]]** + * **[[Hurd/Getting_Help]]** --- -* **[[Hurd]]**[[if test="destpage(hurd*)" then=" - * *[[Hurd/Documentation]]* - * *[[hurd/Running]]*"]] -* **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" - * *[[microkernel/mach/GNU_Mach]]* - * *[[microkernel/mach/Documentation]]*"]] + * **[[Hurd]]**[[if test="destpage(hurd*)" then=" + * *[[Hurd/Documentation]]* + * *[[hurd/Running]]*"]] + * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" + * *[[microkernel/mach/Documentation]]* + * *[[microkernel/mach/GNU_Mach]]*"]] + * *[[microkernel/mach/MIG]]*[[if test="destpage(microkernel/mach/mig*)" then=" + * [[microkernel/mach/mig/GNU_MIG]]"]] --- -* **[[Debian_GNU/Hurd|hurd/running/debian]]** -* **[[GNU_system|hurd/running/gnu]]** + * **[[Debian_GNU/Hurd|hurd/running/debian]]** + * **[[GNU_system|hurd/running/gnu]]** --- -* **[[HurdNG|hurd/ng]]** + * **[[HurdNG|hurd/ng]]** -- cgit v1.2.3 From 051c71afa05196ac66d7912e27063962478c599d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 08:56:44 +0100 Subject: Integrate GNU Mach HTML pages. --- gnumach-download.html | 189 -------------------------------- gnumach-install.html | 131 ---------------------- gnumach.html | 180 ------------------------------ microkernel/mach/gnu_mach.mdwn | 67 +++++++++-- microkernel/mach/gnu_mach/building.mdwn | 2 +- 5 files changed, 59 insertions(+), 510 deletions(-) delete mode 100644 gnumach-download.html delete mode 100644 gnumach-install.html delete mode 100644 gnumach.html (limited to 'microkernel') diff --git a/gnumach-download.html b/gnumach-download.html deleted file mode 100644 index fa1990d9..00000000 --- a/gnumach-download.html +++ /dev/null @@ -1,189 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - en -| es -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Latest Release

-

-The latest release of GNU Mach is version 1.3, 2002-05-28. However, it is -recommended that you use the version in CVS instead, the -gnumach-1-branch to be exact, as we are only a few steps before we'll -do another release from that branch. - - - -

CVS repository

-

-The GNU Mach source code is managed in the version control system CVS. You can check out the CVS repository -with the following instruction set. - -

-Source tree: -
-cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co gnumach -

-Use to following to get the GNU Mach 1 branch: -
-cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach - -

Updates from within the module's directory do not need the -d parameter. - -

For the full details, read the Savannah page. - -

Browsing the code

-

-You can also browse the CVS -repository of GNU Mach with your web browser. The web pages are -generated dynamically at the time you request them and are always up -to date. -

-There is also a cross referenced -database of the Hurd, GNU Mach, MIG, and the GNU C library sources -online for you to browse. It provides better searching and browsing -facilities than the online CVS repository, but it is not always up to -date and does not contain history information. - -

-Some of these links are at other web sites not maintained by the -FSF. The FSF is not responsible for the content of these other web sites. -

- -
- -[ - - - en -| es -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/gnumach-install.html b/gnumach-install.html deleted file mode 100644 index c42f2404..00000000 --- a/gnumach-install.html +++ /dev/null @@ -1,131 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -| Spanish -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Latest version

-

-The last stable version of GNU Mach is 1.3, but it is recommended that -you use the version in -CVS instead, the gnumach-1-branch to be exact, as we are only a -few steps before we'll do another release from that branch. - -

Installation instructions

-

-GNU Mach can be compiled or cross-compiled easily. The only package -you are not likely to have installed already is MIG, the Mach -interface generator. If you cross-compile gnumach, you need a -cross-MIG for your architecture. You also need the static version of -the C library for your host architecture, as some functions are taken -directly from it. We recommend that you use the GNU C library, other C libraries -have not been tested and might not work. After you have followed the -installation instructions in the package and the reference manual, you -should end up with a kernel binary where your boot loader can find it. - -

Booting GNU Mach

-

-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, which supports a broad range of operating systems including -GNU/Hurd. -

- -
- -[ - - - English -| Spanish -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2007 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/gnumach.html b/gnumach.html deleted file mode 100644 index 4ba0e9f7..00000000 --- a/gnumach.html +++ /dev/null @@ -1,180 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -| Hebrew -| Polish -| Spanish -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

-

Table of Contents

- -

-


- -

Introduction to GNU Mach

-

-GNU Mach is the microkernel of the GNU system. A microkernel provides -only a limited functionality, just enough abstraction on top of the -hardware to run the rest of the operating system in user space. The -GNU Hurd servers and the GNU C library implement the POSIX compatible -base of the GNU system on top of the microkernel architecture provided -by Mach. -

-Currently, GNU Mach runs on IA32 machines. GNU Mach should, and -probably will, be ported to other hardware architectures in the -future. Mach was ported to many operating systems in the past. -

-GNU Mach is maintained by the Hurd developers for the GNU project. If -you need help with GNU Mach or want to contribute to the development -of the microkernel, you should contact the Hurd people. - -

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 interfaces 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).
- -
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. -
-
- -

Status of the project

-

-GNU Mach 1.3 was released in May 2002, and features advanced boot -script support, support for large disks (>= 10GB) and an improved -console. -

-GNU Mach is used as the default microkernel in the GNU/Hurd system. -It is compatible with other popular Mach distributions. The device -drivers for block devices and network cards are taken from Linux 2.0.x -kernel versions, and so a broad range of common hardware is supported. -

-However, the Linux device drivers have been improved greatly since the -2.0.x version, and a new version of GNU Mach based on the OSKit -library is being worked on, which uses newer drivers and in general -has cleaner machine specific support code. -

- -
- -[ - - - English -| Hebrew -| Polish -| Spanish -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/microkernel/mach/gnu_mach.mdwn b/microkernel/mach/gnu_mach.mdwn index d45549f5..cdb43a6f 100644 --- a/microkernel/mach/gnu_mach.mdwn +++ b/microkernel/mach/gnu_mach.mdwn @@ -1,4 +1,5 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[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 @@ -8,9 +9,10 @@ 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 is the microkernel that the [[GNU_Hurd|hurd]] system is based on. -GNU Mach remains compatible with [[Mach]] 3.0. +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. @@ -20,11 +22,58 @@ GNU Mach runs on x86 machines. See the [[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 -* [[Building]] -* [[Debugging]] -* [[Boot_Trace]] -* [[Projects]] - * [[Rules]] - * [[Open_Issues]] + * [[Building]] + * [[Debugging]] + * [[Boot_Trace]] + * [[Projects]] + * [[Rules]] + * [[Open_Issues]] diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn index 073c68a3..014d3e87 100644 --- a/microkernel/mach/gnu_mach/building.mdwn +++ b/microkernel/mach/gnu_mach/building.mdwn @@ -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 . $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach -- cgit v1.2.3 From 24e7f01d6e6322e9d98412076dcf3f4d98196bb0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 6 Nov 2008 11:37:33 +0100 Subject: Integrate auth.html, hurd-paper.html, hurd-talk.html. Move content from devel.html, docs.html. --- auth.html | 248 ----- contributing.mdwn | 10 +- devel.html | 159 ---- docs.html | 302 ------ documentation.mdwn | 16 +- hurd-paper.html | 812 ---------------- hurd-talk.html | 1151 ----------------------- hurd.mdwn | 2 - hurd/authentication.mdwn | 2 +- hurd/critique.mdwn | 4 +- hurd/documentation.mdwn | 48 +- hurd/documentation/auth.html | 168 ++++ hurd/documentation/hurd-paper.html | 760 +++++++++++++++ hurd/documentation/hurd-talk.html | 1061 +++++++++++++++++++++ hurd/hurd_hacking_guide.mdwn | 16 +- hurd/ng/position_paper.mdwn | 9 +- hurd/reference_manual.mdwn | 18 + hurd/running/distrib.mdwn | 2 +- hurd/running/gnu/universal_package_manager.mdwn | 2 +- hurd/translator.mdwn | 1 + hurd/translator/auth.mdwn | 13 + microkernel/faq/multiserver_microkernel.mdwn | 4 +- microkernel/mach/documentation.mdwn | 18 +- microkernel/mach/gnu_mach.mdwn | 1 + microkernel/mach/gnu_mach/reference_manual.mdwn | 26 + microkernel/mach/mig/documentation.mdwn | 3 +- 26 files changed, 2146 insertions(+), 2710 deletions(-) delete mode 100644 auth.html delete mode 100644 devel.html delete mode 100644 docs.html delete mode 100644 hurd-paper.html delete mode 100644 hurd-talk.html create mode 100644 hurd/documentation/auth.html create mode 100644 hurd/documentation/hurd-paper.html create mode 100644 hurd/documentation/hurd-talk.html create mode 100644 hurd/reference_manual.mdwn create mode 100644 hurd/translator/auth.mdwn create mode 100644 microkernel/mach/gnu_mach/reference_manual.mdwn (limited to 'microkernel') diff --git a/auth.html b/auth.html deleted file mode 100644 index 676442ee..00000000 --- a/auth.html +++ /dev/null @@ -1,248 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - English -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code
-

-
-

Table of Contents

- -
- -

Introduction

-

-In this text, which mostly resembles the talk I gave at Libre Software -Meeting 2002 in Bordeaux, I will describe what the auth server does, -why it is so important and which cool things you can do with it, both -on the programming and the user side. I will also describe related -programs like the password and fakeauth servers. Note that this text -is targeted at programmers who want to understand the auth mechanism -in detail and are already familiar with concepts like Remote Procedure -Calls (RPCs) as well as the way User- and Group-IDs are used in the -POSIX world. - -

-The auth server is a very small server, therefore it gives a useful -example when you want to learn how a server typically looks like. One -reason why it is so small is that the auth interface, which it -implements, consists of only four RPCs. You can find the interface in -hurd/hurd/auth.defs and the server itself in hurd/auth/. - -

How IDs are represented and used

-

-Each process holds (usually) one port to auth (an auth_t in C source, -which actually is a mach_port_t, of course). The purpose of auth is -to manage User-IDs and Group-IDs, which is the reason why users often -will have no choice but to make use of the systems main auth server, -which does not listen on /servers/auth; instead you inherit a port to -auth from your parent process. Each such port is (internally in the -auth server) associated with a set of effective User- and Group-IDs as -well as a set of available User- and Group-IDs. So we have four sets -of IDs in total. The available IDs can be turned into corresponding -effective IDs at any time. - -

-When you send an auth_getids RPC on the port you hold, you will get -information about which IDs are associated with it, so you can figure -out which permissions you have. But how will a server know that you -have these permissions and therefore know which actions (e.g. writing -into file "foo") it is supposed to do on your behalf and which not? -The establishing of a trusted connection to a server works as follows: - -

    -
  1. A user wants a server to know its IDs
  2. -
  3. The user requests a reauthentication from the server
  4. -
  5. In this request the user will include a port
  6. -
  7. Both will hand this port to auth
  8. -
  9. The user uses auth_user_authenticate
  10. -
  11. The server uses auth_server_authenticate
  12. -
  13. The server also passes a new port to auth
  14. -
  15. auth matches these two requests
  16. -
  17. The user gets the new port from auth
  18. -
  19. The server learns about the IDs of the user
  20. -
  21. The user uses the new port for further communication
  22. -
- -

-We have different RPCs for users and servers because what we pass and -what we get back differs for them: Users get a port, and servers get -the sets of IDs, and have to specify the port which the user will get. - -

-It is interesting to note that auth can match the requests by -comparing two integers, because when you get the same port from two -people, you will have the same mach_port_t (which is nothing but an -integer). - -

-All of this of course only works if they use the same auth server, -which is why I said often you have no choice other than to use the -one main auth server. But this is no serious restriction, as the auth server has -almost no functionality one might want to replace. In fact, there is -one replacement for the default auth implementation, but more on that -later. - -

POSIX and beyond

-

-Before we examine what is possible with this design, let us take a -short look at how the POSIX semantics are implemented on top of this -design. When a program that comes out of POSIX-land asks for its own -effective User- or Group-ID, we will tell it about the first of the -effective IDs. In the same sense, the POSIX real User- or Group-ID is -the first available ID and the POSIX saved User- or Group-ID is the -second available ID, which is why you have the same ID two times in -the available IDs when you log into your GNU/Hurd machine (you can -figure out which IDs you have with the program "ids", that basically -just does an auth_getauth RPC). When you lack one of those IDs (for -example when you have no effective Group-ID), a POSIX program asking -for this particular information will get "-1" as the ID. - -

-But as you can imagine, we can do more than what POSIX specifies. Fox -example, we can modify our permissions. This is always done with the -auth_makeauth RPC. In this RPC, you specify the IDs that should be -associated with the new port. All of these IDs must be associated -with either the port where the RPC is sent to or one of the additional -ports you can specify; an exception is the superuser root, which is -allowed to creat ports that are associated with arbitrary IDs. -Hereby you can convert available into effective IDs. - -

-This opens the door to a bunch of nice features. For example, we have -the addauth program in the Hurd, which makes it possible to add an ID -to either a single process or a group of processes if you hold the ID or know the -appropriate password, and there is a corresponding rmauth program that -removes an ID. So when you are working on your computer with GNU -Emacs and want to edit a system configuration file, you switch to -Emacs' shell-mode, do an "addauth root", enter the password, edit the -file, and when you are done switch back to shell-mode and do "rmauth -root". These programs have some interesting options, and there are -various other programs, for setting the complete list of IDs (setauth) -and so on. - -

Related servers

-

-Finally, I want to explain two servers which are related to auth. The -first is the password server, which listens on /servers/password. If -you pass to it a User- or Group-ID and the correct password for it, it -will return a port to auth to you which is associated with the ID you -passed to it. It can create such a port because it is running as -root. So let us assume you are an FTP server process. You will start -as root, because you want to use port 21 (in this case, "port" does -not refer to a mach_port_t, of course). But then, you can drop all -your permissions so that you run without any ID. This makes it far -less dangerous to communicate with yet unknown users over the -network. But when someone now hands a username and password to you, -you can ask the password server for a new auth port. The password -server will check the data you pass to it, for example by looking into -/etc/shadow, and if it is valid, it will ask the auth server for a new -port. It receives this port from auth and then passes it on to you. -So you have raised your permissions. (And for the very curious: Yes, -we are well aware of the differences between this concept and -capabilities; and we also do have some kinds of capabilities in -various parts of the Hurd.) - -

-My second example is the fakeauth server. It also implements the auth -protocol. It is the part of the fakeroot implementation that gives a -process the impression that it runs as root, even if it doesn't. So -when the process asks fakeauth about its own IDs, fakeauth will tell -the process that it runs as root. But when the process wants to make -use of the authentication protocol described earlier in this text, -fakeauth will forward the request to its own auth server, which will -usually be the systems main auth server, which will then be able to -match the auth_*_authenticate requests. So what fakeauth does is -acting as a proxy auth server that gives someone the impression to run -as root, while not modifying what that one is allowed to do. - -

-At this point, I have said at least most of what can be said about the -auth server and the protocol it implements, so I will finish by saying -that it might be an interesting task (for you) to modify some existing -software to take advantage of the features I described here. - -

- -
- -[ - English -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2002 Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/contributing.mdwn b/contributing.mdwn index 698d03b3..f1003389 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -52,7 +52,7 @@ is another possibility, see the page about [[running_a_Hurd_system|hurd/running]] for the full story. Then you can either play around and eventually strive to do something -useful or -- if you want -- ask us to assign something to you, depending +useful or -- if you want -- [[ask_us|contact_us]] to assign something to you, depending on the skills you have and the resources you intend to invest. Please spend some time with thinking about the items in this [[questionnaire]]. @@ -62,10 +62,10 @@ system, e.g., [[microkernels_for_beginners|microkernel/for_beginners]]. Until you can do the basic exercises listed there, you won't be able to significantly contribute to the Hurd. -For more reading resources, please see these web pages, and also -, - for links to a bunch of documents, -and in general. +For more reading resources, please see these web pages, for example, +[[Hurd_documentation|hurd/documentation]] and +[[Mach_documentation|microkernel/mach/documentation]] for links to a bunch of +documents. ### Porting Packages diff --git a/devel.html b/devel.html deleted file mode 100644 index 2a31f959..00000000 --- a/devel.html +++ /dev/null @@ -1,159 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - en -| eo -| es -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Contributing

-

-If you want to contribute to the Hurd, you should first install and -use it for a while, to become familiar with its features and design. -To join the development team, subscribe to the -Bug-Hurd -<bug-hurd@gnu.org> -mailing list, which is also the place where you can announce your -intentions, make your proposals and send in your patches. -(You can also send mail there without being subscribed to the list.) -

-There is also the -Hurd-devel-readers -mailing list. It is the read-only version of Hurd-devel, an internal -low-volume list restricted to the core developers of the Hurd. If you -want to follow up on the discussion of the Hurd experts, please reply -to the Bug-hurd mailing list. You can also follow the Hurd-devel -mailing list by browsing the web-based archive of -Hurd-devel. - -

Machinery: getting access to a -system

-

-There are essentially two possibilities: either you install the GNU/Hurd on a -system (see here) or if you don't -have a system to install it on, you can be provided with a shell account. See -this wiki page -for details. - -

Tasks

-

-Developing an operating system is a huge job, with a lot of different -things to do. To be able to keep track of issues, we use a -

-There is also an older (but still valid) list of specific items in the -task file -and in the -TODO file -of the Hurd source repository. - -
- -
- -[ - - - en -| eo -| es -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2006, 2007 -Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/docs.html b/docs.html deleted file mode 100644 index 9c3a43f1..00000000 --- a/docs.html +++ /dev/null @@ -1,302 +0,0 @@ - - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -| Esperanto -| Spanish -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
- -

Introductory material, papers and other -informational documents

-

-

- -

Frequently asked questions

-

-Please check out the -Frequently -Asked Questions about the GNU Hurd (33k characters) and their -answers, which cover most issues a new user will be confronted with. -

-This document is available in several languages: -

- -

Wiki

-

A wiki is available for -collecting ideas and reciepes. Fell free -to contribute! - -

Some topics: - -

- - -

Reference manuals

- -
    - -
  • -

    -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. -

    -Available Formats: -

    -

    -If you want to work on the manual, you're advised to make a checkout of the source tree. Be sure to get the -GNU Mach 1 branch when you intend to work on the manual. You -can then find the manual's sources in the doc/ directory. Please -submit any modifications to <bug-hurd@gnu.org> (if possible in -unidiff format, as produced by diff -u). - -

  • - -
  • -

    -The GNU Hurd Reference Manual documents the architecture, the usage -and the programming of the GNU Hurd. At the moment, the manual is -quite incomplete. -

    -Available Formats: -

    -

    -If you want to work on the manual, you're advised to make a checkout of the source tree. You can then find the manual's -sources in the doc/ directory. Please submit any modifications to -<bug-hurd@gnu.org> (if possible in -unidiff format, as produced by diff -u). - -

  • - -
- -
- -
- -[ - - - English -| Esperanto -| Spanish -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 -Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111, USA -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/documentation.mdwn b/documentation.mdwn index 45bb5ffc..4e4b4b23 100644 --- a/documentation.mdwn +++ b/documentation.mdwn @@ -8,21 +8,13 @@ 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]]."]]"""]] -# General +Documentation for... - * [GNU Hurd Documentation](http://www.gnu.org/software/hurd/docs.html) + * [[GNU_Hurd|hurd/documentation]] + * [[Mach|microkernel/mach/documentation]] -# Introductory Material - -## External - - * [*Examining the Legendary HURD - Kernel*](http://www.informit.com/articles/printerfriendly.aspx?p=1180992), - an article by David Chisnall. - - Also covers a bit of GNU's and the Hurd's history, fundamental techniques - applied, comparisions to other systems. + * [[MIG|microkernel/mach/mig/documentation]] # [[Unix]] Programming diff --git a/hurd-paper.html b/hurd-paper.html deleted file mode 100644 index bb49829c..00000000 --- a/hurd-paper.html +++ /dev/null @@ -1,812 +0,0 @@ - - - -Towards a New Strategy of OS Design - - - -

Towards a New Strategy of OS Design

- [image of a Hurd Metafont Logo] (jpeg 10k) -(jpeg 20k) -no gifs due to patent problems -
-
-[ - - - English -| Hebrew -| Turkish -] - -

-This article explains why FSF is developing a new operating system named the -Hurd, which will be a foundation of the whole GNU system. -The Hurd is built -on top of CMU's Mach 3.0 kernel and uses Mach's virtual memory management and -message-passing facilities. -The GNU C Library will provide the Unix system -call interface, and will call the Hurd for needed services it can't provide -itself. -The design and implementation of the Hurd is being lead by Michael -Bushnell, with assistance from Richard Stallman, Roland McGrath, -Jan Brittenson, and others. - -

Part 1: A More Usable Approach to OS Design

-

-The fundamental purpose of an operating system (OS) is to enable a variety of -programs to share a single computer efficiently and productively. -This -demands memory protection, preemptively scheduled timesharing, coordinated -access to I/O peripherals, and other services. -In addition, an OS can allow -several users to share a computer. -In this case, efficiency demands services -that protect users from harming each other, enable them to share without -prior arrangement, and mediate access to physical devices. -

-On today's computer systems, programmers usually implement these goals -through a large program called the kernel. -Since this program must be -accessible to all user programs, it is the natural place to add functionality -to the system. -Since the only model for process interaction is that of -specific, individual services provided by the kernel, no one creates other -places to add functionality. -As time goes by, more and more is added to the -kernel. -

-A traditional system allows users to add components to a kernel only if they -both understand most of it and have a privileged status within the system. -Testing new components requires a much more painful edit-compile-debug cycle -than testing other programs. -It cannot be done while others are using the -system. -Bugs usually cause fatal system crashes, further disrupting others' -use of the system. -The entire kernel is usually non-pageable. -(There are -systems with pageable kernels, but deciding what can be paged is difficult -and error prone. -Usually the mechanisms are complex, making them difficult -to use even when adding simple extensions.) -

-Because of these restrictions, functionality which properly belongs -behind -the wall of a traditional kernel is usually left out of systems unless it is -absolutely mandatory. -Many good ideas, best done with an open/read/write -interface cannot be implemented because of the problems inherent in the -monolithic nature of a traditional system. -Further, even among those with -the endurance to implement new ideas, only those who are privileged users of -their computers can do so. -The software copyright system darkens the mire by -preventing unlicensed people from even reading the kernel source. -

-Some systems have tried to address these difficulties. -Smalltalk-80 and -the Lisp Machine both represented one method of getting around the problem. -System code is not distinguished from user code; all of the system is -accessible to the user and can be changed as need be. -Both systems were -built around languages that facilitated such easy replacement and extension, -and were moderately successful. -But they both were fairly poor at insulating -users and programs from each other, failing one of the principal goals of OS -design. -

-Most projects that use the Mach 3.0 kernel carry on the hard-to-change -tradition of OS design. -The internal structure is different, but the same -heavy barrier between user and system remains. -The single-servers, while -fairly easy to construct, inherit all the deficiencies of the monolithic -kernels. -

-A multi-server divides the kernel functionality up into logical blocks with -well-defined interfaces. -Properly done, it is easier to make changes and add -functionality. -So most multi-server projects do somewhat better. -Much more -of the system is pageable. -You can debug the system more easily. -You can -test new system components without interfering with other users. -But the -wall between user and system remains; no user can cross it without special -privilege. -

-The GNU Hurd, by contrast, is designed to make the area of -system -code as -limited as possible. -Programs are required to communicate only with a few -essential parts of the kernel; the rest of the system is replaceable -dynamically. -Users can use whatever parts of the remainder of the system -they want, and can easily add components themselves for other users to take -advantage of. -No mutual trust need exist in advance for users to use each -other's services, nor does the system become vulnerable by trusting the -services of arbitrary users. -

-This has been done by identifying those system components which users -must -use in order to communicate with each other. -One of these is responsible for -identifying users' identities and is called the - -authentication server. - -In -order to establish each other's identities, programs must communicate, each -with an authentication server they trust. -Another component establishes -control over system components by the superuser, provides global bookkeeping -operations, and is called the - -process server. - -

-Not all user programs need to communicate with the process server; it is only -necessary for programs which require its services. -Likewise, the -authentication server is only necessary for programs that wish to communicate -their identity to another. -None of the remaining services carry any special -status; not the network implementation, the filesystems, the program -execution mechanism (including setuid), or any others. - -

The Translator Mechanism

-

-The Hurd uses Mach ports primarily as methods for communicating between users -and servers. -(A Mach port is a communication point on a Mach task where -messages are sent and received.) Each port implements a particular set of -protocols, representing operations that can be undertaken on the underlying -object represented by the port. -Some of the protocols specified by the Hurd -are the I/O protocol, used for generic I/O operations; the file protocol, -used for filesystem operations; the socket protocol, used for network -operations; and the process protocol, used for manipulating processes et al. -

-Most servers are accessed by opening files. -Normally, when you open a file, -you create a port associated with that file that is owned by the server -that owns the directory containing the file. -For example, a disk-based -filesystem will normally serve a large number of ports, each of which -represents an open file or directory. -When a file is opened, the server -creates a new port, associates it with the file, and returns the port to the -calling program. -

-However, a file can have a -translator -associated with it. -In this case, -rather than return its own port which refers to the contents of the file, the -server executes a translator program associated with that file. -This -translator is given a port to the actual contents of the file, and is then -asked to return a port to the original user to complete the open operation. -

-This mechanism is used for -mount -by having a translator associated with -each mount point. -When a program opens the mount point, the translator (in -this case, a program which understands the disk format of the mounted -filesystem) is executed and returns a port to the program. -After the -translator is started, it need not be run again unless it dies; the parent -filesystem retains a port to the translator to use in further requests. -

-The owner of a file can associate a translator with it without special -permission. -This means that any program can be specified as a translator. -Obviously the system will not work properly if the translator does not -implement the file protocol correctly. -However, the Hurd is constructed so -that the worst possible consequence is an interruptible hang. -

-One way to use translators is to access hierarchically structured data using -the file protocol. -For example, all the complexity of the user interface to -the -ftp -program is removed. -Users need only know that a particular -directory represents FTP and can use all the standard file manipulation -commands (e.g -ls -or -cp) -to access the remote system, rather than learning -a new set. -Similarly, a simple translator could ease the complexity of -tar -or -gzip. -(Such transparent access would have some added cost, but it would -be convenient.) - -

Generic Services

-

-With translators, the filesystem can act as a rendezvous for interfaces which -are not similar to files. -Consider a service which implements some version -of the X protocol, using Mach messages as an underlying transport. -For each -X display, a file can be created with the appropriate program as its -translator. -X clients would open that file. -At that point, few file -operations would be useful (read and write, for example, would be useless), -but new operations ( -XCreateWindow -or -XDrawText) -might become meaningful. -In this case, the filesystem protocol is used only to manipulate -characteristics of the node used for the rendezvous. -The node need not -support I/O operations, though it should reply to any such messages with a -message_not_understood -return code. -

-This translator technique is used to contact most of the services in the Hurd -that are not structured like hierarchical filesystems. -For example, the -password server, which hands out authorization tags in exchange for -passwords, is contacted this way. -Network protocol servers are also -contacted in this fashion. -Roland McGrath thought up this use of translators. - -

Clever Filesystem Pictures

-

-In the Hurd, translators can also be used to present a filesystem-like view -of another part of the filesystem, with some semantics changed. -For example, -it would be nice to have a filesystem that cannot itself be changed, but -nonetheless records changed versions of its files elsewhere. -(This could be -useful for source code management.) -

-The Hurd will have a translator which creates a directory which is a -conceptual union of other directories, with collision resolution rules of -various sorts. -This can be used to present a single directory to users that -contains all the programs they would want to execute. -There are other useful -variations on this theme. - -

What The User Can Do

-

-No translator gains extra privilege by virtue of being hooked into the -filesystem. -Translators run with the uid of the owner of the file being -translated, and can only be set or changed by that owner. -The I/O and -filesystem protocols are carefully designed to allow their use by mutually -untrusting clients and servers. -Indeed, translators are just ordinary -programs. -The GNU C library has a variety of facilities to make common sorts -of translators easier to write. -

-Some translators may need special privileges, such as the password server or -translators which allow setuid execution. -These translators could be run by -anyone, but only if they are set on a root-owned node would they be able to -provide all their services successfully. -This is analogous to letting any -user call the -reboot -system call, but only honoring it if that user is root. - -

Why This Is So Different

-

-What this design provides is completely novel to the Unix world. -Until now, -OSs have kept huge portions of their functionality in the realm of system -code, thus preventing its modification and extension except in extreme need. -Users cannot replace parts of the system in their programs no matter how much -easier that would make their task, and system managers are loath to install -random tweaks off the net into their kernels. -

-In the Hurd, users can change almost all of the things that are decided for -them in advance by traditional systems. -In combination with the tremendous -control given by the Mach kernel over task address spaces and properties, the -Hurd provides a system in which users will, for the first time, be able to -replace parts of the system they dislike, without disrupting other users. -

-Most Mach-based OSs to date have mostly implemented a wider set of the - -same old - -Unix semantics in a new environment. -In contrast, GNU is extending -those semantics to allow users to improve, bypass, or replace them. - - -

Part 2: A Look at Some of the Hurd's Beasts

-

The Authentication Server

-

-One of the Hurd's more central servers is the authentication server. -Each -port to this server identifies a user and is associated by this server with -an -id block. -Each id block contains sets of user and group ids. -Either -set may be empty. -This server is not the same as the password server -referred to above. -

-The authentication server exports three services. -First, it provides simple -boolean operations on authentication ports: given two authentication ports, -this server will provide a third port representing the union of the two sets -of uids and gids. -Second, this server allows any user with a uid of zero to -create an arbitrary authentication port. -Finally, this server provides RPCs -(Remote Procedure Calls between different programs and possibly different -hosts) which allow mutually untrusting clients and servers to establish their -identities and pass initial information on each other. -This is crucial to -the security of the filesystem and I/O protocols. -

-Any user could write a program which implements the authentication protocol; -this does not violate the system's security. -When a service needs to -authenticate a user, it communicates with its trusted authentication server. -If that user is using a different authentication server, the transaction will -fail and the server can refuse to communicate further. -Because, in effect, -this forces all programs on the system to use the same authentication server, -we have designed its interface to make any safe operation possible, and to -include no extraneous operations. -(This is why there is a separate password -server.) -

The Process Server

-

-The process server acts as an information categorization repository. -There -are four main services supported by this server. -First, the process server -keeps track of generic host-level information not handled by the Mach kernel. -For example, the hostname, the hostid, and the system version are maintained -by the process server. -Second, this server maintains the Posix notions of -sessions and process groups, to help out programs that wish to use Posix -features. -

-Third, the process server maintains a one-to-one mapping between Mach tasks -and Hurd processes. -Every task is assigned a pid. -Processes can register a -message port with this server, which can then be given out to any program -which requests it. -This server makes no attempt to keep these message ports -private, so user programs are expected to implement whatever security they -need themselves. -(The GNU C Library provides convenient functions for all -this.) Processes can tell the process server their current `argv' and `envp' -values; this server will then provide, on request, these vectors of arguments -and environment. -This is useful for writing -ps-like -programs and also -makes it easier to hide or change this information. -None of these features -are mandatory. -Programs are free to disregard all of this and never register -themselves with the process server at all. -They will, however, still have a -pid assigned. -

-Finally, the process server implements -process collections, -which are used -to collect a number of process message ports at the same time. -Also, -facilities are provided for converting between pids, process server ports, -and Mach task ports, while ensuring the security of the ports managed. -

-It is important to stress that the process server is optional. -Because of -restrictions in Mach, programs must run as root in order to identify all the -tasks in the system. -But given that, multiple process servers could -co-exist, each with their own clients, giving their own model of the -universe. -Those process server features which do not require root privileges -to be implemented could be done as per-user servers. -The user's hands are -not tied. -

Transparent FTP

-

-Transparent FTP is an intriguing idea whose time has come. -The popular -ange-ftp -package available for GNU Emacs makes access to FTP files -virtually transparent to all the Emacs file manipulation functions. -Transparent FTP does the same thing, but in a system wide fashion. -This -server is not yet written; the details remain to be fleshed out, and will -doubtless change with experience. -

-In a BSD kernel, a transparent FTP filesystem would be no harder to write -than in the Hurd. -But mention the idea to a BSD kernel hacker, and the -response is that ``such a thing doesn't belong in the kernel''. -In a sense, -this is correct. -It violates all the layering principles of such systems to -place such things in the kernel. -The unfortunate side effect, however, is -that the design methodology (which is based on preventing users from changing -things they don't like) is being used to prevent system designers from making -things better. -(Recent BSD kernels make it possible to write a user program -that provides transparent FTP. -An example is -alex, -but it needs to run -with full root privileges.) -

-In the Hurd, there are no obstacles to doing transparent FTP. -A translator -will be provided for the node -/ftp. -The contents of -/ftp -will probably -not be directly listable, though further subdirectories will be. -There will -be a variety of possible formats. -For example, to access files on uunet, one -could - -cd /ftp/ftp.uu.net:anonymous:mib@gnu. - -Or to access files on a remote -account, one might - -cd /ftp/gnu.org:mib:passwd. - -Parts of this -command could be left out and the transparent FTP program would read them -from a user's -.netrc -file. -In the last case, one might just - -cd /ftp/gnu.org; - -when the rest of the data is already in -.netrc. -

-There is no need to do a -cd -first--use any file command. -To find out about -RFC 1097 (the Telnet Subliminal Message Option), just type - -more /ftp/ftp.uu.net/inet/rfc/rfc1097. - -A copy command to a local disk -could be used if the RFC would be read frequently. -

Filesystems

-

-Ordinary filesystems are also being implemented. -The initial release of the -Hurd will contain a filesystem upwardly compatible with the BSD 4.4 Fast File -System. -In addition to the ordinary semantics, it will provide means to -record translators, offer thirty-two bit user ids and group ids, and supply a -new id per file, called the -author -of the file, which can be set by the -owner arbitrarily. -In addition, because users in the Hurd can have multiple -uids (or even none), there is an additional set of permission bits providing -access control for - -unknown user - -(no uids) as distinct from - -known but arbitrary user - -(some uids: the existing -world -category of file -permissions). -

-The Network File System protocol will be implemented using 4.4 BSD as a -starting point. -A log-structured filesystem will also be implemented using -the same ideas as in Sprite, but probably not the same format. -A GNU network -file protocol may be designed in time, or NFS may be extended to remove its -deficiencies. -There will also be various ``little'' filesystems, such as the -MS-DOS filesystem, to help people move files between GNU and other OSs. - -

Terminals

-

-An I/O server will provide the terminal semantics of Posix. -The GNU C -Library has features for keeping track of the controlling terminal and for -arranging to have proper job control signals sent at the proper times, as -well as features for obeying keyboard and hangup signals. -

-Programs will be able to insert a terminal driver into communications -channels in a variety of ways. -Servers like -rlogind -will be able to insert -the terminal protocol onto their network communication port. -Pseudo-terminals will not be necessary, though they will be provided for -backward compatibility with older programs. -No programs in GNU will depend -on them. -

-Nothing about a terminal driver is forced upon users. -A terminal driver -allows a user to get at the underlying communications channel easily, to -bypass itself on an as-needed basis or altogether, or to substitute a -different terminal driver-like program. -In the last case, provided the -alternate program implements the necessary interfaces, it will be used by the -C Library exactly as if it were the ordinary terminal driver. -

-Because of this flexibility, the original terminal driver will not provide -complex line editing features, restricting itself to the behavior found in -Posix and BSD. -In time, there will be a -readline-based -terminal driver, -which will provide complex line-editing features for those users who want -them. -

-The terminal driver will probably not provide good support for the -high-volume, rapid data transmission required by UUCP or SLIP. -Those -programs do not need any of its features. -Instead they will be using the -underlying Mach device ports for terminals, which support moving large -amounts of data efficiently. - -

Executing Programs

-

-The implementation of the -execve -call is spread across three programs. -The -library marshals the argument and environment vectors. -It then sends a -message to the file server that holds the file to be executed. -The file -server checks execute permissions and makes whatever changes it desires in -the exec call. -For example, if the file is marked setuid and the fileserver -has the ability, it will change the user identification of the new image. -The file server also decides if programs which had access to the old task -should continue to have access to the new task. -If the file server is -augmenting permissions, or executing an unreadable image, then the exec needs -to take place in a new Mach task to maintain security. -

-After deciding the policy associated with the new image, the filesystem calls -the exec server to load the task. -This server, using the BFD (Binary File -Descriptor) library, loads the image. -BFD supports a large number of object -file formats; almost any supported format will be executable. -This server -also handles scripts starting with -#!, -running them through the indicated -program. -

-The standard exec server also looks at the environment of the new image; if -it contains a variable -EXECSERVERS -then it uses the programs specified -there as exec servers instead of the system default. -(This is, of course, -not done for execs that the file server has requested be kept secure.) -

-The new image starts running in the GNU C Library, which sends a message to -the exec server to get the arguments, environment, umask, current directory, -etc. -None of this additional state is special to the file or exec servers; -if programs wish, they can use it in a different manner than the Library. - -

New Processes

-

-The -fork -call is implemented almost entirely in the GNU C Library. -The new -task is created by Mach kernel calls. -The C Library arranges to have its -image inherited properly. -The new task is registered with the process server -(though this is not mandatory). -The C Library provides vectors of functions -to be called at fork time: one vector to be called before the fork, one after -in the parent, and one after in the child. -(These features should not be -used to replace the normal fork-calling sequence; it is intended for -libraries which need to close ports or clean up before a fork occurs.) -The C -library will implement both fork calls specified by the draft Posix.4a (the -proposed standard dealing with the threads extension to the real-time -extension). -

-Nothing forces the user to create new tasks this way. -If a program wants to -use almost the normal fork, but with some special characteristics, then it -can do so. -Hooks will be provided by the C Library, or the function can even -be completely replaced. -None of this is possible in a traditional Unix -system. - -

Asynchronous Messages

-

-As mentioned above, the process server maintains a - -message port - -for each -task registered with it. -These ports are public, and are used to send -asynchronous messages to the task. -Signals, for example, are sent to the -message port. -The signal message also provides a port as an indication that -the sender should be trusted to send the signal. -The GNU C Library lists a -variety of ports in a table, each of which identifies a set of signals that -can be sent by anyone who possesses that port. -For example, if the user -possesses the task's kernel port, it is allowed to send any signal. -If the -user possesses a special - -terminal id - -port, it is allowed to send the -keyboard and hangup signals. -Users can add arbitrary new entries into the C -library's signal permissions table. -

-When a process's process group changes, the process server will send it a -message indicating the new process group. -In this case, the process server -proves its authority by providing the task's kernel port. -

-The C library also has messages to add and delete uids currently used by the -process. -If new uids are sent to the program, the library adds them to its -current set, and then exchanges messages with all the I/O servers it knows -about, proving to them its new authorization. -Similarly, a message can -delete uids. -In the latter case, the caller must provide the process's task -port. -(You can't harm a process by giving it extra permission, but you can -harm it by taking permission away.) The Hurd will provide user programs to -send these messages to processes. -For example, the -su -command will be able -to cause all the programs in your current login session, to gain a new uid, -rather than spawn a subshell. -

-The C library will allow programs to add asynchronous messages they wish to -recognize, as well as prevent recognition of the standard set. -

Making It Look Like Unix

-

-The C Library will implement all of the calls from BSD and Posix as well as -some obvious extensions to them. -This enables users to replace those calls -they dislike or bypass them entirely, whereas in Unix the calls must be used -``as they come'' with no alternatives possible. -

-In some environments binary compatibility will also be supported. -This works -by building a special version of the library which is then loaded somewhere -in the address space of the process. -(For example, on a VAX, it would be -tucked in above the stack.) A feature of Mach, called system call -redirection, is then used to trap Unix system calls and turn them into jumps -into this special version of the library. -(On almost all machines, the cost -of such a redirection is very small; this is a highly optimized path in Mach. -On a 386 it's about two dozen instructions. -This is little worse than a -simple procedure call.) -

-Many features of Unix, such as signal masks and vectors, are handled -completely by the library. -This makes such features significantly cheaper -than in Unix. -It is now reasonable to use -sigblock -extensively to protect -critical sections, rather than seeking out some other, less expensive method. - -

Network Protocols

-

-The Hurd will have a library that will make it very easy to port 4.4 BSD -protocol stacks into the Hurd. -This will enable operation, virtually for -free, of all the protocols supported by BSD. -Currently, this includes the -CCITT protocols, the TCP/IP protocols, the Xerox NS protocols, and the ISO -protocols. -

-For optimal performance some work would be necessary to take advantage of -Hurd features that provide for very high speed I/O. -For most protocols this -will require some thought, but not too much time. -The Hurd will run the -TCP/IP protocols as efficiently as possible. -

-As an interesting example of the flexibility of the Hurd design, consider the -case of IP trailers, used extensively in BSD for performance. -While the Hurd -will be willing to send and receive trailers, it will gain fairly little -advantage in doing so because there is no requirement that data be copied and -avoiding copies for page-aligned data is irrelevant. - -


- -[ - - - English -| Hebrew -| Turkish -] - -
- -Return to GNU's home page. -

-FSF & GNU inquiries & questions to -gnu@gnu.org. -Other ways to contact the FSF. -

-Comments on these web pages to -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 1996 Trent Fisher -
-Copyright (C) 1996, 1997, 1998, 2007 Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved.

-Updated: - -19 Dec 1998 jonas - -


- - diff --git a/hurd-talk.html b/hurd-talk.html deleted file mode 100644 index 630bbc7d..00000000 --- a/hurd-talk.html +++ /dev/null @@ -1,1151 +0,0 @@ - - - -The GNU Hurd - GNU Project - Free Software Foundation (FSF) - - - - - - - - - - - - -
- [image of the Hurd logo] -[ - - - English -] -
-What's New

-ChangeLogs

-Documentation
-

-GNU Hurd

-Installation
-Getting Help
-Source Code
-Development
-History

-GNU Mach

-Installation
-Source Code

-GNU MIG

-Source Code

-Related Projects -

-
-

Table of Contents

- -
-

Talk about the Hurd

-

-This talk about the Hurd was written by Marcus Brinkmann for -

    -
  • OSDEM, Brussels, 4. Feb 2001, -
  • Frühjahrsfachgespräche, Cologne, 2. Mar 2001 and -
  • Libre Software Meeting, Bordeaux, 4. Jul 2001. -
- -

Introduction

-

-When we talk about free software, we usually refer to the free -software licenses. We also need relief from software patents, so our -freedom is not restricted by them. But there is a third type of -freedom we need, and that's user freedom. - -

-Expert users don't take a system as it is. They like to change the -configuration, and they want to run the software that works best for -them. That includes window managers as well as your favourite text -editor. But even on a GNU/Linux system consisting only of free -software, you can not easily use the filesystem format, network -protocol or binary format you want without special privileges. In -traditional unix systems, user freedom is severly restricted by the -system administrator. - -

-The Hurd removes these restrictions from the user. It provides an -user extensible system framework without giving up POSIX compatibility -and the unix security model. Throughout this talk, we will see that -this brings further advantages beside freedom. - -

Overview

-
- -

-The Hurd is a POSIX compatible multi-server -system operating on top of the GNU Mach microkernel. - -

-Topics: -

    -
  • GNU Mach
  • -
  • The Hurd
  • -
  • Development
  • -
  • Debian GNU/Hurd
  • -
-
- -

-The Hurd is a POSIX compatible multi-server system operating on top of -the GNU Mach Microkernel. - -

-I will have to explain what GNU Mach is, so we start with that. Then -I will talk about the Hurd's architecture. After that, I will give a -short overview on the Hurd libraries. Finally, I will tell you how -the Debian project is related to the Hurd. - -

Historicals

- -
-
    -
  • 1983: Richard Stallman founds the GNU project.
  • -
  • 1988: Decision is made to use Mach 3.0 as the kernel.
  • -
  • 1991: Mach 3.0 is released under compatible license.
  • -
  • 1991: Thomas Bushnell, BSG, founds the Hurd project.
  • -
  • 1994: The Hurd boots the first time.
  • -
  • 1997: Version 0.2 of the Hurd is released.

  • -
  • 1998: Debian hurd-i386 archive is created.
  • -
  • 2001: Debian GNU/Hurd snapshot fills three CD images.
  • -
-
- -

-When Richard Stallman founded the GNU project in 1983, he wanted to -write an operating system consisting only of free software. Very -soon, a lot of the essential tools were implemented, and released -under the GPL. However, one critical piece was missing: The kernel. -

-After considering several alternatives, it was decided not to write a -new kernel from scratch, but to start with the Mach microkernel. This -was in 1988, and it was not before 1991 that Mach was released under a -license allowing the GNU project to distribute it as a part of the -system. -

-In 1998, I started the Debian GNU/Hurd project, and in 2001 the number -of available GNU/Hurd packages fills three CD images. - -

Kernel Architectures

-
-

-Microkernel: -

    -
  • Enforces resource management (paging, scheduling)
  • -
  • Manages tasks
  • -
  • Implements message passing for IPC
  • -
  • Provides basic hardware support
  • -
-

-Monolithic kernel: -

    -
  • No message passing necessary
  • -
  • Rich set of features (filesystems, authentication, network - sockets, POSIX interface, ...)
  • -
-
-

-Microkernels were very popular in the scientific world around that -time. They don't implement a full operating system, but only the -infrastructure needed to enable other tasks to implement most -features. In contrast, monolithical kernels like Linux contain -program code of device drivers, network protocols, process management, -authentication, file systems, POSIX compatible interfaces and much -more. -

-So what are the basic facilities a microkernel provides? In general, -this is resource management and message passing. Resource management, -because the kernel task needs to run in a special privileged mode of -the processor, to be able to manipulate the memory management unit and -perform context switches (also to manage interrupts). Message -passing, because without a basic communication facility the other -tasks could not interact to provide the system services. Some -rudimentary hardware device support is often necessary to bootstrap -the system. So the basic jobs of a microkernel are enforcing the -paging policy (the actual paging can be done by an external pager -task), scheduling, message passing and probably basic hardware device -support. -

-Mach was the obvious choice back then, as it provides a rich set of -interfaces to get the job done. Beside a rather brain-dead device -interface, it provides tasks and threads, a messaging system allowing -synchronous and asynchronous operation and a complex interface for -external pagers. It's certainly not one of the sexiest microkernels -that exist today, but more like a big old mama. The GNU project -maintains its own version of Mach, called GNU Mach, which is based on -Mach 4.0. In addition to the features contained in Mach 4.0, the GNU -version contains many of the Linux 2.0 block device and network card -drivers. -

-A complete treatment of the differences between a microkernel and -monolithical kernel design can not be provided here. But a couple of -advantages of a microkernel design are fairly obvious. - -

Micro vs Monolithic

-
-

-Microkernel -

    -
  • Clear cut responsibilities -
  • Flexibility in operating system design, easier debugging
  • -
  • More stability (less code to break)
  • -
  • New features are not added to the kernel
  • -
-

-Monolithic kernel -

    -
  • Intolerance or creeping featuritis
  • -
  • Danger of spaghetti code
  • -
  • Small changes can have far reaching side effects
  • -
-
-

-Because the system is split up into several components, clean -interfaces have to be developed, and the responsibilities of each part -of the system must be clear. -

-Once a microkernel is written, it can be used as the base for several -different operating systems. Those can even run in parallel which -makes debugging easier. When porting, most of the hardware dependant -code is in the kernel. -

-Much of the code that doesn't need to run in the special kernel mode -of the processor is not part of the kernel, so stability increases -because there is simply less code to break. -

-New features are not added to the kernel, so there is no need to hold -the barrier high for new operating system features. -

-Compare this to a monolithical kernel, where you either suffer from -creeping featuritis or you are intolerant of new features (we see both -in the Linux kernel). -

-Because in a monolithical kernel, all parts of the kernel can access -all data structures in other parts, it is more likely that short cuts -are used to avoid the overhead of a clean interface. This leads to a -simple speed up of the kernel, but also makes it less comprehensible -and more error prone. A small change in one part of the kernel can -break remote other parts. - -

Single Server vs Multi Server

-
-

-Single Server -

    -
  • A single task implements the functionality of the operating system.
  • -
-

-Multi Server -

    -
  • Many tasks cooperate to provide the system's functionality.
  • -
  • One server provides only a small but well-defined part of the - whole system.
  • -
  • The responsibilities are distributed logically among the servers.
  • -
-

-A single-server system is comparable to a monolithic kernel system. It -has similar -advantages and disadvantages. -

-

-There exist a couple of operating systems based on Mach, but they all -have the same disadvantages as a monolithical kernel, because those -operating systems are implemented in one single process running on top -of the kernel. This process provides all the services a monolithical -kernel would provide. This doesn't make a whole lot of sense (the -only advantage is that you can probably run several of such isolated -single servers on the same machine). Those systems are also called -single-server systems. The Hurd is the only usable multi-server -system on top of Mach. In the Hurd, there are many server programs, -each one responsible for a unique service provided by the operating -system. These servers run as Mach tasks, and communicate using the -Mach message passing facilities. One of them does only provide a -small part of the functionality of the system, but together they build -up a complete and functional POSIX compatible operating system. - -

Multi Server is superior, ...

-
-

-Any multi-server has advantages over single-server: -

    -
  • Clear cut responsibilities
  • -
  • More stability: If one server dies, all others remain
  • -
  • Easier development cycle: Testing without reboot (or replacing - running servers), debugging with gdb
  • -
  • Easier to make changes and add new features -
-
-

-Using several servers has many advantages, if done right. If a file -system server for a mounted partition crashes, it doesn't take down -the whole system. Instead the partition is "unmounted", and -you can try to start the server again, probably debugging it this time -with gdb. The system is less prone to errors in individual -components, and over-all stability increases. The functionality of -the system can be extended by writing and starting new servers -dynamically. (Developing these new servers is easier for the reasons -just mentioned.) -

-But even in a multi-server system the barrier between the system and -the users remains, and special privileges are needed to cross it. We -have not achieved user freedom yet. - -

The Hurd even more so.

-
-

-The Hurd goes beyond all this, and allows users to write and run their -servers, too! -

    -
  • Users can replace system servers dynamically with their own - implementations.
  • -
  • Users can decide what parts of the remainder of the system they - want to use.
  • -
  • Users can extend the functionality of the system.
  • -
  • No mutual trust necessary to make use of other users - services.
  • -
  • Security of the system is not harmed by trusting users - services.
  • -
-
-

-To quote Thomas Bushnell, BSG, from his paper -``A new strategy towards OS -design'' (1996): -

-The GNU Hurd, by contrast, is designed to make the area of system code -as limited as possible. Programs are required to communicate only -with a few essential parts of the kernel; the rest of the system is -replaceable dynamically. Users can use whatever parts of the -remainder of the system they want, and can easily add components -themselves for other users to take advantage of. No mutual trust need -exist in advance for users to use each other's services, nor does the -system become vulnerable by trusting the services of arbitrary users. -
- -

-So the Hurd is a set of servers running on top of the Mach -micro-kernel, providing a POSIX compatible and extensible operating -system. What servers are there? What functionality do they provide, -and how do they cooperate? - -

Mach Inter Process Communication

-
-

-Ports are message queues which can be used as one-way communication -channels. -

    -
  • Port rights are receive, send or send-once
  • -
  • Exactly one receiver
  • -
  • Potentially many senders
  • -
-

-MIG provides remote procedure calls on top of Mach IPC. RPCs look like -function calls to the user. -

-

-Inter-process communication in Mach is based on the ports concept. A -port is a message queue, used as a one-way communication channel. In -addition to a port, you need a port right, which can be a send right, -receive right, or send-once right. Depending on the port right, you -are allowed to send messages to the server, receive messages from it, -or send just one single message. -

-For every port, there exists exactly one task holding the receive -right, but there can be no or many senders. The send-once right is -useful for clients expecting a response message. They can give a -send-once right to the reply port along with the message. The kernel -guarantees that at some point, a message will be received on the reply -port (this can be a notification that the server destroyed the -send-once right). -

-You don't need to know much about the format a message takes to be -able to use the Mach IPC. The Mach interface generator mig hides the -details of composing and sending a message, as well as receiving the -reply message. To the user, it just looks like a function call, but -in truth the message could be sent over a network to a server running -on a different computer. The set of remote procedure calls a server -provides is the public interface of this server. - - -

How to get a port?

-
-

-Traditional Mach: -

    -
  • Nameserver provides ports to all registered servers.
  • -
  • The nameserver port itself is provided by Mach.
  • -
  • Like a phone book: One list.
  • -
-

-The Hurd: -

    -
  • The filesystem is used as the server namespace.
  • -
  • Root directory port is inserted into each task.
  • -
  • The C library finds other ports with hurd_file_name_lookup, - performing a pathname resolution.
  • -
  • Like a tree of phone books.
  • -
-
-

-So how does one get a port to a server? You need something like a -phone book for server ports, or otherwise you can only talk to -yourself. In the original Mach system, a special nameserver is -dedicated to that job. A task could get a port to the nameserver from -the Mach kernel and ask it for a port (with send right) to a server -that registered itself with the nameserver at some earlier time. -

-In the Hurd, there is no nameserver. Instead, the filesystem is used -as the server namespace. This works because there is always a root -filesystem in the Hurd (remember that the Hurd is a POSIX compatible -system); this is an assumption the people who developed Mach couldn't -make, so they had to choose a different strategy. You can use the -function hurd_file_name_lookup, which is part of the C library, to get -a port to the server belonging to a filename. Then you can start to -send messages to the server in the usual way. - -

Example of hurd_file_name_lookup

-
-mach_port_t identity;
-mach_port_t pwserver;
-kern_return_t err;
-
-pwserver = hurd_file_name_lookup
-                ("/servers/password");
-
-err = password_check_user (pwserver,
-                           0 /* root */, "supass",
-                           &identity);
-
-

-As a concrete example, the special filename -/servers/password can be used to request a port to the -Hurd password server, which is responsible to check user provided -passwords. -

-(explanation of the example) - -

Pathname resolution example

-
-

-Task: Lookup /mnt/readme.txt where /mnt has a mounted filesystem. -

    -
  • The C library asks the root filesystem server about - /mnt/readme.txt.
  • -
  • The root filesystem returns a port to the mnt filesystem server - (matching /mnt) and the retry name - /readme.txt.
  • -
  • The C library asks the mnt filesystem server about - /readme.txt.
  • -
  • The mnt filesystem server returns a port to itself and records - that this port refers to the regular file - /readme.txt.
  • -
-
-

-The C library itself does not have a full list of all available -servers. Instead pathname resolution is used to traverse through a -tree of servers. In fact, filesystems themselves are implemented by -servers (let us ignore the chicken and egg problem here). So all the -C library can do is to ask the root filesystem server about the -filename provided by the user (assuming that the user wants to resolve -an absolute path), using the dir_lookup RPC. If the -filename refers to a regular file or directory on the filesystem, the -root filesystem server just returns a port to itself and records that -this port corresponds to the file or directory in question. But if a -prefix of the full path matches the path of a server the root -filesystem knows about, it returns to the C library a port to this -server and the remaining part of the pathname that couldn't be -resolved. The C library than has to retry and query the other server -about the remaining path component. Eventually, the C library will -either know that the remaining path can't be resolved by the last -server in the list, or get a valid port to the server in question. - -

Mapping the POSIX Interface

-
- - - - - - - - - - - - - - - - - - - -
FiledescriptorPort to server providing the file
fd = open(name,...)dir_lookup(..,name,..,&port)
-[pathname resolution]
read(fd, ...)io_read(port, ...)
write(fd, ...)io_write(port, ...)
fstat(fd, ...)io_stat(port, ...)
...
-
-

-It should by now be obvious that the port returned by the server can -be used to query the files status, content and other information from -the server, if good remote procedure calls to do that are defined and -implemented by it. This is exactly what happens. Whenever a file is -opened using the C libraries open() call, the C library -uses the above pathname resolution to get a port to a server providing -the file. Then it wraps a file descriptor around it. So in the Hurd, -for every open file descriptor there is a port to a server providing -this file. Many other C library calls like read() and -write() just call a corresponding RPC using the port -associated with the file descriptor. - -

File System Servers

-
-
    -
  • Provide file and directory services for ports (and more).
  • -
  • These ports are returned by a directory lookup.
  • -
  • Translate filesystem accesses through their root path (hence the - name translator).
  • -
  • The C library maps the POSIX file and directory interface (and - more) to RPCs to the filesystem servers ports, but also does work on - its own.
  • -
  • Any user can install file system servers on inodes they own.
  • -
-
-

-So we don't have a single phone book listing all servers, but rather a -tree of servers keeping track of each other. That's really like -calling your friend and asking for the phone number of the blond girl -at the party yesterday. He might refer you to a friend who hopefully -knows more about it. Then you have to retry. -

-This mechanism has huge advantages over a single nameserver. First, -note that standard unix permissions on directories can be used to -restrict access to a server (this requires that the filesystems -providing those directories behave). You just have to set the -permissions of a parent directory accordingly and provide no other way -to get a server port. -

-But there are much deeper implications. Most of all, a pathname never -directly refers to a file, it refers to a port of a server. That -means that providing a regular file with static data is just one of -the many options the server has to service requests on the file port. -A server can also create the data dynamically. For example, a server -associated with /dev/random can provide new random data -on every io_read() on the port to it. A server -associated with /dev/fortune can provide a new fortune -cookie on every open(). -

-While a regular filesystem server will just serve the data as stored -in a filesystem on disk, there are servers providing purely virtual -information, or a mixture of both. It is up to the server to behave -and provide consistent and useful data on each remote procedure call. -If it does not, the results may not match the expectations of the user -and confuse him. -

-A footnote from the Hurd info manual: -

-(1) You are lost in a maze of twisty little filesystems, all -alike.... -
-

-Because a server installed in the filesystem namespace translates all -filesystem operations that go through its root path, such a server is -also called "active translator". You can install translators using -the settrans command with the -a option. - -

Active vs Passive

-
-

-Active Translators: -

    -
  • "settrans -a /cdrom /hurd/isofs /dev/hd2"
  • -
  • Are running filesystem servers.
  • -
  • Are attached to the root node they translate.
  • -
  • Run as a normal process.
  • -
  • Go away with every reboot, or even time out.
  • -
-
-

-Many translator settings remain constant for a long time. It would be -very lame to always repeat the same couple of dozens settrans calls -manually or at boot time. So the Hurd provides a filesystem extension -that allows to store translator settings inside the filesystem and let -the filesystem servers do the work to start those servers on demand. -Such translator settings are called "passive translators". A passive -translator is really just a command line string stored in an inode of -the filesystem. If during a pathname resolution a server encounters -such a passive translator, and no active translator does exist already -(for this node), it will use this string to start up a new translator -for this inode, and then let the C library continue with the path -resolution as described above. Passive translators are installed with -settrans using the -p option (which is already the -default). - -
-

-Passive Translators: -

    -
  • "settrans /mnt /hurd/ext2fs /dev/hd1s1"
  • -
  • Are stored as command strings into an inode.
  • -
  • Are used to start a new active translator if there isn't - one.
  • -
  • Startup is transparent to the user.
  • -
  • Startup happens the first time the server is needed.
  • -
  • Are permanent across reboots (like file data).
  • -
-
-

-So passive translators also serve as a sort of automounting feature, -because no manual interaction is required. The server start up is -deferred until the service is need, and it is transparent to the user. -

-When starting up a passive translator, it will run as a normal process -with the same user and group id as those of the underlying inode. Any -user is allowed to install passive and active translators on inodes -that he owns. This way the user can install new servers into the -global namespace (for example, in his home or tmp directory) and thus -extend the functionality of the system (recall that servers can -implement other remote procedure calls beside those used for files and -directories). A careful design of the trusted system servers makes -sure that no permissions leak out. -

-In addition, users can provide their own implementations of some of -the system servers instead the system default. For example, they can -use their own exec server to start processes. The user specific exec -server could for example start java programs transparently (without -invoking the interpreter manually). This is done by setting the -environment variable EXECSERVERS. The systems default -exec server will evaluate this environment variable and forward the -RPC to each of the servers listed in turn, until some server accepts -it and takes over. The system default exec server will only do this -if there are no security implications. (XXX There are other ways to -start new programs than by using the system exec server. Those are -still available.) -

-Let's take a closer look at some of the Hurd servers. It was already -mentioned that only few system servers are mandatory for users. To -establish your identity within the Hurd system, you have to -communicate with the trusted systems authentication server -auth. To put the system administrator into control over -the system components, the process server does some global -bookkeeping. -

-But even these servers can be ignored. However, registration with the -authentication server is the only way to establish your identity -towards other system servers. Likewise, only tasks registered as -processes with the process server can make use of its services. - -

Authentication

-
-

-A user identity is just a port to an authserver. The auth server -stores four set of ids for it: -

    -
  • effective user ids
  • -
  • effective group ids
  • -
  • available user ids
  • -
  • available group ids
  • -
-

-Basic properties: -

    -
  • Any of these can be empty.
  • -
  • A 0 among the user ids identifies the superuser.
  • -
  • Effective ids are used to check if the user has the - permission.
  • -
  • Available ids can be turned into effective ids on user - request.
  • -
-
-

-The Hurd auth server is used to establish the identity of a user for a -server. Such an identity (which is just a port to the auth server) -consists of a set of effective user ids, a set of effective group ids, -a set of available user ids and a set of available group ids. Any of -these sets can be empty. - -

Operations on authentication ports

-
-

-The auth server provides the following operations on ports: -

    -
  • Merge the ids of two ports into a new one.
  • -
  • Return a new port containing a subset of the ids in a port.
  • -
  • Create a new port with arbitrary ids (superuser only).
  • -
  • Establish a trusted connection between users and servers.
  • -
-
-

-If you have two identities, you can merge them and request an identity -consisting of the unions of the sets from the auth server. You can -also create a new identity consisting only of subsets of an identity -you already have. What you can't do is extending your sets, unless -you are the superuser which is denoted by having the user id 0. - -

Establishing trusted connections

-
-
    -
  • User provides a rendezvous port to the server (with - io_reauthenticate).
  • -
  • User calls auth_user_authenticate on the - authentication port (his identity), passing the rendezvous port.
  • -
  • Server calls auth_server_authenticate on its - authentication port (to a trusted auth server), passing the - rendezvous port and the server port.
  • -
  • If both authentication servers are the same, it can match the - rendezvous ports and return the server port to the user and the user - ids to the server.
  • -
-
-

-Finally, the auth server can establish the identity of a user for a -server. This is done by exchanging a server port and a user identity -if both match the same rendezvous port. The server port will be -returned to the user, while the server is informed about the id sets -of the user. The server can then serve or reject subsequent RPCs by -the user on the server port, based on the identity it received from -the auth server. -

-Anyone can write a server conforming to the auth protocol, but of -course all system servers use a trusted system auth server to -establish the identity of a user. If the user is not using the system -auth server, matching the rendezvous port will fail and no server port -will be returned to the user. Because this practically requires all -programs to use the same auth server, the system auth server is -minimal in every respect, and additional functionality is moved -elsewhere, so user freedom is not unnecessarily restricted. - -

Password Server

-
-

-The password server /servers/password runs as root and -returns a new authentication port in exchange for a unix password. -

-The ids corresponding to the authentication port match the unix user -and group ids. -

-Support for shadow passwords is implemented here. -

-

-The password server sits at /servers/password and runs as -root. It can hand out ports to the auth server in exchange for a unix -password, matching it against the password or shadow file. Several -utilities make use of this server, so they don't need to be setuid -root. - -

Process Server

-
-

-The superuser must remain control over user tasks, so: -

    -
  • All mach tasks are associated with a PID in the system default - proc server.
  • -
-

-Optionally, user tasks can store: -

    -
  • Their environment variables.
  • -
  • Their argument vector.
  • -
  • A port, which others can request based on the PID (like a - nameserver).
  • -
-

-Also implemented in the proc server: -

    -
  • Sessions and process groups.
  • -
  • Global configuration not in Mach, like hostname, hostid, system - version.
  • -
-
-

-The process server is responsible for some global bookkeeping. As -such it has to be trusted and is not replaceable by the user. -However, a user is not required to use any of its service. In that -case the user will not be able to take advantage of the POSIXish -appearance of the Hurd. -

-The Mach Tasks are not as heavy as POSIX processes. For example, -there is no concept of process groups or sessions in Mach. The proc -server fills in the gap. It provides a PID for all Mach tasks, and -also stores the argument line, environment variables and other -information about a process (if the mach tasks provide them, which is -usually the case if you start a process with the default -fork()/exec()). A process can also register -a message port with the proc server, which can then be requested by -anyone. So the proc server also functions as a nameserver using the -process id as the name. -

-The proc server also stores some other miscellaneous information not -provided by Mach, like the hostname, hostid and system version. -Finally, it provides facilities to group processes and their ports -together, as well as to convert between pids, process server ports and -mach task ports. -
-

-User tasks not registering themselve with proc only have a PID assigned. -

-Users can run their own proc server in addition to the system default, -at least for those parts of the interface that don't require superuser -privileges. -

-

-Although the system default proc server can't be avoided (all Mach -tasks spawned by users will get a pid assigned, so the system -administrator can control them), users can run their own additional -process servers if they want, implementing the features not requiring -superuser privileges. - -

Filesystems

-
-

-Store based filesystems -

    -
  • ext2fs
  • -
  • ufs
  • -
  • isofs (iso9660, RockRidge, GNU extensions)
  • -
  • fatfs (under development)
  • -
-

-Network file systems -

    -
  • nfs
  • -
  • ftpfs
  • -
-

-Miscellaneous -

    -
  • hostmux
  • -
  • usermux
  • -
  • tmpfs (under development)
  • -
-
-

-We already talked about translators and the file system service they -provide. Currently, we have translators for the ext2, ufs and iso9660 -filesystems. We also have an nfs client and an ftp filesystem. -Especially the latter is intriguing, as it provides transparent access -to ftp servers in the filesystem. Programs can start to move away -from implementing a plethora of network protocols, as the files are -directly available in the filesystem through the standard POSIX file -interface. - - -

Developing the Hurd

-
-

-Over a dozen libraries support the development of new servers. -

-For special server types highly specialized -libraries require only the implementation of a -number of callback functions. -

    -
  • Use libdiskfs for store based filesystems.
  • -
  • Use libnetfs for network filesystems, also for - virtual filesystems.
  • -
  • Use libtrivfs for simple filesystems providing only - a single file or directory.
  • -
-
-

-The Hurd server protocols are complex enough to allow for the -implementation of a POSIX compatible system with GNU extensions. -However, a lot of code can be shared by all or at least similar -servers. For example, all storage based filesystems need to be able to -read and write to a store medium splitted in blocks. The Hurd comes -with several libraries which make it easy to implement new servers. -Also, there are already a lot of examples of different server types in -the Hurd. This makes writing a new server easier. -

-libdiskfs is a library that supports writing store based -filesystems like ext2fs or ufs. It is not very useful for filesystems -which are purely virtual, like /proc or files in -/dev. -

-libnetfs is intended for filesystems which provide a rich -directory hierarchy, but don't use a backing store (for example ftpfs, -nfs). -

-libtrivfs is intended for filesystems which just provide -a single inode or directory. Most servers which are not intended to -provide a filesystem but other services (like -/servers/password) use it to provide a dummy file, so -that file operations on the servers node will not return errors. But -it can also be used to provide meaningful data in a single file, like -a device store or a character device. - -

Store Abstraction

-
-

-Another very useful library is libstore, which is used by all store -based filesystems. It provides a store media abstraction. A store -consists of a store class and a name (which itself can sometimes -contain stores). -

-Primitive store classes: -

    -
  • device store like device:hd2, device:hd0s1, device:fd0
  • -
  • file store like file:/tmp/disk_image
  • -
  • task store like task:PID
  • -
  • zero store like zero:4m (like /dev/zero, of size 4 MB)
  • -
-
-
-

-Composed store classes: -

    -
  • copy store like copy:zero:4m
  • -
  • gunzip/bunzip2 store like gunzip:device:fd0
  • -
  • concat store like concat:device:hd0s2:device:hd1s5
  • -
  • ileave store (RAID-0(2))
  • -
  • remap store like remap:10+20,50+:file:/tmp/blocks
  • -
  • ...
  • -
-

-Wanted: A similar abstraction for streams (based on channels), which -can be used by network and character device servers. -

-

-libstore provides a store abstraction, which is used by -all store based filesystems. The store is determined by a type and a -name, but some store types modify another store rather than providing -a new store, and thus stores can be stacked. For example, the device -store type expects a Mach device, but the remap store expects a list -of blocks to pick from another store, like remap:1+:device:hd2, which -would pick all blocks from hd2 but the first one, which skipped. -Because this functionality is provided in a library, all libstore -using filesystems support many different store kinds, and adding a new -store type is enough to make all store based filesystems support it. - -

Debian GNU/Hurd

-
-

-Goal: -

    -
  • Provide a binary distribution of the Hurd that is easy to - install.
  • -
-

-Constraints: -

    -
  • Use the same source packages as Debian GNU/Linux.
  • -
  • Use the same infrastructure: -
      -
    • Policy
    • -
    • Archive
    • -
    • Bug tracking system
    • -
    • Release process
    • -
  • -
-

-Side Goal: -

    -
  • Prepare Debian for the future: -
      -
    • More flexibility in the base system
    • -
    • Identify dependencies on the Linux kernel
    • -
  • -
-
-

-The Debian distribution of the GNU Hurd that I started in 1998 is -supposed to become a complete binary distribution of the Hurd that is -easy to install. - -

Status of the Debian GNU/Hurd binary archive

-

-See -http://buildd.debian.org/stats/graph.png -for the most current version of the statistic. - -

Status of the Debian infrastructure

-
-

-Plus: -

    -
  • Source packages can identify build and host OS using - dpkg-architecture.
  • -
-

-Minus: -

    -
  • The binary architecture field is insufficient.
  • -
  • The BTS has no architecture tag.
  • -
  • The policy/FHS need (small) Hurd specific extensions.
  • -
-
-

-While good compatibiity can be achieved at the source level, -the binary packages can not always express their relationship -to the available architectures sufficiently. -

-For example, the Linux version of makedev is binary-all, where -a binary-all-linux relationship would be more appropriate. -

-More work has to be done here to fix the tools. - -

Status of the Debian Source archive

-
-
    -
  • Most packages just work.
  • -
  • Maintainers are usually responsive and cooperative.
  • -
  • Turtle, the autobuilder, crunches through the whole list right - now.
  • -
-

-Common pitfalls are POSIX incompatibilities: -

    -
  • Upstream: -
      -
    • Unconditional use of PATH_MAX - (MAXPATHLEN), MAXHOSTNAMELEN.
    • -
    • Unguarded use of Linux kernel features.
    • -
    • Use of legacy interfaces (sys_errlist, - termio).
    • -
  • -
  • Debian: -
      -
    • Unguarded activation of extensions available with Linux.
    • -
    • Low quality patches.
    • -
    • Assuming GNU/Linux in package scripts.
    • -
  • -
-
-

-Most packages are POSIX compatible and can be compiled without -changes on the Hurd. The maintainers of the Debian source packages -are usually very kind, responsiver and helpful. -

-The Turtle autobuilder software (http://turtle.sourceforge.net) -builds the Debian packages on the Hurd automatically. - -

Debian GNU/Hurd: Good idea, bad idea?

-
-

-Upstream benefits: -

    -
  • Software packages become more portable.
  • -
-

-Debian benefits: -

    -
  • Debian becomes more portable.
  • -
  • Maintainers learn about portability and other systems.
  • -
  • Debian gets a lot of public recognition.
  • -
-

-GNU/Hurd benefits: -

    -
  • Large software base.
  • -
  • Great infrastructure.
  • -
  • Nice community to partner with.
  • -
-
-

-The sheet lists the advantages of all groups involved. - -

End

-
-

-Join us at -

-
-

-List of contacts. - -

-Some of these links are at other web sites not maintained by the -FSF. The FSF is not responsible for the content of these other web sites. - -

- -
- -[ - - - English -] - -
- -

-Return to GNU's home page. -

- -Please send FSF & GNU inquiries & questions to - -gnu@gnu.org. -There are also other ways to -contact the FSF. -

- -Please send comments on these web pages to - -web-hurd@gnu.org, -send other questions to -gnu@gnu.org. -

-Copyright (C) 2001 Marcus Brinkmann <marcus@gnu.org> -

-Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved. -

-Updated: - -$Date$ $Author$ - -


- - diff --git a/hurd.mdwn b/hurd.mdwn index 61e83d21..3c65bb4e 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -53,8 +53,6 @@ in the *unstable* branch of the Debian archive. * [[Critique]] - Analysis * [[Hurd_Hacking_Guide]] * [[Concepts]] -* Other resources - * [Docs at gnu.org](http://www.gnu.org/software/hurd/docs.html) # Using diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index cbb164c8..14144d8e 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -10,7 +10,7 @@ is included in the section entitled UIDs on the Hurd are separate from processes. A process has [[capabilities|capability]] designating so-called UID vectors that -are implemented by an [[auth]] server. This +are implemented by an [[translator/auth]] server. This makes them easily [[virtualizable|virtualization]]. When a process wishes to gain access to a resource provided by a third diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index 9770138e..dacd7bb8 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -8,8 +8,8 @@ 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]]."]]"""]] -[[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*A Critique of -the GNU Hurd Multi-Server Operating +Neal Walfield and Marcus Brinkmann wrote a paper titled [*A Critique of +the GNU Hurd Multi-server Operating System*](http://walfield.org/papers/200707-walfield-critique-of-the-GNU-Hurd.pdf). This was published in ACM SIGOPS Operating Systems Review in July 2007. This is sometimes referred to as *the critique*. diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn index bb37a8be..a8c3a988 100644 --- a/hurd/documentation.mdwn +++ b/hurd/documentation.mdwn @@ -1,4 +1,5 @@ -[[meta copyright="Copyright © 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 @@ -8,10 +9,53 @@ 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]]."]]"""]] +# Introductory Material + * [[What_Is_the_GNU_Hurd]] * [[Advantages]] * [[FAQ]] - * + * [[*Towards_a_New_Strategy_of_OS_Design*|hurd-paper]], an architectural + overview by Thomas Bushnell, BSG. + + * [[*The_Hurd*|hurd-talk]], a presentation by Marcus Brinkmann. + + * [[*A_Critique_of_the_GNU_Hurd_Multi-server_Operating_System*|critique]], an + analysis of the GNU Hurd on GNU Mach system, written by Neal Walfield and + Marcus Brinkmann. + +## External + + * [*Examining the Legendary HURD + Kernel*](http://www.informit.com/articles/printerfriendly.aspx?p=1180992), + an article by David Chisnall. + + Also covers a bit of GNU's and the Hurd's history, fundamental techniques + applied, comparisions to other systems. + + +# Development + + * *[[The_GNU_Hurd_Reference_Manual|reference_manual]]*. + + * The *[[Hurd_Hacking_Guide]]*, an introduction to GNU Hurd and Mach + programming by Wolfgang Jährling. + + * [*Manually Bootstrapping a + Translator*](http://walfield.org/pub/people/neal/papers/hurd-misc/manual-bootstrap.txt), + a text by Neal Walfield about how to *manually connect the translator to + the filesystem*. + + * [[*The_Authentication_Server*|auth]], the transcript of a talk about the + details of the authentication mechanisms in the Hurd by Wolfgang Jährling. + + * [*The Mach Paging Interface as Used by the + Hurd*](http://lists.gnu.org/archive/html/l4-hurd/2002-06/msg00001.html), a + text by Neal Walfield. + + * In the + [[Position_paper_*Improving_Usability_via_Access_Decomposition_and_Policy*|ng/position_paper]] + Neal Walfield and Marcus Brinkmann give an overview about how a future, + subsequent system may be architected. diff --git a/hurd/documentation/auth.html b/hurd/documentation/auth.html new file mode 100644 index 00000000..487fc1fe --- /dev/null +++ b/hurd/documentation/auth.html @@ -0,0 +1,168 @@ +[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] + +[[meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[meta title="The Authentication Server, the transcript of a talk about the +details of the authentication mechanisms in the Hurd by Wolfgang Jährling"]] + +

Table of Contents

+ +
+ +

Introduction

+

+In this text, which mostly resembles the talk I gave at Libre Software +Meeting 2002 in Bordeaux, I will describe what the auth server does, +why it is so important and which cool things you can do with it, both +on the programming and the user side. I will also describe related +programs like the password and fakeauth servers. Note that this text +is targeted at programmers who want to understand the auth mechanism +in detail and are already familiar with concepts like Remote Procedure +Calls (RPCs) as well as the way User- and Group-IDs are used in the +POSIX world. + +

+The auth server is a very small server, therefore it gives a useful +example when you want to learn how a server typically looks like. One +reason why it is so small is that the auth interface, which it +implements, consists of only four RPCs. You can find the interface in +hurd/hurd/auth.defs and the server itself in hurd/auth/. + +

How IDs are represented and used

+

+Each process holds (usually) one port to auth (an auth_t in C source, +which actually is a mach_port_t, of course). The purpose of auth is +to manage User-IDs and Group-IDs, which is the reason why users often +will have no choice but to make use of the systems main auth server, +which does not listen on /servers/auth; instead you inherit a port to +auth from your parent process. Each such port is (internally in the +auth server) associated with a set of effective User- and Group-IDs as +well as a set of available User- and Group-IDs. So we have four sets +of IDs in total. The available IDs can be turned into corresponding +effective IDs at any time. + +

+When you send an auth_getids RPC on the port you hold, you will get +information about which IDs are associated with it, so you can figure +out which permissions you have. But how will a server know that you +have these permissions and therefore know which actions (e.g. writing +into file "foo") it is supposed to do on your behalf and which not? +The establishing of a trusted connection to a server works as follows: + +

    +
  1. A user wants a server to know its IDs
  2. +
  3. The user requests a reauthentication from the server
  4. +
  5. In this request the user will include a port
  6. +
  7. Both will hand this port to auth
  8. +
  9. The user uses auth_user_authenticate
  10. +
  11. The server uses auth_server_authenticate
  12. +
  13. The server also passes a new port to auth
  14. +
  15. auth matches these two requests
  16. +
  17. The user gets the new port from auth
  18. +
  19. The server learns about the IDs of the user
  20. +
  21. The user uses the new port for further communication
  22. +
+ +

+We have different RPCs for users and servers because what we pass and +what we get back differs for them: Users get a port, and servers get +the sets of IDs, and have to specify the port which the user will get. + +

+It is interesting to note that auth can match the requests by +comparing two integers, because when you get the same port from two +people, you will have the same mach_port_t (which is nothing but an +integer). + +

+All of this of course only works if they use the same auth server, +which is why I said often you have no choice other than to use the +one main auth server. But this is no serious restriction, as the auth server has +almost no functionality one might want to replace. In fact, there is +one replacement for the default auth implementation, but more on that +later. + +

POSIX and beyond

+

+Before we examine what is possible with this design, let us take a +short look at how the POSIX semantics are implemented on top of this +design. When a program that comes out of POSIX-land asks for its own +effective User- or Group-ID, we will tell it about the first of the +effective IDs. In the same sense, the POSIX real User- or Group-ID is +the first available ID and the POSIX saved User- or Group-ID is the +second available ID, which is why you have the same ID two times in +the available IDs when you log into your GNU/Hurd machine (you can +figure out which IDs you have with the program "ids", that basically +just does an auth_getauth RPC). When you lack one of those IDs (for +example when you have no effective Group-ID), a POSIX program asking +for this particular information will get "-1" as the ID. + +

+But as you can imagine, we can do more than what POSIX specifies. Fox +example, we can modify our permissions. This is always done with the +auth_makeauth RPC. In this RPC, you specify the IDs that should be +associated with the new port. All of these IDs must be associated +with either the port where the RPC is sent to or one of the additional +ports you can specify; an exception is the superuser root, which is +allowed to creat ports that are associated with arbitrary IDs. +Hereby you can convert available into effective IDs. + +

+This opens the door to a bunch of nice features. For example, we have +the addauth program in the Hurd, which makes it possible to add an ID +to either a single process or a group of processes if you hold the ID or know the +appropriate password, and there is a corresponding rmauth program that +removes an ID. So when you are working on your computer with GNU +Emacs and want to edit a system configuration file, you switch to +Emacs' shell-mode, do an "addauth root", enter the password, edit the +file, and when you are done switch back to shell-mode and do "rmauth +root". These programs have some interesting options, and there are +various other programs, for setting the complete list of IDs (setauth) +and so on. + +

Related servers

+

+Finally, I want to explain two servers which are related to auth. The +first is the password server, which listens on /servers/password. If +you pass to it a User- or Group-ID and the correct password for it, it +will return a port to auth to you which is associated with the ID you +passed to it. It can create such a port because it is running as +root. So let us assume you are an FTP server process. You will start +as root, because you want to use port 21 (in this case, "port" does +not refer to a mach_port_t, of course). But then, you can drop all +your permissions so that you run without any ID. This makes it far +less dangerous to communicate with yet unknown users over the +network. But when someone now hands a username and password to you, +you can ask the password server for a new auth port. The password +server will check the data you pass to it, for example by looking into +/etc/shadow, and if it is valid, it will ask the auth server for a new +port. It receives this port from auth and then passes it on to you. +So you have raised your permissions. (And for the very curious: Yes, +we are well aware of the differences between this concept and +capabilities; and we also do have some kinds of capabilities in +various parts of the Hurd.) + +

+My second example is the fakeauth server. It also implements the auth +protocol. It is the part of the fakeroot implementation that gives a +process the impression that it runs as root, even if it doesn't. So +when the process asks fakeauth about its own IDs, fakeauth will tell +the process that it runs as root. But when the process wants to make +use of the authentication protocol described earlier in this text, +fakeauth will forward the request to its own auth server, which will +usually be the systems main auth server, which will then be able to +match the auth_*_authenticate requests. So what fakeauth does is +acting as a proxy auth server that gives someone the impression to run +as root, while not modifying what that one is allowed to do. + +

+At this point, I have said at least most of what can be said about the +auth server and the protocol it implements, so I will finish by saying +that it might be an interesting task (for you) to modify some existing +software to take advantage of the features I described here. diff --git a/hurd/documentation/hurd-paper.html b/hurd/documentation/hurd-paper.html new file mode 100644 index 00000000..15d2daec --- /dev/null +++ b/hurd/documentation/hurd-paper.html @@ -0,0 +1,760 @@ +[[meta copyright="Copyright © 1996, 1997, 1998, 2007, 2008 Free Software +Foundation, Inc."]] + +[[meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[meta title="Towards a New Strategy of OS Design, an architectural overview by +Thomas Bushnell, BSG."]] + + +This article explains why FSF is developing a new operating system named the +Hurd, which will be a foundation of the whole GNU system. +The Hurd is built +on top of CMU's Mach 3.0 kernel and uses Mach's virtual memory management and +message-passing facilities. +The GNU C Library will provide the Unix system +call interface, and will call the Hurd for needed services it can't provide +itself. +The design and implementation of the Hurd is being lead by Michael +Bushnell, with assistance from Richard Stallman, Roland McGrath, +Jan Brittenson, and others. + +

Part 1: A More Usable Approach to OS Design

+

+The fundamental purpose of an operating system (OS) is to enable a variety of +programs to share a single computer efficiently and productively. +This +demands memory protection, preemptively scheduled timesharing, coordinated +access to I/O peripherals, and other services. +In addition, an OS can allow +several users to share a computer. +In this case, efficiency demands services +that protect users from harming each other, enable them to share without +prior arrangement, and mediate access to physical devices. +

+On today's computer systems, programmers usually implement these goals +through a large program called the kernel. +Since this program must be +accessible to all user programs, it is the natural place to add functionality +to the system. +Since the only model for process interaction is that of +specific, individual services provided by the kernel, no one creates other +places to add functionality. +As time goes by, more and more is added to the +kernel. +

+A traditional system allows users to add components to a kernel only if they +both understand most of it and have a privileged status within the system. +Testing new components requires a much more painful edit-compile-debug cycle +than testing other programs. +It cannot be done while others are using the +system. +Bugs usually cause fatal system crashes, further disrupting others' +use of the system. +The entire kernel is usually non-pageable. +(There are +systems with pageable kernels, but deciding what can be paged is difficult +and error prone. +Usually the mechanisms are complex, making them difficult +to use even when adding simple extensions.) +

+Because of these restrictions, functionality which properly belongs +behind +the wall of a traditional kernel is usually left out of systems unless it is +absolutely mandatory. +Many good ideas, best done with an open/read/write +interface cannot be implemented because of the problems inherent in the +monolithic nature of a traditional system. +Further, even among those with +the endurance to implement new ideas, only those who are privileged users of +their computers can do so. +The software copyright system darkens the mire by +preventing unlicensed people from even reading the kernel source. +

+Some systems have tried to address these difficulties. +Smalltalk-80 and +the Lisp Machine both represented one method of getting around the problem. +System code is not distinguished from user code; all of the system is +accessible to the user and can be changed as need be. +Both systems were +built around languages that facilitated such easy replacement and extension, +and were moderately successful. +But they both were fairly poor at insulating +users and programs from each other, failing one of the principal goals of OS +design. +

+Most projects that use the Mach 3.0 kernel carry on the hard-to-change +tradition of OS design. +The internal structure is different, but the same +heavy barrier between user and system remains. +The single-servers, while +fairly easy to construct, inherit all the deficiencies of the monolithic +kernels. +

+A multi-server divides the kernel functionality up into logical blocks with +well-defined interfaces. +Properly done, it is easier to make changes and add +functionality. +So most multi-server projects do somewhat better. +Much more +of the system is pageable. +You can debug the system more easily. +You can +test new system components without interfering with other users. +But the +wall between user and system remains; no user can cross it without special +privilege. +

+The GNU Hurd, by contrast, is designed to make the area of +system +code as +limited as possible. +Programs are required to communicate only with a few +essential parts of the kernel; the rest of the system is replaceable +dynamically. +Users can use whatever parts of the remainder of the system +they want, and can easily add components themselves for other users to take +advantage of. +No mutual trust need exist in advance for users to use each +other's services, nor does the system become vulnerable by trusting the +services of arbitrary users. +

+This has been done by identifying those system components which users +must +use in order to communicate with each other. +One of these is responsible for +identifying users' identities and is called the + +authentication server. + +In +order to establish each other's identities, programs must communicate, each +with an authentication server they trust. +Another component establishes +control over system components by the superuser, provides global bookkeeping +operations, and is called the + +process server. + +

+Not all user programs need to communicate with the process server; it is only +necessary for programs which require its services. +Likewise, the +authentication server is only necessary for programs that wish to communicate +their identity to another. +None of the remaining services carry any special +status; not the network implementation, the filesystems, the program +execution mechanism (including setuid), or any others. + +

The Translator Mechanism

+

+The Hurd uses Mach ports primarily as methods for communicating between users +and servers. +(A Mach port is a communication point on a Mach task where +messages are sent and received.) Each port implements a particular set of +protocols, representing operations that can be undertaken on the underlying +object represented by the port. +Some of the protocols specified by the Hurd +are the I/O protocol, used for generic I/O operations; the file protocol, +used for filesystem operations; the socket protocol, used for network +operations; and the process protocol, used for manipulating processes et al. +

+Most servers are accessed by opening files. +Normally, when you open a file, +you create a port associated with that file that is owned by the server +that owns the directory containing the file. +For example, a disk-based +filesystem will normally serve a large number of ports, each of which +represents an open file or directory. +When a file is opened, the server +creates a new port, associates it with the file, and returns the port to the +calling program. +

+However, a file can have a +translator +associated with it. +In this case, +rather than return its own port which refers to the contents of the file, the +server executes a translator program associated with that file. +This +translator is given a port to the actual contents of the file, and is then +asked to return a port to the original user to complete the open operation. +

+This mechanism is used for +mount +by having a translator associated with +each mount point. +When a program opens the mount point, the translator (in +this case, a program which understands the disk format of the mounted +filesystem) is executed and returns a port to the program. +After the +translator is started, it need not be run again unless it dies; the parent +filesystem retains a port to the translator to use in further requests. +

+The owner of a file can associate a translator with it without special +permission. +This means that any program can be specified as a translator. +Obviously the system will not work properly if the translator does not +implement the file protocol correctly. +However, the Hurd is constructed so +that the worst possible consequence is an interruptible hang. +

+One way to use translators is to access hierarchically structured data using +the file protocol. +For example, all the complexity of the user interface to +the +ftp +program is removed. +Users need only know that a particular +directory represents FTP and can use all the standard file manipulation +commands (e.g +ls +or +cp) +to access the remote system, rather than learning +a new set. +Similarly, a simple translator could ease the complexity of +tar +or +gzip. +(Such transparent access would have some added cost, but it would +be convenient.) + +

Generic Services

+

+With translators, the filesystem can act as a rendezvous for interfaces which +are not similar to files. +Consider a service which implements some version +of the X protocol, using Mach messages as an underlying transport. +For each +X display, a file can be created with the appropriate program as its +translator. +X clients would open that file. +At that point, few file +operations would be useful (read and write, for example, would be useless), +but new operations ( +XCreateWindow +or +XDrawText) +might become meaningful. +In this case, the filesystem protocol is used only to manipulate +characteristics of the node used for the rendezvous. +The node need not +support I/O operations, though it should reply to any such messages with a +message_not_understood +return code. +

+This translator technique is used to contact most of the services in the Hurd +that are not structured like hierarchical filesystems. +For example, the +password server, which hands out authorization tags in exchange for +passwords, is contacted this way. +Network protocol servers are also +contacted in this fashion. +Roland McGrath thought up this use of translators. + +

Clever Filesystem Pictures

+

+In the Hurd, translators can also be used to present a filesystem-like view +of another part of the filesystem, with some semantics changed. +For example, +it would be nice to have a filesystem that cannot itself be changed, but +nonetheless records changed versions of its files elsewhere. +(This could be +useful for source code management.) +

+The Hurd will have a translator which creates a directory which is a +conceptual union of other directories, with collision resolution rules of +various sorts. +This can be used to present a single directory to users that +contains all the programs they would want to execute. +There are other useful +variations on this theme. + +

What The User Can Do

+

+No translator gains extra privilege by virtue of being hooked into the +filesystem. +Translators run with the uid of the owner of the file being +translated, and can only be set or changed by that owner. +The I/O and +filesystem protocols are carefully designed to allow their use by mutually +untrusting clients and servers. +Indeed, translators are just ordinary +programs. +The GNU C library has a variety of facilities to make common sorts +of translators easier to write. +

+Some translators may need special privileges, such as the password server or +translators which allow setuid execution. +These translators could be run by +anyone, but only if they are set on a root-owned node would they be able to +provide all their services successfully. +This is analogous to letting any +user call the +reboot +system call, but only honoring it if that user is root. + +

Why This Is So Different

+

+What this design provides is completely novel to the Unix world. +Until now, +OSs have kept huge portions of their functionality in the realm of system +code, thus preventing its modification and extension except in extreme need. +Users cannot replace parts of the system in their programs no matter how much +easier that would make their task, and system managers are loath to install +random tweaks off the net into their kernels. +

+In the Hurd, users can change almost all of the things that are decided for +them in advance by traditional systems. +In combination with the tremendous +control given by the Mach kernel over task address spaces and properties, the +Hurd provides a system in which users will, for the first time, be able to +replace parts of the system they dislike, without disrupting other users. +

+Most Mach-based OSs to date have mostly implemented a wider set of the + +same old + +Unix semantics in a new environment. +In contrast, GNU is extending +those semantics to allow users to improve, bypass, or replace them. + + +

Part 2: A Look at Some of the Hurd's Beasts

+

The Authentication Server

+

+One of the Hurd's more central servers is the authentication server. +Each +port to this server identifies a user and is associated by this server with +an +id block. +Each id block contains sets of user and group ids. +Either +set may be empty. +This server is not the same as the password server +referred to above. +

+The authentication server exports three services. +First, it provides simple +boolean operations on authentication ports: given two authentication ports, +this server will provide a third port representing the union of the two sets +of uids and gids. +Second, this server allows any user with a uid of zero to +create an arbitrary authentication port. +Finally, this server provides RPCs +(Remote Procedure Calls between different programs and possibly different +hosts) which allow mutually untrusting clients and servers to establish their +identities and pass initial information on each other. +This is crucial to +the security of the filesystem and I/O protocols. +

+Any user could write a program which implements the authentication protocol; +this does not violate the system's security. +When a service needs to +authenticate a user, it communicates with its trusted authentication server. +If that user is using a different authentication server, the transaction will +fail and the server can refuse to communicate further. +Because, in effect, +this forces all programs on the system to use the same authentication server, +we have designed its interface to make any safe operation possible, and to +include no extraneous operations. +(This is why there is a separate password +server.) +

The Process Server

+

+The process server acts as an information categorization repository. +There +are four main services supported by this server. +First, the process server +keeps track of generic host-level information not handled by the Mach kernel. +For example, the hostname, the hostid, and the system version are maintained +by the process server. +Second, this server maintains the Posix notions of +sessions and process groups, to help out programs that wish to use Posix +features. +

+Third, the process server maintains a one-to-one mapping between Mach tasks +and Hurd processes. +Every task is assigned a pid. +Processes can register a +message port with this server, which can then be given out to any program +which requests it. +This server makes no attempt to keep these message ports +private, so user programs are expected to implement whatever security they +need themselves. +(The GNU C Library provides convenient functions for all +this.) Processes can tell the process server their current `argv' and `envp' +values; this server will then provide, on request, these vectors of arguments +and environment. +This is useful for writing +ps-like +programs and also +makes it easier to hide or change this information. +None of these features +are mandatory. +Programs are free to disregard all of this and never register +themselves with the process server at all. +They will, however, still have a +pid assigned. +

+Finally, the process server implements +process collections, +which are used +to collect a number of process message ports at the same time. +Also, +facilities are provided for converting between pids, process server ports, +and Mach task ports, while ensuring the security of the ports managed. +

+It is important to stress that the process server is optional. +Because of +restrictions in Mach, programs must run as root in order to identify all the +tasks in the system. +But given that, multiple process servers could +co-exist, each with their own clients, giving their own model of the +universe. +Those process server features which do not require root privileges +to be implemented could be done as per-user servers. +The user's hands are +not tied. +

Transparent FTP

+

+Transparent FTP is an intriguing idea whose time has come. +The popular +ange-ftp +package available for GNU Emacs makes access to FTP files +virtually transparent to all the Emacs file manipulation functions. +Transparent FTP does the same thing, but in a system wide fashion. +This +server is not yet written; the details remain to be fleshed out, and will +doubtless change with experience. +

+In a BSD kernel, a transparent FTP filesystem would be no harder to write +than in the Hurd. +But mention the idea to a BSD kernel hacker, and the +response is that ``such a thing doesn't belong in the kernel''. +In a sense, +this is correct. +It violates all the layering principles of such systems to +place such things in the kernel. +The unfortunate side effect, however, is +that the design methodology (which is based on preventing users from changing +things they don't like) is being used to prevent system designers from making +things better. +(Recent BSD kernels make it possible to write a user program +that provides transparent FTP. +An example is +alex, +but it needs to run +with full root privileges.) +

+In the Hurd, there are no obstacles to doing transparent FTP. +A translator +will be provided for the node +/ftp. +The contents of +/ftp +will probably +not be directly listable, though further subdirectories will be. +There will +be a variety of possible formats. +For example, to access files on uunet, one +could + +cd /ftp/ftp.uu.net:anonymous:mib@gnu. + +Or to access files on a remote +account, one might + +cd /ftp/gnu.org:mib:passwd. + +Parts of this +command could be left out and the transparent FTP program would read them +from a user's +.netrc +file. +In the last case, one might just + +cd /ftp/gnu.org; + +when the rest of the data is already in +.netrc. +

+There is no need to do a +cd +first--use any file command. +To find out about +RFC 1097 (the Telnet Subliminal Message Option), just type + +more /ftp/ftp.uu.net/inet/rfc/rfc1097. + +A copy command to a local disk +could be used if the RFC would be read frequently. +

Filesystems

+

+Ordinary filesystems are also being implemented. +The initial release of the +Hurd will contain a filesystem upwardly compatible with the BSD 4.4 Fast File +System. +In addition to the ordinary semantics, it will provide means to +record translators, offer thirty-two bit user ids and group ids, and supply a +new id per file, called the +author +of the file, which can be set by the +owner arbitrarily. +In addition, because users in the Hurd can have multiple +uids (or even none), there is an additional set of permission bits providing +access control for + +unknown user + +(no uids) as distinct from + +known but arbitrary user + +(some uids: the existing +world +category of file +permissions). +

+The Network File System protocol will be implemented using 4.4 BSD as a +starting point. +A log-structured filesystem will also be implemented using +the same ideas as in Sprite, but probably not the same format. +A GNU network +file protocol may be designed in time, or NFS may be extended to remove its +deficiencies. +There will also be various ``little'' filesystems, such as the +MS-DOS filesystem, to help people move files between GNU and other OSs. + +

Terminals

+

+An I/O server will provide the terminal semantics of Posix. +The GNU C +Library has features for keeping track of the controlling terminal and for +arranging to have proper job control signals sent at the proper times, as +well as features for obeying keyboard and hangup signals. +

+Programs will be able to insert a terminal driver into communications +channels in a variety of ways. +Servers like +rlogind +will be able to insert +the terminal protocol onto their network communication port. +Pseudo-terminals will not be necessary, though they will be provided for +backward compatibility with older programs. +No programs in GNU will depend +on them. +

+Nothing about a terminal driver is forced upon users. +A terminal driver +allows a user to get at the underlying communications channel easily, to +bypass itself on an as-needed basis or altogether, or to substitute a +different terminal driver-like program. +In the last case, provided the +alternate program implements the necessary interfaces, it will be used by the +C Library exactly as if it were the ordinary terminal driver. +

+Because of this flexibility, the original terminal driver will not provide +complex line editing features, restricting itself to the behavior found in +Posix and BSD. +In time, there will be a +readline-based +terminal driver, +which will provide complex line-editing features for those users who want +them. +

+The terminal driver will probably not provide good support for the +high-volume, rapid data transmission required by UUCP or SLIP. +Those +programs do not need any of its features. +Instead they will be using the +underlying Mach device ports for terminals, which support moving large +amounts of data efficiently. + +

Executing Programs

+

+The implementation of the +execve +call is spread across three programs. +The +library marshals the argument and environment vectors. +It then sends a +message to the file server that holds the file to be executed. +The file +server checks execute permissions and makes whatever changes it desires in +the exec call. +For example, if the file is marked setuid and the fileserver +has the ability, it will change the user identification of the new image. +The file server also decides if programs which had access to the old task +should continue to have access to the new task. +If the file server is +augmenting permissions, or executing an unreadable image, then the exec needs +to take place in a new Mach task to maintain security. +

+After deciding the policy associated with the new image, the filesystem calls +the exec server to load the task. +This server, using the BFD (Binary File +Descriptor) library, loads the image. +BFD supports a large number of object +file formats; almost any supported format will be executable. +This server +also handles scripts starting with +#!, +running them through the indicated +program. +

+The standard exec server also looks at the environment of the new image; if +it contains a variable +EXECSERVERS +then it uses the programs specified +there as exec servers instead of the system default. +(This is, of course, +not done for execs that the file server has requested be kept secure.) +

+The new image starts running in the GNU C Library, which sends a message to +the exec server to get the arguments, environment, umask, current directory, +etc. +None of this additional state is special to the file or exec servers; +if programs wish, they can use it in a different manner than the Library. + +

New Processes

+

+The +fork +call is implemented almost entirely in the GNU C Library. +The new +task is created by Mach kernel calls. +The C Library arranges to have its +image inherited properly. +The new task is registered with the process server +(though this is not mandatory). +The C Library provides vectors of functions +to be called at fork time: one vector to be called before the fork, one after +in the parent, and one after in the child. +(These features should not be +used to replace the normal fork-calling sequence; it is intended for +libraries which need to close ports or clean up before a fork occurs.) +The C +library will implement both fork calls specified by the draft Posix.4a (the +proposed standard dealing with the threads extension to the real-time +extension). +

+Nothing forces the user to create new tasks this way. +If a program wants to +use almost the normal fork, but with some special characteristics, then it +can do so. +Hooks will be provided by the C Library, or the function can even +be completely replaced. +None of this is possible in a traditional Unix +system. + +

Asynchronous Messages

+

+As mentioned above, the process server maintains a + +message port + +for each +task registered with it. +These ports are public, and are used to send +asynchronous messages to the task. +Signals, for example, are sent to the +message port. +The signal message also provides a port as an indication that +the sender should be trusted to send the signal. +The GNU C Library lists a +variety of ports in a table, each of which identifies a set of signals that +can be sent by anyone who possesses that port. +For example, if the user +possesses the task's kernel port, it is allowed to send any signal. +If the +user possesses a special + +terminal id + +port, it is allowed to send the +keyboard and hangup signals. +Users can add arbitrary new entries into the C +library's signal permissions table. +

+When a process's process group changes, the process server will send it a +message indicating the new process group. +In this case, the process server +proves its authority by providing the task's kernel port. +

+The C library also has messages to add and delete uids currently used by the +process. +If new uids are sent to the program, the library adds them to its +current set, and then exchanges messages with all the I/O servers it knows +about, proving to them its new authorization. +Similarly, a message can +delete uids. +In the latter case, the caller must provide the process's task +port. +(You can't harm a process by giving it extra permission, but you can +harm it by taking permission away.) The Hurd will provide user programs to +send these messages to processes. +For example, the +su +command will be able +to cause all the programs in your current login session, to gain a new uid, +rather than spawn a subshell. +

+The C library will allow programs to add asynchronous messages they wish to +recognize, as well as prevent recognition of the standard set. +

Making It Look Like Unix

+

+The C Library will implement all of the calls from BSD and Posix as well as +some obvious extensions to them. +This enables users to replace those calls +they dislike or bypass them entirely, whereas in Unix the calls must be used +``as they come'' with no alternatives possible. +

+In some environments binary compatibility will also be supported. +This works +by building a special version of the library which is then loaded somewhere +in the address space of the process. +(For example, on a VAX, it would be +tucked in above the stack.) A feature of Mach, called system call +redirection, is then used to trap Unix system calls and turn them into jumps +into this special version of the library. +(On almost all machines, the cost +of such a redirection is very small; this is a highly optimized path in Mach. +On a 386 it's about two dozen instructions. +This is little worse than a +simple procedure call.) +

+Many features of Unix, such as signal masks and vectors, are handled +completely by the library. +This makes such features significantly cheaper +than in Unix. +It is now reasonable to use +sigblock +extensively to protect +critical sections, rather than seeking out some other, less expensive method. + +

Network Protocols

+

+The Hurd will have a library that will make it very easy to port 4.4 BSD +protocol stacks into the Hurd. +This will enable operation, virtually for +free, of all the protocols supported by BSD. +Currently, this includes the +CCITT protocols, the TCP/IP protocols, the Xerox NS protocols, and the ISO +protocols. +

+For optimal performance some work would be necessary to take advantage of +Hurd features that provide for very high speed I/O. +For most protocols this +will require some thought, but not too much time. +The Hurd will run the +TCP/IP protocols as efficiently as possible. +

+As an interesting example of the flexibility of the Hurd design, consider the +case of IP trailers, used extensively in BSD for performance. +While the Hurd +will be willing to send and receive trailers, it will gain fairly little +advantage in doing so because there is no requirement that data be copied and +avoiding copies for page-aligned data is irrelevant. diff --git a/hurd/documentation/hurd-talk.html b/hurd/documentation/hurd-talk.html new file mode 100644 index 00000000..d608e12a --- /dev/null +++ b/hurd/documentation/hurd-talk.html @@ -0,0 +1,1061 @@ +[[meta copyright="Copyright © 2001 Marcus Brinkmann"]] + +[[meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[meta title="The Hurd, a presentation by Marcus Brinkmann"]] + + +

Table of Contents

+ +
+

Talk about the Hurd

+

+This talk about the Hurd was written by Marcus Brinkmann for +

    +
  • OSDEM, Brussels, 4. Feb 2001, +
  • Frühjahrsfachgespräche, Cologne, 2. Mar 2001 and +
  • Libre Software Meeting, Bordeaux, 4. Jul 2001. +
+ +

Introduction

+

+When we talk about free software, we usually refer to the free +software licenses. We also need relief from software patents, so our +freedom is not restricted by them. But there is a third type of +freedom we need, and that's user freedom. + +

+Expert users don't take a system as it is. They like to change the +configuration, and they want to run the software that works best for +them. That includes window managers as well as your favourite text +editor. But even on a GNU/Linux system consisting only of free +software, you can not easily use the filesystem format, network +protocol or binary format you want without special privileges. In +traditional unix systems, user freedom is severly restricted by the +system administrator. + +

+The Hurd removes these restrictions from the user. It provides an +user extensible system framework without giving up POSIX compatibility +and the unix security model. Throughout this talk, we will see that +this brings further advantages beside freedom. + +

Overview

+
+ +

+The Hurd is a POSIX compatible multi-server +system operating on top of the GNU Mach microkernel. + +

+Topics: +

    +
  • GNU Mach
  • +
  • The Hurd
  • +
  • Development
  • +
  • Debian GNU/Hurd
  • +
+
+ +

+The Hurd is a POSIX compatible multi-server system operating on top of +the GNU Mach Microkernel. + +

+I will have to explain what GNU Mach is, so we start with that. Then +I will talk about the Hurd's architecture. After that, I will give a +short overview on the Hurd libraries. Finally, I will tell you how +the Debian project is related to the Hurd. + +

Historicals

+ +
+
    +
  • 1983: Richard Stallman founds the GNU project.
  • +
  • 1988: Decision is made to use Mach 3.0 as the kernel.
  • +
  • 1991: Mach 3.0 is released under compatible license.
  • +
  • 1991: Thomas Bushnell, BSG, founds the Hurd project.
  • +
  • 1994: The Hurd boots the first time.
  • +
  • 1997: Version 0.2 of the Hurd is released.

  • +
  • 1998: Debian hurd-i386 archive is created.
  • +
  • 2001: Debian GNU/Hurd snapshot fills three CD images.
  • +
+
+ +

+When Richard Stallman founded the GNU project in 1983, he wanted to +write an operating system consisting only of free software. Very +soon, a lot of the essential tools were implemented, and released +under the GPL. However, one critical piece was missing: The kernel. +

+After considering several alternatives, it was decided not to write a +new kernel from scratch, but to start with the Mach microkernel. This +was in 1988, and it was not before 1991 that Mach was released under a +license allowing the GNU project to distribute it as a part of the +system. +

+In 1998, I started the Debian GNU/Hurd project, and in 2001 the number +of available GNU/Hurd packages fills three CD images. + +

Kernel Architectures

+
+

+Microkernel: +

    +
  • Enforces resource management (paging, scheduling)
  • +
  • Manages tasks
  • +
  • Implements message passing for IPC
  • +
  • Provides basic hardware support
  • +
+

+Monolithic kernel: +

    +
  • No message passing necessary
  • +
  • Rich set of features (filesystems, authentication, network + sockets, POSIX interface, ...)
  • +
+
+

+Microkernels were very popular in the scientific world around that +time. They don't implement a full operating system, but only the +infrastructure needed to enable other tasks to implement most +features. In contrast, monolithical kernels like Linux contain +program code of device drivers, network protocols, process management, +authentication, file systems, POSIX compatible interfaces and much +more. +

+So what are the basic facilities a microkernel provides? In general, +this is resource management and message passing. Resource management, +because the kernel task needs to run in a special privileged mode of +the processor, to be able to manipulate the memory management unit and +perform context switches (also to manage interrupts). Message +passing, because without a basic communication facility the other +tasks could not interact to provide the system services. Some +rudimentary hardware device support is often necessary to bootstrap +the system. So the basic jobs of a microkernel are enforcing the +paging policy (the actual paging can be done by an external pager +task), scheduling, message passing and probably basic hardware device +support. +

+Mach was the obvious choice back then, as it provides a rich set of +interfaces to get the job done. Beside a rather brain-dead device +interface, it provides tasks and threads, a messaging system allowing +synchronous and asynchronous operation and a complex interface for +external pagers. It's certainly not one of the sexiest microkernels +that exist today, but more like a big old mama. The GNU project +maintains its own version of Mach, called GNU Mach, which is based on +Mach 4.0. In addition to the features contained in Mach 4.0, the GNU +version contains many of the Linux 2.0 block device and network card +drivers. +

+A complete treatment of the differences between a microkernel and +monolithical kernel design can not be provided here. But a couple of +advantages of a microkernel design are fairly obvious. + +

Micro vs Monolithic

+
+

+Microkernel +

    +
  • Clear cut responsibilities +
  • Flexibility in operating system design, easier debugging
  • +
  • More stability (less code to break)
  • +
  • New features are not added to the kernel
  • +
+

+Monolithic kernel +

    +
  • Intolerance or creeping featuritis
  • +
  • Danger of spaghetti code
  • +
  • Small changes can have far reaching side effects
  • +
+
+

+Because the system is split up into several components, clean +interfaces have to be developed, and the responsibilities of each part +of the system must be clear. +

+Once a microkernel is written, it can be used as the base for several +different operating systems. Those can even run in parallel which +makes debugging easier. When porting, most of the hardware dependant +code is in the kernel. +

+Much of the code that doesn't need to run in the special kernel mode +of the processor is not part of the kernel, so stability increases +because there is simply less code to break. +

+New features are not added to the kernel, so there is no need to hold +the barrier high for new operating system features. +

+Compare this to a monolithical kernel, where you either suffer from +creeping featuritis or you are intolerant of new features (we see both +in the Linux kernel). +

+Because in a monolithical kernel, all parts of the kernel can access +all data structures in other parts, it is more likely that short cuts +are used to avoid the overhead of a clean interface. This leads to a +simple speed up of the kernel, but also makes it less comprehensible +and more error prone. A small change in one part of the kernel can +break remote other parts. + +

Single Server vs Multi Server

+
+

+Single Server +

    +
  • A single task implements the functionality of the operating system.
  • +
+

+Multi Server +

    +
  • Many tasks cooperate to provide the system's functionality.
  • +
  • One server provides only a small but well-defined part of the + whole system.
  • +
  • The responsibilities are distributed logically among the servers.
  • +
+

+A single-server system is comparable to a monolithic kernel system. It +has similar +advantages and disadvantages. +

+

+There exist a couple of operating systems based on Mach, but they all +have the same disadvantages as a monolithical kernel, because those +operating systems are implemented in one single process running on top +of the kernel. This process provides all the services a monolithical +kernel would provide. This doesn't make a whole lot of sense (the +only advantage is that you can probably run several of such isolated +single servers on the same machine). Those systems are also called +single-server systems. The Hurd is the only usable multi-server +system on top of Mach. In the Hurd, there are many server programs, +each one responsible for a unique service provided by the operating +system. These servers run as Mach tasks, and communicate using the +Mach message passing facilities. One of them does only provide a +small part of the functionality of the system, but together they build +up a complete and functional POSIX compatible operating system. + +

Multi Server is superior, ...

+
+

+Any multi-server has advantages over single-server: +

    +
  • Clear cut responsibilities
  • +
  • More stability: If one server dies, all others remain
  • +
  • Easier development cycle: Testing without reboot (or replacing + running servers), debugging with gdb
  • +
  • Easier to make changes and add new features +
+
+

+Using several servers has many advantages, if done right. If a file +system server for a mounted partition crashes, it doesn't take down +the whole system. Instead the partition is "unmounted", and +you can try to start the server again, probably debugging it this time +with gdb. The system is less prone to errors in individual +components, and over-all stability increases. The functionality of +the system can be extended by writing and starting new servers +dynamically. (Developing these new servers is easier for the reasons +just mentioned.) +

+But even in a multi-server system the barrier between the system and +the users remains, and special privileges are needed to cross it. We +have not achieved user freedom yet. + +

The Hurd even more so.

+
+

+The Hurd goes beyond all this, and allows users to write and run their +servers, too! +

    +
  • Users can replace system servers dynamically with their own + implementations.
  • +
  • Users can decide what parts of the remainder of the system they + want to use.
  • +
  • Users can extend the functionality of the system.
  • +
  • No mutual trust necessary to make use of other users + services.
  • +
  • Security of the system is not harmed by trusting users + services.
  • +
+
+

+To quote Thomas Bushnell, BSG, from his paper +[[``Towards_a_New_Strategy_of_OS_design''_(1996)|hurd-paper]]: +

+The GNU Hurd, by contrast, is designed to make the area of system code +as limited as possible. Programs are required to communicate only +with a few essential parts of the kernel; the rest of the system is +replaceable dynamically. Users can use whatever parts of the +remainder of the system they want, and can easily add components +themselves for other users to take advantage of. No mutual trust need +exist in advance for users to use each other's services, nor does the +system become vulnerable by trusting the services of arbitrary users. +
+ +

+So the Hurd is a set of servers running on top of the Mach +micro-kernel, providing a POSIX compatible and extensible operating +system. What servers are there? What functionality do they provide, +and how do they cooperate? + +

Mach Inter Process Communication

+
+

+Ports are message queues which can be used as one-way communication +channels. +

    +
  • Port rights are receive, send or send-once
  • +
  • Exactly one receiver
  • +
  • Potentially many senders
  • +
+

+MIG provides remote procedure calls on top of Mach IPC. RPCs look like +function calls to the user. +

+

+Inter-process communication in Mach is based on the ports concept. A +port is a message queue, used as a one-way communication channel. In +addition to a port, you need a port right, which can be a send right, +receive right, or send-once right. Depending on the port right, you +are allowed to send messages to the server, receive messages from it, +or send just one single message. +

+For every port, there exists exactly one task holding the receive +right, but there can be no or many senders. The send-once right is +useful for clients expecting a response message. They can give a +send-once right to the reply port along with the message. The kernel +guarantees that at some point, a message will be received on the reply +port (this can be a notification that the server destroyed the +send-once right). +

+You don't need to know much about the format a message takes to be +able to use the Mach IPC. The Mach interface generator mig hides the +details of composing and sending a message, as well as receiving the +reply message. To the user, it just looks like a function call, but +in truth the message could be sent over a network to a server running +on a different computer. The set of remote procedure calls a server +provides is the public interface of this server. + + +

How to get a port?

+
+

+Traditional Mach: +

    +
  • Nameserver provides ports to all registered servers.
  • +
  • The nameserver port itself is provided by Mach.
  • +
  • Like a phone book: One list.
  • +
+

+The Hurd: +

    +
  • The filesystem is used as the server namespace.
  • +
  • Root directory port is inserted into each task.
  • +
  • The C library finds other ports with hurd_file_name_lookup, + performing a pathname resolution.
  • +
  • Like a tree of phone books.
  • +
+
+

+So how does one get a port to a server? You need something like a +phone book for server ports, or otherwise you can only talk to +yourself. In the original Mach system, a special nameserver is +dedicated to that job. A task could get a port to the nameserver from +the Mach kernel and ask it for a port (with send right) to a server +that registered itself with the nameserver at some earlier time. +

+In the Hurd, there is no nameserver. Instead, the filesystem is used +as the server namespace. This works because there is always a root +filesystem in the Hurd (remember that the Hurd is a POSIX compatible +system); this is an assumption the people who developed Mach couldn't +make, so they had to choose a different strategy. You can use the +function hurd_file_name_lookup, which is part of the C library, to get +a port to the server belonging to a filename. Then you can start to +send messages to the server in the usual way. + +

Example of hurd_file_name_lookup

+
+mach_port_t identity;
+mach_port_t pwserver;
+kern_return_t err;
+
+pwserver = hurd_file_name_lookup
+                ("/servers/password");
+
+err = password_check_user (pwserver,
+                           0 /* root */, "supass",
+                           &identity);
+
+

+As a concrete example, the special filename +/servers/password can be used to request a port to the +Hurd password server, which is responsible to check user provided +passwords. +

+(explanation of the example) + +

Pathname resolution example

+
+

+Task: Lookup /mnt/readme.txt where /mnt has a mounted filesystem. +

    +
  • The C library asks the root filesystem server about + /mnt/readme.txt.
  • +
  • The root filesystem returns a port to the mnt filesystem server + (matching /mnt) and the retry name + /readme.txt.
  • +
  • The C library asks the mnt filesystem server about + /readme.txt.
  • +
  • The mnt filesystem server returns a port to itself and records + that this port refers to the regular file + /readme.txt.
  • +
+
+

+The C library itself does not have a full list of all available +servers. Instead pathname resolution is used to traverse through a +tree of servers. In fact, filesystems themselves are implemented by +servers (let us ignore the chicken and egg problem here). So all the +C library can do is to ask the root filesystem server about the +filename provided by the user (assuming that the user wants to resolve +an absolute path), using the dir_lookup RPC. If the +filename refers to a regular file or directory on the filesystem, the +root filesystem server just returns a port to itself and records that +this port corresponds to the file or directory in question. But if a +prefix of the full path matches the path of a server the root +filesystem knows about, it returns to the C library a port to this +server and the remaining part of the pathname that couldn't be +resolved. The C library than has to retry and query the other server +about the remaining path component. Eventually, the C library will +either know that the remaining path can't be resolved by the last +server in the list, or get a valid port to the server in question. + +

Mapping the POSIX Interface

+
+ + + + + + + + + + + + + + + + + + + +
FiledescriptorPort to server providing the file
fd = open(name,...)dir_lookup(..,name,..,&port)
+[pathname resolution]
read(fd, ...)io_read(port, ...)
write(fd, ...)io_write(port, ...)
fstat(fd, ...)io_stat(port, ...)
...
+
+

+It should by now be obvious that the port returned by the server can +be used to query the files status, content and other information from +the server, if good remote procedure calls to do that are defined and +implemented by it. This is exactly what happens. Whenever a file is +opened using the C libraries open() call, the C library +uses the above pathname resolution to get a port to a server providing +the file. Then it wraps a file descriptor around it. So in the Hurd, +for every open file descriptor there is a port to a server providing +this file. Many other C library calls like read() and +write() just call a corresponding RPC using the port +associated with the file descriptor. + +

File System Servers

+
+
    +
  • Provide file and directory services for ports (and more).
  • +
  • These ports are returned by a directory lookup.
  • +
  • Translate filesystem accesses through their root path (hence the + name translator).
  • +
  • The C library maps the POSIX file and directory interface (and + more) to RPCs to the filesystem servers ports, but also does work on + its own.
  • +
  • Any user can install file system servers on inodes they own.
  • +
+
+

+So we don't have a single phone book listing all servers, but rather a +tree of servers keeping track of each other. That's really like +calling your friend and asking for the phone number of the blond girl +at the party yesterday. He might refer you to a friend who hopefully +knows more about it. Then you have to retry. +

+This mechanism has huge advantages over a single nameserver. First, +note that standard unix permissions on directories can be used to +restrict access to a server (this requires that the filesystems +providing those directories behave). You just have to set the +permissions of a parent directory accordingly and provide no other way +to get a server port. +

+But there are much deeper implications. Most of all, a pathname never +directly refers to a file, it refers to a port of a server. That +means that providing a regular file with static data is just one of +the many options the server has to service requests on the file port. +A server can also create the data dynamically. For example, a server +associated with /dev/random can provide new random data +on every io_read() on the port to it. A server +associated with /dev/fortune can provide a new fortune +cookie on every open(). +

+While a regular filesystem server will just serve the data as stored +in a filesystem on disk, there are servers providing purely virtual +information, or a mixture of both. It is up to the server to behave +and provide consistent and useful data on each remote procedure call. +If it does not, the results may not match the expectations of the user +and confuse him. +

+A footnote from the Hurd info manual: +

+(1) You are lost in a maze of twisty little filesystems, all +alike.... +
+

+Because a server installed in the filesystem namespace translates all +filesystem operations that go through its root path, such a server is +also called "active translator". You can install translators using +the settrans command with the -a option. + +

Active vs Passive

+
+

+Active Translators: +

    +
  • "settrans -a /cdrom /hurd/isofs /dev/hd2"
  • +
  • Are running filesystem servers.
  • +
  • Are attached to the root node they translate.
  • +
  • Run as a normal process.
  • +
  • Go away with every reboot, or even time out.
  • +
+
+

+Many translator settings remain constant for a long time. It would be +very lame to always repeat the same couple of dozens settrans calls +manually or at boot time. So the Hurd provides a filesystem extension +that allows to store translator settings inside the filesystem and let +the filesystem servers do the work to start those servers on demand. +Such translator settings are called "passive translators". A passive +translator is really just a command line string stored in an inode of +the filesystem. If during a pathname resolution a server encounters +such a passive translator, and no active translator does exist already +(for this node), it will use this string to start up a new translator +for this inode, and then let the C library continue with the path +resolution as described above. Passive translators are installed with +settrans using the -p option (which is already the +default). + +
+

+Passive Translators: +

    +
  • "settrans /mnt /hurd/ext2fs /dev/hd1s1"
  • +
  • Are stored as command strings into an inode.
  • +
  • Are used to start a new active translator if there isn't + one.
  • +
  • Startup is transparent to the user.
  • +
  • Startup happens the first time the server is needed.
  • +
  • Are permanent across reboots (like file data).
  • +
+
+

+So passive translators also serve as a sort of automounting feature, +because no manual interaction is required. The server start up is +deferred until the service is need, and it is transparent to the user. +

+When starting up a passive translator, it will run as a normal process +with the same user and group id as those of the underlying inode. Any +user is allowed to install passive and active translators on inodes +that he owns. This way the user can install new servers into the +global namespace (for example, in his home or tmp directory) and thus +extend the functionality of the system (recall that servers can +implement other remote procedure calls beside those used for files and +directories). A careful design of the trusted system servers makes +sure that no permissions leak out. +

+In addition, users can provide their own implementations of some of +the system servers instead the system default. For example, they can +use their own exec server to start processes. The user specific exec +server could for example start java programs transparently (without +invoking the interpreter manually). This is done by setting the +environment variable EXECSERVERS. The systems default +exec server will evaluate this environment variable and forward the +RPC to each of the servers listed in turn, until some server accepts +it and takes over. The system default exec server will only do this +if there are no security implications. (XXX There are other ways to +start new programs than by using the system exec server. Those are +still available.) +

+Let's take a closer look at some of the Hurd servers. It was already +mentioned that only few system servers are mandatory for users. To +establish your identity within the Hurd system, you have to +communicate with the trusted systems authentication server +auth. To put the system administrator into control over +the system components, the process server does some global +bookkeeping. +

+But even these servers can be ignored. However, registration with the +authentication server is the only way to establish your identity +towards other system servers. Likewise, only tasks registered as +processes with the process server can make use of its services. + +

Authentication

+
+

+A user identity is just a port to an authserver. The auth server +stores four set of ids for it: +

    +
  • effective user ids
  • +
  • effective group ids
  • +
  • available user ids
  • +
  • available group ids
  • +
+

+Basic properties: +

    +
  • Any of these can be empty.
  • +
  • A 0 among the user ids identifies the superuser.
  • +
  • Effective ids are used to check if the user has the + permission.
  • +
  • Available ids can be turned into effective ids on user + request.
  • +
+
+

+The Hurd auth server is used to establish the identity of a user for a +server. Such an identity (which is just a port to the auth server) +consists of a set of effective user ids, a set of effective group ids, +a set of available user ids and a set of available group ids. Any of +these sets can be empty. + +

Operations on authentication ports

+
+

+The auth server provides the following operations on ports: +

    +
  • Merge the ids of two ports into a new one.
  • +
  • Return a new port containing a subset of the ids in a port.
  • +
  • Create a new port with arbitrary ids (superuser only).
  • +
  • Establish a trusted connection between users and servers.
  • +
+
+

+If you have two identities, you can merge them and request an identity +consisting of the unions of the sets from the auth server. You can +also create a new identity consisting only of subsets of an identity +you already have. What you can't do is extending your sets, unless +you are the superuser which is denoted by having the user id 0. + +

Establishing trusted connections

+
+
    +
  • User provides a rendezvous port to the server (with + io_reauthenticate).
  • +
  • User calls auth_user_authenticate on the + authentication port (his identity), passing the rendezvous port.
  • +
  • Server calls auth_server_authenticate on its + authentication port (to a trusted auth server), passing the + rendezvous port and the server port.
  • +
  • If both authentication servers are the same, it can match the + rendezvous ports and return the server port to the user and the user + ids to the server.
  • +
+
+

+Finally, the auth server can establish the identity of a user for a +server. This is done by exchanging a server port and a user identity +if both match the same rendezvous port. The server port will be +returned to the user, while the server is informed about the id sets +of the user. The server can then serve or reject subsequent RPCs by +the user on the server port, based on the identity it received from +the auth server. +

+Anyone can write a server conforming to the auth protocol, but of +course all system servers use a trusted system auth server to +establish the identity of a user. If the user is not using the system +auth server, matching the rendezvous port will fail and no server port +will be returned to the user. Because this practically requires all +programs to use the same auth server, the system auth server is +minimal in every respect, and additional functionality is moved +elsewhere, so user freedom is not unnecessarily restricted. + +

Password Server

+
+

+The password server /servers/password runs as root and +returns a new authentication port in exchange for a unix password. +

+The ids corresponding to the authentication port match the unix user +and group ids. +

+Support for shadow passwords is implemented here. +

+

+The password server sits at /servers/password and runs as +root. It can hand out ports to the auth server in exchange for a unix +password, matching it against the password or shadow file. Several +utilities make use of this server, so they don't need to be setuid +root. + +

Process Server

+
+

+The superuser must remain control over user tasks, so: +

    +
  • All mach tasks are associated with a PID in the system default + proc server.
  • +
+

+Optionally, user tasks can store: +

    +
  • Their environment variables.
  • +
  • Their argument vector.
  • +
  • A port, which others can request based on the PID (like a + nameserver).
  • +
+

+Also implemented in the proc server: +

    +
  • Sessions and process groups.
  • +
  • Global configuration not in Mach, like hostname, hostid, system + version.
  • +
+
+

+The process server is responsible for some global bookkeeping. As +such it has to be trusted and is not replaceable by the user. +However, a user is not required to use any of its service. In that +case the user will not be able to take advantage of the POSIXish +appearance of the Hurd. +

+The Mach Tasks are not as heavy as POSIX processes. For example, +there is no concept of process groups or sessions in Mach. The proc +server fills in the gap. It provides a PID for all Mach tasks, and +also stores the argument line, environment variables and other +information about a process (if the mach tasks provide them, which is +usually the case if you start a process with the default +fork()/exec()). A process can also register +a message port with the proc server, which can then be requested by +anyone. So the proc server also functions as a nameserver using the +process id as the name. +

+The proc server also stores some other miscellaneous information not +provided by Mach, like the hostname, hostid and system version. +Finally, it provides facilities to group processes and their ports +together, as well as to convert between pids, process server ports and +mach task ports. +
+

+User tasks not registering themselve with proc only have a PID assigned. +

+Users can run their own proc server in addition to the system default, +at least for those parts of the interface that don't require superuser +privileges. +

+

+Although the system default proc server can't be avoided (all Mach +tasks spawned by users will get a pid assigned, so the system +administrator can control them), users can run their own additional +process servers if they want, implementing the features not requiring +superuser privileges. + +

Filesystems

+
+

+Store based filesystems +

    +
  • ext2fs
  • +
  • ufs
  • +
  • isofs (iso9660, RockRidge, GNU extensions)
  • +
  • fatfs (under development)
  • +
+

+Network file systems +

    +
  • nfs
  • +
  • ftpfs
  • +
+

+Miscellaneous +

    +
  • hostmux
  • +
  • usermux
  • +
  • tmpfs (under development)
  • +
+
+

+We already talked about translators and the file system service they +provide. Currently, we have translators for the ext2, ufs and iso9660 +filesystems. We also have an nfs client and an ftp filesystem. +Especially the latter is intriguing, as it provides transparent access +to ftp servers in the filesystem. Programs can start to move away +from implementing a plethora of network protocols, as the files are +directly available in the filesystem through the standard POSIX file +interface. + + +

Developing the Hurd

+
+

+Over a dozen libraries support the development of new servers. +

+For special server types highly specialized +libraries require only the implementation of a +number of callback functions. +

    +
  • Use libdiskfs for store based filesystems.
  • +
  • Use libnetfs for network filesystems, also for + virtual filesystems.
  • +
  • Use libtrivfs for simple filesystems providing only + a single file or directory.
  • +
+
+

+The Hurd server protocols are complex enough to allow for the +implementation of a POSIX compatible system with GNU extensions. +However, a lot of code can be shared by all or at least similar +servers. For example, all storage based filesystems need to be able to +read and write to a store medium splitted in blocks. The Hurd comes +with several libraries which make it easy to implement new servers. +Also, there are already a lot of examples of different server types in +the Hurd. This makes writing a new server easier. +

+libdiskfs is a library that supports writing store based +filesystems like ext2fs or ufs. It is not very useful for filesystems +which are purely virtual, like /proc or files in +/dev. +

+libnetfs is intended for filesystems which provide a rich +directory hierarchy, but don't use a backing store (for example ftpfs, +nfs). +

+libtrivfs is intended for filesystems which just provide +a single inode or directory. Most servers which are not intended to +provide a filesystem but other services (like +/servers/password) use it to provide a dummy file, so +that file operations on the servers node will not return errors. But +it can also be used to provide meaningful data in a single file, like +a device store or a character device. + +

Store Abstraction

+
+

+Another very useful library is libstore, which is used by all store +based filesystems. It provides a store media abstraction. A store +consists of a store class and a name (which itself can sometimes +contain stores). +

+Primitive store classes: +

    +
  • device store like device:hd2, device:hd0s1, device:fd0
  • +
  • file store like file:/tmp/disk_image
  • +
  • task store like task:PID
  • +
  • zero store like zero:4m (like /dev/zero, of size 4 MB)
  • +
+
+
+

+Composed store classes: +

    +
  • copy store like copy:zero:4m
  • +
  • gunzip/bunzip2 store like gunzip:device:fd0
  • +
  • concat store like concat:device:hd0s2:device:hd1s5
  • +
  • ileave store (RAID-0(2))
  • +
  • remap store like remap:10+20,50+:file:/tmp/blocks
  • +
  • ...
  • +
+

+Wanted: A similar abstraction for streams (based on channels), which +can be used by network and character device servers. +

+

+libstore provides a store abstraction, which is used by +all store based filesystems. The store is determined by a type and a +name, but some store types modify another store rather than providing +a new store, and thus stores can be stacked. For example, the device +store type expects a Mach device, but the remap store expects a list +of blocks to pick from another store, like remap:1+:device:hd2, which +would pick all blocks from hd2 but the first one, which skipped. +Because this functionality is provided in a library, all libstore +using filesystems support many different store kinds, and adding a new +store type is enough to make all store based filesystems support it. + +

Debian GNU/Hurd

+
+

+Goal: +

    +
  • Provide a binary distribution of the Hurd that is easy to + install.
  • +
+

+Constraints: +

    +
  • Use the same source packages as Debian GNU/Linux.
  • +
  • Use the same infrastructure: +
      +
    • Policy
    • +
    • Archive
    • +
    • Bug tracking system
    • +
    • Release process
    • +
  • +
+

+Side Goal: +

    +
  • Prepare Debian for the future: +
      +
    • More flexibility in the base system
    • +
    • Identify dependencies on the Linux kernel
    • +
  • +
+
+

+The Debian distribution of the GNU Hurd that I started in 1998 is +supposed to become a complete binary distribution of the Hurd that is +easy to install. + +

Status of the Debian GNU/Hurd binary archive

+

+See +http://buildd.debian.org/stats/graph.png +for the most current version of the statistic. + +

Status of the Debian infrastructure

+
+

+Plus: +

    +
  • Source packages can identify build and host OS using + dpkg-architecture.
  • +
+

+Minus: +

    +
  • The binary architecture field is insufficient.
  • +
  • The BTS has no architecture tag.
  • +
  • The policy/FHS need (small) Hurd specific extensions.
  • +
+
+

+While good compatibiity can be achieved at the source level, +the binary packages can not always express their relationship +to the available architectures sufficiently. +

+For example, the Linux version of makedev is binary-all, where +a binary-all-linux relationship would be more appropriate. +

+More work has to be done here to fix the tools. + +

Status of the Debian Source archive

+
+
    +
  • Most packages just work.
  • +
  • Maintainers are usually responsive and cooperative.
  • +
  • Turtle, the autobuilder, crunches through the whole list right + now.
  • +
+

+Common pitfalls are POSIX incompatibilities: +

    +
  • Upstream: +
      +
    • Unconditional use of PATH_MAX + (MAXPATHLEN), MAXHOSTNAMELEN.
    • +
    • Unguarded use of Linux kernel features.
    • +
    • Use of legacy interfaces (sys_errlist, + termio).
    • +
  • +
  • Debian: +
      +
    • Unguarded activation of extensions available with Linux.
    • +
    • Low quality patches.
    • +
    • Assuming GNU/Linux in package scripts.
    • +
  • +
+
+

+Most packages are POSIX compatible and can be compiled without +changes on the Hurd. The maintainers of the Debian source packages +are usually very kind, responsiver and helpful. +

+The Turtle autobuilder software (http://turtle.sourceforge.net) +builds the Debian packages on the Hurd automatically. + +

Debian GNU/Hurd: Good idea, bad idea?

+
+

+Upstream benefits: +

    +
  • Software packages become more portable.
  • +
+

+Debian benefits: +

    +
  • Debian becomes more portable.
  • +
  • Maintainers learn about portability and other systems.
  • +
  • Debian gets a lot of public recognition.
  • +
+

+GNU/Hurd benefits: +

    +
  • Large software base.
  • +
  • Great infrastructure.
  • +
  • Nice community to partner with.
  • +
+
+

+The sheet lists the advantages of all groups involved. + +

End

+
+

+Join us at +

+
+

+List of contacts. diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index 0cb96f32..2ef08f8a 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -8,6 +8,16 @@ 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]]."]]"""]] -Originally written by Wolfgang Jährling, the [Hurd Hacking Guide](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) -contains an overview of some of the Hurd's features. -Also contains a tutorial on writing your own [[translator]]. +Originally written by Wolfgang Jährling, the *Hurd Hacking Guide* contains an +introduction to GNU Hurd and GNU Mach programming, an overview of some of the +Hurd's features. It also contains a tutorial on writing your own +[[translator]]. + + * [HTML version](http://www.gnu.org/software/hurd/hacking-guide/hhg.html) for + browsing online, + * [PostScript version](http://www.gnu.org/software/hurd/hacking-guide/hhg.ps) + [187kB, 37 pages], + * [ASCII text + version](http://www.gnu.org/software/hurd/hacking-guide/hhg.txt) [59kB], + * [Texinfo source](http://www.gnu.org/software/hurd/hacking-guide/hhg.texi) + [60kB]. diff --git a/hurd/ng/position_paper.mdwn b/hurd/ng/position_paper.mdwn index 3240a41d..e0f4bf60 100644 --- a/hurd/ng/position_paper.mdwn +++ b/hurd/ng/position_paper.mdwn @@ -8,7 +8,8 @@ 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]]."]]"""]] -[[NealWalfield]] and [[MarcusBrinkmann]] wrote a paper titled [*Improving -Usability via Access Decomposition and Policy -Refinement*](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). -This is sometimes referred to as *the position paper*. +Neal Walfield and Marcus Brinkmann wrote a paper titled [*Improving Usability +via Access Decomposition and Policy +Refinement*](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf) +where they give an overview about how a future, subsequent system may be +architected. This is sometimes referred to as *the position paper*. diff --git a/hurd/reference_manual.mdwn b/hurd/reference_manual.mdwn new file mode 100644 index 00000000..5b5bff2d --- /dev/null +++ b/hurd/reference_manual.mdwn @@ -0,0 +1,18 @@ +[[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 Hurd Reference Manual* documents the architecture, the usage and the +programming of the GNU Hurd. At the moment, the manual is quite incomplete. + + * [HTML version](http://www.gnu.org/software/hurd/doc/hurd_toc.html) for + browsing online, + * [PostScript version](http://www.gnu.org/software/hurd/doc/hurd.ps) + [1020KiB, 91 pages]. diff --git a/hurd/running/distrib.mdwn b/hurd/running/distrib.mdwn index fc42e862..b0a6badd 100644 --- a/hurd/running/distrib.mdwn +++ b/hurd/running/distrib.mdwn @@ -94,7 +94,7 @@ about getting applications to work (if possible). * GNU [Coding Standards](http://www.gnu.org/prep/standards.html) * [[TestSuites]] - Posix, Perl, results feedback, etc. -* [docs and papers](http://www.gnu.org/software/hurd/docs.html) +* [[Documentation]] * [[SystemAPILimits]] * [[CodeAnnouncements]] - Recent coding projects related to the Hurd diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn index 009b26bf..440f1122 100644 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -127,7 +127,7 @@ OK. I will give you steps. i. Install a GNU System by folowing [[these_instructions|setup]] -ii. Read about GNU Design +ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|documentation/hurd-paper]] iii. Read about translators diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index b9952931..889f02a6 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -43,6 +43,7 @@ See some [[examples]] about how to use translators. # Existing Translators +* [[auth]] * [[pfinet]] * [[pflocal]] * [[hostmux]] diff --git a/hurd/translator/auth.mdwn b/hurd/translator/auth.mdwn new file mode 100644 index 00000000..73e7e025 --- /dev/null +++ b/hurd/translator/auth.mdwn @@ -0,0 +1,13 @@ +[[meta copyright="Copyright © 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_Authentication_Server*|documentation/auth]], the transcript of a talk +about the details of the authentication mechanisms in the Hurd by Wolfgang +Jährling. 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/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 index cdb43a6f..19e1ea53 100644 --- a/microkernel/mach/gnu_mach.mdwn +++ b/microkernel/mach/gnu_mach.mdwn @@ -71,6 +71,7 @@ GNU/Hurd. # Development + * [[Reference_Manual]] * [[Building]] * [[Debugging]] * [[Boot_Trace]] 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/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 `dealloc` flag -- cgit v1.2.3 From 8e5e7face083202173a2e4b9e8c6628b0893ebcd Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Tue, 11 Nov 2008 17:53:56 +0100 Subject: Gnu Mach now implements PAE --- microkernel/mach/gnumach/ports/xen.mdwn | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index cdb4e2de..c492d9a0 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -10,15 +10,9 @@ is included in the section entitled [[toc ]] -## Xen dom0, PAE-disabled hypervisor +## Xen dom0, hypervisor -/!\ Since GNU Mach doesn't handle PAE yet, you'll need a PAE-disabled hypervisor. - -On Debian Lenny, for example, you can install xen-hypervisor-3.2-1-i386-nonpae. - -This also means that you'll currently need a PAE-disabled `dom0`. -[[Stefan_Siegl|stesie]] is providing a PAE-disabled Linux kernel image at -. +/!\ Now that GNU Mach handles PAE you can use a PAE-enabled hypervisor. You can either get binaries at or build them yourself. @@ -63,7 +57,7 @@ and gnumach should get started. Proceed with native-install. ./native-install - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. -- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor, and you just need to install and boot non-PAE hypervisor and kernel. +- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor and a non-PAE gnumach. Either install and boot non-PAE hypervisor and kernel, or rebuilt gnumach in PAE mode. ## Building from sources -- cgit v1.2.3 From 518c7698233538920e1701695cdabcf42016ea6c Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Wed, 12 Nov 2008 15:49:20 +0100 Subject: Update how to get the Viengoos source code. --- microkernel/viengoos.mdwn | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 9a4f726f..3b7cdd51 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -11,8 +11,11 @@ is included in the section entitled *viengoos* is a new kernel currently being designed and written by Neal Walfield. -It can be found in the *hurd-l4* repository, available at -. +The source can be downloaded from the *viengoos.git* repository, cf. +. You can +check it out using, for example: + +> git clone git://git.sv.gnu.org/hurd/viengoos.git * [[Building]] * Running -- cgit v1.2.3 From 1de4ec0bcfad92dfa0b7cf69919d56c0dca4cb7a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 19 Nov 2008 15:54:07 +0100 Subject: Revert "microkernel/mach/gnumach -> microkernel/mach/gnu_mach" This reverts commit ae9e4e22a7ce8b2b56e98ff1708c2e8d42eefd69. I've changed my mind again. Also resolve conflicts and adapt all new uses of the path. --- community/gsoc/project_ideas.mdwn | 6 +- contributing.mdwn | 6 +- hurd/building/cross-compiling.mdwn | 2 +- hurd/getting_help.mdwn | 2 +- hurd/libstore.mdwn | 2 +- hurd/running.mdwn | 2 +- microkernel/mach.mdwn | 2 +- microkernel/mach/documentation.mdwn | 2 +- microkernel/mach/gnu_mach.mdwn | 80 -------- microkernel/mach/gnu_mach/boot_trace.mdwn | 222 --------------------- microkernel/mach/gnu_mach/building.mdwn | 114 ----------- microkernel/mach/gnu_mach/building/example.mdwn | 54 ----- microkernel/mach/gnu_mach/debugging.mdwn | 68 ------- .../mach/gnu_mach/hardware_compatibility_list.mdwn | 111 ----------- .../hardware_compatibility_list/discussion.mdwn | 4 - microkernel/mach/gnu_mach/open_issues.mdwn | 19 -- microkernel/mach/gnu_mach/ports.mdwn | 15 -- microkernel/mach/gnu_mach/ports/xen.mdwn | 78 -------- microkernel/mach/gnu_mach/ports/xen/internals.mdwn | 14 -- .../ports/xen/networking_configuration.mdwn | 105 ---------- microkernel/mach/gnu_mach/projects.mdwn | 129 ------------ .../mach/gnu_mach/projects/clean_up_the_code.mdwn | 121 ----------- microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn | 13 -- microkernel/mach/gnu_mach/reference_manual.mdwn | 26 --- microkernel/mach/gnumach.mdwn | 80 ++++++++ microkernel/mach/gnumach/boot_trace.mdwn | 222 +++++++++++++++++++++ microkernel/mach/gnumach/building.mdwn | 114 +++++++++++ microkernel/mach/gnumach/building/example.mdwn | 54 +++++ microkernel/mach/gnumach/debugging.mdwn | 68 +++++++ .../mach/gnumach/hardware_compatibility_list.mdwn | 111 +++++++++++ .../hardware_compatibility_list/discussion.mdwn | 4 + microkernel/mach/gnumach/open_issues.mdwn | 19 ++ microkernel/mach/gnumach/ports.mdwn | 15 ++ microkernel/mach/gnumach/ports/xen.mdwn | 78 ++++++++ microkernel/mach/gnumach/ports/xen/internals.mdwn | 14 ++ .../ports/xen/networking_configuration.mdwn | 105 ++++++++++ microkernel/mach/gnumach/projects.mdwn | 129 ++++++++++++ .../mach/gnumach/projects/clean_up_the_code.mdwn | 121 +++++++++++ microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 13 ++ microkernel/mach/gnumach/reference_manual.mdwn | 26 +++ microkernel/mach/history.mdwn | 2 +- microkernel/mach/mig/documentation.mdwn | 2 +- microkernel/mach/mig/gnu_mig/building.mdwn | 2 +- news/2008-11-14.mdwn | 2 +- sidebar.mdwn | 2 +- 45 files changed, 1190 insertions(+), 1190 deletions(-) delete mode 100644 microkernel/mach/gnu_mach.mdwn delete mode 100644 microkernel/mach/gnu_mach/boot_trace.mdwn delete mode 100644 microkernel/mach/gnu_mach/building.mdwn delete mode 100644 microkernel/mach/gnu_mach/building/example.mdwn delete mode 100644 microkernel/mach/gnu_mach/debugging.mdwn delete mode 100644 microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn delete mode 100644 microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn delete mode 100644 microkernel/mach/gnu_mach/open_issues.mdwn delete mode 100644 microkernel/mach/gnu_mach/ports.mdwn delete mode 100644 microkernel/mach/gnu_mach/ports/xen.mdwn delete mode 100644 microkernel/mach/gnu_mach/ports/xen/internals.mdwn delete mode 100644 microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn delete mode 100644 microkernel/mach/gnu_mach/projects.mdwn delete mode 100644 microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn delete mode 100644 microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn delete mode 100644 microkernel/mach/gnu_mach/reference_manual.mdwn create mode 100644 microkernel/mach/gnumach.mdwn create mode 100644 microkernel/mach/gnumach/boot_trace.mdwn create mode 100644 microkernel/mach/gnumach/building.mdwn create mode 100644 microkernel/mach/gnumach/building/example.mdwn create mode 100644 microkernel/mach/gnumach/debugging.mdwn create mode 100644 microkernel/mach/gnumach/hardware_compatibility_list.mdwn create mode 100644 microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn create mode 100644 microkernel/mach/gnumach/open_issues.mdwn create mode 100644 microkernel/mach/gnumach/ports.mdwn create mode 100644 microkernel/mach/gnumach/ports/xen.mdwn create mode 100644 microkernel/mach/gnumach/ports/xen/internals.mdwn create mode 100644 microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn create mode 100644 microkernel/mach/gnumach/projects.mdwn create mode 100644 microkernel/mach/gnumach/projects/clean_up_the_code.mdwn create mode 100644 microkernel/mach/gnumach/projects/gdb_stubs.mdwn create mode 100644 microkernel/mach/gnumach/reference_manual.mdwn (limited to 'microkernel') diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index 8f2fe385..c4b665b7 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -340,7 +340,7 @@ GSoC 2008. He is still working on some outstanding issues. Although a driver framework in userspace would be desirable, presently the Hurd uses kernel drivers in the microkernel, -[[microkernel/mach/GNU_Mach]]. (And changing this would be far beyond a +[[GNU_Mach|microkernel/mach/gnumach]]. (And changing this would be far beyond a GSoC project...) The problem is that the drivers in GNU Mach are presently old Linux drivers @@ -590,7 +590,7 @@ pthreads. The Hurd presently has no sound support. Fixing this, [[GNU_Savannah_task 5485]], requires two steps: the first is to port some other kernel's drivers to -[[microkernel/mach/GNU_Mach]] so we can get access to actual sound +[[GNU_Mach|microkernel/mach/gnumach]] so we can get access to actual sound hardware. The second is to implement a userspace server ([[hurd/translator]]), that implements an interface on top of the kernel device that can be used by applications -- probably OSS or maybe ALSA. @@ -741,7 +741,7 @@ directories and attaching other translators. Although there are some attempts to move to a more modern microkernel alltogether, the current Hurd implementation is based on -[[microkernel/mach/GNU_Mach]], which is only a slightly modified +[[GNU_Mach|microkernel/mach/gnumach]], which is only a slightly modified variant of the original CMU [[microkernel/Mach]]. Unfortunately, Mach was created about two decades ago, and is in turn based on diff --git a/contributing.mdwn b/contributing.mdwn index aac255bd..a647382a 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -33,7 +33,7 @@ There are essential two kinds of Hurd system designs. ## Hurd on Mach For one there's the implementation of the *[[Hurd]] running on the -[[microkernel/mach/GNU_Mach]] microkernel*. This is what is commonly +[[GNU_Mach_microkernel|microkernel/mach/gnumach]]*. This is what is commonly meant when people are talking about GNU/Hurd systems. This system has mostly been designed and implemented @@ -84,8 +84,8 @@ Here is a [[list_of_open_issues|hurd/open_issues]] for the [[GNU_Hurd|hurd]]. ### Open Issues: GNU Mach -Here is a [[list_of_open_issues|microkernel/mach/gnu_mach/open_issues]] for -[[microkernel/mach/GNU_Mach]]. +Here is a [[list_of_open_issues|microkernel/mach/gnumach/open_issues]] for +[[GNU_Mach|microkernel/mach/gnumach]]. ### Open Issues: GNU MIG diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index 81303b0a..b007928c 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -98,7 +98,7 @@ guarantee is given. Always the preferred version is listed first. `gcc-4_3-branch` needs. --> -* `src/gnumach`: [[microkernel/mach/GNU_Mach]] +* `src/gnumach`: [[GNU_Mach|microkernel/mach/gnumach]] * CVS `gnumach-1-branch` diff --git a/hurd/getting_help.mdwn b/hurd/getting_help.mdwn index c4f80ff9..342410dd 100644 --- a/hurd/getting_help.mdwn +++ b/hurd/getting_help.mdwn @@ -11,7 +11,7 @@ is included in the section entitled # Essential Documentation * [[FAQ]] -* [[microkernel/mach/gnu_mach/Hardware_Compatibility_List]] +* [[microkernel/mach/gnumach/Hardware_Compatibility_List]] # Forums diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn index 3de42be3..ab649ebc 100644 --- a/hurd/libstore.mdwn +++ b/hurd/libstore.mdwn @@ -9,7 +9,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] `libstore` is more than just a thin layer between -[[microkernel/mach/GNU_Mach]] devices (`hd0` for example) and the +[[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the device node below `/dev`... # Available Stores diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 78815099..162bc9ea 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -9,7 +9,7 @@ is included in the section entitled [[GNU_Free_Documentation_License|/fdl]]."]]"""]] * [[Distrib]] - Distributions based on the Hurd -* [[microkernel/mach/gnu_mach/ports/Xen]] - In Xen +* [[microkernel/mach/gnumach/ports/Xen]] - In Xen * [[Live_CD]] * [[QEMU]] - In QEMU * [[vmware]] (**non-free!**) diff --git a/microkernel/mach.mdwn b/microkernel/mach.mdwn index 9d3289b4..39d0f4d2 100644 --- a/microkernel/mach.mdwn +++ b/microkernel/mach.mdwn @@ -7,7 +7,7 @@ microkernel currently used by the [[Hurd]]. # Implementations -* [[GNU_Mach]] +* [[GNU_Mach|gnumach]] * [[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**) diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index f6f2eb79..b4187f78 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -12,7 +12,7 @@ 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]]*. + * *[[The_GNU_Mach_Reference_Manual|gnumach/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) diff --git a/microkernel/mach/gnu_mach.mdwn b/microkernel/mach/gnu_mach.mdwn deleted file mode 100644 index 19e1ea53..00000000 --- a/microkernel/mach/gnu_mach.mdwn +++ /dev/null @@ -1,80 +0,0 @@ -[[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/gnu_mach/boot_trace.mdwn b/microkernel/mach/gnu_mach/boot_trace.mdwn deleted file mode 100644 index a08384f0..00000000 --- a/microkernel/mach/gnu_mach/boot_trace.mdwn +++ /dev/null @@ -1,222 +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]]."]]"""]] - -`if NCPUS > 1` stuff is not being considered so far. - - -> i386/i386at/boothdr.S: \_start - -> i386/i386at/boothdr.S: boot\_entry - ->> i386/i386at/model\_dep.c: c\_boot\_entry - ->>> i386/i386at/boothdr.S: discover\_x86\_cpu\_type - ->>> i386/i386at/model\_dep.c: i386at\_init - ->>>> i386/i386/pic.c: picinit - ->>>> i386/i386at/model\_dep.c: mem\_size\_init - ->>>> i386/intel/pmap.c: pmap\_bootstrap - ->>>> i386/i386/gdt.c: gdt\_init - ->>>> i386/i386/idt.c: idt\_init - ->>>> i386/i386at/int\_init.c: int\_init - ->>>> i386/i386/ldt.c: ldt\_init - ->>>> i386/i386/ktss.c: ktss\_init - ->>> kern/startup.c: setup\_main - ->>>> kern/debug.c: panic\_init - ->>>> kern/printf.c: printf\_init - ->>>> kern/sched\_prim.c: sched\_init - ->>>>> kern/sched\_prim.c: wait\_queue\_init - ->>>>> kern/processor.c: pset\_sys\_bootstrap - ->>>>> kern/ast.c: ast\_init - ->>>> vm/vm\_init.c: vm\_mem\_bootstrap - ->>>>> vm/vm\_resident.c: vm\_page\_bootstrap - ->>>>>> vm/vm\_resident.c: pmap\_startup - ->>>>> kern/zalloc.c: zone\_bootstrap - ->>>>> vm/vm\_object.c: vm\_object\_bootstrap - ->>>>>> vm/vm\_external.c: vm\_external\_module\_initialize - ->>>>> vm/vm\_map.c: vm\_map\_init - ->>>>> vm/vm\_kern.c: kmem\_init - ->>>>> i386/intel/pmap.c: pmap\_init - ->>>>> kern/zalloc.c: zone\_init - ->>>>> kern/kalloc.c: kalloc\_init - ->>>>> vm/vm\_fault.c: vm\_fault\_init - ->>>>> vm/vm\_resident.c: vm\_page\_module\_init - ->>>>> vm/memory\_object.c: memory\_manager\_default\_init - ->>>> ipc/ipc\_init.c: ipc\_bootstrap - ->>>>> ipc/ipc\_table.c: ipc\_table\_init - ->>>>> ipc/ipc\_notify.c: ipc\_notify\_init - ->>>>> ipc/ipc\_hash.c: ipc\_hash\_init - ->>>>> ipc/ipc\_marequest.c: ipc\_marequest\_init - ->>>> vm/vm\_init.c: vm\_mem\_init - ->>>>> vm/vm\_object.c: vm\_object\_init - ->>>> ipc/ipc\_init.c: ipc\_init - ->>>>> kern/ipc\_host.c: ipc\_host\_init - ->>>>>> kern/ipc\_host.c: ipc\_pset\_init - ->>>>>> kern/ipc\_host.c: ipc\_pset\_enable - ->>>>>> kern/ipc\_host.c: ipc\_processor\_init - ->>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL - ->>>> kern/timer.c: init\_timers - ->>>> kern/mach\_clock.c: init\_timeout - ->>>> kern/xpr.c: xprbootstrap - ->>>> kern/time\_stamp.c: timestamp\_init - ->>>> kern/mach\_clock.c: mapable\_time\_init - ->>>> i386/i386at/model\_dep.c: machine\_init - ->>>>> device/cons.c: cninit - ->>>>> i386/i386/fpu.c: init\_fpu - ->>>>> linux/dev/init/main.c: linux\_init - ->>>>>> linux/dev/arch/i386/kernel/irq.c: init\_IRQ - ->>>>>>> linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs - ->>>>>> linux/dev/kernel/sched.c: linux\_sched\_init - ->>>>>> linux/dev/init/main.c: calibrate\_delay - ->>>>>> linux/dev/glue/kmem.c: linux\_kmem\_init - ->>>>>> linux/src/drivers/pci/pci.c: pci\_init - ->>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_init - ->>>>>>> linux/src/drivers/pci/pci.c: scan\_bus - ->>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup - ->>>>>> linux/dev/glue/net.c: linux\_net\_emulation\_init - ->>>>>> linux/dev/drivers/block/genhd.c: device\_setup - ->>>>>>> linux/dev/glue/block.c: blk\_dev\_init - ->>>>>>>> linux/src/drivers/block/ide.c: ide\_init - ->>>>>>>> linux/dev/drivers/block/floppy.c: floppy\_init - ->>>>>>> linux/src/drivers/scsi/scsi.c: scsi\_dev\_init - ->>>>>>> linux/dev/net/core/dev.c: net\_dev\_init - ->>>>>> linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init - ->>>>> i386/i386at/autoconf.c: probeio - ->>>>> i386/i386at/model\_dep.c: inittodr - ->>>>> i386/intel/pmap.c: pmap\_unmap\_page\_zero - ->>>> kern/task.c: task\_init - ->>>>> kern/syscall\_emulation.c: eml\_init - ->>>> kern/thread.c: thread\_init - ->>>>> i386/i386/pcb.c: pcb\_module\_init - ->>>>>> i386/i386/fpu.c: fpu\_module\_init - ->>>>>> i386/i386/iopb.c: iopb\_init - ->>>> kern/thread\_swap.c: swapper\_init - ->>>> kern/sched\_prim.c: recompute\_priorities - ->>>> kern/mach\_factor.c: compute\_mach\_factor - ->>>> kern/startup.c: start\_kernel\_threads - -[...] - ->>>> kern/startup.c: cpu\_launch\_first\_thread - ->>>>> i386/i386at/model\_dep.c: startrtclock - ->>>>>> i386/i386/pit.c: clkstart - ->>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL - ->>>>> i386/i386/pcb.c: load\_context - -[...] - -> kern/startup.c: start\_kernel\_threads - -> Threads get created. - ->> kern/sched\_prim.c: idle\_thread - ->> One for each CPU. - ->> kern/thread.c: reaper\_thread - ->> kern/thread\_swap.c: swapin\_thread - ->> kern/sched\_prim.c: sched\_thread - ->> [...] - ->> kern/bootstrap.c: bootstrap\_create - ->> [...] - ->> vm\_pageout - ->> Does not return. diff --git a/microkernel/mach/gnu_mach/building.mdwn b/microkernel/mach/gnu_mach/building.mdwn deleted file mode 100644 index 014d3e87..00000000 --- a/microkernel/mach/gnu_mach/building.mdwn +++ /dev/null @@ -1,114 +0,0 @@ -Additional to the following text, a further [[example]] has be posted. - - -# Building [[GNU_Mach]] from Source - -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 -enabled) is around 50 MiB. - -## Getting the Source Code - -### Developers's RCS - -See . - - $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach - -(Most probably you want to get hold of the *GNU Mach 1 branch* and not the -trunk, which is also what we've done above.) - -You then have to create the automatically generatable files: - - $ ( cd gnumach && autoreconf --install ) - -### What Debian is currently using - -See [here](http://packages.debian.net/source/unstable/gnumach). - - $ apt-get source gnumach - -Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. - -## Preparing for the Build - -### ... on Debian systems - -Building GNU Mach requires the *build-essential* and *fakeroot* packages, their -dependencies and additional packages that are specified by the source gnumach -package: - - # apt-get install build-essential fakeroot - # apt-get build-dep gnumach - -### ... on non-Debian systems - -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/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 -your favourite flavor of awk (gawk) and GNU make. - -## Building and Installing - -### ... Debian `.deb` files - -Change into the directory with the downloaded / unpacked GNU Mach sources, e.g. - - $ cd gnumach-20050801 - -Start the build process with - - $ dpkg-buildpackage -us -uc -b -rfakeroot - -[[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. - - # dpkg -i ../gnumach_20050801-4_hurd-i386.deb - -You can now reboot your computer and enjoy the new kernel. - -### [TODO] - -GNU Mach should be built in a separate directory: - - $ mkdir gnumach-build - $ cd gnumach-build - -Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure -it: - - $ [...]/gnumach-1-branch/configure [TODO] - -Build the kernel image: - - $ make gnumach.gz - -Optionally run the (tiny) test suite: - - $ make check - -You can then install and use `gnumach.gz`. - -[TODO.] - -### Installing only the Header Files - -GNU Mach should be built in a separate directory: - - $ mkdir gnumach-build - $ cd gnumach-build - -Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure -it: - - $ [...]/gnumach-1-branch/configure --prefix= - -Install the header files into e.g. `~/gnu/include/`: - - $ make DESTDIR=~/gnu install-data diff --git a/microkernel/mach/gnu_mach/building/example.mdwn b/microkernel/mach/gnu_mach/building/example.mdwn deleted file mode 100644 index 6da05c5b..00000000 --- a/microkernel/mach/gnu_mach/building/example.mdwn +++ /dev/null @@ -1,54 +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]]."]]"""]] - -## Compiling GNU Mach microkernel - -Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. - -* gcc version: 3.3.5 -* GNU sed version: 4.1.2 -* GNU make version: 3.8 -* mig version: 1.3-4 - -Obtained gnumach-1-branch sources from cvs: - - export CVS_RSH="ssh" - cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach - -Obtained mig_1.3-4_i386.deb from -http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: - - dpkg -i mig_1.3-4_i386.deb - -Entered into the gnumach sources and did the following for compilation: - - mkdir build - cd build - ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ - --enable-kdb --enable-ide - make - -The kernel file is created in the build directory. Move it to /boot on the -testing x86 system Hurd partition. Rename it as gnumach1 and compress it: - - mv kernel gnumach1 - gzip gnumach1 - -Add a new entry on the testing machine /boot/grub/menu.lst to boot the new -kernel. - - title GNU Hurd K10 Compiled gnumach - kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s - module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ - --host-priv-port=${host-port} --device-master-port=${device-port} \\ - --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) - module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -Reboot into the new compiled mygnumach1.gz kernel! diff --git a/microkernel/mach/gnu_mach/debugging.mdwn b/microkernel/mach/gnu_mach/debugging.mdwn deleted file mode 100644 index fa2a9d42..00000000 --- a/microkernel/mach/gnu_mach/debugging.mdwn +++ /dev/null @@ -1,68 +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]]."]]"""]] - -Mach has a built-in kernel debugger. -[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). - - -When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly -[use GDB on the running -kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). - - -Alternatively you can use an approach like this one: add the following code -snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top -of the function, and modify the code as needed. - - void D (char *s) - { - switch (s[0] - '0') - { - case 0: - printf ("Hello from %s!\n", __FUNCTION__); - break; - case 1: - printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__); - extern void task_collect_scan (void); - task_collect_scan (); - break; - default: - printf ("No idea what you want me to do.\n"); - break; - } - } - - if (name && name[0] == 'D') - D (name + 1); - -Then boot your system and do something like this: - - # devprobe D0 - Hello from D! - # devprobe D1 - D: Invoking task_collect_scan. - # devprobe D2 - No idea what you want me to do. - -This is especially useful if you need to manually trigger some stuff inside the -running kernel, as with the *D1* example. - - -If you're doing real low level debugging, you might want to put variations of -the following snipped into the code, this code will write a `#` character at -line `[LINE]`, column `[COLUMN]` on the screen: - - *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#'; - halt_cpu (); - -The call of `halt_cpu` will -- as the name suggests -- halt the system -afterwards. This might be what you want or it might not, but it is needed at -some place when running the kernel inside QEMU, as QEMU somehow decides not to -update its display buffer anymore under certain conditions. diff --git a/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn deleted file mode 100644 index 09882467..00000000 --- a/microkernel/mach/gnu_mach/hardware_compatibility_list.mdwn +++ /dev/null @@ -1,111 +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]]."]]"""]] - -# CPU Architecture - -GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. - -`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice -`amd64` systems seem to be troublesome more often than not. This is probably -related to the same (chipset-related) problems we often see with recent -machines; but it seems that `amd64` ones use problematic chipsets particularily -often. So far we haven't heard of similar problems with Intel's eqivalent -`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer -people tried running the Hurd on such machines :-) - -Support for running GNU Mach (and a complete GNU/Hurd system) in a -[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` -only) is [[being_worked_on|ports/xen]]. - -Read about further [[ports]]. - -# Memory - -GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, -the surplus will silently be ignored. (In past times, this would hinder GNU -Mach from booting at all, but this has been fixed, so you no longer need to -apply GRUB's `uppermem` directive.) - -# Video Cards - -Debian distributes a version of [X.org](http://x.org/). If your video card driver -depends on a special kernel interface such as that provided by -the `agpgart` kernel module for the Linux kernel, then your video -card will only be supported by the VESA driver. - -Using an internal i815 videocard [won't -work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when -using the specialized driver), because of [missing AGP GART support in GNU -Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). - -# Sound - -No sound cards are supported at this time. - -# USB 1.1/2.0 - -USB is not supported at this time. - -However, USB-type keyboards and mice may (and have been reported to) work -nevertheless, given that the hardware / BIOS is doing emulation to the -supported legacy interfaces. - -# IEEE 1394 (Firewire) - -IEEE 1394 is not supported at this time - -# Storage - -All common IDE drives should work. Some drive geometries do not work, -e.g. drives with hundreds of GiB of storage space. If you find a specific IDE -drive that does not work, make a note of the model and technical specifications -here. - -[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] - - -[[toggleable id="SATA" text=""" -This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach -couldn't connect to the hard disk, e.g., in a SATA system without IDE -compatibility mode: - - start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static - device:hd0s4: No such device or address - -There *may* be an option in the system's BIOS setup to configure enabling such -a compatibility mode. -"""]] - -# Device Drivers - -[GNU Mach Reference Manual, -Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) -contains a list of device drivers that are included in GNU Mach and elaborates -on the hardware devices they support. - -# User Success Reports - -These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. - -* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot -* Intel SE-440BX motherboard -* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. -* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. -* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. - -# User Failure Reports - -Some people couldn't get these hardware combinations to work with Hurd. - -Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. - -* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot -* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. -* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. diff --git a/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn deleted file mode 100644 index 69ca3190..00000000 --- a/microkernel/mach/gnu_mach/hardware_compatibility_list/discussion.mdwn +++ /dev/null @@ -1,4 +0,0 @@ -Further information may still be found on - -and could perhaps be incorporated into that page. ---[[tschwinge]] diff --git a/microkernel/mach/gnu_mach/open_issues.mdwn b/microkernel/mach/gnu_mach/open_issues.mdwn deleted file mode 100644 index 433ec3ef..00000000 --- a/microkernel/mach/gnu_mach/open_issues.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[meta copyright="Copyright © 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 title="Open Issues"]] - -This is a dumping ground for open issues for GNU Mach. - -[[inline -pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" -show=0 -actions=yes -rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnu_mach/ports.mdwn b/microkernel/mach/gnu_mach/ports.mdwn deleted file mode 100644 index 00cdee8c..00000000 --- a/microkernel/mach/gnu_mach/ports.mdwn +++ /dev/null @@ -1,15 +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]]."]]"""]] - - * x86. This is the main port. - * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. - * Alpha. Was once started, but isn't in a usable state either. - - * [[Xen]] diff --git a/microkernel/mach/gnu_mach/ports/xen.mdwn b/microkernel/mach/gnu_mach/ports/xen.mdwn deleted file mode 100644 index c492d9a0..00000000 --- a/microkernel/mach/gnu_mach/ports/xen.mdwn +++ /dev/null @@ -1,78 +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]]."]]"""]] - -[[toc ]] - -## Xen dom0, hypervisor - -/!\ Now that GNU Mach handles PAE you can use a PAE-enabled hypervisor. - -You can either get binaries at or build them yourself. - -- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. -- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap - -## GNU/Hurd system - -/!\ You need an already installed GNU/Hurd system. - -If you have a free partition, you can fdisk to type 0x83, create a filesystem using: - - sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 - -Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. - -## /etc/xen/hurd configuration - -Here is a sample /etc/xen/hurd configuration - - kernel = "/boot/gnumach-xen" - memory = 256 - disk = ['phy:sda4,hda,w'] - extra = "root=device:hd0" - vif = [ '' ] - ramdisk = "/boot/hurd-modules" - -Suggestions about [[networking_configuration]] are available. - -If you need stable MAC addresses, use a syntax like `vif = [ -'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. - -## Running Hurd with Xen - -To run Hurd with Xen, use: - - xm create -c hurd - -and gnumach should get started. Proceed with native-install. - - export TERM=mach - ./native-install - -- If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. -- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor and a non-PAE gnumach. Either install and boot non-PAE hypervisor and kernel, or rebuilt gnumach in PAE mode. - -## Building from sources - -If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. -Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. -Then use - - ./configure --enable-platform=xen - make - -The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. -/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! - ---- - -[[Internals]]. - -[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnu_mach/ports/xen/internals.mdwn b/microkernel/mach/gnu_mach/ports/xen/internals.mdwn deleted file mode 100644 index 09e707ea..00000000 --- a/microkernel/mach/gnu_mach/ports/xen/internals.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[meta copyright="Copyright © 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 port does use Xen's para-virtualized interface for device (ide, network, -etc.) access. - -[[Virtualization]]. diff --git a/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn deleted file mode 100644 index 71a72bac..00000000 --- a/microkernel/mach/gnu_mach/ports/xen/networking_configuration.mdwn +++ /dev/null @@ -1,105 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -[[toc ]] - -The Xen dom0 infrastructure provides for a bridged networking setup using shell -scripts to configure the bridging device properly and attach the domUs' virtual -interfaces to the bridge. However, we've [seen -problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) -when using this approach, so to [solve these -issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), -instead suggest the following configuration method (to achieve the same thing). - -This is for a Debian dom0. - -# */etc/network/interfaces* - -Comment out everything referencing your physical devices. Add this: - - auto br0 - iface br0 inet dhcp - bridge_ports regex (eth|vif).* noregex - -... or if you want to do the manual configuration dance: - - auto br0 - iface br0 inet static - bridge_ports regex (eth|vif).* noregex - address 192.168.10.60 - netmask 255.255.255.0 - [...] - -This needs a version of the `bridge-utils` package more recent than the current -Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, -e.g., the Debian testing one on Debian stable.) - -# */etc/xen/xend-config.sxp* - -Make sure that only `(network-script network-dummy)` and `(vif-script -vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, -respective `(vif-script vif-WHATEVER)` are commented out. - - -# Sample configuration files on Debian Lenny - -## /etc/xen/hurd on dom0 - - kernel = "/boot/gnumach-xen" - memory = 256 - disk = ['phy:sda5,hda,w'] - extra = "root=device:hd0" - vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] - ramdisk = "/boot/hurd-modules" - -/dev/sda5 is an extended partition. br0 is bridge interface on dom0. - -## /etc/xen/xend-config.sxp on dom0 - - (network-script 'network-bridge netdev=br0') - (dom0-min-mem 196) - (dom0-cpus 0) - (vncpasswd '') - -## /etc/network/interfaces on dom0 - - auto br0 - iface br0 inet static - address 192.168.1.211 - network 192.168.1.0 - netmask 255.255.255.0 - broadcast 192.168.1.255 - gateway 192.168.1.1 - bridge_ports eth1 - -eth1 is the interface that is connected to the Internet on the LAN: - -## Doing settrans on domU - - settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 - -## /sbin/ifconfig on dom0 - - br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 - inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 - inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link - UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 - RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 - TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 - collisions:0 txqueuelen:0 - RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) - - eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 - inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link - UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 - RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 - TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 - collisions:0 txqueuelen:1000 - RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB) diff --git a/microkernel/mach/gnu_mach/projects.mdwn b/microkernel/mach/gnu_mach/projects.mdwn deleted file mode 100644 index 9ace6270..00000000 --- a/microkernel/mach/gnu_mach/projects.mdwn +++ /dev/null @@ -1,129 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -This page is a place to keep track of ideas about things that may be improved -in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both -in terms of stability and performance. If you find anything missing here, -please feel free to add a entry with a short description. - -If you want to help with any of the task (thanks!), please send a mail to -*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, -so that no duplicate efforts end up. - -# Active Branches - - * `gnumach-1-branch` is the main branch. - - * `gnumach-1-branch-Xen-branch` is a branch created by Samuel Thibault for - working on a [[ports/Xen]] port. - - * `gnumach-1-branch-gdb-branch` is a branch created by Michael Casadevall for - working on [[GDB_stubs]]. - - -# Task List - - * [[Clean_up_the_code]] - - * [[Open_Issues]] - - * Update the core architecture and drivers - - * Check what NetBSD, FreeBSD and Linux do with their host specific code - (i486, PPC, Sparc, ...). And if it might be wise to take that and use - it in GNU Mach. There is no need to worry about purely internal API's, - but the external ones shouldn't require any major changes. - - * Write a list of all functions provided by the host dependant code in - GNU Mach that gets used in the non-host specific code (kernel, IPC and - VM). - - * Once we have decided what the new internal API should look like, make a - list of the new API and the old one, and try to make things as - compatible as possible, but not at the expense of anything. - - * Implement Migrating Threads - - * Migrating Threads (MT) could improve IPC performance and making easier - the work of the scheduler. For more information, check - - - * Improve the external pagers interface - - * Implement read-ahead (huge I/O improvements expected). - - * Making this interface synchronous should improve I/O performance - significantly, without (almost) any drawbacks (we also get some - advantage from MT's). - - * Implement more paging eviction policies, so they fit better with usual - behaviour of the pagers. - - * Implement resource accounting for external pagers. - - * VM - - * Put it on user level (?) - - * Clean up the mess. - - * Provide a fast way to read/write from/to a memory object. - - * Simplify/normalise the code. - - * Simplify the IPC Semantics - - * There are a lot of things in GNU Mach's IPC that we don't need. Track - down those things, and get rid of them without requiring many changes - in the Hurd (the changes will affect MiG, but that is OK). - - * Temporary mappings for Client-Server memory transfers - - * Extend Mach's IPC to provide some kind of object which can represent a - range of memory that can temporarily be mapped into the servers address - space for sending/receiving data. This would allow us to avoid - excessive memory copies. - - * Find a new way to work with unaligned memory. - - * GDB remote debugging support - - * Implement support for GDB debugging via serial line and/or network. - Maybe this can be done together with the host-specific work above. - - See [[GDB_stubs]]. - - * Make it run as a [[UNIX]]/Linux executable. - - * Neal: - - here's a fun project: port the mach interface to Linux - (e.g., via kernel modifications) - or, to posix/glibc - (mmap, some minimal ptrace, etc.) - - * From the [Hurd bits at - sourceforge.net](http://sourceforge.net/projects/hurd): - , started by John - Tobey. Last time touched in 2003. Status completely unknown. - - * [README](http://hurd.cvs.sourceforge.net/hurd/gnumach-otop/README?view=markup) - - -# Wish List - - * Interface for userspace non-critical drivers. - - * Sound Support - - * WLAN support (ipw2200) with WEP/WPA - - * ACPI support diff --git a/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn deleted file mode 100644 index 875bb8cd..00000000 --- a/microkernel/mach/gnu_mach/projects/clean_up_the_code.mdwn +++ /dev/null @@ -1,121 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -# Restructure the tree in a sane way - -Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it -as-is for now. Also, a bunch of (header) files from there may probably be -discarded. - - -# Remove dead files from the GNU Mach source tree - -For *exported* files (via `make install`), the plan is to first stick some -`#error This file is scheduled for removal. Write to if you -have a reason to have it kept available.` into them, and then actually remove -them after some months. - -For some of the internal header files (containing function prototypes and the -like), it might actually be useful to use them. (And then get rid of a bunch -of `extern ...` statements in other files.) - -This following list was assembled by putting such a `#error ...` line into each -of the `gnumach-1-branch`'s header files (exported and internal; save the -`linux/` ones (only internal) for simplicity), and then trying to build GNU -Mach until this would succeed again (by removing offending `#error ...`s), and -afterwards using the set of exported files for building a cross toolchain -(again still removing offending `#error ...`s). A very crude and imprecise -method. - -So, additionally to the list given below, there may actually be a bunch of -further files (also exported ones) that serve no real value, but are being -`#include`d through one way or another. - -* [[source_gnumach-1-branch ddb/db_expr.h]] - - Currently used, but copyright violation? Rewrite? - -* [[source_gnumach-1-branch ddb/db_print.h]] - - Copyright violation? Currently unused, but could be used in principle (or - be rewritten, to avoid the copyright oddity). - -* [[source_gnumach-1-branch ddb/tr.h]] - - Copyright violation. Unused. Remove. - -* [[source_gnumach-1-branch device/dev_master.h]] - - Might be usable for SMP? Remove otherwise. - -* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] - -* [[source_gnumach-1-branch i386/i386/sched_param.h]] - -* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] - - Was probably once exported, but is no longer. - -* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] - - Exported. - -* [[source_gnumach-1-branch include/device/audio_status.h]] - - Exported. - -* [[source_gnumach-1-branch include/device/tape_status.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/alert.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/boot.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/macro_help.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/multiboot.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/profil.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/profilparam.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach/exec/a.out.h]] - - Exported. - -* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] - - Currently not exported, but was probably once meant to be. - -* [[source_gnumach-1-branch kern/act.h]] - -* [[source_gnumach-1-branch kern/refcount.h]] - -* [[source_gnumach-1-branch kern/shuttle.h]] - - -# Remove dead functions, variables, etc. from source files - - -# Rewrite ugly code diff --git a/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn b/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn deleted file mode 100644 index 9a11a82b..00000000 --- a/microkernel/mach/gnu_mach/projects/gdb_stubs.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - - * - - * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) diff --git a/microkernel/mach/gnu_mach/reference_manual.mdwn b/microkernel/mach/gnu_mach/reference_manual.mdwn deleted file mode 100644 index 225ab176..00000000 --- a/microkernel/mach/gnu_mach/reference_manual.mdwn +++ /dev/null @@ -1,26 +0,0 @@ -[[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 new file mode 100644 index 00000000..19e1ea53 --- /dev/null +++ b/microkernel/mach/gnumach.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/gnumach/boot_trace.mdwn new file mode 100644 index 00000000..a08384f0 --- /dev/null +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -0,0 +1,222 @@ +[[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]]."]]"""]] + +`if NCPUS > 1` stuff is not being considered so far. + + +> i386/i386at/boothdr.S: \_start + +> i386/i386at/boothdr.S: boot\_entry + +>> i386/i386at/model\_dep.c: c\_boot\_entry + +>>> i386/i386at/boothdr.S: discover\_x86\_cpu\_type + +>>> i386/i386at/model\_dep.c: i386at\_init + +>>>> i386/i386/pic.c: picinit + +>>>> i386/i386at/model\_dep.c: mem\_size\_init + +>>>> i386/intel/pmap.c: pmap\_bootstrap + +>>>> i386/i386/gdt.c: gdt\_init + +>>>> i386/i386/idt.c: idt\_init + +>>>> i386/i386at/int\_init.c: int\_init + +>>>> i386/i386/ldt.c: ldt\_init + +>>>> i386/i386/ktss.c: ktss\_init + +>>> kern/startup.c: setup\_main + +>>>> kern/debug.c: panic\_init + +>>>> kern/printf.c: printf\_init + +>>>> kern/sched\_prim.c: sched\_init + +>>>>> kern/sched\_prim.c: wait\_queue\_init + +>>>>> kern/processor.c: pset\_sys\_bootstrap + +>>>>> kern/ast.c: ast\_init + +>>>> vm/vm\_init.c: vm\_mem\_bootstrap + +>>>>> vm/vm\_resident.c: vm\_page\_bootstrap + +>>>>>> vm/vm\_resident.c: pmap\_startup + +>>>>> kern/zalloc.c: zone\_bootstrap + +>>>>> vm/vm\_object.c: vm\_object\_bootstrap + +>>>>>> vm/vm\_external.c: vm\_external\_module\_initialize + +>>>>> vm/vm\_map.c: vm\_map\_init + +>>>>> vm/vm\_kern.c: kmem\_init + +>>>>> i386/intel/pmap.c: pmap\_init + +>>>>> kern/zalloc.c: zone\_init + +>>>>> kern/kalloc.c: kalloc\_init + +>>>>> vm/vm\_fault.c: vm\_fault\_init + +>>>>> vm/vm\_resident.c: vm\_page\_module\_init + +>>>>> vm/memory\_object.c: memory\_manager\_default\_init + +>>>> ipc/ipc\_init.c: ipc\_bootstrap + +>>>>> ipc/ipc\_table.c: ipc\_table\_init + +>>>>> ipc/ipc\_notify.c: ipc\_notify\_init + +>>>>> ipc/ipc\_hash.c: ipc\_hash\_init + +>>>>> ipc/ipc\_marequest.c: ipc\_marequest\_init + +>>>> vm/vm\_init.c: vm\_mem\_init + +>>>>> vm/vm\_object.c: vm\_object\_init + +>>>> ipc/ipc\_init.c: ipc\_init + +>>>>> kern/ipc\_host.c: ipc\_host\_init + +>>>>>> kern/ipc\_host.c: ipc\_pset\_init + +>>>>>> kern/ipc\_host.c: ipc\_pset\_enable + +>>>>>> kern/ipc\_host.c: ipc\_processor\_init + +>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL + +>>>> kern/timer.c: init\_timers + +>>>> kern/mach\_clock.c: init\_timeout + +>>>> kern/xpr.c: xprbootstrap + +>>>> kern/time\_stamp.c: timestamp\_init + +>>>> kern/mach\_clock.c: mapable\_time\_init + +>>>> i386/i386at/model\_dep.c: machine\_init + +>>>>> device/cons.c: cninit + +>>>>> i386/i386/fpu.c: init\_fpu + +>>>>> linux/dev/init/main.c: linux\_init + +>>>>>> linux/dev/arch/i386/kernel/irq.c: init\_IRQ + +>>>>>>> linux/dev/arch/i386/kernel/irq.c: reserve\_mach\_irqs + +>>>>>> linux/dev/kernel/sched.c: linux\_sched\_init + +>>>>>> linux/dev/init/main.c: calibrate\_delay + +>>>>>> linux/dev/glue/kmem.c: linux\_kmem\_init + +>>>>>> linux/src/drivers/pci/pci.c: pci\_init + +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_init + +>>>>>>> linux/src/drivers/pci/pci.c: scan\_bus + +>>>>>>> linux/src/arch/i386/kernel/bios32.c: pcibios\_fixup + +>>>>>> linux/dev/glue/net.c: linux\_net\_emulation\_init + +>>>>>> linux/dev/drivers/block/genhd.c: device\_setup + +>>>>>>> linux/dev/glue/block.c: blk\_dev\_init + +>>>>>>>> linux/src/drivers/block/ide.c: ide\_init + +>>>>>>>> linux/dev/drivers/block/floppy.c: floppy\_init + +>>>>>>> linux/src/drivers/scsi/scsi.c: scsi\_dev\_init + +>>>>>>> linux/dev/net/core/dev.c: net\_dev\_init + +>>>>>> linux/pcmcia-cs/glue/pcmcia.c: pcmcia\_init + +>>>>> i386/i386at/autoconf.c: probeio + +>>>>> i386/i386at/model\_dep.c: inittodr + +>>>>> i386/intel/pmap.c: pmap\_unmap\_page\_zero + +>>>> kern/task.c: task\_init + +>>>>> kern/syscall\_emulation.c: eml\_init + +>>>> kern/thread.c: thread\_init + +>>>>> i386/i386/pcb.c: pcb\_module\_init + +>>>>>> i386/i386/fpu.c: fpu\_module\_init + +>>>>>> i386/i386/iopb.c: iopb\_init + +>>>> kern/thread\_swap.c: swapper\_init + +>>>> kern/sched\_prim.c: recompute\_priorities + +>>>> kern/mach\_factor.c: compute\_mach\_factor + +>>>> kern/startup.c: start\_kernel\_threads + +[...] + +>>>> kern/startup.c: cpu\_launch\_first\_thread + +>>>>> i386/i386at/model\_dep.c: startrtclock + +>>>>>> i386/i386/pit.c: clkstart + +>>>>> i386/intel/pmap.h: PMAP\_ACTIVATE\_KERNEL + +>>>>> i386/i386/pcb.c: load\_context + +[...] + +> kern/startup.c: start\_kernel\_threads + +> Threads get created. + +>> kern/sched\_prim.c: idle\_thread + +>> One for each CPU. + +>> kern/thread.c: reaper\_thread + +>> kern/thread\_swap.c: swapin\_thread + +>> kern/sched\_prim.c: sched\_thread + +>> [...] + +>> kern/bootstrap.c: bootstrap\_create + +>> [...] + +>> vm\_pageout + +>> Does not return. diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn new file mode 100644 index 00000000..9c075600 --- /dev/null +++ b/microkernel/mach/gnumach/building.mdwn @@ -0,0 +1,114 @@ +Additional to the following text, a further [[example]] has be posted. + + +# Building [[GNU_Mach|gnumach]] from Source + +If you want to build the [[GNU_Mach|gnumach]] 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 +enabled) is around 50 MiB. + +## Getting the Source Code + +### Developers's RCS + +See . + + $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co -r gnumach-1-branch gnumach + +(Most probably you want to get hold of the *GNU Mach 1 branch* and not the +trunk, which is also what we've done above.) + +You then have to create the automatically generatable files: + + $ ( cd gnumach && autoreconf --install ) + +### What Debian is currently using + +See [here](http://packages.debian.net/source/unstable/gnumach). + + $ apt-get source gnumach + +Please see the Debian [[running/debian/FAQ]] before using `apt-get source`. + +## Preparing for the Build + +### ... on Debian systems + +Building GNU Mach requires the *build-essential* and *fakeroot* packages, their +dependencies and additional packages that are specified by the source gnumach +package: + + # apt-get install build-essential fakeroot + # apt-get build-dep gnumach + +### ... on non-Debian systems + +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/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 +your favourite flavor of awk (gawk) and GNU make. + +## Building and Installing + +### ... Debian `.deb` files + +Change into the directory with the downloaded / unpacked GNU Mach sources, e.g. + + $ cd gnumach-20050801 + +Start the build process with + + $ dpkg-buildpackage -us -uc -b -rfakeroot + +[[GNU_Mach|gnumach]] 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. + + # dpkg -i ../gnumach_20050801-4_hurd-i386.deb + +You can now reboot your computer and enjoy the new kernel. + +### [TODO] + +GNU Mach should be built in a separate directory: + + $ mkdir gnumach-build + $ cd gnumach-build + +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: + + $ [...]/gnumach-1-branch/configure [TODO] + +Build the kernel image: + + $ make gnumach.gz + +Optionally run the (tiny) test suite: + + $ make check + +You can then install and use `gnumach.gz`. + +[TODO.] + +### Installing only the Header Files + +GNU Mach should be built in a separate directory: + + $ mkdir gnumach-build + $ cd gnumach-build + +Find the path to your GNU Mach sources (`[...]/gnumach-1-branch`) and configure +it: + + $ [...]/gnumach-1-branch/configure --prefix= + +Install the header files into e.g. `~/gnu/include/`: + + $ make DESTDIR=~/gnu install-data diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn new file mode 100644 index 00000000..6da05c5b --- /dev/null +++ b/microkernel/mach/gnumach/building/example.mdwn @@ -0,0 +1,54 @@ +[[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]]."]]"""]] + +## Compiling GNU Mach microkernel + +Host development system is IBM T41 running Debian Sarge 3.1r0a GNU/Linux. + +* gcc version: 3.3.5 +* GNU sed version: 4.1.2 +* GNU make version: 3.8 +* mig version: 1.3-4 + +Obtained gnumach-1-branch sources from cvs: + + export CVS_RSH="ssh" + cvs -z3 -d:ext:anoncvs@ savannah.gnu.org:/cvsroot/hurd co -r gnumach-1-branch gnumach + +Obtained mig_1.3-4_i386.deb from +http://www.hadrons.org/~guillem/debian/pool/main/mig/. Installed it using dpkg: + + dpkg -i mig_1.3-4_i386.deb + +Entered into the gnumach sources and did the following for compilation: + + mkdir build + cd build + ../configure --host=i386-unknown-gnu0.2 --build=i586-pc-linux-gnu \ + --enable-kdb --enable-ide + make + +The kernel file is created in the build directory. Move it to /boot on the +testing x86 system Hurd partition. Rename it as gnumach1 and compress it: + + mv kernel gnumach1 + gzip gnumach1 + +Add a new entry on the testing machine /boot/grub/menu.lst to boot the new +kernel. + + title GNU Hurd K10 Compiled gnumach + kernel (hd0,3)/boot/gnumach1.gz root=device:hd2s4 -s + module (hd0,3)/hurd/ext2fs.static--multiboot-command-line=${kernel-command-line} \\ + --host-priv-port=${host-port} --device-master-port=${device-port} \\ + --exec-server-task=${exec-task} -T typed ${root} $(task-create)$(task-resume) + module (hd0,3)/lib/ld.so.1 /hurd/exec $(exec-task=task-create) + +Reboot into the new compiled mygnumach1.gz kernel! diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn new file mode 100644 index 00000000..fa2a9d42 --- /dev/null +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -0,0 +1,68 @@ +[[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]]."]]"""]] + +Mach has a built-in kernel debugger. +[Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). + + +When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly +[use GDB on the running +kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). + + +Alternatively you can use an approach like this one: add the following code +snippet to `device/ds_routines.c`'s `ds_device_open` function, right at the top +of the function, and modify the code as needed. + + void D (char *s) + { + switch (s[0] - '0') + { + case 0: + printf ("Hello from %s!\n", __FUNCTION__); + break; + case 1: + printf ("%s: Invoking task_collect_scan.\n", __FUNCTION__); + extern void task_collect_scan (void); + task_collect_scan (); + break; + default: + printf ("No idea what you want me to do.\n"); + break; + } + } + + if (name && name[0] == 'D') + D (name + 1); + +Then boot your system and do something like this: + + # devprobe D0 + Hello from D! + # devprobe D1 + D: Invoking task_collect_scan. + # devprobe D2 + No idea what you want me to do. + +This is especially useful if you need to manually trigger some stuff inside the +running kernel, as with the *D1* example. + + +If you're doing real low level debugging, you might want to put variations of +the following snipped into the code, this code will write a `#` character at +line `[LINE]`, column `[COLUMN]` on the screen: + + *((char *) 0xb8000 + 2 * ([LINE] * 80 + [COLUMN])) = '#'; + halt_cpu (); + +The call of `halt_cpu` will -- as the name suggests -- halt the system +afterwards. This might be what you want or it might not, but it is needed at +some place when running the kernel inside QEMU, as QEMU somehow decides not to +update its display buffer anymore under certain conditions. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn new file mode 100644 index 00000000..09882467 --- /dev/null +++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn @@ -0,0 +1,111 @@ +[[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]]."]]"""]] + +# CPU Architecture + +GNU Mach current only supports the `x86` (alias `ia32` or `i386`) architecture. + +`amd64`/`ix64` should work in `32-bit` compatibility mode. However, in practice +`amd64` systems seem to be troublesome more often than not. This is probably +related to the same (chipset-related) problems we often see with recent +machines; but it seems that `amd64` ones use problematic chipsets particularily +often. So far we haven't heard of similar problems with Intel's eqivalent +`ix64` (or `EM64T` as it used to be called) -- but maybe that just means fewer +people tried running the Hurd on such machines :-) + +Support for running GNU Mach (and a complete GNU/Hurd system) in a +[Xen](http://www.cl.cam.ac.uk/research/srg/netos/xen/) `domU` (again on `x86` +only) is [[being_worked_on|ports/xen]]. + +Read about further [[ports]]. + +# Memory + +GNU Mach will use a maximum of 1 GiB of RAM. If your system has more, +the surplus will silently be ignored. (In past times, this would hinder GNU +Mach from booting at all, but this has been fixed, so you no longer need to +apply GRUB's `uppermem` directive.) + +# Video Cards + +Debian distributes a version of [X.org](http://x.org/). If your video card driver +depends on a special kernel interface such as that provided by +the `agpgart` kernel module for the Linux kernel, then your video +card will only be supported by the VESA driver. + +Using an internal i815 videocard [won't +work](http://lists.debian.org/debian-hurd/2007/12/msg00007.html) (at least when +using the specialized driver), because of [missing AGP GART support in GNU +Mach](http://lists.debian.org/debian-hurd/2007/12/msg00011.html). + +# Sound + +No sound cards are supported at this time. + +# USB 1.1/2.0 + +USB is not supported at this time. + +However, USB-type keyboards and mice may (and have been reported to) work +nevertheless, given that the hardware / BIOS is doing emulation to the +supported legacy interfaces. + +# IEEE 1394 (Firewire) + +IEEE 1394 is not supported at this time + +# Storage + +All common IDE drives should work. Some drive geometries do not work, +e.g. drives with hundreds of GiB of storage space. If you find a specific IDE +drive that does not work, make a note of the model and technical specifications +here. + +[[toggle id="SATA" text="SATA drives may work in compatibility mode."]] + + +[[toggleable id="SATA" text=""" +This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach +couldn't connect to the hard disk, e.g., in a SATA system without IDE +compatibility mode: + + start (hd0,3)/hurd/ext2fs.static: (hd0,3)/hurd/ext2fs.static + device:hd0s4: No such device or address + +There *may* be an option in the system's BIOS setup to configure enabling such +a compatibility mode. +"""]] + +# Device Drivers + +[GNU Mach Reference Manual, +Configuration](http://www.gnu.org/software/hurd/gnumach-doc/Configuration.html) +contains a list of device drivers that are included in GNU Mach and elaborates +on the hardware devices they support. + +# User Success Reports + +These boards are known to work. Gnumach/Hurd has been installed and run on these board successfully. + +* ASUS P2B motherboard with an Intel PII 450MHz CPU with Intel Pro/100 NIC in PCI slot +* Intel SE-440BX motherboard +* VIA EPIA-M Mini-ITX motherboard with VIA Nehemiah C3 1Ghz processor. Onboard NIC (VIA Rhine) works good. +* Compaq Deskpro ENS, Pentium3 (666 MHz upgraded to 1 GHz), Intel i815 chipset, chipset integrated NIC (detected twice, but works fine with eth0; trying to access eth1 confuses the driver and makes the system unusable), Matrox Mystique 220 (PCI) graphics card. Also works with rtl8029 (NE2000 PCI) NIC when onboard NIC disabled in BIOS setup. +* Abit BX6 Rev. 2.0 with Celeron 400, after disabling "memory hole at 15MB" option in BIOS setup. (Otherwise, Mach detects only 15MiB of RAM, making Hurd run *extremely* slow and instable.) Should also work with PentiumII or Pentium3. + +# User Failure Reports + +Some people couldn't get these hardware combinations to work with Hurd. + +Note: The Debian GNU/Hurd installer actually runs on Linux, so it (almost) always works. The critical bit is booting after installation. + +* ASUS P5A motherboard and AMD K6-2 333MHz CPU - doesn't boot +* ASUS P2B-LS motherboard with an Intel PII-MMX 400 MHz CPU - this board had a defective onboard NIC (that could not be disable in BIOS) and working 3COM Etherlink III NIC in a PCI bus slot. This combination worked with GNU/Linux. The 3COM NIC is known to work with the Hurd. However, while gnumach/Hurd will boot on this system, it is confused by the defective onboard NIC and unable to use the 3COM NIC. Attempting to start networking generates a continous stream of eth0 and eth1 reset messages on the console that renders the system unusable. +* ASrock 775Twins-HDTV with a Pentium D 810 (533 MGz FSB/2600GHz core -- information no longer present on intel's site). Doesn't boot. diff --git a/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn new file mode 100644 index 00000000..69ca3190 --- /dev/null +++ b/microkernel/mach/gnumach/hardware_compatibility_list/discussion.mdwn @@ -0,0 +1,4 @@ +Further information may still be found on + +and could perhaps be incorporated into that page. +--[[tschwinge]] diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn new file mode 100644 index 00000000..433ec3ef --- /dev/null +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -0,0 +1,19 @@ +[[meta copyright="Copyright © 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 title="Open Issues"]] + +This is a dumping ground for open issues for GNU Mach. + +[[inline +pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" +show=0 +actions=yes +rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn new file mode 100644 index 00000000..00cdee8c --- /dev/null +++ b/microkernel/mach/gnumach/ports.mdwn @@ -0,0 +1,15 @@ +[[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]]."]]"""]] + + * x86. This is the main port. + * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. + * Alpha. Was once started, but isn't in a usable state either. + + * [[Xen]] diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn new file mode 100644 index 00000000..c492d9a0 --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -0,0 +1,78 @@ +[[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]]."]]"""]] + +[[toc ]] + +## Xen dom0, hypervisor + +/!\ Now that GNU Mach handles PAE you can use a PAE-enabled hypervisor. + +You can either get binaries at or build them yourself. + +- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. +- Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap + +## GNU/Hurd system + +/!\ You need an already installed GNU/Hurd system. + +If you have a free partition, you can fdisk to type 0x83, create a filesystem using: + + sudo mke2fs -b 4096 -I 128 -o hurd /dev/sda4 + +Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. + +## /etc/xen/hurd configuration + +Here is a sample /etc/xen/hurd configuration + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda4,hda,w'] + extra = "root=device:hd0" + vif = [ '' ] + ramdisk = "/boot/hurd-modules" + +Suggestions about [[networking_configuration]] are available. + +If you need stable MAC addresses, use a syntax like `vif = [ +'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. + +## Running Hurd with Xen + +To run Hurd with Xen, use: + + xm create -c hurd + +and gnumach should get started. Proceed with native-install. + + export TERM=mach + ./native-install + +- If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. +- If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor and a non-PAE gnumach. Either install and boot non-PAE hypervisor and kernel, or rebuilt gnumach in PAE mode. + +## Building from sources + +If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. +Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. +Then use + + ./configure --enable-platform=xen + make + +The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. +/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! + +--- + +[[Internals]]. + +[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn new file mode 100644 index 00000000..09e707ea --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn @@ -0,0 +1,14 @@ +[[meta copyright="Copyright © 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 port does use Xen's para-virtualized interface for device (ide, network, +etc.) access. + +[[Virtualization]]. diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn new file mode 100644 index 00000000..71a72bac --- /dev/null +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -0,0 +1,105 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +[[toc ]] + +The Xen dom0 infrastructure provides for a bridged networking setup using shell +scripts to configure the bridging device properly and attach the domUs' virtual +interfaces to the bridge. However, we've [seen +problems](http://lists.gnu.org/archive/html/bug-hurd/2008-08/msg00023.html) +when using this approach, so to [solve these +issues](http://lists.gnu.org/archive/html/bug-hurd/2008-09/msg00071.html), +instead suggest the following configuration method (to achieve the same thing). + +This is for a Debian dom0. + +# */etc/network/interfaces* + +Comment out everything referencing your physical devices. Add this: + + auto br0 + iface br0 inet dhcp + bridge_ports regex (eth|vif).* noregex + +... or if you want to do the manual configuration dance: + + auto br0 + iface br0 inet static + bridge_ports regex (eth|vif).* noregex + address 192.168.10.60 + netmask 255.255.255.0 + [...] + +This needs a version of the `bridge-utils` package more recent than the current +Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, +e.g., the Debian testing one on Debian stable.) + +# */etc/xen/xend-config.sxp* + +Make sure that only `(network-script network-dummy)` and `(vif-script +vif-bridge)` are activated and all other `(network-script network-WHATEVER)`, +respective `(vif-script vif-WHATEVER)` are commented out. + + +# Sample configuration files on Debian Lenny + +## /etc/xen/hurd on dom0 + + kernel = "/boot/gnumach-xen" + memory = 256 + disk = ['phy:sda5,hda,w'] + extra = "root=device:hd0" + vif = [ 'mac=00:16:3e:00:00:00, bridge=br0' ] + ramdisk = "/boot/hurd-modules" + +/dev/sda5 is an extended partition. br0 is bridge interface on dom0. + +## /etc/xen/xend-config.sxp on dom0 + + (network-script 'network-bridge netdev=br0') + (dom0-min-mem 196) + (dom0-cpus 0) + (vncpasswd '') + +## /etc/network/interfaces on dom0 + + auto br0 + iface br0 inet static + address 192.168.1.211 + network 192.168.1.0 + netmask 255.255.255.0 + broadcast 192.168.1.255 + gateway 192.168.1.1 + bridge_ports eth1 + +eth1 is the interface that is connected to the Internet on the LAN: + +## Doing settrans on domU + + settrans -fgap /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.1.210 -g 192.168.1.1 -m 255.255.255.0 + +## /sbin/ifconfig on dom0 + + br0 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet addr:192.168.1.211 Bcast:192.168.1.255 Mask:255.255.255.0 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:14187 errors:0 dropped:0 overruns:0 frame:0 + TX packets:9214 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:0 + RX bytes:936563 (914.6 KiB) TX bytes:746184 (728.6 KiB) + + eth1 Link encap:Ethernet HWaddr 00:19:d1:2e:06:33 + inet6 addr: fe80::219:d1ff:fe2e:633/64 Scope:Link + UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 + RX packets:34339 errors:0 dropped:0 overruns:0 frame:0 + TX packets:18526 errors:0 dropped:0 overruns:0 carrier:0 + collisions:0 txqueuelen:1000 + RX bytes:3019251 (2.8 MiB) TX bytes:1453672 (1.3 MiB) diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn new file mode 100644 index 00000000..9ace6270 --- /dev/null +++ b/microkernel/mach/gnumach/projects.mdwn @@ -0,0 +1,129 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +This page is a place to keep track of ideas about things that may be improved +in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both +in terms of stability and performance. If you find anything missing here, +please feel free to add a entry with a short description. + +If you want to help with any of the task (thanks!), please send a mail to +*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, +so that no duplicate efforts end up. + +# Active Branches + + * `gnumach-1-branch` is the main branch. + + * `gnumach-1-branch-Xen-branch` is a branch created by Samuel Thibault for + working on a [[ports/Xen]] port. + + * `gnumach-1-branch-gdb-branch` is a branch created by Michael Casadevall for + working on [[GDB_stubs]]. + + +# Task List + + * [[Clean_up_the_code]] + + * [[Open_Issues]] + + * Update the core architecture and drivers + + * Check what NetBSD, FreeBSD and Linux do with their host specific code + (i486, PPC, Sparc, ...). And if it might be wise to take that and use + it in GNU Mach. There is no need to worry about purely internal API's, + but the external ones shouldn't require any major changes. + + * Write a list of all functions provided by the host dependant code in + GNU Mach that gets used in the non-host specific code (kernel, IPC and + VM). + + * Once we have decided what the new internal API should look like, make a + list of the new API and the old one, and try to make things as + compatible as possible, but not at the expense of anything. + + * Implement Migrating Threads + + * Migrating Threads (MT) could improve IPC performance and making easier + the work of the scheduler. For more information, check + + + * Improve the external pagers interface + + * Implement read-ahead (huge I/O improvements expected). + + * Making this interface synchronous should improve I/O performance + significantly, without (almost) any drawbacks (we also get some + advantage from MT's). + + * Implement more paging eviction policies, so they fit better with usual + behaviour of the pagers. + + * Implement resource accounting for external pagers. + + * VM + + * Put it on user level (?) + + * Clean up the mess. + + * Provide a fast way to read/write from/to a memory object. + + * Simplify/normalise the code. + + * Simplify the IPC Semantics + + * There are a lot of things in GNU Mach's IPC that we don't need. Track + down those things, and get rid of them without requiring many changes + in the Hurd (the changes will affect MiG, but that is OK). + + * Temporary mappings for Client-Server memory transfers + + * Extend Mach's IPC to provide some kind of object which can represent a + range of memory that can temporarily be mapped into the servers address + space for sending/receiving data. This would allow us to avoid + excessive memory copies. + + * Find a new way to work with unaligned memory. + + * GDB remote debugging support + + * Implement support for GDB debugging via serial line and/or network. + Maybe this can be done together with the host-specific work above. + + See [[GDB_stubs]]. + + * Make it run as a [[UNIX]]/Linux executable. + + * Neal: + + here's a fun project: port the mach interface to Linux + (e.g., via kernel modifications) + or, to posix/glibc + (mmap, some minimal ptrace, etc.) + + * From the [Hurd bits at + sourceforge.net](http://sourceforge.net/projects/hurd): + , started by John + Tobey. Last time touched in 2003. Status completely unknown. + + * [README](http://hurd.cvs.sourceforge.net/hurd/gnumach-otop/README?view=markup) + + +# Wish List + + * Interface for userspace non-critical drivers. + + * Sound Support + + * WLAN support (ipw2200) with WEP/WPA + + * ACPI support diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn new file mode 100644 index 00000000..875bb8cd --- /dev/null +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -0,0 +1,121 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +# Restructure the tree in a sane way + +Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it +as-is for now. Also, a bunch of (header) files from there may probably be +discarded. + + +# Remove dead files from the GNU Mach source tree + +For *exported* files (via `make install`), the plan is to first stick some +`#error This file is scheduled for removal. Write to if you +have a reason to have it kept available.` into them, and then actually remove +them after some months. + +For some of the internal header files (containing function prototypes and the +like), it might actually be useful to use them. (And then get rid of a bunch +of `extern ...` statements in other files.) + +This following list was assembled by putting such a `#error ...` line into each +of the `gnumach-1-branch`'s header files (exported and internal; save the +`linux/` ones (only internal) for simplicity), and then trying to build GNU +Mach until this would succeed again (by removing offending `#error ...`s), and +afterwards using the set of exported files for building a cross toolchain +(again still removing offending `#error ...`s). A very crude and imprecise +method. + +So, additionally to the list given below, there may actually be a bunch of +further files (also exported ones) that serve no real value, but are being +`#include`d through one way or another. + +* [[source_gnumach-1-branch ddb/db_expr.h]] + + Currently used, but copyright violation? Rewrite? + +* [[source_gnumach-1-branch ddb/db_print.h]] + + Copyright violation? Currently unused, but could be used in principle (or + be rewritten, to avoid the copyright oddity). + +* [[source_gnumach-1-branch ddb/tr.h]] + + Copyright violation. Unused. Remove. + +* [[source_gnumach-1-branch device/dev_master.h]] + + Might be usable for SMP? Remove otherwise. + +* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] + +* [[source_gnumach-1-branch i386/i386/sched_param.h]] + +* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] + + Was probably once exported, but is no longer. + +* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/audio_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/device/tape_status.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/alert.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/boot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/macro_help.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/multiboot.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profil.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/profilparam.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach/exec/a.out.h]] + + Exported. + +* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] + + Currently not exported, but was probably once meant to be. + +* [[source_gnumach-1-branch kern/act.h]] + +* [[source_gnumach-1-branch kern/refcount.h]] + +* [[source_gnumach-1-branch kern/shuttle.h]] + + +# Remove dead functions, variables, etc. from source files + + +# Rewrite ugly code diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn new file mode 100644 index 00000000..9a11a82b --- /dev/null +++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn @@ -0,0 +1,13 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + + * + + * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) diff --git a/microkernel/mach/gnumach/reference_manual.mdwn b/microkernel/mach/gnumach/reference_manual.mdwn new file mode 100644 index 00000000..225ab176 --- /dev/null +++ b/microkernel/mach/gnumach/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/history.mdwn b/microkernel/mach/history.mdwn index 8f4b528b..a8951737 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 [[gnu_mach/projects]]. +list of [[gnumach/projects]]. # Status of the project diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index a0bbbe14..8afad31c 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -66,7 +66,7 @@ pp. 67--77." # Further Relevant Documentation - * The [[GNU_Mach_Reference_Manual|gnu_mach/reference_manual]], espacially + * The [[GNU_Mach_Reference_Manual|gnumach/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 `dealloc` flag diff --git a/microkernel/mach/mig/gnu_mig/building.mdwn b/microkernel/mach/mig/gnu_mig/building.mdwn index 8b553b6b..f92f7dbe 100644 --- a/microkernel/mach/mig/gnu_mig/building.mdwn +++ b/microkernel/mach/mig/gnu_mig/building.mdwn @@ -31,7 +31,7 @@ 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/gnu_mach/building]] about how to do that, then come back here. +[[mach/gnumach/building]] about how to do that, then come back here. ## Building and Installing diff --git a/news/2008-11-14.mdwn b/news/2008-11-14.mdwn index ab8d2f24..1e2c8802 100644 --- a/news/2008-11-14.mdwn +++ b/news/2008-11-14.mdwn @@ -10,5 +10,5 @@ is included in the section entitled [[Samuel_Thibault|samuelthibault]] has implemented support for the PAE feature offered by modern x86 processors. This largely faciliates the deployment of -GNU/Hurd systems running as a [[Xen_domU|microkernel/mach/gnu_mach/ports/xen]] +GNU/Hurd systems running as a [[Xen_domU|microkernel/mach/gnumach/ports/xen]] on top of a standard Debian GNU/Linux Xen dom0, for example. diff --git a/sidebar.mdwn b/sidebar.mdwn index 6a132e6d..b7acb592 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -23,7 +23,7 @@ Hurd! * *[[hurd/Running]]*"]] * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" * *[[microkernel/mach/Documentation]]* - * *[[microkernel/mach/GNU_Mach]]*"]] + * *[[GNU_Mach|microkernel/mach/gnumach]]*"]] * *[[microkernel/mach/MIG]]*[[if test="destpage(microkernel/mach/mig*)" then=" * [[microkernel/mach/mig/GNU_MIG]]"]] -- cgit v1.2.3 From 7a67fff454fddda32c4ce789cde8449ec9a88f52 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 22 Nov 2008 23:56:16 +0100 Subject: Tidy inline directives. --- hurd/debugging/translator.mdwn | 4 +++- hurd/faq.mdwn | 1 + hurd/open_issues.mdwn | 1 + hurd/running/debian/faq.mdwn | 1 + hurd/running/debian/porting.mdwn | 1 + hurd/translator/tmpfs.mdwn | 4 ++-- index.mdwn | 7 +++++++ microkernel/faq.mdwn | 1 + microkernel/mach/gnumach/open_issues.mdwn | 1 + microkernel/mach/mig/gnu_mig/open_issues.mdwn | 1 + news.mdwn | 1 + 11 files changed, 20 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/hurd/debugging/translator.mdwn b/hurd/debugging/translator.mdwn index 22c8cc2c..8e8dd6fb 100644 --- a/hurd/debugging/translator.mdwn +++ b/hurd/debugging/translator.mdwn @@ -10,4 +10,6 @@ is included in the section entitled [[inline pages="hurd/debugging/translator/* and !*/discussion" -show=0]] +show=0 +feeds=no +actions=yes]] diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn index aab538d9..0227f1c1 100644 --- a/hurd/faq.mdwn +++ b/hurd/faq.mdwn @@ -13,5 +13,6 @@ is included in the section entitled [[inline pages="hurd/faq/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="hurd/faq" postformtext="Add a new item titled:"]] diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn index d7dc4d99..c4bcce09 100644 --- a/hurd/open_issues.mdwn +++ b/hurd/open_issues.mdwn @@ -15,5 +15,6 @@ This is a dumping ground for open issues for the GNU Hurd. [[inline pages="hurd/open_issues/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="hurd/open_issues" postformtext="Add a new item titled:"]] diff --git a/hurd/running/debian/faq.mdwn b/hurd/running/debian/faq.mdwn index f4b607bf..227ade02 100644 --- a/hurd/running/debian/faq.mdwn +++ b/hurd/running/debian/faq.mdwn @@ -15,5 +15,6 @@ See also the [[Hurd_FAQ|hurd/FAQ]] and [[after_install]]. [[inline pages="hurd/running/debian/faq/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="hurd/running/debian/faq" postformtext="Add a new item titled:"]] diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn index 7ca91d37..eb46c4c3 100644 --- a/hurd/running/debian/porting.mdwn +++ b/hurd/running/debian/porting.mdwn @@ -33,5 +33,6 @@ guidelines. [[inline pages="hurd/running/debian/porting/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="hurd/running/debian/porting" postformtext="Add a new item titled:"]] diff --git a/hurd/translator/tmpfs.mdwn b/hurd/translator/tmpfs.mdwn index 6d10c163..bb9ef269 100644 --- a/hurd/translator/tmpfs.mdwn +++ b/hurd/translator/tmpfs.mdwn @@ -18,5 +18,5 @@ It's not working correctly at the moment. [[inline pages="hurd/translator/tmpfs/*" show=0 -actions=yes -rootpage="hurd/translator/tmpfs" postformtext="Add a new item titled:"]] +feeds=no +actions=yes]] diff --git a/index.mdwn b/index.mdwn index 3103f8f7..8754baab 100644 --- a/index.mdwn +++ b/index.mdwn @@ -23,9 +23,16 @@ kernels (such as Linux). *[[More_detailed.|hurd/what_is_the_gnu_hurd]]* ## News +[[inline +pages="news/* and !*/discussion" +feedonly=yes +feedshow=10 +sort=title +reverse=yes]] [[inline pages="news/* and !*/discussion" show=5 +feeds=no sort=title reverse=yes template=newsitem diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn index 0e129095..f83c65ca 100644 --- a/microkernel/faq.mdwn +++ b/microkernel/faq.mdwn @@ -13,5 +13,6 @@ is included in the section entitled [[inline pages="microkernel/faq/* and !*/discussion" show=0 +feeds=no actions=yes rootpage=microkernel/faq" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index 433ec3ef..ec289708 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -15,5 +15,6 @@ This is a dumping ground for open issues for GNU Mach. [[inline pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn index 7a6233da..225f9cfc 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -15,6 +15,7 @@ This is a dumping ground for open issues for GNU MIG. [[inline pages="microkernel/mach/mig/gnu_mig/open_issues/* and !*/discussion" show=0 +feeds=no actions=yes rootpage="microkernel/mach/mig/gnu_mig/open_issues" postformtext="Add a new item titled:"]] diff --git a/news.mdwn b/news.mdwn index 71058f85..8e5d73da 100644 --- a/news.mdwn +++ b/news.mdwn @@ -11,6 +11,7 @@ is included in the section entitled [[inline pages="news/* and !*/discussion" show=0 +feeds=no sort=title reverse=yes actions=yes]] -- cgit v1.2.3 From 66fd74c830e712ffb0efc73cef6dc52283f8e49e Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 28 Nov 2008 00:45:06 +0100 Subject: Typo fix. --- microkernel/faq.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn index f83c65ca..b8a2c28f 100644 --- a/microkernel/faq.mdwn +++ b/microkernel/faq.mdwn @@ -8,7 +8,7 @@ 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=Microkernel FAQ"]] +[[meta title="Microkernel FAQ"]] [[inline pages="microkernel/faq/* and !*/discussion" -- cgit v1.2.3 From a1fae4225fb8bda3b5854c333661a90a8f295dd5 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Fri, 5 Dec 2008 10:22:11 +0100 Subject: Add Viengoos project page. Link to it from the main Viengoos page. --- microkernel/viengoos.mdwn | 1 + microkernel/viengoos/projects.mdwn | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 microkernel/viengoos/projects.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 3b7cdd51..6b36e95c 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -21,3 +21,4 @@ check it out using, for example: * Running * [[QEMU]] * [[Hardware]] + * [[Projects]] diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn new file mode 100644 index 00000000..a2e9f48a --- /dev/null +++ b/microkernel/viengoos/projects.mdwn @@ -0,0 +1,32 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +Some projects: + +* Minor: + +** New hash function + +The current hash function in libhurd-ihash results in a lot of +collisions when the hash table is 80% full. To overcome this, we keep +hash tables at most 30% full. This represents a fair amount of +overhead. Find a better algorithm. There can either be one that is +appropriate in the general case or one that works well in a relevant, +specific case, e.g., viengoos/object.c uses a hash to find the object +corresponding to a frame, which is keyed on its physical address. + +* Major: + +* Thesis: + +** Capability aware compiler + +Modify, e.g., gcc to understand capability semantics and teach gcc how +to optimize it, e.g., how to batch and combine calls. \ No newline at end of file -- cgit v1.2.3 From e9ff5339a65c61e7268dea211ce7836d04e75599 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Fri, 5 Dec 2008 10:22:51 +0100 Subject: Update where to get the Viengoos source code (git, not cvs). --- microkernel/viengoos/building.mdwn | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 3c27af83..9eb5e4b8 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -10,11 +10,9 @@ is included in the section entitled ## Viengoos build -Checkout hurd-l4: +Checkout viengoos: - cvs -z3 -d :pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 - -There is a patch in the README file, to change to %%gs:0 in libl4/ia32/l4/bits/vregs.h in line 35. It should have been applied already in the checked out code. Do verify. + git clone git://git.savannah.gnu.org/hurd/viengoos.git Configure: -- cgit v1.2.3 From 5333b0c747f4fd97f05bd6c4eeaeb10a62b439e5 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Fri, 5 Dec 2008 10:29:56 +0100 Subject: Add a Viengoos documentation page. Link to it from the Viengoos main page. --- microkernel/viengoos.mdwn | 1 + microkernel/viengoos/documentation.mdwn | 55 +++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 microkernel/viengoos/documentation.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 6b36e95c..09043719 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -21,4 +21,5 @@ check it out using, for example: * Running * [[QEMU]] * [[Hardware]] + * [[Documentation]] * [[Projects]] diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn new file mode 100644 index 00000000..d7af9632 --- /dev/null +++ b/microkernel/viengoos/documentation.mdwn @@ -0,0 +1,55 @@ +[[meta copyright="Copyright © 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 most up-to-date documentation is in the source code itself. The +second best are the header files. Look in particular in the hurd +directory to understand the Viengoos API. + +There is a started but as-of-yet incomplete manual in the doc +directory, which documents the Viengoos API and the Hurd API. + +Academic Papers: + + * [Viengoos: A Framework for Stakeholder-Directed Resource + Allocation](http://walfield.org/papers/2009-walfield-viengoos-a-framework-for-stakeholder-directed-resource-allocation.pdf). By + Neal H. Walfield. Submitted to EuroSys 2009. + +General-purpose operating systems not only fail to provide adaptive +applications the information they need to intelligently adapt, but +also schedule resources in such a way that were applications to +aggressively adapt, resources would be inappropriately scheduled. The +problem is that these systems use demand as the primary indicator of +utility, which is a poor indicator of utility for adaptive +applications. + +We present a resource management framework appropriate for traditional +as well as adaptive applications. The primary difference from current +schedulers is the use of stakeholder preferences in addition to +demand. We also show how to revoke memory, compute the amount of +memory available to each principal, and account shared +memory. Finally, we introduce a prototype system, Viengoos, and +present some benchmarks that demonstrate that it can efficiently +support multiple aggressively adaptive applications simultaneously. + + * [Improving Usability via Access Decomposition and Policy + Refinement with Marcus + Brinkmann](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). By + Neal H. Walfield and Marcus Brinkmann. Technical report + (submitted to HotOS 2007). + +Commodity operating systems fail to meet the security, resource +management and integration expectations of users. We propose a unified +solution based on a capability framework as it supports fine grained +objects, straightforward access propagation and virtualizable +interfaces and explore how to improve resource use via access +decomposition and policy refinement with minimum interposition. We +argue that only a small static number of scheduling policies are +needed in practice and advocate hierarchical policy specification and +central realization. -- cgit v1.2.3 From 0445f54d5b9717a84a5ff159e97ac5398f4e0df0 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 6 Dec 2008 15:11:03 +0100 Subject: Formatting. --- microkernel/viengoos.mdwn | 10 +++--- microkernel/viengoos/documentation.mdwn | 60 ++++++++++++++++----------------- microkernel/viengoos/projects.mdwn | 12 +++---- 3 files changed, 41 insertions(+), 41 deletions(-) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 09043719..7e3cb01d 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -15,11 +15,11 @@ The source can be downloaded from the *viengoos.git* repository, cf. . You can check it out using, for example: -> git clone git://git.sv.gnu.org/hurd/viengoos.git + git clone git://git.sv.gnu.org/hurd/viengoos.git -* [[Building]] -* Running - * [[QEMU]] - * [[Hardware]] + * [[Building]] + * Running + * [[QEMU]] + * [[Hardware]] * [[Documentation]] * [[Projects]] diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index d7af9632..0c077df9 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -18,38 +18,38 @@ directory, which documents the Viengoos API and the Hurd API. Academic Papers: * [Viengoos: A Framework for Stakeholder-Directed Resource - Allocation](http://walfield.org/papers/2009-walfield-viengoos-a-framework-for-stakeholder-directed-resource-allocation.pdf). By - Neal H. Walfield. Submitted to EuroSys 2009. - -General-purpose operating systems not only fail to provide adaptive -applications the information they need to intelligently adapt, but -also schedule resources in such a way that were applications to -aggressively adapt, resources would be inappropriately scheduled. The -problem is that these systems use demand as the primary indicator of -utility, which is a poor indicator of utility for adaptive -applications. - -We present a resource management framework appropriate for traditional -as well as adaptive applications. The primary difference from current -schedulers is the use of stakeholder preferences in addition to -demand. We also show how to revoke memory, compute the amount of -memory available to each principal, and account shared -memory. Finally, we introduce a prototype system, Viengoos, and -present some benchmarks that demonstrate that it can efficiently -support multiple aggressively adaptive applications simultaneously. + Allocation](http://walfield.org/papers/2009-walfield-viengoos-a-framework-for-stakeholder-directed-resource-allocation.pdf). + By Neal H. Walfield. Submitted to EuroSys 2009. + + General-purpose operating systems not only fail to provide adaptive + applications the information they need to intelligently adapt, but + also schedule resources in such a way that were applications to + aggressively adapt, resources would be inappropriately scheduled. The + problem is that these systems use demand as the primary indicator of + utility, which is a poor indicator of utility for adaptive + applications. + + We present a resource management framework appropriate for traditional + as well as adaptive applications. The primary difference from current + schedulers is the use of stakeholder preferences in addition to + demand. We also show how to revoke memory, compute the amount of + memory available to each principal, and account shared + memory. Finally, we introduce a prototype system, Viengoos, and + present some benchmarks that demonstrate that it can efficiently + support multiple aggressively adaptive applications simultaneously. * [Improving Usability via Access Decomposition and Policy Refinement with Marcus - Brinkmann](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). By - Neal H. Walfield and Marcus Brinkmann. Technical report + Brinkmann](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). + By Neal H. Walfield and Marcus Brinkmann. Technical report (submitted to HotOS 2007). -Commodity operating systems fail to meet the security, resource -management and integration expectations of users. We propose a unified -solution based on a capability framework as it supports fine grained -objects, straightforward access propagation and virtualizable -interfaces and explore how to improve resource use via access -decomposition and policy refinement with minimum interposition. We -argue that only a small static number of scheduling policies are -needed in practice and advocate hierarchical policy specification and -central realization. + Commodity operating systems fail to meet the security, resource + management and integration expectations of users. We propose a unified + solution based on a capability framework as it supports fine grained + objects, straightforward access propagation and virtualizable + interfaces and explore how to improve resource use via access + decomposition and policy refinement with minimum interposition. We + argue that only a small static number of scheduling policies are + needed in practice and advocate hierarchical policy specification and + central realization. diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index a2e9f48a..e4599dc1 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -10,9 +10,9 @@ is included in the section entitled Some projects: -* Minor: +# Minor -** New hash function +## New hash function The current hash function in libhurd-ihash results in a lot of collisions when the hash table is 80% full. To overcome this, we keep @@ -22,11 +22,11 @@ appropriate in the general case or one that works well in a relevant, specific case, e.g., viengoos/object.c uses a hash to find the object corresponding to a frame, which is keyed on its physical address. -* Major: +# Major -* Thesis: +# Thesis -** Capability aware compiler +## Capability aware compiler Modify, e.g., gcc to understand capability semantics and teach gcc how -to optimize it, e.g., how to batch and combine calls. \ No newline at end of file +to optimize it, e.g., how to batch and combine calls. -- cgit v1.2.3 From 82537d62d88b592547de36ad7bec392199ee8ade Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Tue, 9 Dec 2008 14:17:33 +0100 Subject: Fix some typos. --- microkernel/viengoos/documentation.mdwn | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index 0c077df9..85f35f60 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -8,9 +8,8 @@ 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 most up-to-date documentation is in the source code itself. The -second best are the header files. Look in particular in the hurd -directory to understand the Viengoos API. +The most up-to-date documentation is in the source code itself, see in +particular the header files in the hurd directory. There is a started but as-of-yet incomplete manual in the doc directory, which documents the Viengoos API and the Hurd API. @@ -39,8 +38,7 @@ Academic Papers: support multiple aggressively adaptive applications simultaneously. * [Improving Usability via Access Decomposition and Policy - Refinement with Marcus - Brinkmann](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). + Refinement](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf). By Neal H. Walfield and Marcus Brinkmann. Technical report (submitted to HotOS 2007). -- cgit v1.2.3 From 353c141d37fccd5373f06e0c2aa19b0f947df0bb Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Tue, 9 Dec 2008 14:21:49 +0100 Subject: Add a project. --- microkernel/viengoos/projects.mdwn | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) (limited to 'microkernel') diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index e4599dc1..b29607e9 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -24,6 +24,37 @@ corresponding to a frame, which is keyed on its physical address. # Major +## Address Space Management + +In Viengoos, a process's address space is managed entirely in user +space by the process itself. This creates two interesting problems: +dealing with circular dependencies resulting from having to manage the +address space data structures and accessing and manipulating the +address space data structures. + +First, managing the address space requires resources, which in turn +may require address space (e.g., data structures require memory which +require address space, etc.). We currently break this circular +dependency by trying to keep enough resources in reserve that +allocating resources for managing the address space never requires +more resources than are minimally in the reserve. The reserve is +currently chosen in an ad-hoc fashion. It would be nice to determine +it more systematically. Moreover, it would be nice to reduce the +cases in which a reserve is required. This may be possible by +restructuring some of the code. + +Second, the address space data structures are protected using a single +lock. This not only means that only a single thread can be updating +the address space at a time, but that if a thread faults and the +address space is locked, then the process dead locks! It should be +possible to at least walk the address space using lock-free +techniques. This requires updating the address space construction +code such that all addresses remain valid during any given +manipulation. Second, to avoid the mentioned dead-lock problem, we +try to ensure that accessing the data structures will never result in +a fault. This means protecting the stack. An alternative approach is +to use undo buffers. + # Thesis ## Capability aware compiler -- cgit v1.2.3 From 14b85b04853eac06537cf1a563e08a0d9efcacf3 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 9 Dec 2008 17:47:06 +0100 Subject: Some initial documentation about MIG's ServerCopy flag. --- microkernel/mach/mig/documentation.mdwn | 2 ++ microkernel/mach/mig/documentation/servercopy.mdwn | 23 ++++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 microkernel/mach/mig/documentation/servercopy.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 8afad31c..1a1955f4 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -73,4 +73,6 @@ pp. 67--77." works in [Chapter 4.2.4, Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + * The [[ServerCopy]] flag. + * MIG *in action*: [[hurd/io_path]]. diff --git a/microkernel/mach/mig/documentation/servercopy.mdwn b/microkernel/mach/mig/documentation/servercopy.mdwn new file mode 100644 index 00000000..5ede723b --- /dev/null +++ b/microkernel/mach/mig/documentation/servercopy.mdwn @@ -0,0 +1,23 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +For IN args. If set it... + + * removes the `__mig_deallocate` for OOL IN data, which is usually done after + the implementation has been called; + + * adds a `boolean_t NAMESCopy` for the IN arg `NAME` to indicate whether the + data will persist nevertheless (OOL case) or has to be copied by the + implementation (inline case). + +Cf., [[translator/exec]] server, `exec.defs`. + +I.e., the IN args' memory region (OOL case) persists after the implementation +has returned. -- cgit v1.2.3 From 9e36c89f2e85a0277bbecb2cae5ba96cb3aab2c8 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Mon, 15 Dec 2008 15:24:15 +0100 Subject: Upload a snapshot of the viengoos reference guide and link to it. --- microkernel/viengoos/documentation.mdwn | 5 ++++- microkernel/viengoos/reference-guide.pdf | Bin 0 -> 269473 bytes 2 files changed, 4 insertions(+), 1 deletion(-) create mode 100644 microkernel/viengoos/reference-guide.pdf (limited to 'microkernel') diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index 85f35f60..910d94a0 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -12,7 +12,10 @@ The most up-to-date documentation is in the source code itself, see in particular the header files in the hurd directory. There is a started but as-of-yet incomplete manual in the doc -directory, which documents the Viengoos API and the Hurd API. +directory, which documents the Viengoos API and the Hurd API. A +version of that is available [here](http:reference-guide.pdf). It is +not, however, automatically regenerated, and thus may not be up to +date. Academic Papers: diff --git a/microkernel/viengoos/reference-guide.pdf b/microkernel/viengoos/reference-guide.pdf new file mode 100644 index 00000000..6fbea23b Binary files /dev/null and b/microkernel/viengoos/reference-guide.pdf differ -- cgit v1.2.3 From 16138374cf96ae042123a1a2f5b48c82b3638f00 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 15 Dec 2008 20:26:37 +0100 Subject: Correct link and move documentation file. --- microkernel/viengoos/documentation.mdwn | 2 +- microkernel/viengoos/documentation/reference-guide.pdf | Bin 0 -> 269473 bytes microkernel/viengoos/reference-guide.pdf | Bin 269473 -> 0 bytes 3 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 microkernel/viengoos/documentation/reference-guide.pdf delete mode 100644 microkernel/viengoos/reference-guide.pdf (limited to 'microkernel') diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index 910d94a0..1fe4c937 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -13,7 +13,7 @@ particular the header files in the hurd directory. There is a started but as-of-yet incomplete manual in the doc directory, which documents the Viengoos API and the Hurd API. A -version of that is available [here](http:reference-guide.pdf). It is +version of that is available [[here|reference-guide.pdf]]. It is not, however, automatically regenerated, and thus may not be up to date. diff --git a/microkernel/viengoos/documentation/reference-guide.pdf b/microkernel/viengoos/documentation/reference-guide.pdf new file mode 100644 index 00000000..6fbea23b Binary files /dev/null and b/microkernel/viengoos/documentation/reference-guide.pdf differ diff --git a/microkernel/viengoos/reference-guide.pdf b/microkernel/viengoos/reference-guide.pdf deleted file mode 100644 index 6fbea23b..00000000 Binary files a/microkernel/viengoos/reference-guide.pdf and /dev/null differ -- cgit v1.2.3 From a6dafbc92558cc14397de26b5c67957fb66db195 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 10 Jan 2009 13:31:27 +0100 Subject: MIG's dealloc and dealloc[] flags. --- microkernel/mach/mig/dealloc.mdwn | 11 ----------- microkernel/mach/mig/documentation.mdwn | 12 ++++++------ microkernel/mach/mig/documentation/dealloc.mdwn | 15 +++++++++++++++ 3 files changed, 21 insertions(+), 17 deletions(-) delete mode 100644 microkernel/mach/mig/dealloc.mdwn create mode 100644 microkernel/mach/mig/documentation/dealloc.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/dealloc.mdwn b/microkernel/mach/mig/dealloc.mdwn deleted file mode 100644 index 1ed9d52b..00000000 --- a/microkernel/mach/mig/dealloc.mdwn +++ /dev/null @@ -1,11 +0,0 @@ -[[meta copyright="Copyright © 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=documentation#dealloc]] diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 1a1955f4..93bc2769 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008 Free Software +[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc."]] [[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable @@ -68,11 +68,11 @@ pp. 67--77." * The [[GNU_Mach_Reference_Manual|gnumach/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 `dealloc` flag - works in [Chapter 4.2.4, - Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html) + Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html). - * The [[ServerCopy]] flag. + * Flags: + + * [[dealloc_and_dealloc[]|dealloc]] + * [[ServerCopy]] * MIG *in action*: [[hurd/io_path]]. diff --git a/microkernel/mach/mig/documentation/dealloc.mdwn b/microkernel/mach/mig/documentation/dealloc.mdwn new file mode 100644 index 00000000..008499f1 --- /dev/null +++ b/microkernel/mach/mig/documentation/dealloc.mdwn @@ -0,0 +1,15 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +The [[GNU_Mach_Reference_Manual|gnumach/reference_manual]] describes the +`dealloc` flag in [Chapter 4.2.4, +Memory](http://www.gnu.org/software/hurd/gnumach-doc/Memory.html). + +What exactly is `dealloc[]` (`hurd/fs.defs:dir_readdir`)? -- cgit v1.2.3 From 7eecc9b75ce4867597f2dc404182bb04f7fe2145 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 17 Feb 2009 01:57:35 +0100 Subject: hurd/ng/resource_management_problems -> microkernel/mach/gnumach/open_issues/resource_management_problems --- hurd/history/port_to_l4.mdwn | 11 ++++++----- hurd/ng.mdwn | 3 ++- hurd/ng/resource_management_problems.mdwn | 19 ------------------- .../open_issues/resource_management_problems.mdwn | 19 +++++++++++++++++++ 4 files changed, 27 insertions(+), 25 deletions(-) delete mode 100644 hurd/ng/resource_management_problems.mdwn create mode 100644 microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn (limited to 'microkernel') diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn index 03795dc4..d4daeefa 100644 --- a/hurd/history/port_to_l4.mdwn +++ b/hurd/history/port_to_l4.mdwn @@ -81,11 +81,12 @@ explains: > Before Marcus and I considered [[microkernel/Coyotos]], we had already > rejected some parts of the Hurd's design. The -> [[ng/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]].) +> [[microkernel/mach/gnumach/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 diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index fb4d742f..1a271856 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -10,7 +10,8 @@ These pages try to summarize the major discussions and ideas. This section explains the motivations behind the new design: - * [[Issues_with_Mach]] + * Issues with Mach: + [[microkernel/mach/gnumach/open_issues/resource_management_problems]] * [[Issues_with_L4_Pistachio]] * [[Limitations_of_the_original_Hurd_design]] diff --git a/hurd/ng/resource_management_problems.mdwn b/hurd/ng/resource_management_problems.mdwn deleted file mode 100644 index 856afb1a..00000000 --- a/hurd/ng/resource_management_problems.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -[[microkernel/Mach]] interfaces do not allow for proper resource accounting, -when a server allocates resources on behalf of a client. - -Mach can't do a good job at resource management, as it doesn't have enough -information how resources are used: which data is important and which is -discardable, for example. - -These issues are what Neal Walfield is working on with his new kernel -[[microkernel/viengoos]]. diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn new file mode 100644 index 00000000..e949fa96 --- /dev/null +++ b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn @@ -0,0 +1,19 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +[[Mach]] interfaces do not allow for proper resource accounting, when a server +allocates resources on behalf of a client. + +Mach can't do a good job at resource management, as it doesn't have enough +information how resources are used: which data is important and which is +discardable, for example. + +These issues are what Neal Walfield is working on with his new kernel +[[viengoos]]. -- cgit v1.2.3 From e2f12a6a7a3f1fb02f5210c342c2e6a9178fa724 Mon Sep 17 00:00:00 2001 From: untpaul Date: Sat, 14 Mar 2009 16:09:33 +0000 Subject: --- microkernel/mach/gnumach/building/discussion.mdwn | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 microkernel/mach/gnumach/building/discussion.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/building/discussion.mdwn b/microkernel/mach/gnumach/building/discussion.mdwn new file mode 100644 index 00000000..33aebd4d --- /dev/null +++ b/microkernel/mach/gnumach/building/discussion.mdwn @@ -0,0 +1,23 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this +line. + +By creating this page, you agree to assign copyright for your contribution to +the Free Software Foundation. The Free Software Foundation promises to always +use a free documentation license (as per our criteria of free documentation) +when publishing your contribution. We grant you back all your rights under +copyright, including the rights to copy, modify, and redistribute your +contributions. + +We're requiring these copyright assignments, so that we'll easily be able to +include your contributions in official GNU documentation, such as the GNU Hurd +manual, etc. Send email to if there are questions. -- cgit v1.2.3 From 6c577b46de2931d61a720058e8a4c3abded8d173 Mon Sep 17 00:00:00 2001 From: untpaul Date: Sat, 14 Mar 2009 16:14:51 +0000 Subject: --- microkernel/mach/gnumach/building/discussion.html | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 microkernel/mach/gnumach/building/discussion.html (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/building/discussion.html b/microkernel/mach/gnumach/building/discussion.html new file mode 100644 index 00000000..33aebd4d --- /dev/null +++ b/microkernel/mach/gnumach/building/discussion.html @@ -0,0 +1,23 @@ +[[meta copyright="Copyright © 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]]."]]"""]] + +HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this +line. + +By creating this page, you agree to assign copyright for your contribution to +the Free Software Foundation. The Free Software Foundation promises to always +use a free documentation license (as per our criteria of free documentation) +when publishing your contribution. We grant you back all your rights under +copyright, including the rights to copy, modify, and redistribute your +contributions. + +We're requiring these copyright assignments, so that we'll easily be able to +include your contributions in official GNU documentation, such as the GNU Hurd +manual, etc. Send email to if there are questions. -- cgit v1.2.3 From 48e2896d3def0946e9bde3c0eaf3c4c2ce950b9f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 14 Mar 2009 17:56:46 +0100 Subject: Remove junk files. --- microkernel/mach/gnumach/building/discussion.html | 23 ----------------------- microkernel/mach/gnumach/building/discussion.mdwn | 23 ----------------------- 2 files changed, 46 deletions(-) delete mode 100644 microkernel/mach/gnumach/building/discussion.html delete mode 100644 microkernel/mach/gnumach/building/discussion.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/building/discussion.html b/microkernel/mach/gnumach/building/discussion.html deleted file mode 100644 index 33aebd4d..00000000 --- a/microkernel/mach/gnumach/building/discussion.html +++ /dev/null @@ -1,23 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this -line. - -By creating this page, you agree to assign copyright for your contribution to -the Free Software Foundation. The Free Software Foundation promises to always -use a free documentation license (as per our criteria of free documentation) -when publishing your contribution. We grant you back all your rights under -copyright, including the rights to copy, modify, and redistribute your -contributions. - -We're requiring these copyright assignments, so that we'll easily be able to -include your contributions in official GNU documentation, such as the GNU Hurd -manual, etc. Send email to if there are questions. diff --git a/microkernel/mach/gnumach/building/discussion.mdwn b/microkernel/mach/gnumach/building/discussion.mdwn deleted file mode 100644 index 33aebd4d..00000000 --- a/microkernel/mach/gnumach/building/discussion.mdwn +++ /dev/null @@ -1,23 +0,0 @@ -[[meta copyright="Copyright © 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]]."]]"""]] - -HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this -line. - -By creating this page, you agree to assign copyright for your contribution to -the Free Software Foundation. The Free Software Foundation promises to always -use a free documentation license (as per our criteria of free documentation) -when publishing your contribution. We grant you back all your rights under -copyright, including the rights to copy, modify, and redistribute your -contributions. - -We're requiring these copyright assignments, so that we'll easily be able to -include your contributions in official GNU documentation, such as the GNU Hurd -manual, etc. Send email to if there are questions. -- cgit v1.2.3 From 5017edfe47d72d0b22d946b5800c3b8743379306 Mon Sep 17 00:00:00 2001 From: jcoll Date: Mon, 23 Mar 2009 21:15:14 +0000 Subject: Describe how to get the current development focus --- microkernel/viengoos.mdwn | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 7e3cb01d..b4158843 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -17,6 +17,13 @@ check it out using, for example: git clone git://git.sv.gnu.org/hurd/viengoos.git +Then update to viengoos-on-bare-metal + + cd viengoos + git checkout -b viengoos-on-bare-metal origin/viengoos-on-bare-metal + +viengoos-on-bare-metal is the current development focus. + * [[Building]] * Running * [[QEMU]] -- cgit v1.2.3 From 7f911018bbe6581b0b5f0d5f4425d86dcdb5756b Mon Sep 17 00:00:00 2001 From: jcoll Date: Tue, 24 Mar 2009 08:07:59 +0000 Subject: --- microkernel/viengoos/building.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 9eb5e4b8..000a582c 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -10,7 +10,7 @@ is included in the section entitled ## Viengoos build -Checkout viengoos: +####Checkout viengoos-master: git clone git://git.savannah.gnu.org/hurd/viengoos.git -- cgit v1.2.3 From d1f21683a056de6a8f7f8e81f3e985936ebd9553 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 28 Mar 2009 19:50:11 +0100 Subject: there are PAE images now --- microkernel/mach/gnumach/ports/xen.mdwn | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index c492d9a0..68fd1638 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -16,7 +16,7 @@ is included in the section entitled You can either get binaries at or build them yourself. -- Copy `gnumach-xen` and `hurd-modules` to your dom0 /boot. +- Copy `gnumach-xen-pae` and `hurd-modules` to your dom0 /boot. If you still have a non-PAE hypervisor, use gnumach-xen-nonpae instead. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap ## GNU/Hurd system @@ -33,7 +33,7 @@ Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/ Here is a sample /etc/xen/hurd configuration - kernel = "/boot/gnumach-xen" + kernel = "/boot/gnumach-xen-pae" memory = 256 disk = ['phy:sda4,hda,w'] extra = "root=device:hd0" @@ -69,7 +69,7 @@ Then use make The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. -/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6-based one! +/!\ This means that when using this image, your GNU/Hurd system also needs to be a glibc version 2.6 or later-based one! --- -- cgit v1.2.3 From 17c03d4ac934b2cf184e477c62abe355e37842cb Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 28 Mar 2009 20:02:15 +0100 Subject: document memory limitation --- microkernel/mach/gnumach/ports/xen.mdwn | 3 +++ 1 file changed, 3 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 68fd1638..b3d8a3e4 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -40,6 +40,9 @@ Here is a sample /etc/xen/hurd configuration vif = [ '' ] ramdisk = "/boot/hurd-modules" +Do not give more than 580MB memory (due to bootstrap limitations, it's not easy +to map more). + Suggestions about [[networking_configuration]] are available. If you need stable MAC addresses, use a syntax like `vif = [ -- cgit v1.2.3 From c703b8b98e427c143d9c7b162653dc7d24e49d15 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 5 Apr 2009 17:44:36 +0200 Subject: Update copyright year and formatting. --- microkernel/mach/gnumach/ports/xen.mdwn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index b3d8a3e4..b9e2fac7 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,4 +1,5 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -16,7 +17,7 @@ is included in the section entitled You can either get binaries at or build them yourself. -- Copy `gnumach-xen-pae` and `hurd-modules` to your dom0 /boot. If you still have a non-PAE hypervisor, use gnumach-xen-nonpae instead. +- Copy `gnumach-xen-pae` and `hurd-modules` to your dom0 /boot. If you still have a non-PAE hypervisor, use `gnumach-xen-nonpae` instead. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap ## GNU/Hurd system -- cgit v1.2.3 From 64e101c86b1cabd96613abc85f98d67c4182ae42 Mon Sep 17 00:00:00 2001 From: "Neal H. Walfield" Date: Wed, 29 Apr 2009 02:38:35 +0200 Subject: Update build instructions. --- microkernel/viengoos/building.mdwn | 136 ++++++++++++++++----------------- microkernel/viengoos/grub2-config.diff | 47 ++++++++++++ 2 files changed, 113 insertions(+), 70 deletions(-) create mode 100644 microkernel/viengoos/grub2-config.diff (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 000a582c..a70f93df 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -8,97 +8,93 @@ 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]]."]]"""]] -## Viengoos build +Check out Viengoos and switch to the viengoos-on-bare-metal branch +(all development is currently done on this branch and it will +eventually be merged into the master branch): -####Checkout viengoos-master: + $ git clone git://git.savannah.gnu.org/hurd/viengoos.git + $ cd viengoos + $ git checkout -b viengoos-on-bare-metal origin/viengoos-on-bare-metal - git clone git://git.savannah.gnu.org/hurd/viengoos.git +Generate the autoconf environment (note that --force is not specified +as we have our own version of config.guess and config.sub): -Configure: + $ autoreconf -i - autoreconf -i - mkdir test build +Configure a build directory: -Make check on test (fails to complete as on July 7, 2008): + $ mkdir build + $ cd build + $ ../configure --host=x86_64-pc-viengoos-gnu --with-newlib - cd test - ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --enable-tests - make check +Now, build Viengoos. Running make the first time will automatically +fetch binutils and gcc from the Internet and build a cross compiler. +Running make again will build the Viengoos proper. Again, the build +process with fetch several tarballs including Newlib, the Boehm GC and +Sqlite. -Build the compiler: + $ make + ... + The cross compiler is now set-up. Re-run `make' and proceed as usual. + make[2]: Leaving directory `.../viengoos/build' + make[1]: Leaving directory `.../viengoos/build' + $ make - cd ../build - ../configure --enable-l4-abi=x2 --host=i686-pc-viengoos-gnu --with-newlib +# Booting Using QEMU -Build cross-compiler: +To boot Viengoos, use Grub 2. You cannot use Grub Legacy: Viengoos is +an ELF64 executable, which Grub Legacy does not support. - make +First, check out Grub 2 from svn: -Build Viengoos proper: + $ svn co svn://svn.savannah.gnu.org/grub/trunk/grub2 + $ cd grub2 - make +Before building Grub 2, you should apply the following patch, which +makes it easy to tell Grub to load a specific grub.cfg at start up +([http://lists.gnu.org/archive/html/grub-devel/2009-01/msg00099.html](details)). -Install the built executables: + $ wget http://www.gnu.org/software/hurd/microkernel/viengoos/grub2-config.diff -O /dev/stdout | patch -p0 - cd .. - mkdir install - install -s build/laden/laden install - install -s build/viengoos/viengoos install - install -s build/hieronymus/hieronymus install +Next, build Grub 2: -## BUILD L4 + $ ./autogen.sh + $ mkdir build + $ cd build + $ ../configure --prefix=`pwd`/../install + $ make && make install -Get Pistachio using hg: +Create the boot disk: - hg clone http://hg.l4ka.org/l4ka-pistachio + $ cd ../install + $ bin/grub-mkrescue boot.img --configfile=grub.cfg --image-type=floppy --modules='help reboot serial multiboot pc configfile normal boot fat' -Build: +Now, create /viengoos and link viengoos and hieronymus into that +directory: - cd kernel + $ mkdir /viengoos + $ cd /viengoos + $ ln -s ~/viengoos/build/viengoos/viengoos.stripped viengoos + $ ln -s ~/viengoos/build/hieronymus/hieronymus.stripped hieronymus - make BUILDDIR=/absolute/path/to/build - cd build +Also, create a grub.cfg file in /viengoos/grub.cfg: -Check Makeconf.local: + set timeout=1 + set default=0 + set root=hd0,1 + + menuentry "Viengoos" { + multiboot /viengoos -D 3 -o serial + module /hieronymus + } - make menuconfig - Kernel->Enable experimental features->Pager ExchangeRegisters - - make +NB: If you edit grub.cfg and a backup file called grub.cfg~ is +created, qemu will use grub.cfg~ instead of grub.cfg! Thus, after +editing grub.cfg, be sure to delete any grub.cfg~ file! -## Build sigma0 +Finally, boot! - cd user + $ qemu-system-x86_64 -serial stdio -fda ~/grub2/install/boot.img -hda fat:/viengoos -boot a - autoheader - autoconf - ./configure - make - -## Test! - -Install all executables to /usr/local/hurd. Create a menu.lst - - title The GNU Hurd on L4 - root (hd0,0) - kernel /laden -D - module /x86-kernel - module /sigma0 - module /viengoos -D 3 -o serial - module /hieronymus -D 3 - -Get specific grub version: - - wget ftp://alpha.gnu.org/gnu/grub/grub-0.97-i386-pc.ext2fs - -Use the following to boot: - - qemu -serial stdio -hdb fat:/usr/local/hurd -fda grub-0.97-i386-pc.ext2fs -boot a - -At grub prompt: - - grub> root (hd0,0) - - grub> configfile /menu.lst - -It will boot to a kernel debugger prompt. +By default, Hieronymus is configured to load ruth, a test suite. Ruth +can take a long time to complete. diff --git a/microkernel/viengoos/grub2-config.diff b/microkernel/viengoos/grub2-config.diff new file mode 100644 index 00000000..e4b1ef40 --- /dev/null +++ b/microkernel/viengoos/grub2-config.diff @@ -0,0 +1,47 @@ +2009-01-17 Neal H. Walfield + + * util/i386/pc/grub-mkrescue.in: Add new option --configfile. If + not the set and not the empty string, load it from the generated + config file on boot. + +Index: util/i386/pc/grub-mkrescue.in +=================================================================== +--- util/i386/pc/grub-mkrescue.in (revision 2148) ++++ util/i386/pc/grub-mkrescue.in (working copy) +@@ -49,6 +49,7 @@ + --image-type=TYPE select floppy or cdrom (default) + --emulation=TYPE select El Torito boot emulation type floppy + or none (default) (cdrom only) ++ --configfile=FILE config file to load (default: none) + + grub-mkimage generates a bootable rescue image of the specified type. + +@@ -93,6 +94,9 @@ + echo "Unknown emulation type \`$emulation'" 1>&2 + exit 1 ;; + esac ;; ++ --configfile=*) ++ configfile=`echo "$option" | sed 's/--configfile=//'` ++ ;; + -*) + echo "Unrecognized option \`$option'" 1>&2 + usage +@@ -121,9 +125,15 @@ + ${aux_dir}/boot/grub/ + + modules="biosdisk `cat ${input_dir}/partmap.lst` ${modules}" +-for i in ${modules} ; do +- echo "insmod $i" +-done > ${aux_dir}/boot/grub/grub.cfg ++{ ++ for i in ${modules} ; do ++ echo "insmod $i" ++ done ++ if test x$configfile != x ++ then ++ echo "configfile $configfile" ++ fi ++} > ${aux_dir}/boot/grub/grub.cfg + + for d in ${overlay}; do + echo "Overlaying $d" -- cgit v1.2.3 From e100a2b696891c93f96b99aabf4f067716427690 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 29 Apr 2009 10:33:50 +0200 Subject: Correct hyperlink. --- microkernel/viengoos/building.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index a70f93df..d70ea47d 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -52,7 +52,7 @@ First, check out Grub 2 from svn: Before building Grub 2, you should apply the following patch, which makes it easy to tell Grub to load a specific grub.cfg at start up -([http://lists.gnu.org/archive/html/grub-devel/2009-01/msg00099.html](details)). +([details](http://lists.gnu.org/archive/html/grub-devel/2009-01/msg00099.html)). $ wget http://www.gnu.org/software/hurd/microkernel/viengoos/grub2-config.diff -O /dev/stdout | patch -p0 -- cgit v1.2.3 From 6452fdf3f322a52e71bd213461ce46344a009644 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 2 May 2009 16:21:27 +0200 Subject: Link to Savannah bug report. --- microkernel/mach/gnumach/hardware_compatibility_list.mdwn | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn index 09882467..d6e38ac9 100644 --- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn +++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn @@ -1,4 +1,5 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -64,9 +65,8 @@ IEEE 1394 is not supported at this time # Storage All common IDE drives should work. Some drive geometries do not work, -e.g. drives with hundreds of GiB of storage space. If you find a specific IDE -drive that does not work, make a note of the model and technical specifications -here. +e.g. drives with hundreds of GiB of storage space, see [[GNU_Savannah_bug +26425]]. [[toggle id="SATA" text="SATA drives may work in compatibility mode."]] -- cgit v1.2.3 From 3d37fb935f350d68cedcd59023f0df309b871e53 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 18 May 2009 12:26:20 +0200 Subject: Diplay open issues that are appropriately tagged. --- hurd/open_issues.mdwn | 4 ++-- microkernel/mach/gnumach/open_issues.mdwn | 5 +++-- microkernel/mach/mig/gnu_mig/open_issues.mdwn | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) (limited to 'microkernel') diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn index c4bcce09..d3401cbf 100644 --- a/hurd/open_issues.mdwn +++ b/hurd/open_issues.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -13,7 +13,7 @@ is included in the section entitled This is a dumping ground for open issues for the GNU Hurd. [[inline -pages="hurd/open_issues/* and !*/discussion" +pages="(hurd/open_issues/* or tagged(open_issue_hurd)) and !*/discussion" show=0 feeds=no actions=yes diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index ec289708..aab854c2 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -13,7 +13,8 @@ is included in the section entitled This is a dumping ground for open issues for GNU Mach. [[inline -pages="microkernel/mach/gnumach/open_issues/* and !*/discussion" +pages="(microkernel/mach/gnumach/open_issues/* or tagged(open_issue_*mach)) +and !*/discussion" show=0 feeds=no actions=yes diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn index 225f9cfc..37d27f19 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -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/gnu_mig/open_issues/* and !*/discussion" +pages="(microkernel/mach/mig/gnu_mig/open_issues/* or tagged(open_issue_*mig)) +and !*/discussion" show=0 feeds=no actions=yes -- cgit v1.2.3 From 3563bb7ec72ef97a1e694b84fe6a22ae5a79073d Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 18 May 2009 12:26:44 +0200 Subject: Tag as open issue. --- microkernel/viengoos/projects.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index b29607e9..c61f42bd 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -1,4 +1,4 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[meta copyright="Copyright © 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 @@ -8,6 +8,8 @@ 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 open_issue_viengoos]] + Some projects: # Minor -- cgit v1.2.3 From 88ce1e5f9fddfe35c5f980ce5c6242b74a3d1527 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 18 May 2009 16:17:01 +0200 Subject: Prefix directives. --- abac.mdwn | 4 +- asbestos.mdwn | 4 +- asking_questions.mdwn | 4 +- binutils.mdwn | 4 +- capability.mdwn | 4 +- colophon.mdwn | 4 +- .../about_the_twiki_to_ikiwiki_conversion.mdwn | 6 +- community.mdwn | 4 +- community/communication.mdwn | 4 +- community/facebook.mdwn | 4 +- community/gsoc.mdwn | 6 +- community/gsoc/2008.mdwn | 4 +- community/gsoc/2008/minutes-2008-04-25.mdwn | 4 +- community/gsoc/2008/minutes-2008-05-02.mdwn | 4 +- community/gsoc/2008/minutes-2008-05-16.mdwn | 4 +- community/gsoc/organization_application.mdwn | 4 +- community/gsoc/project_ideas.mdwn | 64 ++++++------- community/gsoc/project_ideas/cdparanoia.mdwn | 6 +- community/gsoc/project_ideas/debian_installer.mdwn | 6 +- .../gsoc/project_ideas/disk_io_performance.mdwn | 6 +- .../gsoc/project_ideas/download_backends.mdwn | 6 +- community/gsoc/project_ideas/driver_glue_code.mdwn | 8 +- community/gsoc/project_ideas/dtrace.mdwn | 6 +- community/gsoc/project_ideas/file_locking.mdwn | 6 +- community/gsoc/project_ideas/gnat.mdwn | 6 +- community/gsoc/project_ideas/gnumach_cleanup.mdwn | 6 +- community/gsoc/project_ideas/hardware_libs.mdwn | 6 +- .../gsoc/project_ideas/language_bindings.mdwn | 6 +- community/gsoc/project_ideas/lexical_dot-dot.mdwn | 8 +- community/gsoc/project_ideas/libcap.mdwn | 6 +- .../gsoc/project_ideas/libdiskfs_locking.mdwn | 6 +- community/gsoc/project_ideas/libgtop.mdwn | 6 +- community/gsoc/project_ideas/maxpath.mdwn | 6 +- community/gsoc/project_ideas/mtab.mdwn | 6 +- .../namespace-based_translator_selection.mdwn | 6 +- community/gsoc/project_ideas/nfs.mdwn | 8 +- community/gsoc/project_ideas/package_manager.mdwn | 6 +- community/gsoc/project_ideas/perl.mdwn | 6 +- community/gsoc/project_ideas/procfs.mdwn | 6 +- community/gsoc/project_ideas/pthreads.mdwn | 8 +- community/gsoc/project_ideas/secure_chroot.mdwn | 6 +- .../gsoc/project_ideas/server_overriding.mdwn | 8 +- community/gsoc/project_ideas/sound.mdwn | 8 +- community/gsoc/project_ideas/tcp_ip_stack.mdwn | 8 +- community/gsoc/project_ideas/tmpfs.mdwn | 6 +- community/gsoc/project_ideas/unionfs_boot.mdwn | 6 +- community/gsoc/project_ideas/unionmount.mdwn | 6 +- community/gsoc/project_ideas/virtualization.mdwn | 6 +- community/gsoc/project_ideas/vm_tuning.mdwn | 8 +- community/gsoc/project_ideas/xattr.mdwn | 8 +- community/gsoc/project_ideas/xmlfs.mdwn | 6 +- community/gsoc/student_application_form.mdwn | 4 +- community/gsoc/xorg_ideas.mdwn | 4 +- community/meetings.mdwn | 6 +- community/meetings/eurosys_2009.mdwn | 8 +- community/meetings/fosdem_2005.mdwn | 6 +- community/meetings/fosdem_2006.mdwn | 6 +- community/meetings/fosdem_2007.mdwn | 10 +- community/meetings/fosdem_2008.mdwn | 12 +-- community/meetings/rmll_2006.mdwn | 6 +- community/meetings/self-organised.mdwn | 6 +- community/meetings/stesie_2007-10-12.mdwn | 4 +- community/weblogs.mdwn | 6 +- community/weblogs/ArneBab.mdwn | 6 +- ...oes-trying-to-get-a-german-keyboard-layout.mdwn | 4 +- config_edittemplate.mdwn | 6 +- config_edittemplate/regular_page.mdwn | 4 +- confused_deputy.mdwn | 4 +- contact_us.mdwn | 4 +- contributing.mdwn | 4 +- contributing/questionnaire.mdwn | 4 +- contributing/web_pages.mdwn | 4 +- designation.mdwn | 4 +- destructive_interference.mdwn | 4 +- documentation.mdwn | 4 +- donate.mdwn | 4 +- emulation.mdwn | 4 +- extensibility.mdwn | 4 +- fdl.texi | 10 +- gcc.mdwn | 4 +- gdb.mdwn | 4 +- gdb/backtrace.mdwn | 4 +- getting_help.mdwn | 6 +- glibc.mdwn | 4 +- hurd.mdwn | 6 +- hurd/advantages.mdwn | 4 +- hurd/authentication.mdwn | 4 +- hurd/binutils.mdwn | 4 +- hurd/building/cross-compiling.mdwn | 4 +- hurd/building/cross-compiling/discussion.mdwn | 4 +- hurd/building/example.mdwn | 4 +- hurd/concepts.mdwn | 4 +- hurd/critique.mdwn | 6 +- hurd/debugging.mdwn | 4 +- hurd/debugging/gdb.mdwn | 4 +- hurd/debugging/gdb/noninvasive_debugging.mdwn | 4 +- hurd/debugging/glibc.mdwn | 4 +- hurd/debugging/rpctrace.mdwn | 4 +- hurd/debugging/translator.mdwn | 6 +- .../translator/capturing_stdout_and_stderr.mdwn | 4 +- hurd/debugging/translator/gdb.mdwn | 4 +- hurd/documentation.mdwn | 4 +- hurd/documentation/auth.html | 6 +- hurd/documentation/hurd-and-linux.html | 6 +- hurd/documentation/hurd-paper.html | 8 +- hurd/documentation/hurd-talk.html | 6 +- hurd/documentation/translators.html | 6 +- hurd/faq.mdwn | 8 +- hurd/faq/old_faq.txt | 4 +- hurd/faq/release.mdwn | 6 +- hurd/faq/slash_usr_symlink.mdwn | 6 +- hurd/gcc.mdwn | 4 +- hurd/glibc.mdwn | 4 +- hurd/glibc/hurd-specific_api.mdwn | 6 +- hurd/history.mdwn | 4 +- hurd/history/port_to_l4.mdwn | 6 +- hurd/hurd_hacking_guide.mdwn | 4 +- hurd/io_path.mdwn | 4 +- hurd/libchannel.mdwn | 4 +- hurd/libhello_example.mdwn | 4 +- hurd/libnetfs.mdwn | 4 +- hurd/libpager.mdwn | 4 +- hurd/libstore.mdwn | 4 +- hurd/logo.mdwn | 8 +- hurd/neighborhurd.mdwn | 4 +- hurd/networking.mdwn | 4 +- hurd/ng/issues_with_mach.mdwn | 4 +- .../limitations_of_the_original_hurd_design.mdwn | 4 +- hurd/ng/position_paper.mdwn | 4 +- hurd/open_issues.mdwn | 8 +- hurd/open_issues/cvs_tasks_file.mdwn | 4 +- hurd/open_issues/cvs_todo_file.mdwn | 4 +- hurd/open_issues/gdb_non-stop_mode.mdwn | 4 +- hurd/open_issues/gdb_pending_execs.mdwn | 4 +- hurd/open_issues/gdb_thread_ids.mdwn | 4 +- hurd/open_issues/libfshelp_in_hurdlibs.mdwn | 4 +- hurd/open_issues/some_todo_list.mdwn | 4 +- hurd/open_issues/wrong_reply_message_id.mdwn | 4 +- hurd/porting.mdwn | 4 +- hurd/porting/guidelines.mdwn | 4 +- hurd/porting/system_api_limitations.mdwn | 4 +- hurd/reference_manual.mdwn | 4 +- hurd/running.mdwn | 4 +- hurd/running/debian.mdwn | 2 +- hurd/running/debian/DebianAptOffline.mdwn | 4 +- hurd/running/debian/after_install.mdwn | 2 +- hurd/running/debian/creating_image_tarball.mdwn | 4 +- hurd/running/debian/faq.mdwn | 8 +- hurd/running/debian/faq/2_gib_partition_limit.mdwn | 6 +- hurd/running/debian/faq/512_mib_ram_limit.mdwn | 6 +- hurd/running/debian/faq/apt_umount.mdwn | 6 +- hurd/running/debian/faq/bad_hypermeta_data.mdwn | 4 +- .../running/debian/faq/debugging_inside_glibc.mdwn | 4 +- hurd/running/debian/faq/debugging_translators.mdwn | 4 +- hurd/running/debian/faq/dev_random.mdwn | 6 +- hurd/running/debian/faq/df.mdwn | 4 +- hurd/running/debian/faq/free_memory.mdwn | 4 +- hurd/running/debian/faq/hurd_console.mdwn | 4 +- hurd/running/debian/faq/kernel_logs.mdwn | 4 +- hurd/running/debian/faq/other_repositories.mdwn | 4 +- hurd/running/debian/faq/ps_hangs.mdwn | 4 +- hurd/running/debian/faq/reporting_bugs.mdwn | 4 +- hurd/running/debian/faq/sata_disk_drives.mdwn | 4 +- .../faq/sshd_only_works_for_root_logins.mdwn | 4 +- hurd/running/debian/faq/xserver-common.mdwn | 4 +- hurd/running/debian/patch_submission.mdwn | 4 +- hurd/running/debian/porting.mdwn | 8 +- hurd/running/debian/porting/adduser.mdwn | 4 +- hurd/running/debian/porting/gcc.mdwn | 4 +- hurd/running/debian/porting/gcc/c++.mdwn | 6 +- hurd/running/debian/porting/gcc/libmudflap.mdwn | 4 +- hurd/running/debian/porting/git-core-2.mdwn | 4 +- hurd/running/debian/porting/git-core.mdwn | 4 +- .../debian/porting/libdbd-sqlite3-perl.mdwn | 4 +- hurd/running/debian/porting/pth.mdwn | 4 +- hurd/running/debian/porting/runit.mdwn | 4 +- hurd/running/debian/porting/socat.mdwn | 4 +- hurd/running/gnu/create_an_image.mdwn | 4 +- hurd/running/gnu/setup.mdwn | 4 +- hurd/running/gnu/universal_package_manager.mdwn | 4 +- hurd/running/qemu.mdwn | 2 +- hurd/running/qemu/microsoft_windows.mdwn | 4 +- hurd/running/qemu/networking.mdwn | 4 +- hurd/running/qemu/networking/sharing_files.mdwn | 4 +- hurd/running/vmware.mdwn | 4 +- hurd/running/vmware/discussion.mdwn | 4 +- hurd/settrans.mdwn | 4 +- hurd/status.mdwn | 4 +- hurd/subhurd.mdwn | 4 +- hurd/subhurd/running_a_subhurd.mdwn | 6 +- hurd/toolchain.mdwn | 4 +- hurd/translator.mdwn | 4 +- hurd/translator/auth.mdwn | 4 +- hurd/translator/cvsfs.mdwn | 4 +- hurd/translator/devfs.mdwn | 4 +- hurd/translator/emailfs.mdwn | 4 +- hurd/translator/examples.mdwn | 4 +- hurd/translator/ext2fs.mdwn | 4 +- hurd/translator/fatfs.mdwn | 6 +- hurd/translator/magic.mdwn | 4 +- hurd/translator/mboxfs.mdwn | 4 +- hurd/translator/pfinet.mdwn | 4 +- hurd/translator/pfinet/implementation.mdwn | 4 +- hurd/translator/pfinet/ipv6.mdwn | 4 +- hurd/translator/pflocal.mdwn | 4 +- hurd/translator/procfs.mdwn | 4 +- hurd/translator/procfs/htop.mdwn | 4 +- hurd/translator/procfs/killall.mdwn | 4 +- hurd/translator/procfs/procps.mdwn | 4 +- hurd/translator/procfs/top.mdwn | 4 +- hurd/translator/storeio.mdwn | 4 +- hurd/translator/stowfs.mdwn | 6 +- hurd/translator/tmpfs.mdwn | 6 +- hurd/translator/tmpfs/notes_bing.mdwn | 4 +- hurd/translator/tmpfs/notes_various.mdwn | 6 +- hurd/translator/unionfs.mdwn | 4 +- hurd/translator/wishlist_1.mdwn | 4 +- hurd/translator/writing/example.mdwn | 4 +- hurd/translator/xmlfs.mdwn | 4 +- hurd/virtual_file_system.mdwn | 4 +- hurd/virtualization.mdwn | 4 +- hurd/what_is_the_gnu_hurd.mdwn | 6 +- .../gramatically_speaking.mdwn | 6 +- hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn | 6 +- ibac.mdwn | 4 +- idl.mdwn | 4 +- ikiwiki.setup | 2 +- index.mdwn | 10 +- index/discussion.mdwn | 4 +- ipc.mdwn | 4 +- irc.mdwn | 8 +- isolation.mdwn | 4 +- license.mdwn | 2 +- liedtke.mdwn | 4 +- mailing_lists.mdwn | 10 +- mailing_lists/bug-hurd.mdwn | 6 +- mailing_lists/debian-hurd.mdwn | 4 +- mailing_lists/gnu-system-discuss.mdwn | 6 +- mailing_lists/help-hurd.mdwn | 6 +- mailing_lists/hurd-devel-readers.mdwn | 6 +- mailing_lists/hurd-devel.mdwn | 6 +- mailing_lists/l4-hurd.mdwn | 6 +- mailing_lists/unmoderated.mdwn | 4 +- mailing_lists/web-hurd.mdwn | 6 +- mechanism.mdwn | 4 +- microkernel.mdwn | 4 +- microkernel/faq.mdwn | 8 +- microkernel/faq/multiserver_microkernel.mdwn | 6 +- microkernel/for_beginners.mdwn | 4 +- microkernel/fud.mdwn | 5 +- microkernel/mach/documentation.mdwn | 4 +- microkernel/mach/external_pager_mechanism.mdwn | 5 +- microkernel/mach/gnumach.mdwn | 4 +- microkernel/mach/gnumach/boot_trace.mdwn | 4 +- microkernel/mach/gnumach/building/example.mdwn | 4 +- microkernel/mach/gnumach/debugging.mdwn | 4 +- .../mach/gnumach/hardware_compatibility_list.mdwn | 10 +- microkernel/mach/gnumach/open_issues.mdwn | 8 +- .../open_issues/resource_management_problems.mdwn | 4 +- microkernel/mach/gnumach/ports.mdwn | 4 +- microkernel/mach/gnumach/ports/xen.mdwn | 8 +- microkernel/mach/gnumach/ports/xen/internals.mdwn | 4 +- .../ports/xen/networking_configuration.mdwn | 8 +- microkernel/mach/gnumach/projects.mdwn | 6 +- .../mach/gnumach/projects/clean_up_the_code.mdwn | 48 +++++----- microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 4 +- microkernel/mach/gnumach/reference_manual.mdwn | 4 +- microkernel/mach/ipc.mdwn | 4 +- microkernel/mach/ipc/sequence_numbering.mdwn | 4 +- microkernel/mach/mig.mdwn | 4 +- microkernel/mach/mig/documentation.mdwn | 4 +- microkernel/mach/mig/documentation/dealloc.mdwn | 4 +- microkernel/mach/mig/documentation/servercopy.mdwn | 4 +- microkernel/mach/mig/gnu_mig.mdwn | 4 +- microkernel/mach/mig/gnu_mig/open_issues.mdwn | 8 +- .../open_issues/duplicate_inclusion_guards.mdwn | 4 +- microkernel/mach/port.mdwn | 4 +- microkernel/mach/rpc.mdwn | 4 +- microkernel/viengoos.mdwn | 4 +- microkernel/viengoos/building.mdwn | 4 +- microkernel/viengoos/documentation.mdwn | 4 +- microkernel/viengoos/hardware.mdwn | 4 +- microkernel/viengoos/projects.mdwn | 6 +- microkernel/viengoos/serial_port.mdwn | 4 +- naming_context.mdwn | 4 +- news.mdwn | 6 +- news/2002-01-13.mdwn | 4 +- news/2002-01-19.mdwn | 4 +- news/2002-02-18.mdwn | 4 +- news/2002-03-03.mdwn | 4 +- news/2002-03-08.mdwn | 4 +- news/2002-03-23.mdwn | 4 +- news/2002-05-05.mdwn | 4 +- news/2002-05-18.mdwn | 4 +- news/2002-05-24.mdwn | 4 +- news/2002-05-28.mdwn | 4 +- news/2002-06-22.mdwn | 4 +- news/2002-08-16.mdwn | 4 +- news/2002-10-03.mdwn | 4 +- news/2002-10-03_2.mdwn | 4 +- news/2002-10-19.mdwn | 4 +- news/2002-11-18.mdwn | 4 +- news/2003-01-18.mdwn | 4 +- news/2003-02-14.mdwn | 4 +- news/2003-07-02.mdwn | 4 +- news/2003-07-16.mdwn | 4 +- news/2003-08-21.mdwn | 4 +- news/2005-01-28.mdwn | 4 +- news/2005-09-20.mdwn | 4 +- news/2006-04-27.mdwn | 4 +- news/2007-01-07.mdwn | 4 +- news/2007-01-14.mdwn | 4 +- news/2007-03-14.mdwn | 4 +- news/2007-10-01.mdwn | 4 +- news/2007-10-12.mdwn | 4 +- news/2008-02-11.mdwn | 4 +- news/2008-03-19.mdwn | 4 +- news/2008-09-11.mdwn | 4 +- news/2008-11-14.mdwn | 4 +- news/2008-12-12.mdwn | 4 +- news/2009-03-28.mdwn | 4 +- open_issues.mdwn | 10 +- open_issues/blkrrpart_ioctl.mdwn | 8 +- persistency.mdwn | 4 +- policy.mdwn | 4 +- principal.mdwn | 4 +- public_hurd_boxen.mdwn | 6 +- qemu.mdwn | 4 +- recent_changes.mdwn | 8 +- rpc.mdwn | 4 +- rules.mdwn | 4 +- rules/savannah_group.mdwn | 4 +- rules/source_repositories.mdwn | 4 +- security.mdwn | 4 +- sfi.mdwn | 4 +- shortcuts.mdwn | 104 ++++++++++----------- sidebar.mdwn | 12 +-- tcb.mdwn | 4 +- trackers.mdwn | 4 +- trust.mdwn | 4 +- unix.mdwn | 6 +- user/flaviocruz.mdwn | 4 +- user/madhusudancs.mdwn | 6 +- user/scolobb.mdwn | 4 +- user/tschwinge.mdwn | 6 +- user/vincentvikram.mdwn | 4 +- user/zhengda/howto.mdwn | 4 +- virtualization.mdwn | 6 +- 348 files changed, 946 insertions(+), 942 deletions(-) (limited to 'microkernel') diff --git a/abac.mdwn b/abac.mdwn index a260a986..bdf63a32 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/asbestos.mdwn b/asbestos.mdwn index 65ab391e..fcbd8ecb 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/asking_questions.mdwn b/asking_questions.mdwn index d58dee61..bb5c8ffb 100644 --- a/asking_questions.mdwn +++ b/asking_questions.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/binutils.mdwn b/binutils.mdwn index 3e9e5889..85791914 100644 --- a/binutils.mdwn +++ b/binutils.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/capability.mdwn b/capability.mdwn index 2d4d2ce8..c5ef0d1d 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/colophon.mdwn b/colophon.mdwn index 9146bc15..1afdd51a 100644 --- a/colophon.mdwn +++ b/colophon.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009 Free Software +[[!meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn index 8c556261..d9443b17 100644 --- a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn +++ b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -38,7 +38,7 @@ also made available by the authors at . The Debian package *libhtml-wikiconverter-perl* is too old at least until -[[debbug 419918]] is closed. +[[!debbug 419918]] is closed. For converting from rcs files (as used by TWiki) to a git repository you'll need to get `git clone git://people.freedesktop.org/~keithp/parsecvs` and build diff --git a/community.mdwn b/community.mdwn index 5d58ae5a..9d8af0ec 100644 --- a/community.mdwn +++ b/community.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software +[[!meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/communication.mdwn b/community/communication.mdwn index d2eccceb..0e56a77e 100644 --- a/community/communication.mdwn +++ b/community/communication.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/facebook.mdwn b/community/facebook.mdwn index b5340224..31a27fec 100644 --- a/community/facebook.mdwn +++ b/community/facebook.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index ed1f7a52..506516bb 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Google Summer of Code"]] +[[!meta title="Google Summer of Code"]] # 2009 diff --git a/community/gsoc/2008.mdwn b/community/gsoc/2008.mdwn index 5bb5f314..31d45d05 100644 --- a/community/gsoc/2008.mdwn +++ b/community/gsoc/2008.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/2008/minutes-2008-04-25.mdwn b/community/gsoc/2008/minutes-2008-04-25.mdwn index 3f2c0313..0cb624f2 100644 --- a/community/gsoc/2008/minutes-2008-04-25.mdwn +++ b/community/gsoc/2008/minutes-2008-04-25.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/2008/minutes-2008-05-02.mdwn b/community/gsoc/2008/minutes-2008-05-02.mdwn index 9c99a8e7..f960ab06 100644 --- a/community/gsoc/2008/minutes-2008-05-02.mdwn +++ b/community/gsoc/2008/minutes-2008-05-02.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/2008/minutes-2008-05-16.mdwn b/community/gsoc/2008/minutes-2008-05-16.mdwn index 8adb838c..0c848e8a 100644 --- a/community/gsoc/2008/minutes-2008-05-16.mdwn +++ b/community/gsoc/2008/minutes-2008-05-16.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/organization_application.mdwn b/community/gsoc/organization_application.mdwn index 53cd85ac..946c225b 100644 --- a/community/gsoc/organization_application.mdwn +++ b/community/gsoc/organization_application.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index 78cc7ad3..dede290f 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -75,33 +75,33 @@ will assist you as well as we can. See also the list of [Hurd-related X.org project ideas](http://wiki.x.org/wiki/Hurd_Porting). -[[inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/xmlfs" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/unionfs_boot" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/tmpfs" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/lexical_dot-dot" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]] -[[inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/driver_glue_code" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/server_overriding" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/libdiskfs_locking" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/pthreads" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/mtab" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/gnumach_cleanup" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/xmlfs" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/unionfs_boot" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/tmpfs" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/lexical_dot-dot" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/debian_installer" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/libgtop" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/perl" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/libcap" show=0 feeds=no actions=yes]] +[[!inline pages="community/gsoc/project_ideas/xattr" show=0 feeds=no actions=yes]] diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn index 117dc56e..f13e19e6 100644 --- a/community/gsoc/project_ideas/cdparanoia.mdwn +++ b/community/gsoc/project_ideas/cdparanoia.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Implement CD Audio Grabbing"]] +[[!meta title="Implement CD Audio Grabbing"]] The Hurd presently has only support for CD-ROMs, but not for audio extraction ("grabbing"). As a result, cdparanoia (and other extraction diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn index cac85df2..183f6708 100644 --- a/community/gsoc/project_ideas/debian_installer.mdwn +++ b/community/gsoc/project_ideas/debian_installer.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Port the Debian Installer to the Hurd"]] +[[!meta title="Port the Debian Installer to the Hurd"]] The primary means of distributing the Hurd is through Debian GNU/Hurd. However, the installation CDs presently use an ancient, non-native installer. diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn index 8d9b3b7c..9f361de9 100644 --- a/community/gsoc/project_ideas/disk_io_performance.mdwn +++ b/community/gsoc/project_ideas/disk_io_performance.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Disk I/O Performance Tuning"]] +[[!meta title="Disk I/O Performance Tuning"]] The most obvious reason for the Hurd feeling slow compared to mainstream systems like GNU/Linux, is very slow harddisk access. diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn index a6e090eb..519d1195 100644 --- a/community/gsoc/project_ideas/download_backends.mdwn +++ b/community/gsoc/project_ideas/download_backends.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]] +[[!meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]] The Hurd design facilitates splitting up large applications into independent, generic components, which can be easily combined in different contexts, by diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn index 0e193a25..b3c4c129 100644 --- a/community/gsoc/project_ideas/driver_glue_code.mdwn +++ b/community/gsoc/project_ideas/driver_glue_code.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="New Driver Glue Code"]] +[[!meta title="New Driver Glue Code"]] Although a driver framework in userspace would be desirable, presently the Hurd uses kernel drivers in the microkernel, @@ -31,7 +31,7 @@ This is a doable, but pretty involved project. Previous experience with driver programming probably is a must. (No Hurd-specific knowledge is required, though.) -This is [[GNU_Savannah_task 5488]]. +This is [[!GNU_Savannah_task 5488]]. Possible mentors: Samuel Thibault (youpi) diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn index f0c6f07a..18fbe956 100644 --- a/community/gsoc/project_ideas/dtrace.mdwn +++ b/community/gsoc/project_ideas/dtrace.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="dtrace Support"]] +[[!meta title="dtrace Support"]] One of the main problems of the current Hurd implementation is very poor performance. While we have a bunch of ideas what could cause the performance diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn index b20b82fd..0c057639 100644 --- a/community/gsoc/project_ideas/file_locking.mdwn +++ b/community/gsoc/project_ideas/file_locking.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Fix File Locking"]] +[[!meta title="Fix File Locking"]] Over the years, [[UNIX]] has aquired a host of different file locking mechanisms. Some of them work on the Hurd, while others are buggy or only partially diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn index 135c19aa..b70ab3c6 100644 --- a/community/gsoc/project_ideas/gnat.mdwn +++ b/community/gsoc/project_ideas/gnat.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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 GNAT"]] +[[!meta title="Porting GNAT"]] The GNU Ada Translator (GNAT) isn't available for the Hurd so far. There are also a number of other Debian packages depending on GNAT, and thus not diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn index 0fd6e481..ecbbb200 100644 --- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn +++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="GNU Mach Code Cleanup"]] +[[!meta title="GNU Mach Code Cleanup"]] Although there are some attempts to move to a more modern microkernel alltogether, the current Hurd implementation is based on diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn index 88b94caa..4a1fe73c 100644 --- a/community/gsoc/project_ideas/hardware_libs.mdwn +++ b/community/gsoc/project_ideas/hardware_libs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Stub Implementations of Hardware Specific Libraries"]] +[[!meta title="Stub Implementations of Hardware Specific Libraries"]] Many programs use special libraries to access certain hardware devices, like libusb, libbluetooth, libraw1394, libiw-dev (though there already is a diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn index 6dc83463..c247a8f8 100644 --- a/community/gsoc/project_ideas/language_bindings.mdwn +++ b/community/gsoc/project_ideas/language_bindings.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Bindings to Other Programming Languages"]] +[[!meta title="Bindings to Other Programming Languages"]] The main idea of the Hurd design is giving users the ability to easily modify/extend the system's functionality ([[extensible_system|extensibility]]). diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn index 55d00337..e37bc71f 100644 --- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn +++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Lexical .. Resolution"]] +[[!meta title="Lexical .. Resolution"]] For historical reasons, [[UNIX]] filesystems have a real (hard) `..` link from each directory pointing to its parent. However, this is problematic, because the @@ -29,7 +29,7 @@ to use lexical resolution, and to check that the system is still fully functional afterwards. This task requires understanding the filename resolution mechanism. -See also [[GNU_Savannah_bug 17133]]. +See also [[!GNU_Savannah_bug 17133]]. Possible mentors: ? diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn index 9e722815..2745dc7e 100644 --- a/community/gsoc/project_ideas/libcap.mdwn +++ b/community/gsoc/project_ideas/libcap.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Implementing libcap"]] +[[!meta title="Implementing libcap"]] libcap is a library providing the API to access POSIX capabilities. These allow giving various kinds of specific privileges to individual users, without giving diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn index 434e39ba..d484b40b 100644 --- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn +++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Fix libdiskfs Locking Issues"]] +[[!meta title="Fix libdiskfs Locking Issues"]] Nowadays the most often encountered cause of Hurd crashes seems to be lockups in the [[hurd/translator/ext2fs]] server. One of these could be traced diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn index 4f848820..c0f966c5 100644 --- a/community/gsoc/project_ideas/libgtop.mdwn +++ b/community/gsoc/project_ideas/libgtop.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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 libgtop"]] +[[!meta title="Porting libgtop"]] libgtop is a library used by many applications (especially GNOME applications) to abstract the system-specific methods for obtaining information about the diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn index d78297d5..6ece2dbf 100644 --- a/community/gsoc/project_ideas/maxpath.mdwn +++ b/community/gsoc/project_ideas/maxpath.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Fixing Programs Using PATH_MAX et al Unconditionally"]] +[[!meta title="Fixing Programs Using PATH_MAX et al Unconditionally"]] POSIX describes some constants (or rather macros) like PATH_MAX/MAXPATHLEN and similar, which may be defined by the system to indicate certain limits. Many diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn index 8e848410..39cde2dd 100644 --- a/community/gsoc/project_ideas/mtab.mdwn +++ b/community/gsoc/project_ideas/mtab.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="mtab"]] +[[!meta title="mtab"]] In traditional monolithic system, the kernel keeps track of all mounts; the information is available through `/proc/mounts` (on Linux at least), and in a diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn index 6bb643fa..79aad7a1 100644 --- a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn +++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Namspace-based Translator Selection"]] +[[!meta title="Namspace-based Translator Selection"]] The main idea behind the Hurd is to make (almost) all system functionality user-modifiable ([[extensible_system|extensibility]]). This includes a diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn index 3874d81a..eeeda6f0 100644 --- a/community/gsoc/project_ideas/nfs.mdwn +++ b/community/gsoc/project_ideas/nfs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Improved NFS Implementation"]] +[[!meta title="Improved NFS Implementation"]] The Hurd has both NFS server and client implementations, which work, but not very well: File locking doesn't work properly (at least in conjuction with a @@ -31,7 +31,7 @@ has been done for a former GSoC application -- it might give you some pointers. But don't take any of the statements made there for granted -- check the facts yourself! -This task, [[GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and +This task, [[!GNU_Savannah_task 5497]], has no special prerequisites besides general programming skills, and an interest in file systems and network protocols. Possible mentors: ? diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn index c7a33944..4e544ed5 100644 --- a/community/gsoc/project_ideas/package_manager.mdwn +++ b/community/gsoc/project_ideas/package_manager.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Hurdish Package Manager for the GNU System"]] +[[!meta title="Hurdish Package Manager for the GNU System"]] Most GNU/Linux systems use pretty sophisticated package managers, to ease the management of installed software. These keep track of all installed files, and diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn index 803f710e..23420159 100644 --- a/community/gsoc/project_ideas/perl.mdwn +++ b/community/gsoc/project_ideas/perl.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Improving Perl Support"]] +[[!meta title="Improving Perl Support"]] Perl is available on the Hurd, but there are quite a lot of test suite failures. These could be caused by problems in the system-specific diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn index 55556b02..8acfa228 100644 --- a/community/gsoc/project_ideas/procfs.mdwn +++ b/community/gsoc/project_ideas/procfs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="procfs"]] +[[!meta title="procfs"]] Although there is no standard (POSIX or other) for the layout of the `/proc` pseudo-filesystem, it turned out a very useful facility in GNU/Linux and other diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn index aa532a9a..0e677268 100644 --- a/community/gsoc/project_ideas/pthreads.mdwn +++ b/community/gsoc/project_ideas/pthreads.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Convert Hurd Libraries and Servers to pthreads"]] +[[!meta title="Convert Hurd Libraries and Servers to pthreads"]] The Hurd was originally created at a time when the [pthreads standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html) @@ -27,7 +27,7 @@ libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules depending on pthreads for example.) Most of the conversion has already been done in previous efforts (see -[[GNU_Savannah_task 5487]]) -- but the tricky parts are still missing. +[[!GNU_Savannah_task 5487]]) -- but the tricky parts are still missing. The goal of this project is to have all the Hurd code use pthreads. Should any limitations in the existing pthreads implementation turn up that hinder this diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn index ba47f78d..e5848a0f 100644 --- a/community/gsoc/project_ideas/secure_chroot.mdwn +++ b/community/gsoc/project_ideas/secure_chroot.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Secure chroot Implementation"]] +[[!meta title="Secure chroot Implementation"]] As the Hurd attempts to be (almost) fully [[UNIX]]-compatible, it also implements a `chroot()` system call. However, the current implementation is not really diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn index 2513df0b..66171313 100644 --- a/community/gsoc/project_ideas/server_overriding.mdwn +++ b/community/gsoc/project_ideas/server_overriding.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Server Overriding Mechanism"]] +[[!meta title="Server Overriding Mechanism"]] The main idea of the Hurd is that every user can influence almost all system functionality ([[extensible_system|extensibility]]), by running private Hurd @@ -61,7 +61,7 @@ This tasks requires some understanding of the Hurd internals, especially a good understanding of the file name lookup mechanism. It's probably not too heavy on the coding side. -This is [[GNU_Savannah_task 6612]]. Also there are quite a bit of emails +This is [[!GNU_Savannah_task 6612]]. Also there are quite a bit of emails discussing this topic, from a previous year's GSoC application -- see , , diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn index 26bb91cb..134c5b59 100644 --- a/community/gsoc/project_ideas/sound.mdwn +++ b/community/gsoc/project_ideas/sound.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,9 +8,9 @@ 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="Sound Support"]] +[[!meta title="Sound Support"]] -The Hurd presently has no sound support. Fixing this, [[GNU_Savannah_task +The Hurd presently has no sound support. Fixing this, [[!GNU_Savannah_task 5485]], requires two steps: the first is to port some other kernel's drivers to [[GNU_Mach|microkernel/mach/gnumach]] so we can get access to actual sound hardware. The second is to implement a userspace server ([[hurd/translator]]), diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn index 29b1d22d..7ca43152 100644 --- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn +++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Hurdish TCP/IP Stack"]] +[[!meta title="Hurdish TCP/IP Stack"]] The Hurd presently uses a [[TCP/IP_stack|hurd/translator/pfinet]] based on code from an old Linux version. This works, but lacks some rather important features (like PPP/PPPoE), and the @@ -32,7 +32,7 @@ individual layers later. The initial implementation, and the choice of a TCP/IP stack, should be done with this in mind -- it needs to be modular enough to make such a split later on feasible. -This is [[GNU_Savannah_task 5469]]. +This is [[!GNU_Savannah_task 5469]]. Possible mentors: ? diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn index a3f474ff..fcf8d96b 100644 --- a/community/gsoc/project_ideas/tmpfs.mdwn +++ b/community/gsoc/project_ideas/tmpfs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Fix tmpfs"]] +[[!meta title="Fix tmpfs"]] In some situations it is desirable to have a file system that is not backed by actual disk storage, but only by anonymous memory, i.e. lives in the RAM (and diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn index 21cf168f..3692678f 100644 --- a/community/gsoc/project_ideas/unionfs_boot.mdwn +++ b/community/gsoc/project_ideas/unionfs_boot.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Allow Using unionfs Early at Boot"]] +[[!meta title="Allow Using unionfs Early at Boot"]] In [[UNIX]] systems, traditionally most software is installed in a common directory hierachy, where files from various packages live beside each other, grouped by diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn index 89b53123..f8fbc283 100644 --- a/community/gsoc/project_ideas/unionmount.mdwn +++ b/community/gsoc/project_ideas/unionmount.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Union Mounts"]] +[[!meta title="Union Mounts"]] When setting a translator on Hurd -- similar to mounting a file system on UNIX -- the new node(s) exported by the translator are obscuring the original node diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn index 711d3b4c..79c3ab29 100644 --- a/community/gsoc/project_ideas/virtualization.mdwn +++ b/community/gsoc/project_ideas/virtualization.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Virtualization Using Hurd Mechanisms"]] +[[!meta title="Virtualization Using Hurd Mechanisms"]] The main idea behind the Hurd design is to allow users to replace almost any system functionality ([[extensible_system|extensibility]]). Any user can easily diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn index d1d75e10..8d6a15c3 100644 --- a/community/gsoc/project_ideas/vm_tuning.mdwn +++ b/community/gsoc/project_ideas/vm_tuning.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="VM Tuning"]] +[[!meta title="VM Tuning"]] Hurd/[[microkernel/Mach]] presently make very bad use of the available physical memory in the system. Some of the problems are inherent to the system design (the kernel @@ -26,7 +26,7 @@ implementation to other systems, implementing any worthwhile improvements, and general optimisation/tuning. It requires very good understanding of the Mach VM, and virtual memory in general. -This project is related to [[GNU_Savannah_task 5489]]. +This project is related to [[!GNU_Savannah_task 5489]]. Possible mentors: Samuel Thibault (youpi) diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn index ab16dfbb..b5466091 100644 --- a/community/gsoc/project_ideas/xattr.mdwn +++ b/community/gsoc/project_ideas/xattr.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Implement xattr Support"]] +[[!meta title="Implement xattr Support"]] Extended attributes (xattr) are a standardized, generic method for storing additional metadata along with a file (inode). Most modern UNIX filesystems @@ -38,7 +38,7 @@ Completing this project will require digging into some parts of the Hurd, but it should be quite doable without previous Hurd experience. Some experience with xattrs might help a bit, but shouldn't be really necessary either. -Some previous work on xattr support is available in [[GNU_Savannah_patch +Some previous work on xattr support is available in [[!GNU_Savannah_patch 5126]], and might serve as a starting point. Possible mentors: Samuel Thibault (youpi) diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn index e9c8a5b2..5fd2cbe4 100644 --- a/community/gsoc/project_ideas/xmlfs.mdwn +++ b/community/gsoc/project_ideas/xmlfs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="xmlfs"]] +[[!meta title="xmlfs"]] Hurd [[translators|hurd/translator]] allow presenting underlying data in a different format. This is a very powerful ability: it allows using standard diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn index 619843f0..e52387b6 100644 --- a/community/gsoc/student_application_form.mdwn +++ b/community/gsoc/student_application_form.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/gsoc/xorg_ideas.mdwn b/community/gsoc/xorg_ideas.mdwn index 153b8bf6..c125ee96 100644 --- a/community/gsoc/xorg_ideas.mdwn +++ b/community/gsoc/xorg_ideas.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/community/meetings.mdwn b/community/meetings.mdwn index 1b994e13..9a07e205 100644 --- a/community/meetings.mdwn +++ b/community/meetings.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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="Meetings with Hurd developer attendance"]] +[[!meta title="Meetings with Hurd developer attendance"]] # Upcoming diff --git a/community/meetings/eurosys_2009.mdwn b/community/meetings/eurosys_2009.mdwn index 069f6889..cc672f5e 100644 --- a/community/meetings/eurosys_2009.mdwn +++ b/community/meetings/eurosys_2009.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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="EuroSys 2009"]] +[[!meta title="EuroSys 2009"]] @@ -18,7 +18,7 @@ EuroSys will take place on March 30th to April 3rd in Nuremberg, Germany. # Who and When -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" "Name","Attending","Arrival","Return" "Neal Walfield","yes","Monday evening","Friday" "[[Thomas_Schwinge|tschwinge]]","yes","Monday evening","Friday" diff --git a/community/meetings/fosdem_2005.mdwn b/community/meetings/fosdem_2005.mdwn index c34319fb..e19ff41d 100644 --- a/community/meetings/fosdem_2005.mdwn +++ b/community/meetings/fosdem_2005.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="FOSDEM 2005"]] +[[!meta title="FOSDEM 2005"]] diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn index 8bf9967f..7f3cdcce 100644 --- a/community/meetings/fosdem_2006.mdwn +++ b/community/meetings/fosdem_2006.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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="FOSDEM 2006"]] +[[!meta title="FOSDEM 2006"]] diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn index 55d346fd..e8c37441 100644 --- a/community/meetings/fosdem_2007.mdwn +++ b/community/meetings/fosdem_2007.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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="FOSDEM 2007"]] +[[!meta title="FOSDEM 2007"]] @@ -18,7 +18,7 @@ Bruxelles. # Who And When -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" "Name","Attending","Arrival","Return","Share room with us" "[[AlfredoBeaumont]]","no","n/a","n/a","n/a" "[[AndrewResch]]","no","n/a","n/a","n/a" @@ -88,7 +88,7 @@ Been there in 2006. It was okay. [[SamuelThibault]] booked rooms at ~ 18.60€ there: -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" "Night of...","Persons" "2007-02-22","7**6**" "2007-02-23","10" diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn index fb4a3ae9..5d641995 100644 --- a/community/meetings/fosdem_2008.mdwn +++ b/community/meetings/fosdem_2008.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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="FOSDEM 2008"]] +[[!meta title="FOSDEM 2008"]] @@ -19,7 +19,7 @@ Bruxelles. # Who And When -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" "Name","Attending","Arrival","Return","Share room with us" "[[Bas_Wijnen|baswijnen]] and girlfriend","yes","Friday","Monday","yes (two)" "Christian Dietrich","no","n/a","n/a","n/a" @@ -42,7 +42,7 @@ Bruxelles. (Large) evening counts: -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" , Bas, Gianluca, Marcus, Michael, Neal, Olaf, Samuel, Soeren, Thomas, Total Thu 21, , 1? , *1*, , , , 1 , , *1*, *4* 2 Fri 22, 2 , 1 , 1 , 1 , 1 , 1 , 1 , 1 , 1 ,10 @@ -94,7 +94,7 @@ gaah, Full! -[[toggleable id="SATA" text=""" +[[!toggleable id="SATA" text=""" This is how booting a [[GNU/Hurd_system|hurd]] will typically fail if GNU Mach couldn't connect to the hard disk, e.g., in a SATA system without IDE compatibility mode: diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index aab854c2..4323ac4b 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,11 +8,11 @@ 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="Open Issues"]] +[[!meta title="Open Issues"]] This is a dumping ground for open issues for GNU Mach. -[[inline +[[!inline pages="(microkernel/mach/gnumach/open_issues/* or tagged(open_issue_*mach)) and !*/discussion" show=0 diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn index e949fa96..07c71568 100644 --- a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn +++ b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index 00cdee8c..b25fbe60 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index b9e2fac7..7391ea2e 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -9,7 +9,7 @@ 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]]."]]"""]] -[[toc ]] +[[!toc]] ## Xen dom0, hypervisor @@ -79,4 +79,4 @@ The current `hurd-modules` was built from the debian packages `hurd 20070606-2` [[Internals]]. -[[GNU_Savannah_task 5468]], [[GNU_Savannah_task 6584]]. +[[!GNU_Savannah_task 5468]], [[!GNU_Savannah_task 6584]]. diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn index 09e707ea..8e46472d 100644 --- a/microkernel/mach/gnumach/ports/xen/internals.mdwn +++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index 71a72bac..f3b0d205 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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]]."]]"""]] -[[toc ]] +[[!toc]] The Xen dom0 infrastructure provides for a bridged networking setup using shell scripts to configure the bridging device properly and attach the domUs' virtual @@ -38,7 +38,7 @@ Comment out everything referencing your physical devices. Add this: [...] This needs a version of the `bridge-utils` package more recent than the current -Debian stable one ([[debbug 405215]]). (It's trivial to rebuild the `dpkg` of, +Debian stable one ([[!debbug 405215]]). (It's trivial to rebuild the `dpkg` of, e.g., the Debian testing one on Debian stable.) # */etc/xen/xend-config.sxp* diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 9ace6270..8ef71e30 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2005, 2006, 2007, 2008 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, +Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn index 875bb8cd..0038f00e 100644 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2005, 2006, 2007, 2008 - Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, +Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -39,80 +39,80 @@ So, additionally to the list given below, there may actually be a bunch of further files (also exported ones) that serve no real value, but are being `#include`d through one way or another. -* [[source_gnumach-1-branch ddb/db_expr.h]] +* [[!source_gnumach-1-branch ddb/db_expr.h]] Currently used, but copyright violation? Rewrite? -* [[source_gnumach-1-branch ddb/db_print.h]] +* [[!source_gnumach-1-branch ddb/db_print.h]] Copyright violation? Currently unused, but could be used in principle (or be rewritten, to avoid the copyright oddity). -* [[source_gnumach-1-branch ddb/tr.h]] +* [[!source_gnumach-1-branch ddb/tr.h]] Copyright violation. Unused. Remove. -* [[source_gnumach-1-branch device/dev_master.h]] +* [[!source_gnumach-1-branch device/dev_master.h]] Might be usable for SMP? Remove otherwise. -* [[source_gnumach-1-branch i386/i386/kttd_machdep.h]] +* [[!source_gnumach-1-branch i386/i386/kttd_machdep.h]] -* [[source_gnumach-1-branch i386/i386/sched_param.h]] +* [[!source_gnumach-1-branch i386/i386/sched_param.h]] -* [[source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] +* [[!source_gnumach-1-branch i386/include/mach/i386/cthreads.h]] Was probably once exported, but is no longer. -* [[source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] +* [[!source_gnumach-1-branch i386/include/mach/i386/ioccom.h]] Exported. -* [[source_gnumach-1-branch include/device/audio_status.h]] +* [[!source_gnumach-1-branch include/device/audio_status.h]] Exported. -* [[source_gnumach-1-branch include/device/tape_status.h]] +* [[!source_gnumach-1-branch include/device/tape_status.h]] Exported. -* [[source_gnumach-1-branch include/mach/alert.h]] +* [[!source_gnumach-1-branch include/mach/alert.h]] Exported. -* [[source_gnumach-1-branch include/mach/boot.h]] +* [[!source_gnumach-1-branch include/mach/boot.h]] Exported. -* [[source_gnumach-1-branch include/mach/macro_help.h]] +* [[!source_gnumach-1-branch include/mach/macro_help.h]] Exported. -* [[source_gnumach-1-branch include/mach/multiboot.h]] +* [[!source_gnumach-1-branch include/mach/multiboot.h]] Exported. -* [[source_gnumach-1-branch include/mach/profil.h]] +* [[!source_gnumach-1-branch include/mach/profil.h]] Exported. -* [[source_gnumach-1-branch include/mach/profilparam.h]] +* [[!source_gnumach-1-branch include/mach/profilparam.h]] Exported. -* [[source_gnumach-1-branch include/mach/exec/a.out.h]] +* [[!source_gnumach-1-branch include/mach/exec/a.out.h]] Exported. -* [[source_gnumach-1-branch include/mach_debug/pc_info.h]] +* [[!source_gnumach-1-branch include/mach_debug/pc_info.h]] Currently not exported, but was probably once meant to be. -* [[source_gnumach-1-branch kern/act.h]] +* [[!source_gnumach-1-branch kern/act.h]] -* [[source_gnumach-1-branch kern/refcount.h]] +* [[!source_gnumach-1-branch kern/refcount.h]] -* [[source_gnumach-1-branch kern/shuttle.h]] +* [[!source_gnumach-1-branch kern/shuttle.h]] # Remove dead functions, variables, etc. from source files diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn index 9a11a82b..43e65a2b 100644 --- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn +++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/gnumach/reference_manual.mdwn b/microkernel/mach/gnumach/reference_manual.mdwn index 225ab176..dab6423d 100644 --- a/microkernel/mach/gnumach/reference_manual.mdwn +++ b/microkernel/mach/gnumach/reference_manual.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +[[!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 +[[!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 diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index 889fac2f..010b51c9 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index 7c1f68e4..ea5cf5fe 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index eb1c0906..2bf81d59 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2001, 2002, 2003, 2006, 2007, 2008 Free Software +[[!meta copyright="Copyright © 2001, 2002, 2003, 2006, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 93bc2769..be0796e8 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software +[[!meta copyright="Copyright © 2002, 2003, 2005, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig/documentation/dealloc.mdwn b/microkernel/mach/mig/documentation/dealloc.mdwn index 008499f1..42f06613 100644 --- a/microkernel/mach/mig/documentation/dealloc.mdwn +++ b/microkernel/mach/mig/documentation/dealloc.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig/documentation/servercopy.mdwn b/microkernel/mach/mig/documentation/servercopy.mdwn index 5ede723b..00edf0f3 100644 --- a/microkernel/mach/mig/documentation/servercopy.mdwn +++ b/microkernel/mach/mig/documentation/servercopy.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn index 4f5fb5c8..b2a41bac 100644 --- a/microkernel/mach/mig/gnu_mig.mdwn +++ b/microkernel/mach/mig/gnu_mig.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation, +[[!meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn index 37d27f19..ad440b40 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,11 +8,11 @@ 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="Open Issues"]] +[[!meta title="Open Issues"]] This is a dumping ground for open issues for GNU MIG. -[[inline +[[!inline pages="(microkernel/mach/mig/gnu_mig/open_issues/* or tagged(open_issue_*mig)) and !*/discussion" show=0 diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn index 93347759..27de1015 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index 77b1372f..b3568c29 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index ecef86ee..5508ea3c 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index b4158843..95009142 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index d70ea47d..b34188e2 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index 1fe4c937..ccce208b 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn index 1b4ce514..e5a2ddf5 100644 --- a/microkernel/viengoos/hardware.mdwn +++ b/microkernel/viengoos/hardware.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index c61f42bd..cbe39607 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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 open_issue_viengoos]] +[[!tag open_issue_viengoos]] Some projects: diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn index 53b988c5..01dd4050 100644 --- a/microkernel/viengoos/serial_port.mdwn +++ b/microkernel/viengoos/serial_port.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/naming_context.mdwn b/naming_context.mdwn index 9c701e71..28b2fabd 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news.mdwn b/news.mdwn index 8e5d73da..c5c0a851 100644 --- a/news.mdwn +++ b/news.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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]]."]]"""]] -[[inline +[[!inline pages="news/* and !*/discussion" show=0 feeds=no diff --git a/news/2002-01-13.mdwn b/news/2002-01-13.mdwn index ed56563d..06b62334 100644 --- a/news/2002-01-13.mdwn +++ b/news/2002-01-13.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-01-19.mdwn b/news/2002-01-19.mdwn index d221453d..18fe6aab 100644 --- a/news/2002-01-19.mdwn +++ b/news/2002-01-19.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-02-18.mdwn b/news/2002-02-18.mdwn index 74c0191d..b34c654a 100644 --- a/news/2002-02-18.mdwn +++ b/news/2002-02-18.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-03-03.mdwn b/news/2002-03-03.mdwn index db730238..9a66a2f5 100644 --- a/news/2002-03-03.mdwn +++ b/news/2002-03-03.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-03-08.mdwn b/news/2002-03-08.mdwn index 64fa508a..c107dcfc 100644 --- a/news/2002-03-08.mdwn +++ b/news/2002-03-08.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-03-23.mdwn b/news/2002-03-23.mdwn index 9820b8c5..1936ca05 100644 --- a/news/2002-03-23.mdwn +++ b/news/2002-03-23.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-05-05.mdwn b/news/2002-05-05.mdwn index 81d36280..d5db172b 100644 --- a/news/2002-05-05.mdwn +++ b/news/2002-05-05.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-05-18.mdwn b/news/2002-05-18.mdwn index b88db508..e2cb9261 100644 --- a/news/2002-05-18.mdwn +++ b/news/2002-05-18.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-05-24.mdwn b/news/2002-05-24.mdwn index cabc3e0d..32469759 100644 --- a/news/2002-05-24.mdwn +++ b/news/2002-05-24.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-05-28.mdwn b/news/2002-05-28.mdwn index 60622205..330e8dc0 100644 --- a/news/2002-05-28.mdwn +++ b/news/2002-05-28.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-06-22.mdwn b/news/2002-06-22.mdwn index 6ac785a6..439d7ea6 100644 --- a/news/2002-06-22.mdwn +++ b/news/2002-06-22.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-08-16.mdwn b/news/2002-08-16.mdwn index 6f6dcb2e..69f42be4 100644 --- a/news/2002-08-16.mdwn +++ b/news/2002-08-16.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-10-03.mdwn b/news/2002-10-03.mdwn index 40f4e1b6..28ab527a 100644 --- a/news/2002-10-03.mdwn +++ b/news/2002-10-03.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-10-03_2.mdwn b/news/2002-10-03_2.mdwn index 58b44789..0dabd3b6 100644 --- a/news/2002-10-03_2.mdwn +++ b/news/2002-10-03_2.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-10-19.mdwn b/news/2002-10-19.mdwn index e856370a..fb3e75b2 100644 --- a/news/2002-10-19.mdwn +++ b/news/2002-10-19.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2002-11-18.mdwn b/news/2002-11-18.mdwn index 44e33200..fec60a89 100644 --- a/news/2002-11-18.mdwn +++ b/news/2002-11-18.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2002, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2003-01-18.mdwn b/news/2003-01-18.mdwn index 0719f435..1d89bc68 100644 --- a/news/2003-01-18.mdwn +++ b/news/2003-01-18.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2003-02-14.mdwn b/news/2003-02-14.mdwn index 2509a771..89473575 100644 --- a/news/2003-02-14.mdwn +++ b/news/2003-02-14.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2003-07-02.mdwn b/news/2003-07-02.mdwn index 6e76cc66..b5433eee 100644 --- a/news/2003-07-02.mdwn +++ b/news/2003-07-02.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2003-07-16.mdwn b/news/2003-07-16.mdwn index e4ec468b..af8c8b74 100644 --- a/news/2003-07-16.mdwn +++ b/news/2003-07-16.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2003-08-21.mdwn b/news/2003-08-21.mdwn index 8d060582..602ee2ef 100644 --- a/news/2003-08-21.mdwn +++ b/news/2003-08-21.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2003, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2005-01-28.mdwn b/news/2005-01-28.mdwn index 5bd2ac19..92056b38 100644 --- a/news/2005-01-28.mdwn +++ b/news/2005-01-28.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2005-09-20.mdwn b/news/2005-09-20.mdwn index 99a20940..16424a8c 100644 --- a/news/2005-09-20.mdwn +++ b/news/2005-09-20.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2006-04-27.mdwn b/news/2006-04-27.mdwn index dc52c527..d50fd272 100644 --- a/news/2006-04-27.mdwn +++ b/news/2006-04-27.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2006, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2007-01-07.mdwn b/news/2007-01-07.mdwn index 75eb7d01..b82ec6e0 100644 --- a/news/2007-01-07.mdwn +++ b/news/2007-01-07.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2007-01-14.mdwn b/news/2007-01-14.mdwn index 8dc3d9f5..16947757 100644 --- a/news/2007-01-14.mdwn +++ b/news/2007-01-14.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2007-03-14.mdwn b/news/2007-03-14.mdwn index 3b1b2ad3..ec3ebcda 100644 --- a/news/2007-03-14.mdwn +++ b/news/2007-03-14.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2007-10-01.mdwn b/news/2007-10-01.mdwn index 768cf42b..a95b2631 100644 --- a/news/2007-10-01.mdwn +++ b/news/2007-10-01.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2007-10-12.mdwn b/news/2007-10-12.mdwn index d262dcd8..8d46a07f 100644 --- a/news/2007-10-12.mdwn +++ b/news/2007-10-12.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2008-02-11.mdwn b/news/2008-02-11.mdwn index a8f00497..7b4346b8 100644 --- a/news/2008-02-11.mdwn +++ b/news/2008-02-11.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2008-03-19.mdwn b/news/2008-03-19.mdwn index fc0388e0..0a2c91e2 100644 --- a/news/2008-03-19.mdwn +++ b/news/2008-03-19.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2008-09-11.mdwn b/news/2008-09-11.mdwn index 1060761c..85f31317 100644 --- a/news/2008-09-11.mdwn +++ b/news/2008-09-11.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2008-11-14.mdwn b/news/2008-11-14.mdwn index 1e2c8802..9cdbdea0 100644 --- a/news/2008-11-14.mdwn +++ b/news/2008-11-14.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2008-12-12.mdwn b/news/2008-12-12.mdwn index 1850cb56..c55b991e 100644 --- a/news/2008-12-12.mdwn +++ b/news/2008-12-12.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/news/2009-03-28.mdwn b/news/2009-03-28.mdwn index 2f67b6ce..72741457 100644 --- a/news/2009-03-28.mdwn +++ b/news/2009-03-28.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/open_issues.mdwn b/open_issues.mdwn index 8aa07c1c..c372abfb 100644 --- a/open_issues.mdwn +++ b/open_issues.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,17 +8,17 @@ 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="Open Issues"]] +[[!meta title="Open Issues"]] This is a dumping ground for open issues. -[[inline +[[!inline pages=none show=-1 feeds=no actions=yes rootpage="open_issues" postformtext="Add a new item titled:"]] -[[map pages="(./open_issues/* or */open_issues/* or +[[!map pages="(./open_issues/* or */open_issues/* or hurd/running/debian/porting/* or tagged(open_issue*)) and !*/discussion" show=title]] diff --git a/open_issues/blkrrpart_ioctl.mdwn b/open_issues/blkrrpart_ioctl.mdwn index 6a4c0378..81e07f3e 100644 --- a/open_issues/blkrrpart_ioctl.mdwn +++ b/open_issues/blkrrpart_ioctl.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,9 +8,9 @@ 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="BLKRRPART IOCTL"]] +[[!meta title="BLKRRPART IOCTL"]] -[[tag open_issue_glibc open_issue_hurd open_issue_gnumach]] +[[!tag open_issue_glibc open_issue_hurd open_issue_gnumach]] Just like in other Unix systems one can, for example, use `fdisk` or `parted` to manage hard disks' partition tables. After doing changes to a disk's diff --git a/persistency.mdwn b/persistency.mdwn index 17176708..16234c9b 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/policy.mdwn b/policy.mdwn index f0a414f2..7412de5f 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/principal.mdwn b/principal.mdwn index 897c0436..47ec3c7f 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn index b4ea6169..f504225b 100644 --- a/public_hurd_boxen.mdwn +++ b/public_hurd_boxen.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -11,7 +11,7 @@ is included in the section entitled Here are some Hurd boxes that users have made available to the public: -[[table class="table_style_1" data=""" +[[!table class="table_style_1" data=""" "Host Name","Operator","Access","Distro","Machine Specs","Comments" "flubber.bddebian.com","[[Barry_de_Freese|bddebian]]","ssh; port 2250","Debian","Celeron; 2.2 GHz; 333 MiB","domU on zenhost" "clubber.bddebian.com","[[Barry_de_Freese|bddebian]]","ssh; port 2251","Debian","PIII 1 GHz; 384 MiB" diff --git a/qemu.mdwn b/qemu.mdwn index 97ce5693..c0ed12f0 100644 --- a/qemu.mdwn +++ b/qemu.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/recent_changes.mdwn b/recent_changes.mdwn index 708e4588..e9bd13c4 100644 --- a/recent_changes.mdwn +++ b/recent_changes.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Recent Changes"]] +[[!meta title="Recent Changes"]] -[[inline pages="internal(recent_changes/change_*)" template=recentchanges +[[!inline pages="internal(recent_changes/change_*)" template=recentchanges show=0]] diff --git a/rpc.mdwn b/rpc.mdwn index e60254d1..451dd4d4 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/rules.mdwn b/rules.mdwn index d1a544e0..ccc7363e 100644 --- a/rules.mdwn +++ b/rules.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn index ab84e75d..7de688be 100644 --- a/rules/savannah_group.mdwn +++ b/rules/savannah_group.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2006, 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/rules/source_repositories.mdwn b/rules/source_repositories.mdwn index 2c54e7cf..f15d0f3a 100644 --- a/rules/source_repositories.mdwn +++ b/rules/source_repositories.mdwn @@ -1,7 +1,7 @@ -[[meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, +[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/security.mdwn b/security.mdwn index ae925f74..4c037982 100644 --- a/security.mdwn +++ b/security.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/sfi.mdwn b/sfi.mdwn index 1a987290..67d26105 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/shortcuts.mdwn b/shortcuts.mdwn index 19368aab..47698bb2 100644 --- a/shortcuts.mdwn +++ b/shortcuts.mdwn @@ -1,58 +1,58 @@ -[[if test="enabled(shortcut)" +[[!if test="enabled(shortcut)" then="This wiki has shortcuts **enabled**." else="This wiki has shortcuts **disabled**."]] Some examples of using shortcuts include: - \[[google foo]] - \[[wikipedia War_of_1812]] - \[[debbug 12345]] + \[[!google foo]] + \[[!wikipedia War_of_1812]] + \[[!debbug 12345]] This page controls what shortcut links the wiki supports. -* [[shortcut name=google url="http://www.google.com/search?q=%s"]] -* [[shortcut name=archive url="http://web.archive.org/*/%S"]] -* [[shortcut name=gmap url="http://maps.google.com/maps?q=%s"]] -* [[shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]] -* [[shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%s"]] -* [[shortcut name=wikitravel url="http://wikitravel.org/en/%s"]] -* [[shortcut name=debbug url="http://bugs.debian.org/%s" desc="bug #%s"]] -* [[shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] -* [[shortcut name=debpkg url="http://packages.debian.org/%s"]] -* [[shortcut name=debpts url="http://packages.qa.debian.org/%s"]] -* [[shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] -* [[shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] -* [[shortcut name=debss url="http://snapshot.debian.net/package/%s"]] - * Usage: `\[[debss package]]`, `\[[debss package#version]]`, or `\[[debss package/version]]`. See http://snapshot.debian.net for details. -* [[shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]] -* [[shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]] -* [[shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] -* [[shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] -* [[shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]] -* [[shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] -* [[shortcut name=marcmsg url="http://marc.info/?i=%s"]] -* [[shortcut name=marclist url="http://marc.info/?l=%s"]] -* [[shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]] -* [[shortcut name=gmanemsg url="http://mid.gmane.org/%s"]] -* [[shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]] -* [[shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]] -* [[shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]] -* [[shortcut name=iki url="http://ikiwiki.info/%S/"]] -* [[shortcut name=ljuser url="http://%s.livejournal.com/"]] -* [[shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] -* [[shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]] -* [[shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]] -* [[shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]] -* [[shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]] -* [[shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]] -* [[shortcut name=imdb url="http://imdb.com/find?q=%s"]] -* [[shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]] -* [[shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]] -* [[shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]] -* [[shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] -* [[shortcut name=cia url="http://cia.vc/stats/project/%s"]] -* [[shortcut name=ciauser url="http://cia.vc/stats/user/%s"]] -* [[shortcut name=flickr url="http://www.flickr.com/photos/%s"]] +* [[!shortcut name=google url="http://www.google.com/search?q=%s"]] +* [[!shortcut name=archive url="http://web.archive.org/*/%S"]] +* [[!shortcut name=gmap url="http://maps.google.com/maps?q=%s"]] +* [[!shortcut name=gmsg url="http://groups.google.com/groups?selm=%s"]] +* [[!shortcut name=wikipedia url="http://en.wikipedia.org/wiki/%s"]] +* [[!shortcut name=wikitravel url="http://wikitravel.org/en/%s"]] +* [[!shortcut name=debbug url="http://bugs.debian.org/%s" desc="bug #%s"]] +* [[!shortcut name=deblist url="http://lists.debian.org/debian-%s" desc="debian-%s@lists.debian.org"]] +* [[!shortcut name=debpkg url="http://packages.debian.org/%s"]] +* [[!shortcut name=debpts url="http://packages.qa.debian.org/%s"]] +* [[!shortcut name=debmsg url="http://lists.debian.org/msgid-search/%s"]] +* [[!shortcut name=debrt url="https://rt.debian.org/Ticket/Display.html?id=%s"]] +* [[!shortcut name=debss url="http://snapshot.debian.net/package/%s"]] + * Usage: `\[[!debss package]]`, `\[[!debss package#version]]`, or `\[[!debss package/version]]`. See http://snapshot.debian.net for details. +* [[!shortcut name=fdobug url="https://bugs.freedesktop.org/show_bug.cgi?id=%s" desc="freedesktop.org bug #%s"]] +* [[!shortcut name=fdolist url="http://lists.freedesktop.org/mailman/listinfo/%s" desc="%s@lists.freedesktop.org"]] +* [[!shortcut name=gnomebug url="http://bugzilla.gnome.org/show_bug.cgi?id=%s" desc="GNOME bug #%s"]] +* [[!shortcut name=linuxbug url="http://bugzilla.kernel.org/show_bug.cgi?id=%s" desc="Linux bug #%s"]] +* [[!shortcut name=mozbug url="https://bugzilla.mozilla.org/show_bug.cgi?id=%s" desc="Mozilla bug #%s"]] +* [[!shortcut name=gnulist url="http://lists.gnu.org/mailman/listinfo/%s" desc="%s@gnu.org"]] +* [[!shortcut name=marcmsg url="http://marc.info/?i=%s"]] +* [[!shortcut name=marclist url="http://marc.info/?l=%s"]] +* [[!shortcut name=gmane url="http://dir.gmane.org/gmane.%s" desc="gmane.%s"]] +* [[!shortcut name=gmanemsg url="http://mid.gmane.org/%s"]] +* [[!shortcut name=cpan url="http://search.cpan.org/search?mode=dist&query=%s"]] +* [[!shortcut name=ctan url="http://tug.ctan.org/cgi-bin/ctanPackageInformation.py?id=%s"]] +* [[!shortcut name=hoogle url="http://haskell.org/hoogle/?q=%s"]] +* [[!shortcut name=iki url="http://ikiwiki.info/%S/"]] +* [[!shortcut name=ljuser url="http://%s.livejournal.com/"]] +* [[!shortcut name=rfc url="http://www.ietf.org/rfc/rfc%s.txt" desc="RFC %s"]] +* [[!shortcut name=c2 url="http://c2.com/cgi/wiki?%s"]] +* [[!shortcut name=meatballwiki url="http://www.usemod.com/cgi-bin/mb.pl?%s"]] +* [[!shortcut name=emacswiki url="http://www.emacswiki.org/cgi-bin/wiki/%s"]] +* [[!shortcut name=haskellwiki url="http://haskell.org/haskellwiki/%s"]] +* [[!shortcut name=dict url="http://www.dict.org/bin/Dict?Form=Dict1&Strategy=*&Database=*&Query=%s"]] +* [[!shortcut name=imdb url="http://imdb.com/find?q=%s"]] +* [[!shortcut name=gpg url="http://pgpkeys.mit.edu:11371/pks/lookup?op=vindex&exact=on&search=0x%s"]] +* [[!shortcut name=perldoc url="http://perldoc.perl.org/search.html?q=%s"]] +* [[!shortcut name=whois url="http://reports.internic.net/cgi/whois?whois_nic=%s&type=domain"]] +* [[!shortcut name=cve url="http://cve.mitre.org/cgi-bin/cvename.cgi?name=%s"]] +* [[!shortcut name=cia url="http://cia.vc/stats/project/%s"]] +* [[!shortcut name=ciauser url="http://cia.vc/stats/user/%s"]] +* [[!shortcut name=flickr url="http://www.flickr.com/photos/%s"]] To add a new shortcut, use the `shortcut` [[ikiwiki/PreprocessorDirective]]. In the url, "%s" is replaced with the @@ -65,14 +65,14 @@ Remember that the `name` you give the shortcut will become a new with an existing directive. If you come up with a shortcut that you think others might find useful, -consider contributing it to the [[iki shortcuts]] page on the ikiwiki +consider contributing it to the [[!iki shortcuts]] page on the ikiwiki ikiwiki, so that future versions of ikiwiki will include your shortcut in the standard underlay. # Local stuff -* [[shortcut name=source_gnumach-1-branch url="http://cvs.savannah.gnu.org/viewvc/gnumach/%S?view=log&root=hurd&pathrev=gnumach-1-branch"]] -* [[shortcut name=GNU_Savannah_bug url="http://savannah.gnu.org/bugs/?%s" desc="GNU Savannah bug #%s"]] -* [[shortcut name=GNU_Savannah_patch url="http://savannah.gnu.org/patch/?%s" desc="GNU Savannah patch #%s"]] -* [[shortcut name=GNU_Savannah_task url="http://savannah.gnu.org/task/?%s" desc="GNU Savannah task #%s"]] +* [[!shortcut name=source_gnumach-1-branch url="http://cvs.savannah.gnu.org/viewvc/gnumach/%S?view=log&root=hurd&pathrev=gnumach-1-branch"]] +* [[!shortcut name=GNU_Savannah_bug url="http://savannah.gnu.org/bugs/?%s" desc="GNU Savannah bug #%s"]] +* [[!shortcut name=GNU_Savannah_patch url="http://savannah.gnu.org/patch/?%s" desc="GNU Savannah patch #%s"]] +* [[!shortcut name=GNU_Savannah_task url="http://savannah.gnu.org/task/?%s" desc="GNU Savannah task #%s"]] diff --git a/sidebar.mdwn b/sidebar.mdwn index 85596be8..89df4b54 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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]]."]]"""]] -Welcome to... [[img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU +Welcome to... [[!img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU Hurd! * **[[Home|/index]]** @@ -18,13 +18,13 @@ Hurd! --- - * **[[Hurd]]**[[if test="destpage(hurd*)" then=" + * **[[Hurd]]**[[!if test="destpage(hurd*)" then=" * *[[Hurd/Documentation]]* * *[[hurd/Running]]*"]] - * **[[microkernel/Mach]]**[[if test="destpage(microkernel/mach*)" then=" + * **[[microkernel/Mach]]**[[!if test="destpage(microkernel/mach*)" then=" * *[[microkernel/mach/Documentation]]* * *[[GNU_Mach|microkernel/mach/gnumach]]*"]] - * *[[microkernel/mach/MIG]]*[[if test="destpage(microkernel/mach/mig*)" then=" + * *[[microkernel/mach/MIG]]*[[!if test="destpage(microkernel/mach/mig*)" then=" * [[microkernel/mach/mig/GNU_MIG]]"]] --- diff --git a/tcb.mdwn b/tcb.mdwn index d321a954..9b117fae 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/trackers.mdwn b/trackers.mdwn index c47daf9a..028117ef 100644 --- a/trackers.mdwn +++ b/trackers.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/trust.mdwn b/trust.mdwn index f0d29a9c..f0fe0cb7 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/unix.mdwn b/unix.mdwn index b313010a..96c46caf 100644 --- a/unix.mdwn +++ b/unix.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -10,7 +10,7 @@ is included in the section entitled # External - * Wikipedia page about [[wikipedia UNIX]]. + * Wikipedia page about [[!wikipedia UNIX]]. * [*Standardizing UNIX*](http://www.informit.com/articles/printerfriendly.aspx?p=691503), an diff --git a/user/flaviocruz.mdwn b/user/flaviocruz.mdwn index 9c9af71d..450c2754 100644 --- a/user/flaviocruz.mdwn +++ b/user/flaviocruz.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/user/madhusudancs.mdwn b/user/madhusudancs.mdwn index 1139c718..382f988a 100644 --- a/user/madhusudancs.mdwn +++ b/user/madhusudancs.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -10,7 +10,7 @@ is included in the section entitled [[!meta title="GNU/Linux compatible procfs"]] -[[!toc ]] +[[!toc]] ---- Project Name diff --git a/user/scolobb.mdwn b/user/scolobb.mdwn index 2de8eb4f..8cf47568 100644 --- a/user/scolobb.mdwn +++ b/user/scolobb.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/user/tschwinge.mdwn b/user/tschwinge.mdwn index b72f26f5..5ffa6fd8 100644 --- a/user/tschwinge.mdwn +++ b/user/tschwinge.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -8,7 +8,7 @@ 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="Thomas Schwinge"]] +[[!meta title="Thomas Schwinge"]] diff --git a/user/vincentvikram.mdwn b/user/vincentvikram.mdwn index 847325e2..8927bd4e 100644 --- a/user/vincentvikram.mdwn +++ b/user/vincentvikram.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/user/zhengda/howto.mdwn b/user/zhengda/howto.mdwn index ed13acc2..cea3cf0b 100644 --- a/user/zhengda/howto.mdwn +++ b/user/zhengda/howto.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 diff --git a/virtualization.mdwn b/virtualization.mdwn index 88f95328..325340b0 100644 --- a/virtualization.mdwn +++ b/virtualization.mdwn @@ -1,6 +1,6 @@ -[[meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] -[[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable +[[!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 @@ -10,7 +10,7 @@ is included in the section entitled # External - * Wikipedia page about [[wikipedia Virtualization]]. + * Wikipedia page about [[!wikipedia Virtualization]]. # See Also -- cgit v1.2.3 From 1fbfe2b1102476b0c5a91bfd940ac8ad89a6f81b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 18 May 2009 16:44:06 +0200 Subject: Simplify some links. --- abac.mdwn | 2 +- asbestos.mdwn | 2 +- asking_questions.mdwn | 2 +- binutils.mdwn | 2 +- capability.mdwn | 2 +- colophon.mdwn | 2 +- colophon/about_the_twiki_to_ikiwiki_conversion.mdwn | 2 +- community.mdwn | 2 +- community/communication.mdwn | 8 ++++---- community/facebook.mdwn | 2 +- community/gsoc.mdwn | 2 +- community/gsoc/2008.mdwn | 2 +- community/gsoc/2008/minutes-2008-04-25.mdwn | 2 +- community/gsoc/2008/minutes-2008-05-02.mdwn | 2 +- community/gsoc/2008/minutes-2008-05-16.mdwn | 2 +- community/gsoc/organization_application.mdwn | 2 +- community/gsoc/project_ideas.mdwn | 4 ++-- community/gsoc/project_ideas/cdparanoia.mdwn | 2 +- community/gsoc/project_ideas/debian_installer.mdwn | 2 +- community/gsoc/project_ideas/disk_io_performance.mdwn | 2 +- community/gsoc/project_ideas/download_backends.mdwn | 2 +- community/gsoc/project_ideas/driver_glue_code.mdwn | 2 +- community/gsoc/project_ideas/dtrace.mdwn | 2 +- community/gsoc/project_ideas/file_locking.mdwn | 2 +- community/gsoc/project_ideas/gnat.mdwn | 2 +- community/gsoc/project_ideas/gnumach_cleanup.mdwn | 2 +- community/gsoc/project_ideas/hardware_libs.mdwn | 2 +- community/gsoc/project_ideas/language_bindings.mdwn | 2 +- community/gsoc/project_ideas/lexical_dot-dot.mdwn | 2 +- community/gsoc/project_ideas/libcap.mdwn | 2 +- community/gsoc/project_ideas/libdiskfs_locking.mdwn | 2 +- community/gsoc/project_ideas/libgtop.mdwn | 2 +- community/gsoc/project_ideas/maxpath.mdwn | 2 +- community/gsoc/project_ideas/mtab.mdwn | 2 +- .../gsoc/project_ideas/namespace-based_translator_selection.mdwn | 2 +- community/gsoc/project_ideas/nfs.mdwn | 2 +- community/gsoc/project_ideas/package_manager.mdwn | 2 +- community/gsoc/project_ideas/perl.mdwn | 2 +- community/gsoc/project_ideas/procfs.mdwn | 2 +- community/gsoc/project_ideas/pthreads.mdwn | 2 +- community/gsoc/project_ideas/secure_chroot.mdwn | 2 +- community/gsoc/project_ideas/server_overriding.mdwn | 2 +- community/gsoc/project_ideas/sound.mdwn | 2 +- community/gsoc/project_ideas/tcp_ip_stack.mdwn | 2 +- community/gsoc/project_ideas/tmpfs.mdwn | 2 +- community/gsoc/project_ideas/unionfs_boot.mdwn | 2 +- community/gsoc/project_ideas/unionmount.mdwn | 2 +- community/gsoc/project_ideas/virtualization.mdwn | 2 +- community/gsoc/project_ideas/vm_tuning.mdwn | 2 +- community/gsoc/project_ideas/xattr.mdwn | 2 +- community/gsoc/project_ideas/xmlfs.mdwn | 2 +- community/gsoc/student_application_form.mdwn | 4 ++-- community/gsoc/xorg_ideas.mdwn | 2 +- community/meetings.mdwn | 2 +- community/meetings/eurosys_2009.mdwn | 2 +- community/meetings/fosdem_2005.mdwn | 2 +- community/meetings/fosdem_2006.mdwn | 2 +- community/meetings/fosdem_2007.mdwn | 2 +- community/meetings/fosdem_2008.mdwn | 2 +- community/meetings/rmll_2006.mdwn | 2 +- community/meetings/self-organised.mdwn | 2 +- community/meetings/stesie_2007-10-12.mdwn | 2 +- community/weblogs.mdwn | 2 +- community/weblogs/ArneBab.mdwn | 2 +- .../ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn | 2 +- config_edittemplate.mdwn | 2 +- config_edittemplate/regular_page.mdwn | 2 +- confused_deputy.mdwn | 2 +- contact_us.mdwn | 4 ++-- contributing.mdwn | 4 ++-- contributing/questionnaire.mdwn | 4 ++-- contributing/web_pages.mdwn | 2 +- designation.mdwn | 2 +- destructive_interference.mdwn | 2 +- documentation.mdwn | 2 +- donate.mdwn | 2 +- emulation.mdwn | 2 +- extensibility.mdwn | 2 +- gcc.mdwn | 2 +- gdb.mdwn | 2 +- gdb/backtrace.mdwn | 2 +- getting_help.mdwn | 2 +- glibc.mdwn | 2 +- hurd.mdwn | 2 +- hurd/advantages.mdwn | 2 +- hurd/authentication.mdwn | 2 +- hurd/binutils.mdwn | 2 +- hurd/building/cross-compiling.mdwn | 2 +- hurd/building/cross-compiling/discussion.mdwn | 2 +- hurd/building/example.mdwn | 2 +- hurd/concepts.mdwn | 2 +- hurd/critique.mdwn | 2 +- hurd/debugging.mdwn | 2 +- hurd/debugging/gdb.mdwn | 2 +- hurd/debugging/gdb/noninvasive_debugging.mdwn | 2 +- hurd/debugging/glibc.mdwn | 2 +- hurd/debugging/rpctrace.mdwn | 2 +- hurd/debugging/translator.mdwn | 2 +- hurd/debugging/translator/capturing_stdout_and_stderr.mdwn | 2 +- hurd/debugging/translator/gdb.mdwn | 2 +- hurd/documentation.mdwn | 2 +- hurd/faq.mdwn | 2 +- hurd/faq/old-stuff.mdwn | 2 +- hurd/faq/old_faq.txt | 2 +- hurd/faq/release.mdwn | 2 +- hurd/faq/slash_usr_symlink.mdwn | 2 +- hurd/gcc.mdwn | 2 +- hurd/glibc.mdwn | 2 +- hurd/glibc/hurd-specific_api.mdwn | 2 +- hurd/history.mdwn | 2 +- hurd/history/port_to_l4.mdwn | 8 ++++---- hurd/hurd_hacking_guide.mdwn | 2 +- hurd/io_path.mdwn | 2 +- hurd/libchannel.mdwn | 2 +- hurd/libhello_example.mdwn | 2 +- hurd/libnetfs.mdwn | 2 +- hurd/libpager.mdwn | 2 +- hurd/libstore.mdwn | 2 +- hurd/logo.mdwn | 2 +- hurd/neighborhurd.mdwn | 2 +- hurd/networking.mdwn | 2 +- hurd/ng/issues_with_mach.mdwn | 2 +- hurd/ng/limitations_of_the_original_hurd_design.mdwn | 2 +- hurd/ng/position_paper.mdwn | 2 +- hurd/open_issues.mdwn | 2 +- hurd/open_issues/cvs_tasks_file.mdwn | 2 +- hurd/open_issues/cvs_todo_file.mdwn | 2 +- hurd/open_issues/gdb_non-stop_mode.mdwn | 2 +- hurd/open_issues/gdb_pending_execs.mdwn | 2 +- hurd/open_issues/gdb_thread_ids.mdwn | 2 +- hurd/open_issues/libfshelp_in_hurdlibs.mdwn | 2 +- hurd/open_issues/some_todo_list.mdwn | 2 +- hurd/open_issues/wrong_reply_message_id.mdwn | 2 +- hurd/porting.mdwn | 2 +- hurd/porting/guidelines.mdwn | 4 ++-- hurd/porting/system_api_limitations.mdwn | 2 +- hurd/reference_manual.mdwn | 2 +- hurd/running.mdwn | 2 +- hurd/running/debian/DebianAptOffline.mdwn | 2 +- hurd/running/debian/creating_image_tarball.mdwn | 2 +- hurd/running/debian/faq.mdwn | 2 +- hurd/running/debian/faq/2_gib_partition_limit.mdwn | 2 +- hurd/running/debian/faq/512_mib_ram_limit.mdwn | 2 +- hurd/running/debian/faq/apt_umount.mdwn | 2 +- hurd/running/debian/faq/bad_hypermeta_data.mdwn | 2 +- hurd/running/debian/faq/debugging_inside_glibc.mdwn | 2 +- hurd/running/debian/faq/debugging_translators.mdwn | 2 +- hurd/running/debian/faq/dev_random.mdwn | 2 +- hurd/running/debian/faq/df.mdwn | 2 +- hurd/running/debian/faq/free_memory.mdwn | 2 +- hurd/running/debian/faq/hurd_console.mdwn | 2 +- hurd/running/debian/faq/kernel_logs.mdwn | 2 +- hurd/running/debian/faq/other_repositories.mdwn | 2 +- hurd/running/debian/faq/ps_hangs.mdwn | 2 +- hurd/running/debian/faq/reporting_bugs.mdwn | 2 +- hurd/running/debian/faq/sata_disk_drives.mdwn | 2 +- hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn | 2 +- hurd/running/debian/faq/xserver-common.mdwn | 2 +- hurd/running/debian/patch_submission.mdwn | 2 +- hurd/running/debian/porting.mdwn | 2 +- hurd/running/debian/porting/adduser.mdwn | 2 +- hurd/running/debian/porting/gcc.mdwn | 2 +- hurd/running/debian/porting/gcc/c++.mdwn | 2 +- hurd/running/debian/porting/gcc/libmudflap.mdwn | 2 +- hurd/running/debian/porting/git-core-2.mdwn | 2 +- hurd/running/debian/porting/git-core.mdwn | 2 +- hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn | 2 +- hurd/running/debian/porting/pth.mdwn | 2 +- hurd/running/debian/porting/runit.mdwn | 2 +- hurd/running/debian/porting/socat.mdwn | 2 +- hurd/running/gnu/create_an_image.mdwn | 2 +- hurd/running/gnu/setup.mdwn | 2 +- hurd/running/gnu/universal_package_manager.mdwn | 2 +- hurd/running/qemu/microsoft_windows.mdwn | 2 +- hurd/running/qemu/networking.mdwn | 2 +- hurd/running/qemu/networking/sharing_files.mdwn | 2 +- hurd/running/vmware.mdwn | 2 +- hurd/running/vmware/discussion.mdwn | 2 +- hurd/settrans.mdwn | 2 +- hurd/status.mdwn | 2 +- hurd/subhurd.mdwn | 2 +- hurd/subhurd/running_a_subhurd.mdwn | 2 +- hurd/toolchain.mdwn | 2 +- hurd/translator.mdwn | 2 +- hurd/translator/auth.mdwn | 2 +- hurd/translator/cvsfs.mdwn | 2 +- hurd/translator/devfs.mdwn | 2 +- hurd/translator/emailfs.mdwn | 2 +- hurd/translator/examples.mdwn | 2 +- hurd/translator/ext2fs.mdwn | 2 +- hurd/translator/fatfs.mdwn | 2 +- hurd/translator/magic.mdwn | 2 +- hurd/translator/mboxfs.mdwn | 2 +- hurd/translator/pfinet.mdwn | 2 +- hurd/translator/pfinet/implementation.mdwn | 2 +- hurd/translator/pfinet/ipv6.mdwn | 2 +- hurd/translator/pflocal.mdwn | 2 +- hurd/translator/procfs.mdwn | 2 +- hurd/translator/procfs/htop.mdwn | 2 +- hurd/translator/procfs/killall.mdwn | 2 +- hurd/translator/procfs/procps.mdwn | 2 +- hurd/translator/procfs/top.mdwn | 2 +- hurd/translator/storeio.mdwn | 2 +- hurd/translator/stowfs.mdwn | 2 +- hurd/translator/tmpfs.mdwn | 2 +- hurd/translator/tmpfs/notes_bing.mdwn | 2 +- hurd/translator/tmpfs/notes_various.mdwn | 2 +- hurd/translator/unionfs.mdwn | 2 +- hurd/translator/wishlist_1.mdwn | 2 +- hurd/translator/writing/example.mdwn | 2 +- hurd/translator/xmlfs.mdwn | 2 +- hurd/virtual_file_system.mdwn | 2 +- hurd/virtualization.mdwn | 2 +- hurd/what_is_the_gnu_hurd.mdwn | 2 +- hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn | 2 +- hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn | 2 +- ibac.mdwn | 2 +- idl.mdwn | 2 +- index.mdwn | 6 +++--- index/discussion.mdwn | 2 +- ipc.mdwn | 2 +- irc.mdwn | 2 +- isolation.mdwn | 2 +- license.mdwn | 2 +- liedtke.mdwn | 2 +- mailing_lists.mdwn | 2 +- mailing_lists/bug-hurd.mdwn | 2 +- mailing_lists/debian-hurd.mdwn | 2 +- mailing_lists/gnu-system-discuss.mdwn | 2 +- mailing_lists/help-hurd.mdwn | 2 +- mailing_lists/hurd-devel-readers.mdwn | 2 +- mailing_lists/hurd-devel.mdwn | 2 +- mailing_lists/l4-hurd.mdwn | 2 +- mailing_lists/unmoderated.mdwn | 2 +- mailing_lists/web-hurd.mdwn | 2 +- mechanism.mdwn | 2 +- microkernel.mdwn | 2 +- microkernel/faq.mdwn | 2 +- microkernel/faq/multiserver_microkernel.mdwn | 2 +- microkernel/for_beginners.mdwn | 2 +- microkernel/mach/documentation.mdwn | 2 +- microkernel/mach/external_pager_mechanism.mdwn | 2 +- microkernel/mach/gnumach.mdwn | 2 +- microkernel/mach/gnumach/boot_trace.mdwn | 2 +- microkernel/mach/gnumach/building/example.mdwn | 2 +- microkernel/mach/gnumach/debugging.mdwn | 2 +- microkernel/mach/gnumach/hardware_compatibility_list.mdwn | 2 +- microkernel/mach/gnumach/open_issues.mdwn | 2 +- .../mach/gnumach/open_issues/resource_management_problems.mdwn | 2 +- microkernel/mach/gnumach/ports.mdwn | 2 +- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- microkernel/mach/gnumach/ports/xen/internals.mdwn | 2 +- microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn | 2 +- microkernel/mach/gnumach/projects.mdwn | 4 ++-- microkernel/mach/gnumach/projects/clean_up_the_code.mdwn | 2 +- microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 2 +- microkernel/mach/gnumach/reference_manual.mdwn | 2 +- microkernel/mach/ipc.mdwn | 2 +- microkernel/mach/ipc/sequence_numbering.mdwn | 2 +- microkernel/mach/mig.mdwn | 2 +- microkernel/mach/mig/documentation.mdwn | 2 +- microkernel/mach/mig/documentation/dealloc.mdwn | 2 +- microkernel/mach/mig/documentation/servercopy.mdwn | 2 +- microkernel/mach/mig/gnu_mig.mdwn | 2 +- microkernel/mach/mig/gnu_mig/open_issues.mdwn | 2 +- .../mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn | 2 +- microkernel/mach/port.mdwn | 2 +- microkernel/mach/rpc.mdwn | 2 +- microkernel/viengoos.mdwn | 2 +- microkernel/viengoos/building.mdwn | 2 +- microkernel/viengoos/documentation.mdwn | 2 +- microkernel/viengoos/hardware.mdwn | 2 +- microkernel/viengoos/projects.mdwn | 2 +- microkernel/viengoos/serial_port.mdwn | 2 +- naming_context.mdwn | 2 +- news.mdwn | 2 +- news/2002-01-13.mdwn | 2 +- news/2002-01-19.mdwn | 2 +- news/2002-02-18.mdwn | 2 +- news/2002-03-03.mdwn | 2 +- news/2002-03-08.mdwn | 2 +- news/2002-03-23.mdwn | 2 +- news/2002-05-05.mdwn | 2 +- news/2002-05-18.mdwn | 2 +- news/2002-05-24.mdwn | 2 +- news/2002-05-28.mdwn | 2 +- news/2002-06-22.mdwn | 2 +- news/2002-08-16.mdwn | 2 +- news/2002-10-03.mdwn | 2 +- news/2002-10-03_2.mdwn | 2 +- news/2002-10-19.mdwn | 2 +- news/2002-11-18.mdwn | 2 +- news/2003-01-18.mdwn | 2 +- news/2003-02-14.mdwn | 2 +- news/2003-07-02.mdwn | 2 +- news/2003-07-16.mdwn | 2 +- news/2003-08-21.mdwn | 2 +- news/2005-01-28.mdwn | 2 +- news/2005-09-20.mdwn | 2 +- news/2006-04-27.mdwn | 4 ++-- news/2007-01-07.mdwn | 2 +- news/2007-01-14.mdwn | 2 +- news/2007-03-14.mdwn | 4 ++-- news/2007-10-01.mdwn | 2 +- news/2007-10-12.mdwn | 2 +- news/2008-02-11.mdwn | 2 +- news/2008-03-19.mdwn | 2 +- news/2008-09-11.mdwn | 2 +- news/2008-11-14.mdwn | 2 +- news/2008-12-12.mdwn | 2 +- news/2009-03-28.mdwn | 2 +- open_issues.mdwn | 2 +- open_issues/blkrrpart_ioctl.mdwn | 2 +- persistency.mdwn | 2 +- policy.mdwn | 2 +- principal.mdwn | 2 +- public_hurd_boxen.mdwn | 2 +- qemu.mdwn | 2 +- recent_changes.mdwn | 2 +- rpc.mdwn | 2 +- rules.mdwn | 2 +- rules/savannah_group.mdwn | 4 ++-- rules/source_repositories.mdwn | 2 +- security.mdwn | 2 +- sfi.mdwn | 2 +- sidebar.mdwn | 2 +- tcb.mdwn | 2 +- trackers.mdwn | 2 +- trust.mdwn | 2 +- unix.mdwn | 2 +- unsorted/OskitMach.mdwn | 2 +- unsorted/changelogs.html | 2 +- user/flaviocruz.mdwn | 2 +- user/madhusudancs.mdwn | 2 +- user/scolobb.mdwn | 2 +- user/tschwinge.mdwn | 2 +- user/vincentvikram.mdwn | 2 +- user/zhengda/howto.mdwn | 2 +- virtualization.mdwn | 2 +- 339 files changed, 357 insertions(+), 357 deletions(-) (limited to 'microkernel') diff --git a/abac.mdwn b/abac.mdwn index bdf63a32..41de2062 100644 --- a/abac.mdwn +++ b/abac.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ABAC stands for authorization-based access control. In this model, access is not granted based on the diff --git a/asbestos.mdwn b/asbestos.mdwn index fcbd8ecb..3990eec1 100644 --- a/asbestos.mdwn +++ b/asbestos.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Asbestos is an operating system developed at MIT, Stanford and UCLA to explore information flow control policies. The motivation diff --git a/asking_questions.mdwn b/asking_questions.mdwn index bb5c8ffb..2d43cbbe 100644 --- a/asking_questions.mdwn +++ b/asking_questions.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Before asking a question, first make an effort to find the answer to your question. A lot of questions have been asked and answered before, so please diff --git a/binutils.mdwn b/binutils.mdwn index 85791914..3ce28bb1 100644 --- a/binutils.mdwn +++ b/binutils.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [GNU Binutils](http://www.gnu.org/software/binutils/). diff --git a/capability.mdwn b/capability.mdwn index c5ef0d1d..367ea163 100644 --- a/capability.mdwn +++ b/capability.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A capability is a protected reference. It is a reference in that it designates an object; it is protected in that in cannot be diff --git a/colophon.mdwn b/colophon.mdwn index 1afdd51a..a9a2952e 100644 --- a/colophon.mdwn +++ b/colophon.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Just like a book, this topic is designed to help describe the tools used to create this website and what methods were used to give it its look and feel. diff --git a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn index d9443b17..0a1a5a00 100644 --- a/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn +++ b/colophon/about_the_twiki_to_ikiwiki_conversion.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Some Quick Notes About the *TWiki to ikiwiki* Conversion diff --git a/community.mdwn b/community.mdwn index 9d8af0ec..17377890 100644 --- a/community.mdwn +++ b/community.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] There is an expanding community of people developing and running test Debian GNU/Hurd machines. diff --git a/community/communication.mdwn b/community/communication.mdwn index 0e56a77e..33941000 100644 --- a/community/communication.mdwn +++ b/community/communication.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The GNU Hurd community comprises of a crowd of people living in different areas of the whole world. For that, having regular working-[[meetings]] -- usually @@ -14,7 +14,7 @@ one of the more productive ways of coordination works -- is not easily possible. The two key resources most often used for communication are the Debian and GNU -[[mailing_lists]], as well as [[IRC]]. +[[mailing lists]], as well as [[IRC]]. These are measures of communication that work (compared to, e.g., a one-to-one telephone call) one-to-many. It is important to not send email only to a @@ -31,10 +31,10 @@ discussing with single developers. And always use *reply to all* instead of *reply* when answering to email. If you're interested in keeping up with current events and taking part in -discussions, you'll want to join the [[mailing_lists/bug-hurd]] mailing list or +discussions, you'll want to join the [[mailing lists/bug-hurd]] mailing list or have a look at its [archives](http://lists.gnu.org/archive/html/bug-hurd/). Even if you're a beginner (we've also been, and some of us even still remember), don't hesitate to make the first move and make active use of these resources. But -- of course -- please try to adhere to the conventions as -described on the [[mailing_lists]] and [[IRC]] pages. +described on the [[mailing lists]] and [[IRC]] pages. diff --git a/community/facebook.mdwn b/community/facebook.mdwn index 31a27fec..27893cf9 100644 --- a/community/facebook.mdwn +++ b/community/facebook.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] There is [a Facebook group for the Hurd](http://www.facebook.com/group.php?gid=5141429597). If you're on Facebook, join it and say hello. diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index 506516bb..2719d2ab 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Google Summer of Code"]] diff --git a/community/gsoc/2008.mdwn b/community/gsoc/2008.mdwn index 31d45d05..d7b467bb 100644 --- a/community/gsoc/2008.mdwn +++ b/community/gsoc/2008.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The GNU Hurd project has successfully participated in the [Google Summer of Code 2008](http://code.google.com/soc/2008/hurd/about.html)! diff --git a/community/gsoc/2008/minutes-2008-04-25.mdwn b/community/gsoc/2008/minutes-2008-04-25.mdwn index 0cb624f2..4c2039d4 100644 --- a/community/gsoc/2008/minutes-2008-04-25.mdwn +++ b/community/gsoc/2008/minutes-2008-04-25.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] - People agreed that some small projects should be done to during the bonding period: ideas that floated around were fixing some of the build failures or diff --git a/community/gsoc/2008/minutes-2008-05-02.mdwn b/community/gsoc/2008/minutes-2008-05-02.mdwn index f960ab06..1dc99abe 100644 --- a/community/gsoc/2008/minutes-2008-05-02.mdwn +++ b/community/gsoc/2008/minutes-2008-05-02.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] - madrazr wanted a wiki to keep track of progress. antrik suggested: http://www.bddebian.com/~wiki/community/gsoc/ and that everyone use diff --git a/community/gsoc/2008/minutes-2008-05-16.mdwn b/community/gsoc/2008/minutes-2008-05-16.mdwn index 0c848e8a..7e7da845 100644 --- a/community/gsoc/2008/minutes-2008-05-16.mdwn +++ b/community/gsoc/2008/minutes-2008-05-16.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * **madrazr** said that web commits for the wiki stall forever (more than half an hour); the reason is unknown. **antrik** said that it is not much of a problem if the problems with git access are solved. diff --git a/community/gsoc/organization_application.mdwn b/community/gsoc/organization_application.mdwn index 946c225b..9fe3a420 100644 --- a/community/gsoc/organization_application.mdwn +++ b/community/gsoc/organization_application.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * Link ID: diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index dede290f..32c8aed8 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -6,13 +6,13 @@ 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 Free Documentation License|/fdl]]."]]"""]] We offer a wide range of possible projects to choose from. If you have an idea not listed here, we'd love to hear about it! In either case, we encourage you to contact us (on [[IRC]] and/or our developer -[[mailing_lists]]), so we can discuss your idea, or help you pick a suitable +[[mailing lists]]), so we can discuss your idea, or help you pick a suitable task -- we will gladly explain the tasks in more detail, if the descriptions are not clear enough. diff --git a/community/gsoc/project_ideas/cdparanoia.mdwn b/community/gsoc/project_ideas/cdparanoia.mdwn index f13e19e6..a92329fe 100644 --- a/community/gsoc/project_ideas/cdparanoia.mdwn +++ b/community/gsoc/project_ideas/cdparanoia.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Implement CD Audio Grabbing"]] diff --git a/community/gsoc/project_ideas/debian_installer.mdwn b/community/gsoc/project_ideas/debian_installer.mdwn index 183f6708..ca10a61e 100644 --- a/community/gsoc/project_ideas/debian_installer.mdwn +++ b/community/gsoc/project_ideas/debian_installer.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Port the Debian Installer to the Hurd"]] diff --git a/community/gsoc/project_ideas/disk_io_performance.mdwn b/community/gsoc/project_ideas/disk_io_performance.mdwn index 9f361de9..bb047308 100644 --- a/community/gsoc/project_ideas/disk_io_performance.mdwn +++ b/community/gsoc/project_ideas/disk_io_performance.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Disk I/O Performance Tuning"]] diff --git a/community/gsoc/project_ideas/download_backends.mdwn b/community/gsoc/project_ideas/download_backends.mdwn index 519d1195..749597a6 100644 --- a/community/gsoc/project_ideas/download_backends.mdwn +++ b/community/gsoc/project_ideas/download_backends.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Use Internet Protocol Translators (ftpfs etc.) as Backends for Other Programs"]] diff --git a/community/gsoc/project_ideas/driver_glue_code.mdwn b/community/gsoc/project_ideas/driver_glue_code.mdwn index b3c4c129..04efe202 100644 --- a/community/gsoc/project_ideas/driver_glue_code.mdwn +++ b/community/gsoc/project_ideas/driver_glue_code.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="New Driver Glue Code"]] diff --git a/community/gsoc/project_ideas/dtrace.mdwn b/community/gsoc/project_ideas/dtrace.mdwn index 18fbe956..93c2a5f3 100644 --- a/community/gsoc/project_ideas/dtrace.mdwn +++ b/community/gsoc/project_ideas/dtrace.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="dtrace Support"]] diff --git a/community/gsoc/project_ideas/file_locking.mdwn b/community/gsoc/project_ideas/file_locking.mdwn index 0c057639..b6b393f9 100644 --- a/community/gsoc/project_ideas/file_locking.mdwn +++ b/community/gsoc/project_ideas/file_locking.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Fix File Locking"]] diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn index b70ab3c6..b7f2ea62 100644 --- a/community/gsoc/project_ideas/gnat.mdwn +++ b/community/gsoc/project_ideas/gnat.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Porting GNAT"]] diff --git a/community/gsoc/project_ideas/gnumach_cleanup.mdwn b/community/gsoc/project_ideas/gnumach_cleanup.mdwn index ecbbb200..e75c9d3e 100644 --- a/community/gsoc/project_ideas/gnumach_cleanup.mdwn +++ b/community/gsoc/project_ideas/gnumach_cleanup.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="GNU Mach Code Cleanup"]] diff --git a/community/gsoc/project_ideas/hardware_libs.mdwn b/community/gsoc/project_ideas/hardware_libs.mdwn index 4a1fe73c..c30505cb 100644 --- a/community/gsoc/project_ideas/hardware_libs.mdwn +++ b/community/gsoc/project_ideas/hardware_libs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Stub Implementations of Hardware Specific Libraries"]] diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn index c247a8f8..bf75c805 100644 --- a/community/gsoc/project_ideas/language_bindings.mdwn +++ b/community/gsoc/project_ideas/language_bindings.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Bindings to Other Programming Languages"]] diff --git a/community/gsoc/project_ideas/lexical_dot-dot.mdwn b/community/gsoc/project_ideas/lexical_dot-dot.mdwn index e37bc71f..f0b8db7c 100644 --- a/community/gsoc/project_ideas/lexical_dot-dot.mdwn +++ b/community/gsoc/project_ideas/lexical_dot-dot.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Lexical .. Resolution"]] diff --git a/community/gsoc/project_ideas/libcap.mdwn b/community/gsoc/project_ideas/libcap.mdwn index 2745dc7e..10ca508e 100644 --- a/community/gsoc/project_ideas/libcap.mdwn +++ b/community/gsoc/project_ideas/libcap.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Implementing libcap"]] diff --git a/community/gsoc/project_ideas/libdiskfs_locking.mdwn b/community/gsoc/project_ideas/libdiskfs_locking.mdwn index d484b40b..2a08b387 100644 --- a/community/gsoc/project_ideas/libdiskfs_locking.mdwn +++ b/community/gsoc/project_ideas/libdiskfs_locking.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Fix libdiskfs Locking Issues"]] diff --git a/community/gsoc/project_ideas/libgtop.mdwn b/community/gsoc/project_ideas/libgtop.mdwn index c0f966c5..ef1b2bcb 100644 --- a/community/gsoc/project_ideas/libgtop.mdwn +++ b/community/gsoc/project_ideas/libgtop.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Porting libgtop"]] diff --git a/community/gsoc/project_ideas/maxpath.mdwn b/community/gsoc/project_ideas/maxpath.mdwn index 6ece2dbf..5be8917f 100644 --- a/community/gsoc/project_ideas/maxpath.mdwn +++ b/community/gsoc/project_ideas/maxpath.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Fixing Programs Using PATH_MAX et al Unconditionally"]] diff --git a/community/gsoc/project_ideas/mtab.mdwn b/community/gsoc/project_ideas/mtab.mdwn index 39cde2dd..045533e6 100644 --- a/community/gsoc/project_ideas/mtab.mdwn +++ b/community/gsoc/project_ideas/mtab.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="mtab"]] diff --git a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn index 79aad7a1..d40d73ac 100644 --- a/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn +++ b/community/gsoc/project_ideas/namespace-based_translator_selection.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Namspace-based Translator Selection"]] diff --git a/community/gsoc/project_ideas/nfs.mdwn b/community/gsoc/project_ideas/nfs.mdwn index eeeda6f0..683287f7 100644 --- a/community/gsoc/project_ideas/nfs.mdwn +++ b/community/gsoc/project_ideas/nfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Improved NFS Implementation"]] diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn index 4e544ed5..43e53f7c 100644 --- a/community/gsoc/project_ideas/package_manager.mdwn +++ b/community/gsoc/project_ideas/package_manager.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Hurdish Package Manager for the GNU System"]] diff --git a/community/gsoc/project_ideas/perl.mdwn b/community/gsoc/project_ideas/perl.mdwn index 23420159..bfe1968e 100644 --- a/community/gsoc/project_ideas/perl.mdwn +++ b/community/gsoc/project_ideas/perl.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Improving Perl Support"]] diff --git a/community/gsoc/project_ideas/procfs.mdwn b/community/gsoc/project_ideas/procfs.mdwn index 8acfa228..85eec43c 100644 --- a/community/gsoc/project_ideas/procfs.mdwn +++ b/community/gsoc/project_ideas/procfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="procfs"]] diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn index 0e677268..9c703d36 100644 --- a/community/gsoc/project_ideas/pthreads.mdwn +++ b/community/gsoc/project_ideas/pthreads.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Convert Hurd Libraries and Servers to pthreads"]] diff --git a/community/gsoc/project_ideas/secure_chroot.mdwn b/community/gsoc/project_ideas/secure_chroot.mdwn index e5848a0f..a433e8d1 100644 --- a/community/gsoc/project_ideas/secure_chroot.mdwn +++ b/community/gsoc/project_ideas/secure_chroot.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Secure chroot Implementation"]] diff --git a/community/gsoc/project_ideas/server_overriding.mdwn b/community/gsoc/project_ideas/server_overriding.mdwn index 66171313..42edf287 100644 --- a/community/gsoc/project_ideas/server_overriding.mdwn +++ b/community/gsoc/project_ideas/server_overriding.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Server Overriding Mechanism"]] diff --git a/community/gsoc/project_ideas/sound.mdwn b/community/gsoc/project_ideas/sound.mdwn index 134c5b59..b92f76da 100644 --- a/community/gsoc/project_ideas/sound.mdwn +++ b/community/gsoc/project_ideas/sound.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Sound Support"]] diff --git a/community/gsoc/project_ideas/tcp_ip_stack.mdwn b/community/gsoc/project_ideas/tcp_ip_stack.mdwn index 7ca43152..b56bff51 100644 --- a/community/gsoc/project_ideas/tcp_ip_stack.mdwn +++ b/community/gsoc/project_ideas/tcp_ip_stack.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Hurdish TCP/IP Stack"]] diff --git a/community/gsoc/project_ideas/tmpfs.mdwn b/community/gsoc/project_ideas/tmpfs.mdwn index fcf8d96b..69adef0f 100644 --- a/community/gsoc/project_ideas/tmpfs.mdwn +++ b/community/gsoc/project_ideas/tmpfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Fix tmpfs"]] diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn index 3692678f..a801290f 100644 --- a/community/gsoc/project_ideas/unionfs_boot.mdwn +++ b/community/gsoc/project_ideas/unionfs_boot.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Allow Using unionfs Early at Boot"]] diff --git a/community/gsoc/project_ideas/unionmount.mdwn b/community/gsoc/project_ideas/unionmount.mdwn index f8fbc283..47a3d85d 100644 --- a/community/gsoc/project_ideas/unionmount.mdwn +++ b/community/gsoc/project_ideas/unionmount.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Union Mounts"]] diff --git a/community/gsoc/project_ideas/virtualization.mdwn b/community/gsoc/project_ideas/virtualization.mdwn index 79c3ab29..c7403f70 100644 --- a/community/gsoc/project_ideas/virtualization.mdwn +++ b/community/gsoc/project_ideas/virtualization.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Virtualization Using Hurd Mechanisms"]] diff --git a/community/gsoc/project_ideas/vm_tuning.mdwn b/community/gsoc/project_ideas/vm_tuning.mdwn index 8d6a15c3..9e802188 100644 --- a/community/gsoc/project_ideas/vm_tuning.mdwn +++ b/community/gsoc/project_ideas/vm_tuning.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="VM Tuning"]] diff --git a/community/gsoc/project_ideas/xattr.mdwn b/community/gsoc/project_ideas/xattr.mdwn index b5466091..55961547 100644 --- a/community/gsoc/project_ideas/xattr.mdwn +++ b/community/gsoc/project_ideas/xattr.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Implement xattr Support"]] diff --git a/community/gsoc/project_ideas/xmlfs.mdwn b/community/gsoc/project_ideas/xmlfs.mdwn index 5fd2cbe4..5e5eaa13 100644 --- a/community/gsoc/project_ideas/xmlfs.mdwn +++ b/community/gsoc/project_ideas/xmlfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="xmlfs"]] diff --git a/community/gsoc/student_application_form.mdwn b/community/gsoc/student_application_form.mdwn index e52387b6..84070cbf 100644 --- a/community/gsoc/student_application_form.mdwn +++ b/community/gsoc/student_application_form.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Before we get to the actual application form, some important remarks about the application process -- please read them carefully. @@ -26,7 +26,7 @@ won't consider it. One of the things we expect is that you contact us directly as soon as possible (preferably even before you send the application form), on our developer -[[mailing_lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC +[[mailing lists]] and [[IRC]] channel. Don't be afraid -- we won't bite :-) IRC in particular allows for very informal conversations. (Note though that we are not all in the same time zone, and people generally diff --git a/community/gsoc/xorg_ideas.mdwn b/community/gsoc/xorg_ideas.mdwn index c125ee96..406d370d 100644 --- a/community/gsoc/xorg_ideas.mdwn +++ b/community/gsoc/xorg_ideas.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## libpciaccess Support for GNU Hurd diff --git a/community/meetings.mdwn b/community/meetings.mdwn index 9a07e205..9c88418e 100644 --- a/community/meetings.mdwn +++ b/community/meetings.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Meetings with Hurd developer attendance"]] diff --git a/community/meetings/eurosys_2009.mdwn b/community/meetings/eurosys_2009.mdwn index cc672f5e..24c2b112 100644 --- a/community/meetings/eurosys_2009.mdwn +++ b/community/meetings/eurosys_2009.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="EuroSys 2009"]] diff --git a/community/meetings/fosdem_2005.mdwn b/community/meetings/fosdem_2005.mdwn index e19ff41d..8d7f459d 100644 --- a/community/meetings/fosdem_2005.mdwn +++ b/community/meetings/fosdem_2005.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="FOSDEM 2005"]] diff --git a/community/meetings/fosdem_2006.mdwn b/community/meetings/fosdem_2006.mdwn index 7f3cdcce..a869f262 100644 --- a/community/meetings/fosdem_2006.mdwn +++ b/community/meetings/fosdem_2006.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="FOSDEM 2006"]] diff --git a/community/meetings/fosdem_2007.mdwn b/community/meetings/fosdem_2007.mdwn index e8c37441..ab9fa413 100644 --- a/community/meetings/fosdem_2007.mdwn +++ b/community/meetings/fosdem_2007.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="FOSDEM 2007"]] diff --git a/community/meetings/fosdem_2008.mdwn b/community/meetings/fosdem_2008.mdwn index 5d641995..e9625fdf 100644 --- a/community/meetings/fosdem_2008.mdwn +++ b/community/meetings/fosdem_2008.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="FOSDEM 2008"]] diff --git a/community/meetings/rmll_2006.mdwn b/community/meetings/rmll_2006.mdwn index ba0d8abf..0d82a2b1 100644 --- a/community/meetings/rmll_2006.mdwn +++ b/community/meetings/rmll_2006.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="RMLL 2006"]] diff --git a/community/meetings/self-organised.mdwn b/community/meetings/self-organised.mdwn index 0c6f6c9f..1403c115 100644 --- a/community/meetings/self-organised.mdwn +++ b/community/meetings/self-organised.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Self-organised meeting"]] diff --git a/community/meetings/stesie_2007-10-12.mdwn b/community/meetings/stesie_2007-10-12.mdwn index 737951ca..d59ceded 100644 --- a/community/meetings/stesie_2007-10-12.mdwn +++ b/community/meetings/stesie_2007-10-12.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] On the weekend 2007-10-12 to 14 [[Stefan_Siegl|stesie]] invited Hurd people. Colin Leitner and [[Thomas_Schwinge|tschwinge]] came, as well as novice diff --git a/community/weblogs.mdwn b/community/weblogs.mdwn index b3c38d00..50791549 100644 --- a/community/weblogs.mdwn +++ b/community/weblogs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Weblogs from Hurd programmers and enthusiasts. diff --git a/community/weblogs/ArneBab.mdwn b/community/weblogs/ArneBab.mdwn index 350d97b0..4ef8a329 100644 --- a/community/weblogs/ArneBab.mdwn +++ b/community/weblogs/ArneBab.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] I'm just a Hurd dabbler who likes the ideas behind the Hurd: diff --git a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn index 89dfb22e..693168a4 100644 --- a/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn +++ b/community/weblogs/ArneBab/xkb-woes-trying-to-get-a-german-keyboard-layout.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Yesterday I spent a few hours trying to get my german keyboard to let me use my umlauts (and to let me type without having to hunt down the right keys), but without much luck. diff --git a/config_edittemplate.mdwn b/config_edittemplate.mdwn index d8b17602..b3ff1431 100644 --- a/config_edittemplate.mdwn +++ b/config_edittemplate.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This page exists purely for configuring the [[iki plugins/edittemplate]] plugin. diff --git a/config_edittemplate/regular_page.mdwn b/config_edittemplate/regular_page.mdwn index a43067b3..dcce6438 100644 --- a/config_edittemplate/regular_page.mdwn +++ b/config_edittemplate/regular_page.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] HERE STARTS YOUR NEW CONTENT -- remove everything from here on, including this line. diff --git a/confused_deputy.mdwn b/confused_deputy.mdwn index d7767d17..92be6415 100644 --- a/confused_deputy.mdwn +++ b/confused_deputy.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [The confused deputy](http://www.cis.upenn.edu/~KeyKOS/ConfusedDeputy.html) problem was articulated by Norm Hardy. It is a possible consequence diff --git a/contact_us.mdwn b/contact_us.mdwn index 4c5f9c5d..2f483780 100644 --- a/contact_us.mdwn +++ b/contact_us.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Community]] -- the community around GNU Hurd. @@ -23,4 +23,4 @@ is included in the section entitled If you have a concern you want to send to the Hurd maintainers without writing to a public mailing list, then please send email to . Please don't send general support requests or - questions there, but instead use the [[mailing_lists]]. + questions there, but instead use the [[mailing lists]]. diff --git a/contributing.mdwn b/contributing.mdwn index 8c02a0fe..9e2396cf 100644 --- a/contributing.mdwn +++ b/contributing.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] So, you are interested in contributing to the GNU Hurd project? @@ -105,5 +105,5 @@ system nevertheless is a prerequisite. At least have a deep look at the documentation pointers given in the previous section. Also read through the [[HurdNG|hurd/ng]] section. -Please send email to the [[mailing_lists/l4-hurd]] mailing list for discussing +Please send email to the [[mailing lists/l4-hurd]] mailing list for discussing this post-Mach system design. diff --git a/contributing/questionnaire.mdwn b/contributing/questionnaire.mdwn index 229e5c5e..bc548b64 100644 --- a/contributing/questionnaire.mdwn +++ b/contributing/questionnaire.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] People often come to us and state that they'd like to help with the GNU/Hurd. This is very good and very much encouraged: we're always looking for volunteers @@ -42,4 +42,4 @@ items and spend some time thinking about those. Every new contributor is very much encouraged to take some notes about these -items and post them to *[[mailing_lists/bug-hurd]]*. +items and post them to *[[mailing lists/bug-hurd]]*. diff --git a/contributing/web_pages.mdwn b/contributing/web_pages.mdwn index 9d5f0705..9a9cc54c 100644 --- a/contributing/web_pages.mdwn +++ b/contributing/web_pages.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] (!) Some general hints first; they may sound very familiar from other software projects: diff --git a/designation.mdwn b/designation.mdwn index e6074322..771d8e66 100644 --- a/designation.mdwn +++ b/designation.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] To designate is to name. diff --git a/destructive_interference.mdwn b/destructive_interference.mdwn index f6a2596b..1f468034 100644 --- a/destructive_interference.mdwn +++ b/destructive_interference.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Interference can be destructive or non-destructive. When a [[principal]] invokes an object (thereby requesting a service) and the implementation diff --git a/documentation.mdwn b/documentation.mdwn index 2c13792c..8559eff1 100644 --- a/documentation.mdwn +++ b/documentation.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Documentation for... diff --git a/donate.mdwn b/donate.mdwn index f936007c..22b218c1 100644 --- a/donate.mdwn +++ b/donate.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] If you feel like donating goods or money for the work the developers are doing, then we're happy to confirm that this is indeed possible. Of course we'd diff --git a/emulation.mdwn b/emulation.mdwn index 93ce5e37..9e6a5e55 100644 --- a/emulation.mdwn +++ b/emulation.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # External diff --git a/extensibility.mdwn b/extensibility.mdwn index 7fddd8b3..01b1f3b1 100644 --- a/extensibility.mdwn +++ b/extensibility.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] An extensible system is one that enables extensibility. Enabling extensibility means providing non-privileged mechanisms to extend existing objects and to diff --git a/gcc.mdwn b/gcc.mdwn index 32892968..c9dae96e 100644 --- a/gcc.mdwn +++ b/gcc.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [GNU Compiler Collection](http://gcc.gnu.org/). diff --git a/gdb.mdwn b/gdb.mdwn index 94f156b3..5409a05d 100644 --- a/gdb.mdwn +++ b/gdb.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [GNU debugger *GDB*](http://www.gnu.org/software/gdb/). diff --git a/gdb/backtrace.mdwn b/gdb/backtrace.mdwn index 07a66178..7411ad05 100644 --- a/gdb/backtrace.mdwn +++ b/gdb/backtrace.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] When someone asks you to supply a backtrace (from a [[segmentation_fault]], for example), here is roughly what you have to do. diff --git a/getting_help.mdwn b/getting_help.mdwn index 918877fe..92efabbe 100644 --- a/getting_help.mdwn +++ b/getting_help.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Essential Documentation diff --git a/glibc.mdwn b/glibc.mdwn index f3b9460b..c7e5eeb7 100644 --- a/glibc.mdwn +++ b/glibc.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [GNU C Library](http://www.gnu.org/software/libc/). diff --git a/hurd.mdwn b/hurd.mdwn index 91c64495..4b434a65 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The GNU Hurd is under active development. Because of that, there is no *stable* version. We distribute the Hurd sources only through CVS at present. diff --git a/hurd/advantages.mdwn b/hurd/advantages.mdwn index b3742530..a181a942 100644 --- a/hurd/advantages.mdwn +++ b/hurd/advantages.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The Hurd is not the most advanced kernel known to the planet (yet), but it does have a number of enticing features: diff --git a/hurd/authentication.mdwn b/hurd/authentication.mdwn index 0780e54d..2d6084bf 100644 --- a/hurd/authentication.mdwn +++ b/hurd/authentication.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] UIDs on the Hurd are separate from processes. A process has [[capabilities|capability]] designating so-called UID vectors that diff --git a/hurd/binutils.mdwn b/hurd/binutils.mdwn index a46eef6b..76b0ae60 100644 --- a/hurd/binutils.mdwn +++ b/hurd/binutils.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[General_information|/binutils]] about the binutils. diff --git a/hurd/building/cross-compiling.mdwn b/hurd/building/cross-compiling.mdwn index c2861c3b..51b3abfc 100644 --- a/hurd/building/cross-compiling.mdwn +++ b/hurd/building/cross-compiling.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # `cross-gnu` diff --git a/hurd/building/cross-compiling/discussion.mdwn b/hurd/building/cross-compiling/discussion.mdwn index 2c326d21..dbe317ad 100644 --- a/hurd/building/cross-compiling/discussion.mdwn +++ b/hurd/building/cross-compiling/discussion.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] What happens if the external link goes down? Is there any way to store files within the wiki itself? --[[vincentvikram]] diff --git a/hurd/building/example.mdwn b/hurd/building/example.mdwn index 57ddb313..bf31bf7e 100644 --- a/hurd/building/example.mdwn +++ b/hurd/building/example.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] I checked out the source code on my Ubuntu GNU/Linux system connected to the Internet using: diff --git a/hurd/concepts.mdwn b/hurd/concepts.mdwn index 10739b80..e8183d79 100644 --- a/hurd/concepts.mdwn +++ b/hurd/concepts.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Translator]] * [[Virtual_File_System]] diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index f4bff270..c432cc17 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="A Critique of the GNU Hurd Multi-server Operating System"]] diff --git a/hurd/debugging.mdwn b/hurd/debugging.mdwn index f71ff69a..36ab769a 100644 --- a/hurd/debugging.mdwn +++ b/hurd/debugging.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Strategies diff --git a/hurd/debugging/gdb.mdwn b/hurd/debugging/gdb.mdwn index f6fb9af5..1fede74f 100644 --- a/hurd/debugging/gdb.mdwn +++ b/hurd/debugging/gdb.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [[GNU_debugger_*GDB*|/gdb]] works on GNU/Hurd systems as it does on other system, but has some additional [hurd-specific diff --git a/hurd/debugging/gdb/noninvasive_debugging.mdwn b/hurd/debugging/gdb/noninvasive_debugging.mdwn index bd732ca1..fa7a3c5b 100644 --- a/hurd/debugging/gdb/noninvasive_debugging.mdwn +++ b/hurd/debugging/gdb/noninvasive_debugging.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Sometimes using [[GDB]] on a [[system_server|translator]] can result in a [[deadlock]]. You can however still use GDB by using the [`set diff --git a/hurd/debugging/glibc.mdwn b/hurd/debugging/glibc.mdwn index 064b7ab8..905dd0da 100644 --- a/hurd/debugging/glibc.mdwn +++ b/hurd/debugging/glibc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Here are some hints about how to approach testing after nontrivial changes to glibc have been done. diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn index 664e8601..63b72ee0 100644 --- a/hurd/debugging/rpctrace.mdwn +++ b/hurd/debugging/rpctrace.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] *rpctrace* is -- roughly -- an equivavlent to Linux's *strace* or Solaris' or BSD's *truss*. It is used to trace [[remote_procedure_call|rpc]]s a process is diff --git a/hurd/debugging/translator.mdwn b/hurd/debugging/translator.mdwn index b3b9e95a..d439e17b 100644 --- a/hurd/debugging/translator.mdwn +++ b/hurd/debugging/translator.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!inline pages="hurd/debugging/translator/* and !*/discussion" diff --git a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn index 14c46d29..646738b1 100644 --- a/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn +++ b/hurd/debugging/translator/capturing_stdout_and_stderr.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Sometimes it may already be helpful to capture a translator's `stdout` and `stderr`, for example like this: diff --git a/hurd/debugging/translator/gdb.mdwn b/hurd/debugging/translator/gdb.mdwn index ad9d87b0..82a50736 100644 --- a/hurd/debugging/translator/gdb.mdwn +++ b/hurd/debugging/translator/gdb.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Say you want to try running file system server ([[`ext2fs`|translator/ext2fs]], [[`jfs`|translator/jfs]], ...) against a modified version of diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn index ce8ae2e7..0d311758 100644 --- a/hurd/documentation.mdwn +++ b/hurd/documentation.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Introductory Material diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn index 7b2023cc..be30e1b4 100644 --- a/hurd/faq.mdwn +++ b/hurd/faq.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="GNU Hurd FAQ"]] diff --git a/hurd/faq/old-stuff.mdwn b/hurd/faq/old-stuff.mdwn index e4132d50..6968a894 100644 --- a/hurd/faq/old-stuff.mdwn +++ b/hurd/faq/old-stuff.mdwn @@ -1,6 +1,6 @@ In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.) -If you still have problems, do not hesitate to make use of the [[mailing_lists]] or the [[IRC]]. +If you still have problems, do not hesitate to make use of the [[mailing lists]] or the [[IRC]]. * **_You say GNU, don't you mean GNU/Hurd?_** * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. Also see [[GNU/GnuNames]] diff --git a/hurd/faq/old_faq.txt b/hurd/faq/old_faq.txt index 4c7bb8e3..617d7661 100644 --- a/hurd/faq/old_faq.txt +++ b/hurd/faq/old_faq.txt @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Frequently Asked Questions about the GNU Hurd diff --git a/hurd/faq/release.mdwn b/hurd/faq/release.mdwn index a1a4c10a..d80c6825 100644 --- a/hurd/faq/release.mdwn +++ b/hurd/faq/release.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="When will the Hurd be released?"]] diff --git a/hurd/faq/slash_usr_symlink.mdwn b/hurd/faq/slash_usr_symlink.mdwn index f769b0b9..5c47f4e1 100644 --- a/hurd/faq/slash_usr_symlink.mdwn +++ b/hurd/faq/slash_usr_symlink.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Why is `/usr' a symbolic link to `.'?"]] diff --git a/hurd/gcc.mdwn b/hurd/gcc.mdwn index 2aba090f..53b5e071 100644 --- a/hurd/gcc.mdwn +++ b/hurd/gcc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[General_information|/gcc]] about the GCC. diff --git a/hurd/glibc.mdwn b/hurd/glibc.mdwn index 4a9fd0af..e975a239 100644 --- a/hurd/glibc.mdwn +++ b/hurd/glibc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[General_information|/glibc]] about the glibc. diff --git a/hurd/glibc/hurd-specific_api.mdwn b/hurd/glibc/hurd-specific_api.mdwn index 740eb260..aeb63d91 100644 --- a/hurd/glibc/hurd-specific_api.mdwn +++ b/hurd/glibc/hurd-specific_api.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Hurd-specific glibc API"]] diff --git a/hurd/history.mdwn b/hurd/history.mdwn index fbdb1bf5..18a1506f 100644 --- a/hurd/history.mdwn +++ b/hurd/history.mdwn @@ -7,7 +7,7 @@ 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 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 diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn index e7524503..fdaeeffb 100644 --- a/hurd/history/port_to_l4.mdwn +++ b/hurd/history/port_to_l4.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Porting the Hurd to L4: Hurd/L4"]] @@ -16,7 +16,7 @@ There was an effort to port the Hurd from [[microkernel/Mach]] to the 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 +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. @@ -33,7 +33,7 @@ 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 +[[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 @@ -94,7 +94,7 @@ explains: > 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. +[[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 diff --git a/hurd/hurd_hacking_guide.mdwn b/hurd/hurd_hacking_guide.mdwn index b5dae04e..ea9aa259 100644 --- a/hurd/hurd_hacking_guide.mdwn +++ b/hurd/hurd_hacking_guide.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Originally written by Wolfgang Jährling, the *Hurd Hacking Guide* contains an introduction to GNU Hurd and GNU Mach programming, an overview of some of the diff --git a/hurd/io_path.mdwn b/hurd/io_path.mdwn index c4e104df..78e13efd 100644 --- a/hurd/io_path.mdwn +++ b/hurd/io_path.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # read diff --git a/hurd/libchannel.mdwn b/hurd/libchannel.mdwn index ab126cf6..91c7810f 100644 --- a/hurd/libchannel.mdwn +++ b/hurd/libchannel.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # libchannel diff --git a/hurd/libhello_example.mdwn b/hurd/libhello_example.mdwn index 6c10ec08..2c5490e2 100644 --- a/hurd/libhello_example.mdwn +++ b/hurd/libhello_example.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Howto write a Hurd library diff --git a/hurd/libnetfs.mdwn b/hurd/libnetfs.mdwn index 589b4abd..fef6a8ef 100644 --- a/hurd/libnetfs.mdwn +++ b/hurd/libnetfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] #libnetfs diff --git a/hurd/libpager.mdwn b/hurd/libpager.mdwn index d3803d89..c9a1c0b6 100644 --- a/hurd/libpager.mdwn +++ b/hurd/libpager.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Mach's [[microkernel/mach/external_pager_mechanism]]. diff --git a/hurd/libstore.mdwn b/hurd/libstore.mdwn index 577f9d0c..3d54a839 100644 --- a/hurd/libstore.mdwn +++ b/hurd/libstore.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `libstore` is more than just a thin layer between [[GNU_Mach|microkernel/mach/gnumach]] devices (`hd0` for example) and the diff --git a/hurd/logo.mdwn b/hurd/logo.mdwn index 7b66ed9b..aae80561 100644 --- a/hurd/logo.mdwn +++ b/hurd/logo.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The famous *Hurd Boxes* logo is available at . diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn index a055ab70..5a66f992 100644 --- a/hurd/neighborhurd.mdwn +++ b/hurd/neighborhurd.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] It is possible to run multiple instances of the Hurd in parallel, on a single instance of Mach. Other than diff --git a/hurd/networking.mdwn b/hurd/networking.mdwn index 9e1fbfa9..ff16eb25 100644 --- a/hurd/networking.mdwn +++ b/hurd/networking.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] For each supported `PF_*` protocol family, there is a file `/servers/socket/N` where `N` is the numberic value fo the `PF_*` symbol. Right now diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn index 59c49002..9785b08a 100644 --- a/hurd/ng/issues_with_mach.mdwn +++ b/hurd/ng/issues_with_mach.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[microkernel/mach/gnumach/open_issues/Resource_management_problems]] * [[Critique]] diff --git a/hurd/ng/limitations_of_the_original_hurd_design.mdwn b/hurd/ng/limitations_of_the_original_hurd_design.mdwn index a7133ce9..96d8912b 100644 --- a/hurd/ng/limitations_of_the_original_hurd_design.mdwn +++ b/hurd/ng/limitations_of_the_original_hurd_design.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Critique]] diff --git a/hurd/ng/position_paper.mdwn b/hurd/ng/position_paper.mdwn index 16c99115..abc781da 100644 --- a/hurd/ng/position_paper.mdwn +++ b/hurd/ng/position_paper.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Neal Walfield and Marcus Brinkmann wrote a paper titled [*Improving Usability via Access Decomposition and Policy diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn index cc70fa83..3513c378 100644 --- a/hurd/open_issues.mdwn +++ b/hurd/open_issues.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Open Issues"]] diff --git a/hurd/open_issues/cvs_tasks_file.mdwn b/hurd/open_issues/cvs_tasks_file.mdwn index d85b87fc..a2fbf619 100644 --- a/hurd/open_issues/cvs_tasks_file.mdwn +++ b/hurd/open_issues/cvs_tasks_file.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The canonical [tasks file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/tasks?rev=HEAD&content-type=text/plain) diff --git a/hurd/open_issues/cvs_todo_file.mdwn b/hurd/open_issues/cvs_todo_file.mdwn index 453f846b..c5e48979 100644 --- a/hurd/open_issues/cvs_todo_file.mdwn +++ b/hurd/open_issues/cvs_todo_file.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The canonical [TODO file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/TODO?rev=HEAD&content-type=text/plain) diff --git a/hurd/open_issues/gdb_non-stop_mode.mdwn b/hurd/open_issues/gdb_non-stop_mode.mdwn index 424afe17..199cb7ae 100644 --- a/hurd/open_issues/gdb_non-stop_mode.mdwn +++ b/hurd/open_issues/gdb_non-stop_mode.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] GNU GDB's `gnu-nat.c` doesn't support *non-stop* mode. diff --git a/hurd/open_issues/gdb_pending_execs.mdwn b/hurd/open_issues/gdb_pending_execs.mdwn index b31f183d..cf5cc705 100644 --- a/hurd/open_issues/gdb_pending_execs.mdwn +++ b/hurd/open_issues/gdb_pending_execs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] : diff --git a/hurd/open_issues/gdb_thread_ids.mdwn b/hurd/open_issues/gdb_thread_ids.mdwn index 006399d4..8752e9d8 100644 --- a/hurd/open_issues/gdb_thread_ids.mdwn +++ b/hurd/open_issues/gdb_thread_ids.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] GNU GDB's Pedro Alves: diff --git a/hurd/open_issues/libfshelp_in_hurdlibs.mdwn b/hurd/open_issues/libfshelp_in_hurdlibs.mdwn index 78b641ca..d5b455a0 100644 --- a/hurd/open_issues/libfshelp_in_hurdlibs.mdwn +++ b/hurd/open_issues/libfshelp_in_hurdlibs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[libtrivfs]] seems to use [[libfshelp]], but doesn't have it listed in `HURDLIBS`. Should change that? Same for [[libnetfs]] and [[libdiskfs]]? diff --git a/hurd/open_issues/some_todo_list.mdwn b/hurd/open_issues/some_todo_list.mdwn index 77823128..88cbbe75 100644 --- a/hurd/open_issues/some_todo_list.mdwn +++ b/hurd/open_issues/some_todo_list.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This todo is primarily targetted at the Hurd proper and applications that rely on the Hurd interfaces. diff --git a/hurd/open_issues/wrong_reply_message_id.mdwn b/hurd/open_issues/wrong_reply_message_id.mdwn index 18161a97..552a5681 100644 --- a/hurd/open_issues/wrong_reply_message_id.mdwn +++ b/hurd/open_issues/wrong_reply_message_id.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # settrans -P -a /servers/socket/2 /hurd/pfinet -i eth0 -a 192.168.10.61 -g 192.168.10.1 -m 255.255.255.0 Translator pid: 2289 diff --git a/hurd/porting.mdwn b/hurd/porting.mdwn index fa0c55c8..c94572a4 100644 --- a/hurd/porting.mdwn +++ b/hurd/porting.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Guidelines]] * [[System_API_Limitations]] diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn index 59abb091..7dea771d 100644 --- a/hurd/porting/guidelines.mdwn +++ b/hurd/porting/guidelines.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This is a compilation of common porting problems and their solutions. @@ -19,7 +19,7 @@ information. There is a separate page about [[System_API_Limitations]]. -You may ask on the [[mailing_lists/bug-hurd]] mailing list for details or +You may ask on the [[mailing lists/bug-hurd]] mailing list for details or questions about fixing bugs. diff --git a/hurd/porting/system_api_limitations.mdwn b/hurd/porting/system_api_limitations.mdwn index 6e70f1f8..06a6b382 100644 --- a/hurd/porting/system_api_limitations.mdwn +++ b/hurd/porting/system_api_limitations.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Sometimes building or running a program will fail due to bugs in the system API implementation (in [[glibc]] and the [[Hurd]]). Make sure you check this list diff --git a/hurd/reference_manual.mdwn b/hurd/reference_manual.mdwn index 4229e7fd..9337b784 100644 --- a/hurd/reference_manual.mdwn +++ b/hurd/reference_manual.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] *The GNU Hurd Reference Manual* documents the architecture, the usage and the programming of the GNU Hurd. At the moment, the manual is quite incomplete. diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 9293bd9c..95dc024a 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Distrib]] - Distributions based on the Hurd * [[microkernel/mach/gnumach/ports/Xen]] - In Xen diff --git a/hurd/running/debian/DebianAptOffline.mdwn b/hurd/running/debian/DebianAptOffline.mdwn index 249bfd86..9596040d 100644 --- a/hurd/running/debian/DebianAptOffline.mdwn +++ b/hurd/running/debian/DebianAptOffline.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # How to Installing Packages without a Network Connection from your Hurd Installation diff --git a/hurd/running/debian/creating_image_tarball.mdwn b/hurd/running/debian/creating_image_tarball.mdwn index d7ad3ee6..ac91dab4 100644 --- a/hurd/running/debian/creating_image_tarball.mdwn +++ b/hurd/running/debian/creating_image_tarball.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The following [[anonftpsync-ports]] is used to create a local Debian GNU/Hurd repo. You will need atleast 12G of disk space. Change the diff --git a/hurd/running/debian/faq.mdwn b/hurd/running/debian/faq.mdwn index 4e61e353..4966456a 100644 --- a/hurd/running/debian/faq.mdwn +++ b/hurd/running/debian/faq.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Debian GNU/Hurd FAQ"]] diff --git a/hurd/running/debian/faq/2_gib_partition_limit.mdwn b/hurd/running/debian/faq/2_gib_partition_limit.mdwn index e803fefb..195191cb 100644 --- a/hurd/running/debian/faq/2_gib_partition_limit.mdwn +++ b/hurd/running/debian/faq/2_gib_partition_limit.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="2 GiB Partition Limit"]] diff --git a/hurd/running/debian/faq/512_mib_ram_limit.mdwn b/hurd/running/debian/faq/512_mib_ram_limit.mdwn index 1c023941..90c16a69 100644 --- a/hurd/running/debian/faq/512_mib_ram_limit.mdwn +++ b/hurd/running/debian/faq/512_mib_ram_limit.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="512 MiB RAM Limit"]] diff --git a/hurd/running/debian/faq/apt_umount.mdwn b/hurd/running/debian/faq/apt_umount.mdwn index b48452b9..f2889f3e 100644 --- a/hurd/running/debian/faq/apt_umount.mdwn +++ b/hurd/running/debian/faq/apt_umount.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="apt: unmount cdroms"]] diff --git a/hurd/running/debian/faq/bad_hypermeta_data.mdwn b/hurd/running/debian/faq/bad_hypermeta_data.mdwn index 4d79bad5..bc960e30 100644 --- a/hurd/running/debian/faq/bad_hypermeta_data.mdwn +++ b/hurd/running/debian/faq/bad_hypermeta_data.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] If you get the error `bad hypermeta data` when trying to mount an ext3 partition from GNU/Linux, that is usually because the file system has not been diff --git a/hurd/running/debian/faq/debugging_inside_glibc.mdwn b/hurd/running/debian/faq/debugging_inside_glibc.mdwn index 30348844..91b71d64 100644 --- a/hurd/running/debian/faq/debugging_inside_glibc.mdwn +++ b/hurd/running/debian/faq/debugging_inside_glibc.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] To get [[debugging]] information for glibc, you need to install the `libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging diff --git a/hurd/running/debian/faq/debugging_translators.mdwn b/hurd/running/debian/faq/debugging_translators.mdwn index e72ead91..d3aadec8 100644 --- a/hurd/running/debian/faq/debugging_translators.mdwn +++ b/hurd/running/debian/faq/debugging_translators.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] In order to [[debug|debugging]] translators and being able to step into glibc during it, you need the `hurd-dbg` and `libc0.3-dbg` packages installed. Then diff --git a/hurd/running/debian/faq/dev_random.mdwn b/hurd/running/debian/faq/dev_random.mdwn index d39a815d..3b5fdffe 100644 --- a/hurd/running/debian/faq/dev_random.mdwn +++ b/hurd/running/debian/faq/dev_random.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="/dev/random"]] diff --git a/hurd/running/debian/faq/df.mdwn b/hurd/running/debian/faq/df.mdwn index 5b2256f4..4de232da 100644 --- a/hurd/running/debian/faq/df.mdwn +++ b/hurd/running/debian/faq/df.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] There is no `/etc/mtab`, so just running `df` will yield an error. Pass `df` a path like `df /` or `df ./` to see the disk usage of that particular file diff --git a/hurd/running/debian/faq/free_memory.mdwn b/hurd/running/debian/faq/free_memory.mdwn index 155a48c8..c1c0a83c 100644 --- a/hurd/running/debian/faq/free_memory.mdwn +++ b/hurd/running/debian/faq/free_memory.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] Run `vmstat` to see memory and swap usage. diff --git a/hurd/running/debian/faq/hurd_console.mdwn b/hurd/running/debian/faq/hurd_console.mdwn index ba7918b5..c4a619a1 100644 --- a/hurd/running/debian/faq/hurd_console.mdwn +++ b/hurd/running/debian/faq/hurd_console.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on bootup. See [[console]] for further information about the Hurd console. diff --git a/hurd/running/debian/faq/kernel_logs.mdwn b/hurd/running/debian/faq/kernel_logs.mdwn index e3a68be2..ff14ce5f 100644 --- a/hurd/running/debian/faq/kernel_logs.mdwn +++ b/hurd/running/debian/faq/kernel_logs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root and hit `ctrl+c` after a few seconds to catch the logs. You can do this only diff --git a/hurd/running/debian/faq/other_repositories.mdwn b/hurd/running/debian/faq/other_repositories.mdwn index 38407d07..88781d46 100644 --- a/hurd/running/debian/faq/other_repositories.mdwn +++ b/hurd/running/debian/faq/other_repositories.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] If you want to use the `apt-get source` facility, make sure that `/etc/apt/sources.list` contains a line like diff --git a/hurd/running/debian/faq/ps_hangs.mdwn b/hurd/running/debian/faq/ps_hangs.mdwn index 46c970b9..b5e35420 100644 --- a/hurd/running/debian/faq/ps_hangs.mdwn +++ b/hurd/running/debian/faq/ps_hangs.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] If `ps` hangs, try `ps -M` which might still work. diff --git a/hurd/running/debian/faq/reporting_bugs.mdwn b/hurd/running/debian/faq/reporting_bugs.mdwn index 631f170c..40781ab0 100644 --- a/hurd/running/debian/faq/reporting_bugs.mdwn +++ b/hurd/running/debian/faq/reporting_bugs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Please try to reproduce bugs which are not obviously Hurd-specific on Debian GNU/Linux and then file them there. diff --git a/hurd/running/debian/faq/sata_disk_drives.mdwn b/hurd/running/debian/faq/sata_disk_drives.mdwn index 139ddd7f..dad10cb9 100644 --- a/hurd/running/debian/faq/sata_disk_drives.mdwn +++ b/hurd/running/debian/faq/sata_disk_drives.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] GNU Mach does not support SATA disk drives (/dev/sda etc. in GNU/Linux) natively, so using device:sd0s1 will not work, sd* devices are for SCSI drives only. The only way to get those drives to work is to put them into compatibility mode in the BIOS, if such an option exists. GNU Mach will then recognize them as hda etc. diff --git a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn index 8305cd79..517d59dc 100644 --- a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn +++ b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Privilege seperation does not work with Hurd currently. You need to explicitely set `PrivilegeSeparation` to `no` in `/etc/ssh/sshd_options`, just commenting out diff --git a/hurd/running/debian/faq/xserver-common.mdwn b/hurd/running/debian/faq/xserver-common.mdwn index bb80a815..09fbc902 100644 --- a/hurd/running/debian/faq/xserver-common.mdwn +++ b/hurd/running/debian/faq/xserver-common.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] You need to run `dpkg-reconfigure xserver-common` and select `Anybody` for starting X as there is no way to detect console users currently. diff --git a/hurd/running/debian/patch_submission.mdwn b/hurd/running/debian/patch_submission.mdwn index b2c938f0..66348dd9 100644 --- a/hurd/running/debian/patch_submission.mdwn +++ b/hurd/running/debian/patch_submission.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] If you fixed a Debian package which *FTBFS* (fails to build from source), you should submit the patch so that all users can profit from your work. diff --git a/hurd/running/debian/porting.mdwn b/hurd/running/debian/porting.mdwn index 546f325f..debe206b 100644 --- a/hurd/running/debian/porting.mdwn +++ b/hurd/running/debian/porting.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Debian packages that need porting"]] diff --git a/hurd/running/debian/porting/adduser.mdwn b/hurd/running/debian/porting/adduser.mdwn index b4413526..72ed6dbf 100644 --- a/hurd/running/debian/porting/adduser.mdwn +++ b/hurd/running/debian/porting/adduser.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `adduser` does work as expected, but what are these error messages? diff --git a/hurd/running/debian/porting/gcc.mdwn b/hurd/running/debian/porting/gcc.mdwn index 9f20193f..24fb6ec4 100644 --- a/hurd/running/debian/porting/gcc.mdwn +++ b/hurd/running/debian/porting/gcc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] For GCC trunk: diff --git a/hurd/running/debian/porting/gcc/c++.mdwn b/hurd/running/debian/porting/gcc/c++.mdwn index 41566aa8..c8d67b29 100644 --- a/hurd/running/debian/porting/gcc/c++.mdwn +++ b/hurd/running/debian/porting/gcc/c++.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!tag fixed_in_debian]] diff --git a/hurd/running/debian/porting/gcc/libmudflap.mdwn b/hurd/running/debian/porting/gcc/libmudflap.mdwn index 87d2061f..994b7782 100644 --- a/hurd/running/debian/porting/gcc/libmudflap.mdwn +++ b/hurd/running/debian/porting/gcc/libmudflap.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Single-threaded use appears to work: diff --git a/hurd/running/debian/porting/git-core-2.mdwn b/hurd/running/debian/porting/git-core-2.mdwn index f5929548..837608f5 100644 --- a/hurd/running/debian/porting/git-core-2.mdwn +++ b/hurd/running/debian/porting/git-core-2.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] On the otherwise-idle flubber: diff --git a/hurd/running/debian/porting/git-core.mdwn b/hurd/running/debian/porting/git-core.mdwn index f7dc450b..9e26d273 100644 --- a/hurd/running/debian/porting/git-core.mdwn +++ b/hurd/running/debian/porting/git-core.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Depends on [[libdbd-sqlite3-perl]]. diff --git a/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn b/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn index b2d3af69..2e6e7134 100644 --- a/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn +++ b/hurd/running/debian/porting/libdbd-sqlite3-perl.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Does build, but has test-suite problems: diff --git a/hurd/running/debian/porting/pth.mdwn b/hurd/running/debian/porting/pth.mdwn index 66564c25..8ddabb24 100644 --- a/hurd/running/debian/porting/pth.mdwn +++ b/hurd/running/debian/porting/pth.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] seems pth still doesn't work Doesn't build or doesn't work? diff --git a/hurd/running/debian/porting/runit.mdwn b/hurd/running/debian/porting/runit.mdwn index 0605f48e..865c3b17 100644 --- a/hurd/running/debian/porting/runit.mdwn +++ b/hurd/running/debian/porting/runit.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The `runit` package doesn't work, even its test suite doesn't finish. diff --git a/hurd/running/debian/porting/socat.mdwn b/hurd/running/debian/porting/socat.mdwn index 6d3b572a..280e75e1 100644 --- a/hurd/running/debian/porting/socat.mdwn +++ b/hurd/running/debian/porting/socat.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `socat` needs porting. Some work has already been done in 2007, see or contact diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn index f133ea1d..2cdb8e27 100644 --- a/hurd/running/gnu/create_an_image.mdwn +++ b/hurd/running/gnu/create_an_image.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Creating a bootable qemu image from a root filesystem and bootloader diff --git a/hurd/running/gnu/setup.mdwn b/hurd/running/gnu/setup.mdwn index 180b5320..57a19054 100644 --- a/hurd/running/gnu/setup.mdwn +++ b/hurd/running/gnu/setup.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Setup is very easy (You need a GNU/Linux system to install GNU, we are developing an installer for GNU and if you want to help us join us on [[http://lists.gnu.org/mailman/listinfo/gnu-system-discuss][gnu-system-discuss]]), just follow these steps ... diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn index 89fe0e52..bb8ff693 100644 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Mission diff --git a/hurd/running/qemu/microsoft_windows.mdwn b/hurd/running/qemu/microsoft_windows.mdwn index 605d43e8..832b4bef 100644 --- a/hurd/running/qemu/microsoft_windows.mdwn +++ b/hurd/running/qemu/microsoft_windows.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Welcome, This document is for getting you started in a few minutes. diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn index f896aa2e..71daa576 100644 --- a/hurd/running/qemu/networking.mdwn +++ b/hurd/running/qemu/networking.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## User mode network diff --git a/hurd/running/qemu/networking/sharing_files.mdwn b/hurd/running/qemu/networking/sharing_files.mdwn index 77485569..5bdec5f1 100644 --- a/hurd/running/qemu/networking/sharing_files.mdwn +++ b/hurd/running/qemu/networking/sharing_files.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # SCP diff --git a/hurd/running/vmware.mdwn b/hurd/running/vmware.mdwn index d0930bf0..1f99e247 100644 --- a/hurd/running/vmware.mdwn +++ b/hurd/running/vmware.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Installation diff --git a/hurd/running/vmware/discussion.mdwn b/hurd/running/vmware/discussion.mdwn index b61efc84..2db08654 100644 --- a/hurd/running/vmware/discussion.mdwn +++ b/hurd/running/vmware/discussion.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] I find that this is all quite quick to try and that I can run through the ./native-install and reboot cycle twice OK. However, at that point the diff --git a/hurd/settrans.mdwn b/hurd/settrans.mdwn index 008c73c5..5b381090 100644 --- a/hurd/settrans.mdwn +++ b/hurd/settrans.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The `settrans` command is used to attach a [[translator]] (server) to a given [[file_system_node|virtual_file_system]]. diff --git a/hurd/status.mdwn b/hurd/status.mdwn index 84d16d3b..1122b703 100644 --- a/hurd/status.mdwn +++ b/hurd/status.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The Hurd, together with the GNU Mach microkernel, the GNU C Library and the other GNU and non-GNU programs in the GNU system, provide a diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 6cb260d9..5b132604 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A sub-Hurd is like a [[neighbor_Hurd|neighborhurd]], however, makes use of some resources provided by another Hurd. For instance, backing store and the diff --git a/hurd/subhurd/running_a_subhurd.mdwn b/hurd/subhurd/running_a_subhurd.mdwn index 4b98f8a2..f337108e 100644 --- a/hurd/subhurd/running_a_subhurd.mdwn +++ b/hurd/subhurd/running_a_subhurd.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Running a Subhurd"]] diff --git a/hurd/toolchain.mdwn b/hurd/toolchain.mdwn index bc7048be..8b852089 100644 --- a/hurd/toolchain.mdwn +++ b/hurd/toolchain.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[binutils]] * [[GCC]] diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn index e1597483..8f2f07b4 100644 --- a/hurd/translator.mdwn +++ b/hurd/translator.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A translator is simply a normal program acting as an object server and participating in the Hurd's diff --git a/hurd/translator/auth.mdwn b/hurd/translator/auth.mdwn index de47016e..d9e70ec2 100644 --- a/hurd/translator/auth.mdwn +++ b/hurd/translator/auth.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[*The_Authentication_Server*|documentation/auth]], the transcript of a talk about the details of the authentication mechanisms in the Hurd by Wolfgang diff --git a/hurd/translator/cvsfs.mdwn b/hurd/translator/cvsfs.mdwn index f4223b93..f5f1a9e0 100644 --- a/hurd/translator/cvsfs.mdwn +++ b/hurd/translator/cvsfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Setting up cvsfs on GNU/Hurd - A step by step process diff --git a/hurd/translator/devfs.mdwn b/hurd/translator/devfs.mdwn index 1f8fcf53..27df23aa 100644 --- a/hurd/translator/devfs.mdwn +++ b/hurd/translator/devfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `devfs` is a translator sitting on `/dev` and providing what is to be provided in there in a dynamic fashion -- as compared to static passive translator diff --git a/hurd/translator/emailfs.mdwn b/hurd/translator/emailfs.mdwn index a54ff634..80e2b150 100644 --- a/hurd/translator/emailfs.mdwn +++ b/hurd/translator/emailfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # How cool it would be if the email becomes similar to snail mail? diff --git a/hurd/translator/examples.mdwn b/hurd/translator/examples.mdwn index 5fccfd37..6319df77 100644 --- a/hurd/translator/examples.mdwn +++ b/hurd/translator/examples.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Setting up translators - HowTo diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn index e226cea2..441fb00f 100644 --- a/hurd/translator/ext2fs.mdwn +++ b/hurd/translator/ext2fs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The `ext2fs` translator from the upstream Hurd code base can only handle file systems with sizes of less than roughly 2 GiB. diff --git a/hurd/translator/fatfs.mdwn b/hurd/translator/fatfs.mdwn index 733778b2..006fac0b 100644 --- a/hurd/translator/fatfs.mdwn +++ b/hurd/translator/fatfs.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The current `fatfs` translator is read-only, and it has a severe bug: [[!GNU_Savannah_bug 25961]]. diff --git a/hurd/translator/magic.mdwn b/hurd/translator/magic.mdwn index 4d4b02b1..06ee798b 100644 --- a/hurd/translator/magic.mdwn +++ b/hurd/translator/magic.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The magic translator provides `/dev/fd`. diff --git a/hurd/translator/mboxfs.mdwn b/hurd/translator/mboxfs.mdwn index e1c27bf0..e357294f 100644 --- a/hurd/translator/mboxfs.mdwn +++ b/hurd/translator/mboxfs.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] diff --git a/hurd/translator/pfinet.mdwn b/hurd/translator/pfinet.mdwn index 9cafcf69..cbe50b48 100644 --- a/hurd/translator/pfinet.mdwn +++ b/hurd/translator/pfinet.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] To configure Internet connectivity, the `pfinet` (*Protocol Family Internet*) [[translator]] must be configured. This is done using the diff --git a/hurd/translator/pfinet/implementation.mdwn b/hurd/translator/pfinet/implementation.mdwn index ce5e6b94..50b5dfc2 100644 --- a/hurd/translator/pfinet/implementation.mdwn +++ b/hurd/translator/pfinet/implementation.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The `pfinet` server is a hacked Linux internet implementation with a glue layer translating between the Hurd [[RPC]]s and the middle layer of the Linux diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn index b2601135..996ffd6d 100644 --- a/hurd/translator/pfinet/ipv6.mdwn +++ b/hurd/translator/pfinet/ipv6.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[Stefan_Siegl|stesie]] has added IPv6 support to the pfinet [[translator]]. This was [Savannah task #5470](http://savannah.gnu.org/task/?5470). diff --git a/hurd/translator/pflocal.mdwn b/hurd/translator/pflocal.mdwn index 84074050..dc2434dc 100644 --- a/hurd/translator/pflocal.mdwn +++ b/hurd/translator/pflocal.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The implementation of the `pflocal` server is in the `pflocal` directory, and uses [[`libpipe`|libpipe]] (shared code with the [[named_pipe|fifo]] diff --git a/hurd/translator/procfs.mdwn b/hurd/translator/procfs.mdwn index 2284d8f9..404a6764 100644 --- a/hurd/translator/procfs.mdwn +++ b/hurd/translator/procfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] diff --git a/hurd/translator/procfs/htop.mdwn b/hurd/translator/procfs/htop.mdwn index bed9045c..ce38b92c 100644 --- a/hurd/translator/procfs/htop.mdwn +++ b/hurd/translator/procfs/htop.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] open("/proc/stat", O_RDONLY) = 3 open("/proc/meminfo", O_RDONLY) = 3 diff --git a/hurd/translator/procfs/killall.mdwn b/hurd/translator/procfs/killall.mdwn index 1f1a3dcc..3d31b51a 100644 --- a/hurd/translator/procfs/killall.mdwn +++ b/hurd/translator/procfs/killall.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] open("/proc/stat", O_RDONLY) = 3 open("/proc/self/stat", O_RDONLY) = 3 diff --git a/hurd/translator/procfs/procps.mdwn b/hurd/translator/procfs/procps.mdwn index 1f1a3dcc..3d31b51a 100644 --- a/hurd/translator/procfs/procps.mdwn +++ b/hurd/translator/procfs/procps.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] open("/proc/stat", O_RDONLY) = 3 open("/proc/self/stat", O_RDONLY) = 3 diff --git a/hurd/translator/procfs/top.mdwn b/hurd/translator/procfs/top.mdwn index a0d6a513..2cba78ad 100644 --- a/hurd/translator/procfs/top.mdwn +++ b/hurd/translator/procfs/top.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] open("/proc/stat", O_RDONLY) = 3 open("/proc/sys/kernel/pid_max", O_RDONLY) = 3 diff --git a/hurd/translator/storeio.mdwn b/hurd/translator/storeio.mdwn index d3ad7c4c..e4482e65 100644 --- a/hurd/translator/storeio.mdwn +++ b/hurd/translator/storeio.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `storeio` is a *translator for devices and other stores*. diff --git a/hurd/translator/stowfs.mdwn b/hurd/translator/stowfs.mdwn index 31a73b13..9c88f1a3 100644 --- a/hurd/translator/stowfs.mdwn +++ b/hurd/translator/stowfs.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=unionfs#stowfs]] diff --git a/hurd/translator/tmpfs.mdwn b/hurd/translator/tmpfs.mdwn index 49f02ae8..abd47c96 100644 --- a/hurd/translator/tmpfs.mdwn +++ b/hurd/translator/tmpfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `tmpfs` is a file system server for temporary data storage without using a real (permanent) [[backing_store]]. diff --git a/hurd/translator/tmpfs/notes_bing.mdwn b/hurd/translator/tmpfs/notes_bing.mdwn index 81d2f362..b36fc1aa 100644 --- a/hurd/translator/tmpfs/notes_bing.mdwn +++ b/hurd/translator/tmpfs/notes_bing.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] 1. to run tmpfs as a regular user, /servers/default-pager must be executable by that user. by default it seems to be set to read/write. diff --git a/hurd/translator/tmpfs/notes_various.mdwn b/hurd/translator/tmpfs/notes_various.mdwn index 72fa0765..3ec649e5 100644 --- a/hurd/translator/tmpfs/notes_various.mdwn +++ b/hurd/translator/tmpfs/notes_various.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] hde: what's the status on tmpfs? Broke diff --git a/hurd/translator/unionfs.mdwn b/hurd/translator/unionfs.mdwn index 28c9ff22..8a29d0f7 100644 --- a/hurd/translator/unionfs.mdwn +++ b/hurd/translator/unionfs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] diff --git a/hurd/translator/wishlist_1.mdwn b/hurd/translator/wishlist_1.mdwn index fa0f47cd..36290883 100644 --- a/hurd/translator/wishlist_1.mdwn +++ b/hurd/translator/wishlist_1.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[devfs]] diff --git a/hurd/translator/writing/example.mdwn b/hurd/translator/writing/example.mdwn index 2b75d63a..0a3be4df 100644 --- a/hurd/translator/writing/example.mdwn +++ b/hurd/translator/writing/example.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Data User-Server Translator Example diff --git a/hurd/translator/xmlfs.mdwn b/hurd/translator/xmlfs.mdwn index aa709839..769c43ce 100644 --- a/hurd/translator/xmlfs.mdwn +++ b/hurd/translator/xmlfs.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] diff --git a/hurd/virtual_file_system.mdwn b/hurd/virtual_file_system.mdwn index 738010cc..1e2f68fb 100644 --- a/hurd/virtual_file_system.mdwn +++ b/hurd/virtual_file_system.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Path names are resolved using a distributed protocol. No single entity is responsible for the resolution of diff --git a/hurd/virtualization.mdwn b/hurd/virtualization.mdwn index 3c6f19ea..42f83f77 100644 --- a/hurd/virtualization.mdwn +++ b/hurd/virtualization.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Olaf Buddenhagen has written a text about how [[/virtualization]] is applicable within Hurd systems: diff --git a/hurd/what_is_the_gnu_hurd.mdwn b/hurd/what_is_the_gnu_hurd.mdwn index 8a64d093..0b8f7ef6 100644 --- a/hurd/what_is_the_gnu_hurd.mdwn +++ b/hurd/what_is_the_gnu_hurd.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="What Is the GNU Hurd?"]] diff --git a/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn b/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn index cb9beaa9..5905a19b 100644 --- a/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn +++ b/hurd/what_is_the_gnu_hurd/gramatically_speaking.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Grammatically speaking..."]] diff --git a/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn b/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn index 5e175592..51857e21 100644 --- a/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn +++ b/hurd/what_is_the_gnu_hurd/origin_of_the_name.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Origin of the Name"]] diff --git a/ibac.mdwn b/ibac.mdwn index b8d2606c..c1d46ba8 100644 --- a/ibac.mdwn +++ b/ibac.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] IBAC stands for identity-based access control. In this access control scheme, access to a resource diff --git a/idl.mdwn b/idl.mdwn index 2fa6f081..db58f789 100644 --- a/idl.mdwn +++ b/idl.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] An IDL is an interface definition language. The most well-known is CORBA. An IDL compiler takes a specification and generates stubs diff --git a/index.mdwn b/index.mdwn index 5481effe..960300c8 100644 --- a/index.mdwn +++ b/index.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] **What Is the GNU Hurd?** The GNU Hurd is the GNU project's replacement for the Unix kernel. @@ -59,7 +59,7 @@ Read about ways to contribute [[in_more_detail|contributing]]. There are a couple of different [[Hurd_FAQs|hurd/FAQ]]. There are a number of [[IRC_channels|IRC]] and several -different [[mailing_lists]] with searchable archives. +different [[mailing lists]] with searchable archives. Before asking a question on a mailing list or on IRC, first, please try to answer your own question using a search engine and reading the introductory @@ -90,7 +90,7 @@ systems are currently mostly based on the [[Debian_GNU/Hurd|hurd/running/debian] sponsored by the [Debian project](http://www.debian.org/). Community resources for related projects focus around these pages, -, the [[mailing_lists]] and the [[IRC_channels|IRC]]. +, the [[mailing lists]] and the [[IRC_channels|IRC]]. If you want to see the current discussions in the Hurd project, please have a look at the [bug-hurd mailinglist archives](http://lists.gnu.org/pipermail/bug-hurd/). diff --git a/index/discussion.mdwn b/index/discussion.mdwn index 2dc542c5..f369ed35 100644 --- a/index/discussion.mdwn +++ b/index/discussion.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # TODO diff --git a/ipc.mdwn b/ipc.mdwn index 108bb395..2f9cef2e 100644 --- a/ipc.mdwn +++ b/ipc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] IPC stands for interprocess communication. diff --git a/irc.mdwn b/irc.mdwn index a53113f7..9d73311d 100644 --- a/irc.mdwn +++ b/irc.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="IRC"]] diff --git a/isolation.mdwn b/isolation.mdwn index de3df43e..638085e6 100644 --- a/isolation.mdwn +++ b/isolation.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] When two [[principal]]s cannot affect each other, they are said to be isolated from one another. Strictly speaking, if two principals diff --git a/license.mdwn b/license.mdwn index 8fa57c98..0f7bf9bd 100644 --- a/license.mdwn +++ b/license.mdwn @@ -3,4 +3,4 @@ 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]]."]] +included in the section entitled [[GNU Free Documentation License|/fdl]]."]] diff --git a/liedtke.mdwn b/liedtke.mdwn index bf8c5dc0..8a204a32 100644 --- a/liedtke.mdwn +++ b/liedtke.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] Liedtke is the father of [[microkernel/L4]]. diff --git a/mailing_lists.mdwn b/mailing_lists.mdwn index 58f0017e..d64582b8 100644 --- a/mailing_lists.mdwn +++ b/mailing_lists.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # On Posting diff --git a/mailing_lists/bug-hurd.mdwn b/mailing_lists/bug-hurd.mdwn index 66f49925..ee803d7d 100644 --- a/mailing_lists/bug-hurd.mdwn +++ b/mailing_lists/bug-hurd.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#bug-hurd]] diff --git a/mailing_lists/debian-hurd.mdwn b/mailing_lists/debian-hurd.mdwn index 1cef9017..735e321b 100644 --- a/mailing_lists/debian-hurd.mdwn +++ b/mailing_lists/debian-hurd.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#debian-hurd]] diff --git a/mailing_lists/gnu-system-discuss.mdwn b/mailing_lists/gnu-system-discuss.mdwn index 4d4ed429..d966e172 100644 --- a/mailing_lists/gnu-system-discuss.mdwn +++ b/mailing_lists/gnu-system-discuss.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#gnu-system-discuss]] diff --git a/mailing_lists/help-hurd.mdwn b/mailing_lists/help-hurd.mdwn index 65eb8191..7e283561 100644 --- a/mailing_lists/help-hurd.mdwn +++ b/mailing_lists/help-hurd.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#help-hurd]] diff --git a/mailing_lists/hurd-devel-readers.mdwn b/mailing_lists/hurd-devel-readers.mdwn index 4c8135fa..0476c501 100644 --- a/mailing_lists/hurd-devel-readers.mdwn +++ b/mailing_lists/hurd-devel-readers.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#hurd-devel-readers]] diff --git a/mailing_lists/hurd-devel.mdwn b/mailing_lists/hurd-devel.mdwn index c0805b53..26ca1c33 100644 --- a/mailing_lists/hurd-devel.mdwn +++ b/mailing_lists/hurd-devel.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#hurd-devel]] diff --git a/mailing_lists/l4-hurd.mdwn b/mailing_lists/l4-hurd.mdwn index 8c2527f0..493c38b6 100644 --- a/mailing_lists/l4-hurd.mdwn +++ b/mailing_lists/l4-hurd.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#l4-hurd]] diff --git a/mailing_lists/unmoderated.mdwn b/mailing_lists/unmoderated.mdwn index afd2fe21..4bef130e 100644 --- a/mailing_lists/unmoderated.mdwn +++ b/mailing_lists/unmoderated.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] In fact the lists *are* moderated for users that post from not-subscribed email addresses. However, this moderation should be transparent to the poster, you diff --git a/mailing_lists/web-hurd.mdwn b/mailing_lists/web-hurd.mdwn index 2e09244f..f449205f 100644 --- a/mailing_lists/web-hurd.mdwn +++ b/mailing_lists/web-hurd.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta redir=mailing_lists#web-hurd]] diff --git a/mechanism.mdwn b/mechanism.mdwn index 222fcd14..dddb234b 100644 --- a/mechanism.mdwn +++ b/mechanism.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The Collaborative International Dictionary of English v.0.48 defines a mechanism as: diff --git a/microkernel.mdwn b/microkernel.mdwn index 4a067ba1..e2d70c01 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) that a microkernel attempts to minimize the mandatory part of the operating diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn index 4fb75103..a6c4f1f8 100644 --- a/microkernel/faq.mdwn +++ b/microkernel/faq.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Microkernel FAQ"]] diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn index e42c4887..b16faa92 100644 --- a/microkernel/faq/multiserver_microkernel.mdwn +++ b/microkernel/faq/multiserver_microkernel.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="What is a Multiserver Microkernel?"]] diff --git a/microkernel/for_beginners.mdwn b/microkernel/for_beginners.mdwn index a901e827..ad50425e 100644 --- a/microkernel/for_beginners.mdwn +++ b/microkernel/for_beginners.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Concepts diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index f2a39f1c..3b12bfac 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] - [Meet Mach](http://www.stepwise.com/Articles/Technical/MeetMach.html), a summary of Mach's history and main concepts. diff --git a/microkernel/mach/external_pager_mechanism.mdwn b/microkernel/mach/external_pager_mechanism.mdwn index 40bd3d4a..b175d1cc 100644 --- a/microkernel/mach/external_pager_mechanism.mdwn +++ b/microkernel/mach/external_pager_mechanism.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Mach provides a so-called external pager [[mechanism]]. This mechanism serves to separate *managing memory* from *managing diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index abd53116..8c42d1e8 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] GNU Mach is the microkernel that the [[GNU_Hurd|hurd]] system is based on. diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn index bd3eb115..d33ef25a 100644 --- a/microkernel/mach/gnumach/boot_trace.mdwn +++ b/microkernel/mach/gnumach/boot_trace.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] `if NCPUS > 1` stuff is not being considered so far. diff --git a/microkernel/mach/gnumach/building/example.mdwn b/microkernel/mach/gnumach/building/example.mdwn index 25c8e1cc..7db98547 100644 --- a/microkernel/mach/gnumach/building/example.mdwn +++ b/microkernel/mach/gnumach/building/example.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] ## Compiling GNU Mach microkernel diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 0867cbce..38cc7911 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Mach has a built-in kernel debugger. [Manual](http://www.gnu.org/software/hurd/gnumach-doc/Kernel-Debugger.html). diff --git a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn index ae3d0ee1..2152c079 100644 --- a/microkernel/mach/gnumach/hardware_compatibility_list.mdwn +++ b/microkernel/mach/gnumach/hardware_compatibility_list.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # CPU Architecture diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index 4323ac4b..2f601199 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Open Issues"]] diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn index 07c71568..96028896 100644 --- a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn +++ b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[Mach]] interfaces do not allow for proper resource accounting, when a server allocates resources on behalf of a client. diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index b25fbe60..a29b8651 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * x86. This is the main port. * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index 7391ea2e..a4c27c6a 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!toc]] diff --git a/microkernel/mach/gnumach/ports/xen/internals.mdwn b/microkernel/mach/gnumach/ports/xen/internals.mdwn index 8e46472d..eae9d9a8 100644 --- a/microkernel/mach/gnumach/ports/xen/internals.mdwn +++ b/microkernel/mach/gnumach/ports/xen/internals.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The port does use Xen's para-virtualized interface for device (ide, network, etc.) access. diff --git a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn index f3b0d205..52e6db87 100644 --- a/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn +++ b/microkernel/mach/gnumach/ports/xen/networking_configuration.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!toc]] diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index 8ef71e30..bd13802c 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This page is a place to keep track of ideas about things that may be improved in GNU Mach, so that it'll evolve to a reliable microkernel for The Hurd, both @@ -15,7 +15,7 @@ in terms of stability and performance. If you find anything missing here, please feel free to add a entry with a short description. If you want to help with any of the task (thanks!), please send a mail to -*[[mailing_lists/bug-hurd]]* stating what task you wish to work on, +*[[mailing lists/bug-hurd]]* stating what task you wish to work on, so that no duplicate efforts end up. # Active Branches diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn index 0038f00e..e865e61a 100644 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # Restructure the tree in a sane way diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn index 43e65a2b..ef1b4909 100644 --- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn +++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * diff --git a/microkernel/mach/gnumach/reference_manual.mdwn b/microkernel/mach/gnumach/reference_manual.mdwn index dab6423d..95d11517 100644 --- a/microkernel/mach/gnumach/reference_manual.mdwn +++ b/microkernel/mach/gnumach/reference_manual.mdwn @@ -7,7 +7,7 @@ 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 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 diff --git a/microkernel/mach/ipc.mdwn b/microkernel/mach/ipc.mdwn index 010b51c9..aaf3ba23 100644 --- a/microkernel/mach/ipc.mdwn +++ b/microkernel/mach/ipc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[General_information|/ipc]] about IPC. diff --git a/microkernel/mach/ipc/sequence_numbering.mdwn b/microkernel/mach/ipc/sequence_numbering.mdwn index ea5cf5fe..eb94d662 100644 --- a/microkernel/mach/ipc/sequence_numbering.mdwn +++ b/microkernel/mach/ipc/sequence_numbering.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Mach's [[IPC]] mechanism allows for getting access to a message's sequence number. diff --git a/microkernel/mach/mig.mdwn b/microkernel/mach/mig.mdwn index 2bf81d59..4275a4b4 100644 --- a/microkernel/mach/mig.mdwn +++ b/microkernel/mach/mig.mdwn @@ -7,7 +7,7 @@ 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 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 diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index be0796e8..82d51a72 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This is a small collection of links to external documents describing the *Mach Interface Generator* used by GNU Mach. diff --git a/microkernel/mach/mig/documentation/dealloc.mdwn b/microkernel/mach/mig/documentation/dealloc.mdwn index 42f06613..b627b532 100644 --- a/microkernel/mach/mig/documentation/dealloc.mdwn +++ b/microkernel/mach/mig/documentation/dealloc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The [[GNU_Mach_Reference_Manual|gnumach/reference_manual]] describes the `dealloc` flag in [Chapter 4.2.4, diff --git a/microkernel/mach/mig/documentation/servercopy.mdwn b/microkernel/mach/mig/documentation/servercopy.mdwn index 00edf0f3..8abf9b07 100644 --- a/microkernel/mach/mig/documentation/servercopy.mdwn +++ b/microkernel/mach/mig/documentation/servercopy.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] For IN args. If set it... diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn index b2a41bac..03ef0967 100644 --- a/microkernel/mach/mig/gnu_mig.mdwn +++ b/microkernel/mach/mig/gnu_mig.mdwn @@ -7,7 +7,7 @@ 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 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 diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn index ad440b40..33e6429a 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Open Issues"]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn index 27de1015..daace92e 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] E.g., both `/usr/include/hurd/process.h` and `/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion diff --git a/microkernel/mach/port.mdwn b/microkernel/mach/port.mdwn index b3568c29..af4a0c8d 100644 --- a/microkernel/mach/port.mdwn +++ b/microkernel/mach/port.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Mach ports are [[capabilities|capability]]. diff --git a/microkernel/mach/rpc.mdwn b/microkernel/mach/rpc.mdwn index 5508ea3c..72acfaa0 100644 --- a/microkernel/mach/rpc.mdwn +++ b/microkernel/mach/rpc.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[General_information|/rpc]] about RPC. diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 95009142..d4edc929 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] *viengoos* is a new kernel currently being designed and written by Neal Walfield. diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index b34188e2..536c21fa 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Check out Viengoos and switch to the viengoos-on-bare-metal branch (all development is currently done on this branch and it will diff --git a/microkernel/viengoos/documentation.mdwn b/microkernel/viengoos/documentation.mdwn index ccce208b..52ff7a48 100644 --- a/microkernel/viengoos/documentation.mdwn +++ b/microkernel/viengoos/documentation.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The most up-to-date documentation is in the source code itself, see in particular the header files in the hurd directory. diff --git a/microkernel/viengoos/hardware.mdwn b/microkernel/viengoos/hardware.mdwn index e5a2ddf5..aff70604 100644 --- a/microkernel/viengoos/hardware.mdwn +++ b/microkernel/viengoos/hardware.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] I boot over the network using PXE. diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index cbe39607..27dcc3e2 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!tag open_issue_viengoos]] diff --git a/microkernel/viengoos/serial_port.mdwn b/microkernel/viengoos/serial_port.mdwn index 01dd4050..14efcb9f 100644 --- a/microkernel/viengoos/serial_port.mdwn +++ b/microkernel/viengoos/serial_port.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Viengoos can be configured to send output to the serial port (in fact, this is the only configuration that I use). To talk to the serial diff --git a/naming_context.mdwn b/naming_context.mdwn index 28b2fabd..3a0751c0 100644 --- a/naming_context.mdwn +++ b/naming_context.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Names are bindings to objects, however, to find an object given a name, the relation must be looked up in a diff --git a/news.mdwn b/news.mdwn index c5c0a851..4511047c 100644 --- a/news.mdwn +++ b/news.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!inline pages="news/* and !*/discussion" diff --git a/news/2002-01-13.mdwn b/news/2002-01-13.mdwn index 06b62334..920c2593 100644 --- a/news/2002-01-13.mdwn +++ b/news/2002-01-13.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] An interview diff --git a/news/2002-01-19.mdwn b/news/2002-01-19.mdwn index 18fe6aab..c6923220 100644 --- a/news/2002-01-19.mdwn +++ b/news/2002-01-19.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The Toronto Hurd User Group meets: The University of Waterloo Computer Science Club will be hosting a talk on the Hurd and the diff --git a/news/2002-02-18.mdwn b/news/2002-02-18.mdwn index b34c654a..e550a8f6 100644 --- a/news/2002-02-18.mdwn +++ b/news/2002-02-18.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Pro-Linux has published a GNU/Hurd diff --git a/news/2002-03-03.mdwn b/news/2002-03-03.mdwn index 9a66a2f5..8b60ed9b 100644 --- a/news/2002-03-03.mdwn +++ b/news/2002-03-03.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] There is a new mailing list called diff --git a/news/2002-03-08.mdwn b/news/2002-03-08.mdwn index c107dcfc..f64f04f1 100644 --- a/news/2002-03-08.mdwn +++ b/news/2002-03-08.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] We are pleased to announce version 1.3 of the GNU distribution of the Mach 3.0 interface generator `MIG'. It may be found in the file diff --git a/news/2002-03-23.mdwn b/news/2002-03-23.mdwn index 1936ca05..f3c12633 100644 --- a/news/2002-03-23.mdwn +++ b/news/2002-03-23.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Added the [[hurd/Hurd_Hacking_Guide]] to the documentation section. Thanks to Wolfgang Jährling for providing this introduction into GNU/Hurd and Mach diff --git a/news/2002-05-05.mdwn b/news/2002-05-05.mdwn index d5db172b..2b38863e 100644 --- a/news/2002-05-05.mdwn +++ b/news/2002-05-05.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] We are currently finishing the transition from a stdio-based GNU C Library (glibc) to a libio-based one. This is the result of about diff --git a/news/2002-05-18.mdwn b/news/2002-05-18.mdwn index e2cb9261..7017e410 100644 --- a/news/2002-05-18.mdwn +++ b/news/2002-05-18.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The "Linux and Unix User Group Heilbronn" (in Germany) is organizing a Debian GNU/Hurd Libre Software Meeting in diff --git a/news/2002-08-16.mdwn b/news/2002-08-16.mdwn index 69f42be4..9e70d686 100644 --- a/news/2002-08-16.mdwn +++ b/news/2002-08-16.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The Hurd sources have stabilized again after a short period in which some of the interfaces were changed to prepare support of long diff --git a/news/2002-10-03.mdwn b/news/2002-10-03.mdwn index 28ab527a..90f4da9f 100644 --- a/news/2002-10-03.mdwn +++ b/news/2002-10-03.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A new article about [[the_authentication_server|hurd/documentation/auth]] has been added to the web pages. It resembles the talk diff --git a/news/2002-10-03_2.mdwn b/news/2002-10-03_2.mdwn index 0dabd3b6..e08e2b3c 100644 --- a/news/2002-10-03_2.mdwn +++ b/news/2002-10-03_2.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Marcus Brinkmann speaks about the GNU Hurd at "Reflections | Projections 2002", the University of Waterloo diff --git a/news/2003-02-14.mdwn b/news/2003-02-14.mdwn index 89473575..2754d737 100644 --- a/news/2003-02-14.mdwn +++ b/news/2003-02-14.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The GNU/Hurd User's Guide is now accessible through the Documentation diff --git a/news/2003-07-02.mdwn b/news/2003-07-02.mdwn index b5433eee..7e9634b7 100644 --- a/news/2003-07-02.mdwn +++ b/news/2003-07-02.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The tarball for Debian GNU/Hurd that Marcus Brinkmann made over the years has been discontinued in favour of Jeff Bailey's diff --git a/news/2003-07-16.mdwn b/news/2003-07-16.mdwn index af8c8b74..da1fc12a 100644 --- a/news/2003-07-16.mdwn +++ b/news/2003-07-16.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] GNU/LinuxTag 2003 is now over and since there was a talk given about the Hurd, a demo GNU/Hurd machine running and the sale of Hurd diff --git a/news/2003-08-21.mdwn b/news/2003-08-21.mdwn index 602ee2ef..fcd2adb8 100644 --- a/news/2003-08-21.mdwn +++ b/news/2003-08-21.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Added a link to Patrick Strasser's the Hurd Source diff --git a/news/2005-01-28.mdwn b/news/2005-01-28.mdwn index 92056b38..3360fd3e 100644 --- a/news/2005-01-28.mdwn +++ b/news/2005-01-28.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Marcus Brinkmann added a small web page describing diff --git a/news/2005-09-20.mdwn b/news/2005-09-20.mdwn index 16424a8c..09e156eb 100644 --- a/news/2005-09-20.mdwn +++ b/news/2005-09-20.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Material from the Operating System topic during the Libre Software diff --git a/news/2006-04-27.mdwn b/news/2006-04-27.mdwn index d50fd272..9f99488a 100644 --- a/news/2006-04-27.mdwn +++ b/news/2006-04-27.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]]

The GNU Hurd project will participate in this year's Google Summer of Code, under the aegis of the GNU project.

@@ -14,7 +14,7 @@ Summer of Code, under the aegis of the GNU project.

The following is a list of items you might want to work on. If you want to modify or extend these tasks or have your own ideas what to work on, please feel invited to contact us on the -[[bug-hurd_mailing_list|mailing_lists/bug-hurd]] or +[[bug-hurd_mailing_list|mailing lists/bug-hurd]] or the [[#hurd_IRC_channel|irc]].

    diff --git a/news/2007-01-07.mdwn b/news/2007-01-07.mdwn index b82ec6e0..530491f2 100644 --- a/news/2007-01-07.mdwn +++ b/news/2007-01-07.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A number of GNU Hurd developers will again (as already in the previous years) meet at the time of the FOSDEM 2007, which will take place from 2007-02-24 to diff --git a/news/2007-01-14.mdwn b/news/2007-01-14.mdwn index 16947757..f99eda87 100644 --- a/news/2007-01-14.mdwn +++ b/news/2007-01-14.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]]

    Neal Walfield and Marcus Brinkmann have written and submitted for publication The GNU Hurd project will participate in this year's Google Summer of Code, under the aegis of the GNU project.

    @@ -14,7 +14,7 @@ Summer of Code, under the aegis of the GNU project.

    The following is a list of items you might want to work on. If you want to modify these task proposals or have your own ideas on what to work, then please don't hesitate to contact us on the -[[bug-hurd_mailing_list|mailing_lists/bug-hurd]] or +[[bug-hurd_mailing_list|mailing lists/bug-hurd]] or the [[#hurd_IRC_channel|irc]].

      diff --git a/news/2007-10-01.mdwn b/news/2007-10-01.mdwn index a95b2631..b35bc337 100644 --- a/news/2007-10-01.mdwn +++ b/news/2007-10-01.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This year the GNU Hurd had again been assigned one slot within the **Google Summer of Code** program, which was assigned to the task **design and implement diff --git a/news/2007-10-12.mdwn b/news/2007-10-12.mdwn index 8d46a07f..ae125149 100644 --- a/news/2007-10-12.mdwn +++ b/news/2007-10-12.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Stefan Siegl added [[support_for_IPv6_networking|hurd/translator/pfinet/ipv6]] to the *pfinet* translator. diff --git a/news/2008-02-11.mdwn b/news/2008-02-11.mdwn index 7b4346b8..0805287c 100644 --- a/news/2008-02-11.mdwn +++ b/news/2008-02-11.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A number of GNU Hurd developers will again (as already in the previous years) meet at the time of the FOSDEM 2008, which will take place from diff --git a/news/2008-03-19.mdwn b/news/2008-03-19.mdwn index 0a2c91e2..02ea4c5f 100644 --- a/news/2008-03-19.mdwn +++ b/news/2008-03-19.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The GNU Hurd project has been accepted as a mentoring organisation for the **Google Summer of Code 2008**! If you are a student and looking for a job diff --git a/news/2008-09-11.mdwn b/news/2008-09-11.mdwn index 85f31317..8dc39924 100644 --- a/news/2008-09-11.mdwn +++ b/news/2008-09-11.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Please see [[the_community/gsoc_page|community/gsoc]] for information about how our **Google Summer of Code 2008 participation** worked out. **Congratulations diff --git a/news/2008-11-14.mdwn b/news/2008-11-14.mdwn index 9cdbdea0..58e035c3 100644 --- a/news/2008-11-14.mdwn +++ b/news/2008-11-14.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[Samuel_Thibault|samuelthibault]] has implemented support for the PAE feature offered by modern x86 processors. This largely faciliates the deployment of diff --git a/news/2008-12-12.mdwn b/news/2008-12-12.mdwn index c55b991e..b2e92ef0 100644 --- a/news/2008-12-12.mdwn +++ b/news/2008-12-12.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Neal Walfield has submitted a paper to [[community/meetings/EuroSys_2009]] describing how resource management diff --git a/news/2009-03-28.mdwn b/news/2009-03-28.mdwn index 72741457..00aebb09 100644 --- a/news/2009-03-28.mdwn +++ b/news/2009-03-28.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The application phase for the **Google Summer of Code 2009** has already started. Please see our [[page_about_the_GSoC|community/gsoc]] for diff --git a/open_issues.mdwn b/open_issues.mdwn index c372abfb..b6771287 100644 --- a/open_issues.mdwn +++ b/open_issues.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Open Issues"]] diff --git a/open_issues/blkrrpart_ioctl.mdwn b/open_issues/blkrrpart_ioctl.mdwn index 81e07f3e..6f6d7cbd 100644 --- a/open_issues/blkrrpart_ioctl.mdwn +++ b/open_issues/blkrrpart_ioctl.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="BLKRRPART IOCTL"]] diff --git a/persistency.mdwn b/persistency.mdwn index 16234c9b..f5347a4e 100644 --- a/persistency.mdwn +++ b/persistency.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A persistent object is an object that survives reboot. On [[Unix]], files and directories are persistent but diff --git a/policy.mdwn b/policy.mdwn index 7412de5f..1bc3c527 100644 --- a/policy.mdwn +++ b/policy.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A policy is a rule that define what may or may not happens, not how it happens. The latter is referred to as [[mechanism]]. diff --git a/principal.mdwn b/principal.mdwn index 47ec3c7f..c9b952ec 100644 --- a/principal.mdwn +++ b/principal.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A principal is an accountable entity. A principal may be a user. On some computer systems, users are represented by their diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn index f504225b..f7b264fb 100644 --- a/public_hurd_boxen.mdwn +++ b/public_hurd_boxen.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Here are some Hurd boxes that users have made available to the public: diff --git a/qemu.mdwn b/qemu.mdwn index c0ed12f0..bfd2f1cb 100644 --- a/qemu.mdwn +++ b/qemu.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] QEMU is free software written by Fabrice Bellard that implements a fast processor [[emulator|emulation]], allowing a user to run one operating system diff --git a/recent_changes.mdwn b/recent_changes.mdwn index e9bd13c4..594a0390 100644 --- a/recent_changes.mdwn +++ b/recent_changes.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Recent Changes"]] diff --git a/rpc.mdwn b/rpc.mdwn index 451dd4d4..9703268f 100644 --- a/rpc.mdwn +++ b/rpc.mdwn @@ -6,6 +6,6 @@ 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 Free Documentation License|/fdl]]."]]"""]] RPC stands for remote procedure call. diff --git a/rules.mdwn b/rules.mdwn index ccc7363e..6f6f9e2f 100644 --- a/rules.mdwn +++ b/rules.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * [[Source_repositories]] * [[Savannah_group]] diff --git a/rules/savannah_group.mdwn b/rules/savannah_group.mdwn index 7de688be..4e2cf357 100644 --- a/rules/savannah_group.mdwn +++ b/rules/savannah_group.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] @@ -17,7 +17,7 @@ There is no need to be a formal member of the GNU Hurd Savannah group in order to be able to contribute to the system. In fact, if we added every single soul that was interested in the Hurd to the Savannah group it'd probably have exploded by now. We have the policy of adding people as soon as they are -beginning to make substantial contributions. Simply use the [[mailing_lists]] +beginning to make substantial contributions. Simply use the [[mailing lists]] for sending your contributions, for asking questions, and so on. Have a look at the page for [[contributing]]. Also be sure to have a look at diff --git a/rules/source_repositories.mdwn b/rules/source_repositories.mdwn index f15d0f3a..2c2092f8 100644 --- a/rules/source_repositories.mdwn +++ b/rules/source_repositories.mdwn @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Git repositories on Savannah, see (search for *hurd*). diff --git a/security.mdwn b/security.mdwn index 4c037982..0e22df00 100644 --- a/security.mdwn +++ b/security.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Alan Karp [identifies][1] 11 security questions: diff --git a/sfi.mdwn b/sfi.mdwn index 67d26105..4b57d7c6 100644 --- a/sfi.mdwn +++ b/sfi.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] SFI stands for Software-Based Fault Isolation. SFI is an [[isolation]] technique described by Wahbe et al. in their 1993 paper [Effcient diff --git a/sidebar.mdwn b/sidebar.mdwn index 89df4b54..446eecf2 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Welcome to... [[!img hurd/logo/boxes-redrawn.png link=/hurd/logo]] ... the GNU Hurd! diff --git a/tcb.mdwn b/tcb.mdwn index 9b117fae..f6018dae 100644 --- a/tcb.mdwn +++ b/tcb.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] TCB stands for trusted computed base. Unqualified, the trusted computing base referrers to the set of components programs diff --git a/trackers.mdwn b/trackers.mdwn index 028117ef..c8fe913e 100644 --- a/trackers.mdwn +++ b/trackers.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] A number of different trackers are available at the [GNU Savannah Hurd Group](http://savannah.gnu.org/projects/hurd). diff --git a/trust.mdwn b/trust.mdwn index f0fe0cb7..2bf0a9ae 100644 --- a/trust.mdwn +++ b/trust.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] The word trust is used in a number of contexts with different technical meanings. Sometimes it is used to confuse, for instance trusted computing is rarely about diff --git a/unix.mdwn b/unix.mdwn index 96c46caf..a927eb64 100644 --- a/unix.mdwn +++ b/unix.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # External diff --git a/unsorted/OskitMach.mdwn b/unsorted/OskitMach.mdwn index b5b92d68..0f7dfa54 100644 --- a/unsorted/OskitMach.mdwn +++ b/unsorted/OskitMach.mdwn @@ -22,7 +22,7 @@ concentrate on completely different microkernels (Coyotos being the current favourite), as well as on improving the original GNU Mach 1.x codebase. (See also [[microkernel/mach/gnumach/projects]].) -The [[mailing_lists]], or the [[IRC]] is, like always, the best source of more +The [[mailing lists]], or the [[IRC]] is, like always, the best source of more current information. There also exist other efforts: diff --git a/unsorted/changelogs.html b/unsorted/changelogs.html index 7689484e..299ef281 100644 --- a/unsorted/changelogs.html +++ b/unsorted/changelogs.html @@ -7,7 +7,7 @@ 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 Free Documentation License|/fdl]]."]]"""]]

      ChangeLogs

      diff --git a/user/flaviocruz.mdwn b/user/flaviocruz.mdwn index 450c2754..f3a67afd 100644 --- a/user/flaviocruz.mdwn +++ b/user/flaviocruz.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] Name: Flávio Cruz diff --git a/user/madhusudancs.mdwn b/user/madhusudancs.mdwn index 382f988a..903b0964 100644 --- a/user/madhusudancs.mdwn +++ b/user/madhusudancs.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="GNU/Linux compatible procfs"]] diff --git a/user/scolobb.mdwn b/user/scolobb.mdwn index 8cf47568..09016edb 100644 --- a/user/scolobb.mdwn +++ b/user/scolobb.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # scolobb diff --git a/user/tschwinge.mdwn b/user/tschwinge.mdwn index 5ffa6fd8..2c75292b 100644 --- a/user/tschwinge.mdwn +++ b/user/tschwinge.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] [[!meta title="Thomas Schwinge"]] diff --git a/user/vincentvikram.mdwn b/user/vincentvikram.mdwn index 8927bd4e..875b6311 100644 --- a/user/vincentvikram.mdwn +++ b/user/vincentvikram.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] * Name: Vikram Vincent * Email: vincentvikram@swatantra.org OR vincentvikram@gmail.com diff --git a/user/zhengda/howto.mdwn b/user/zhengda/howto.mdwn index cea3cf0b..a2664a18 100644 --- a/user/zhengda/howto.mdwn +++ b/user/zhengda/howto.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] This document briefly introduces how to set up the virtual network and connect the subhurd with the main hurd. diff --git a/virtualization.mdwn b/virtualization.mdwn index 325340b0..52131c12 100644 --- a/virtualization.mdwn +++ b/virtualization.mdwn @@ -6,7 +6,7 @@ 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 Free Documentation License|/fdl]]."]]"""]] # External -- cgit v1.2.3 From bf37abe176e1a04dce95eb9cf8dc15554f63469a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 19 May 2009 09:10:59 +0200 Subject: Don't show the open_issues page itself. --- hurd/open_issues.mdwn | 3 ++- microkernel/mach/gnumach/open_issues.mdwn | 2 +- microkernel/mach/mig/gnu_mig/open_issues.mdwn | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/hurd/open_issues.mdwn b/hurd/open_issues.mdwn index 3513c378..83adcce5 100644 --- a/hurd/open_issues.mdwn +++ b/hurd/open_issues.mdwn @@ -13,7 +13,8 @@ is included in the section entitled This is a dumping ground for open issues for the GNU Hurd. [[!inline -pages="(hurd/open_issues/* or tagged(open_issue_hurd)) and !*/discussion" +pages="(hurd/open_issues/* or tagged(open_issue_hurd)) and !open_issues and +!*/discussion" show=0 feeds=no actions=yes diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn index 2f601199..0aa4f4c8 100644 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ b/microkernel/mach/gnumach/open_issues.mdwn @@ -14,7 +14,7 @@ This is a dumping ground for open issues for GNU Mach. [[!inline pages="(microkernel/mach/gnumach/open_issues/* or tagged(open_issue_*mach)) -and !*/discussion" +and !open_issues and !*/discussion" show=0 feeds=no actions=yes diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn index 33e6429a..208712da 100644 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ b/microkernel/mach/mig/gnu_mig/open_issues.mdwn @@ -14,7 +14,7 @@ This is a dumping ground for open issues for GNU MIG. [[!inline pages="(microkernel/mach/mig/gnu_mig/open_issues/* or tagged(open_issue_*mig)) -and !*/discussion" +and !open_issues and !*/discussion" show=0 feeds=no actions=yes -- cgit v1.2.3 From 19d36ab6069b08af9e8c35812ed6d5f95aa13a58 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 19 May 2009 10:59:11 +0200 Subject: MIG issues. --- microkernel/mach/mig/gnu_mig.mdwn | 4 ++-- microkernel/mach/mig/gnu_mig/open_issues.mdwn | 22 ---------------------- .../open_issues/duplicate_inclusion_guards.mdwn | 14 -------------- open_issues/duplicate_inclusion_guards.mdwn | 16 ++++++++++++++++ tag/open_issue_mig.mdwn | 8 +++++++- 5 files changed, 25 insertions(+), 39 deletions(-) delete mode 100644 microkernel/mach/mig/gnu_mig/open_issues.mdwn delete mode 100644 microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn create mode 100644 open_issues/duplicate_inclusion_guards.mdwn (limited to 'microkernel') diff --git a/microkernel/mach/mig/gnu_mig.mdwn b/microkernel/mach/mig/gnu_mig.mdwn index 03ef0967..1bcbd545 100644 --- a/microkernel/mach/mig/gnu_mig.mdwn +++ b/microkernel/mach/mig/gnu_mig.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2001, 2006, 2008 Free Software Foundation, +[[!meta copyright="Copyright © 2001, 2006, 2008, 2009 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -21,4 +21,4 @@ software in the GNU system that uses Mach-based GNU MIG is fully compatible with [[OSF_MIG|mig]]. * [[Building]] - building (and obtaining) GNU MIG - * [[Open_Issues]] + * [[Open Issues|tag/open_issue_mig]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues.mdwn b/microkernel/mach/mig/gnu_mig/open_issues.mdwn deleted file mode 100644 index 208712da..00000000 --- a/microkernel/mach/mig/gnu_mig/open_issues.mdwn +++ /dev/null @@ -1,22 +0,0 @@ -[[!meta copyright="Copyright © 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="Open Issues"]] - -This is a dumping ground for open issues for GNU MIG. - -[[!inline -pages="(microkernel/mach/mig/gnu_mig/open_issues/* or tagged(open_issue_*mig)) -and !open_issues and !*/discussion" -show=0 -feeds=no -actions=yes -rootpage="microkernel/mach/mig/gnu_mig/open_issues" -postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn b/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn deleted file mode 100644 index daace92e..00000000 --- a/microkernel/mach/mig/gnu_mig/open_issues/duplicate_inclusion_guards.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[!meta copyright="Copyright © 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]]."]]"""]] - -E.g., both `/usr/include/hurd/process.h` and -`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion -guard. This leads to problems when both are needed, as is the case in -[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/open_issues/duplicate_inclusion_guards.mdwn b/open_issues/duplicate_inclusion_guards.mdwn new file mode 100644 index 00000000..1bb8fc36 --- /dev/null +++ b/open_issues/duplicate_inclusion_guards.mdwn @@ -0,0 +1,16 @@ +[[!meta copyright="Copyright © 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]]."]]"""]] + +[[!tag open_issue_mig]] + +E.g., both `/usr/include/hurd/process.h` and +`/usr/include/hurd/process_request.h` use `_process_user_` as an inclusion +guard. This leads to problems when both are needed, as is the case in +[[GDB]]'s `gdb/gnu-nat.c`. diff --git a/tag/open_issue_mig.mdwn b/tag/open_issue_mig.mdwn index 13fd5a26..8ac476cc 100644 --- a/tag/open_issue_mig.mdwn +++ b/tag/open_issue_mig.mdwn @@ -10,4 +10,10 @@ License|/fdl]]."]]"""]] [[!meta title=open_issue_mig]] -[[!meta redir=microkernel/mach/mig/gnu_mig/open_issues]] +[[!map pages="tagged(open_issue_mig) and !open_issues and !*/discussion" +show=title]] + +[[!inline +pages="tagged(open_issue_mig) and !open_issues and !*/discussion" +show=0 +feeds=no]] -- cgit v1.2.3 From 9a504117097495928a2a83884bb40438baa2321a Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 19 May 2009 11:15:58 +0200 Subject: Mach issues. --- hurd/history/port_to_l4.mdwn | 2 +- hurd/ng/issues_with_mach.mdwn | 2 +- microkernel/mach/gnumach.mdwn | 2 +- microkernel/mach/gnumach/open_issues.mdwn | 21 --------------------- .../open_issues/resource_management_problems.mdwn | 19 ------------------- microkernel/mach/gnumach/projects.mdwn | 2 +- open_issues/resource_management_problems.mdwn | 21 +++++++++++++++++++++ tag/open_issue_gnumach.mdwn | 8 +++++++- 8 files changed, 32 insertions(+), 45 deletions(-) delete mode 100644 microkernel/mach/gnumach/open_issues.mdwn delete mode 100644 microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn create mode 100644 open_issues/resource_management_problems.mdwn (limited to 'microkernel') diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn index fdaeeffb..ec72def4 100644 --- a/hurd/history/port_to_l4.mdwn +++ b/hurd/history/port_to_l4.mdwn @@ -81,7 +81,7 @@ explains: > Before Marcus and I considered [[microkernel/Coyotos]], we had already > rejected some parts of the Hurd's design. The -> [[microkernel/mach/gnumach/open_issues/resource_management_problems]] were +> [[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 diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn index 9785b08a..9fac498f 100644 --- a/hurd/ng/issues_with_mach.mdwn +++ b/hurd/ng/issues_with_mach.mdwn @@ -8,5 +8,5 @@ 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]]."]]"""]] - * [[microkernel/mach/gnumach/open_issues/Resource_management_problems]] + * [[open issues/Resource Management Problems]] * [[Critique]] diff --git a/microkernel/mach/gnumach.mdwn b/microkernel/mach/gnumach.mdwn index 8c42d1e8..f3d6d5f9 100644 --- a/microkernel/mach/gnumach.mdwn +++ b/microkernel/mach/gnumach.mdwn @@ -77,4 +77,4 @@ GNU/Hurd. * [[Boot_Trace]] * [[Projects]] * [[Rules]] - * [[Open_Issues]] + * [[Open Issues|tag/open_issue_gnumach]] diff --git a/microkernel/mach/gnumach/open_issues.mdwn b/microkernel/mach/gnumach/open_issues.mdwn deleted file mode 100644 index 0aa4f4c8..00000000 --- a/microkernel/mach/gnumach/open_issues.mdwn +++ /dev/null @@ -1,21 +0,0 @@ -[[!meta copyright="Copyright © 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="Open Issues"]] - -This is a dumping ground for open issues for GNU Mach. - -[[!inline -pages="(microkernel/mach/gnumach/open_issues/* or tagged(open_issue_*mach)) -and !open_issues and !*/discussion" -show=0 -feeds=no -actions=yes -rootpage="microkernel/mach/gnumach/open_issues" postformtext="Add a new item titled:"]] diff --git a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn b/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn deleted file mode 100644 index 96028896..00000000 --- a/microkernel/mach/gnumach/open_issues/resource_management_problems.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[!meta copyright="Copyright © 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]]."]]"""]] - -[[Mach]] interfaces do not allow for proper resource accounting, when a server -allocates resources on behalf of a client. - -Mach can't do a good job at resource management, as it doesn't have enough -information how resources are used: which data is important and which is -discardable, for example. - -These issues are what Neal Walfield is working on with his new kernel -[[viengoos]]. diff --git a/microkernel/mach/gnumach/projects.mdwn b/microkernel/mach/gnumach/projects.mdwn index bd13802c..47a2756c 100644 --- a/microkernel/mach/gnumach/projects.mdwn +++ b/microkernel/mach/gnumach/projects.mdwn @@ -33,7 +33,7 @@ so that no duplicate efforts end up. * [[Clean_up_the_code]] - * [[Open_Issues]] + * [[Open Issues|tag/open_issue_gnumach]] * Update the core architecture and drivers diff --git a/open_issues/resource_management_problems.mdwn b/open_issues/resource_management_problems.mdwn new file mode 100644 index 00000000..42515897 --- /dev/null +++ b/open_issues/resource_management_problems.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 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]]."]]"""]] + +[[!tag open_issue_gnumach open_issue_hurd open_issue_viengoos]] + +[[Mach]] interfaces do not allow for proper resource accounting, when a server +allocates resources on behalf of a client. + +Mach can't do a good job at resource management, as it doesn't have enough +information how resources are used: which data is important and which is +discardable, for example. + +These issues are what Neal Walfield is working on with his new kernel +[[viengoos]]. diff --git a/tag/open_issue_gnumach.mdwn b/tag/open_issue_gnumach.mdwn index 39ab4f6b..5a46840d 100644 --- a/tag/open_issue_gnumach.mdwn +++ b/tag/open_issue_gnumach.mdwn @@ -10,4 +10,10 @@ License|/fdl]]."]]"""]] [[!meta title=open_issue_gnumach]] -[[!meta redir=microkernel/mach/gnumach/open_issues]] +[[!map pages="tagged(open_issue_*mach) and !open_issues and !*/discussion" +show=title]] + +[[!inline +pages="tagged(open_issue_*mach) and !open_issues and !*/discussion" +show=0 +feeds=no]] -- cgit v1.2.3 From 21e395bbf30ed6d9d2a2c4b41e2cc69aa1448dd2 Mon Sep 17 00:00:00 2001 From: infinity0 Date: Fri, 22 May 2009 14:23:50 +0000 Subject: correction for making boot image --- microkernel/viengoos/building.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos/building.mdwn b/microkernel/viengoos/building.mdwn index 536c21fa..45111c35 100644 --- a/microkernel/viengoos/building.mdwn +++ b/microkernel/viengoos/building.mdwn @@ -67,7 +67,7 @@ Next, build Grub 2: Create the boot disk: $ cd ../install - $ bin/grub-mkrescue boot.img --configfile=grub.cfg --image-type=floppy --modules='help reboot serial multiboot pc configfile normal boot fat' + $ bin/grub-mkrescue boot.img --configfile="(hd0,1)/grub.cfg" --image-type=floppy --modules='help reboot serial multiboot pc configfile normal boot fat' Now, create /viengoos and link viengoos and hieronymus into that directory: -- cgit v1.2.3 From f2e3d602c3987cb00f044ce9af56beb6a9c32bb0 Mon Sep 17 00:00:00 2001 From: Arne Babenhauserheide Date: Thu, 4 Jun 2009 15:23:24 +0200 Subject: ways to run a GNU/HUrd system: polishing. --- hurd/running.mdwn | 2 ++ index.mdwn | 8 ++++++-- microkernel/mach/gnumach/ports/xen.mdwn | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/hurd/running.mdwn b/hurd/running.mdwn index 95dc024a..470b5f0b 100644 --- a/hurd/running.mdwn +++ b/hurd/running.mdwn @@ -8,6 +8,8 @@ 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]]."]]"""]] +There are several different ways to run a GNU/Hurd system: + * [[Distrib]] - Distributions based on the Hurd * [[microkernel/mach/gnumach/ports/Xen]] - In Xen * [[Live_CD]] diff --git a/index.mdwn b/index.mdwn index 960300c8..35d15ad5 100644 --- a/index.mdwn +++ b/index.mdwn @@ -73,10 +73,14 @@ The most functional distribution of the Hurd is the one provided by Debian. Find more information about it at the [Debian GNU/Hurd website](http://www.debian.org/ports/hurd/hurd-install). -There are [[various_possibilities|hurd/running]] of running a GNU/Hurd system. +There are [[various_possibilities|hurd/running]] of running a GNU/Hurd system. Some are + +* installing a [[GNU/Hurd_distribution|hurd/running/distrib]], +* running it [[in_Xen|microkernel/mach/gnumach/ports/xen]] and +* starting a [[qemu_image|hurd/running/qemu]] or [[LiveCD|hurd/running/live_cd/]]. And these web pages are a living proof of the usability of the Hurd, as they -are rendered on a Debian GNU/Hurd system. +are rendered on a [[Debian_GNU/Hurd|hurd/running/debian]] system. ## Current Status diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index a4c27c6a..c544fd57 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -22,7 +22,7 @@ You can either get binaries at or bu ## GNU/Hurd system -/!\ You need an already installed GNU/Hurd system. +/!\ You need an already installed [[GNU/Hurd_system|hurd/running]]. If you have a free partition, you can fdisk to type 0x83, create a filesystem using: -- cgit v1.2.3 From f448121625e4b1c41f785379d1b651904ad8dcfb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 16 Jun 2009 14:47:03 +0200 Subject: Fix broken QEMU links. --- hurd/running/qemu.mdwn | 4 ++-- microkernel/mach/gnumach/debugging.mdwn | 5 +++-- qemu.mdwn | 5 +++-- 3 files changed, 8 insertions(+), 6 deletions(-) (limited to 'microkernel') diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index a059f3b1..3c1738e9 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -71,7 +71,7 @@ Now take the number of sectors for the beginning of the partition and multiply i ## Having QEMU create *virtual FAT disk images* -[Manual](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC24). +[Manual](http://www.nongnu.org/qemu/qemu-doc.html#SEC24). QEMU has a facility to create FAT file systems on-the-fly: @@ -97,7 +97,7 @@ If you just want to access the internet from within QEMU, you can setup pfinet f # settrans -afgp /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0 # echo "nameserver 10.0.2.3" > /etc/resolv.conf -(See also .) +(See also .) Outgoing internet connections should just work then. diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 38cc7911..21466ccb 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -14,7 +15,7 @@ Mach has a built-in kernel debugger. When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly [use GDB on the running -kernel](http://fabrice.bellard.free.fr/qemu/qemu-doc.html#SEC36). +kernel](http://www.nongnu.org/qemu/qemu-doc.html#SEC36). Alternatively you can use an approach like this one: add the following code diff --git a/qemu.mdwn b/qemu.mdwn index bfd2f1cb..2d6b69c9 100644 --- a/qemu.mdwn +++ b/qemu.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2005, 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -31,6 +32,6 @@ emulation under the [[GPL]]. # External Links - * + * * QEMU Wiki * [Qemu on Windows](http://www.h7.dion.ne.jp/~qemu-win/) -- cgit v1.2.3 From b60c6479a7e24591afa809343d97ab84196859cb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 16 Jun 2009 15:03:53 +0200 Subject: Update links into the QEMU manual. --- hurd/running/qemu.mdwn | 4 ++-- microkernel/mach/gnumach/debugging.mdwn | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index 3c1738e9..48d87b35 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -71,7 +71,7 @@ Now take the number of sectors for the beginning of the partition and multiply i ## Having QEMU create *virtual FAT disk images* -[Manual](http://www.nongnu.org/qemu/qemu-doc.html#SEC24). +[Manual](http://www.nongnu.org/qemu/qemu-doc.html#SEC25). QEMU has a facility to create FAT file systems on-the-fly: @@ -97,7 +97,7 @@ If you just want to access the internet from within QEMU, you can setup pfinet f # settrans -afgp /servers/socket/2 /hurd/pfinet -i eth0 -a 10.0.2.15 -g 10.0.2.2 -m 255.255.255.0 # echo "nameserver 10.0.2.3" > /etc/resolv.conf -(See also .) +(See also .) Outgoing internet connections should just work then. diff --git a/microkernel/mach/gnumach/debugging.mdwn b/microkernel/mach/gnumach/debugging.mdwn index 21466ccb..3a93c6ad 100644 --- a/microkernel/mach/gnumach/debugging.mdwn +++ b/microkernel/mach/gnumach/debugging.mdwn @@ -15,7 +15,7 @@ Mach has a built-in kernel debugger. When you're [[running_a_system_in_QEMU|hurd/running/qemu]] you can directly [use GDB on the running -kernel](http://www.nongnu.org/qemu/qemu-doc.html#SEC36). +kernel](http://www.nongnu.org/qemu/qemu-doc.html#SEC48). Alternatively you can use an approach like this one: add the following code -- cgit v1.2.3 From be6ec0cbbf094924d989d80ddde40d359e7f8ffd Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 18 Jun 2009 15:32:59 +0200 Subject: Move back some pages to their long-year locations, add some redirections, add stable_URL tags. --- history.mdwn | 4 +- hurd-and-linux.html | 49 ++ hurd-l4.mdwn | 2 + hurd-paper.html | 761 ++++++++++++++++ hurd-talk.html | 1062 +++++++++++++++++++++++ hurd.mdwn | 2 +- hurd/documentation.mdwn | 10 +- hurd/documentation/hurd-and-linux.html | 47 - hurd/documentation/hurd-and-linux.mdwn | 11 + hurd/documentation/hurd-paper.html | 760 ---------------- hurd/documentation/hurd-paper.mdwn | 11 + hurd/documentation/hurd-talk.html | 1061 ---------------------- hurd/documentation/hurd-talk.mdwn | 11 + hurd/running/gnu/universal_package_manager.mdwn | 5 +- microkernel/faq/multiserver_microkernel.mdwn | 6 +- 15 files changed, 1922 insertions(+), 1880 deletions(-) create mode 100644 hurd-and-linux.html create mode 100644 hurd-paper.html create mode 100644 hurd-talk.html delete mode 100644 hurd/documentation/hurd-and-linux.html create mode 100644 hurd/documentation/hurd-and-linux.mdwn delete mode 100644 hurd/documentation/hurd-paper.html create mode 100644 hurd/documentation/hurd-paper.mdwn delete mode 100644 hurd/documentation/hurd-talk.html create mode 100644 hurd/documentation/hurd-talk.mdwn (limited to 'microkernel') diff --git a/history.mdwn b/history.mdwn index 927482d9..8f155b54 100644 --- a/history.mdwn +++ b/history.mdwn @@ -9,6 +9,8 @@ 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]] + 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, @@ -49,7 +51,7 @@ into multiple processes. [Gnusletter, Jan. 1991]. RMS explains the relationship between [[the Hurd and -Linux|hurd/documentation/hurd-and-linux]], where he mentions +Linux|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. diff --git a/hurd-and-linux.html b/hurd-and-linux.html new file mode 100644 index 00000000..01b08aa1 --- /dev/null +++ b/hurd-and-linux.html @@ -0,0 +1,49 @@ +[[!meta copyright="Copyright © 1996, 1997, 1998, 2008, 2009 Free Software +Foundation, Inc."]] + +[[!meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[!meta title="The Hurd and Linux"]] + +[[!tag stable_URL]] + +by Richard Stallman. + +

      +People sometimes ask, ``Why did the FSF develop a new free kernel +instead of using Linux?'' It's a reasonable question. The answer, +briefly, is that that is not the question we faced. + +

      +When we started developing the Hurd in 1990, the question facing us +was, ``How can we get a free kernel for the GNU system?'' There was +no free Unix-like kernel then, and we knew of no other plan to write +one. The only way we could expect to have a free kernel was to write +it ourselves. So we started. + +

      +We heard about Linux after its release. At that time, the question +facing us was, ``Should we cancel the Hurd project and use Linux +instead?'' + +

      +We heard that Linux was not at all portable (this may not be true +today, but that's what we heard then). And we heard that Linux was +architecturally on a par with the Unix kernel; our work was leading to +something much more powerful. + +

      +Given the years of work we had already put into the Hurd, we decided +to finish it rather than throw them away. + +

      +If we did face the question that people ask---if Linux were already +available, and we were considering whether to start writing another +kernel---we would not do it. Instead we would choose another project, +something to do a job that no existing free software can do. + +

      +But we did start the Hurd, back then, and now we have made it work. +We hope its superior architecture will make free operating systems +more powerful. diff --git a/hurd-l4.mdwn b/hurd-l4.mdwn index 5ad3c3d4..579c1190 100644 --- a/hurd-l4.mdwn +++ b/hurd-l4.mdwn @@ -8,4 +8,6 @@ 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=history/port_to_l4]] diff --git a/hurd-paper.html b/hurd-paper.html new file mode 100644 index 00000000..880f5fca --- /dev/null +++ b/hurd-paper.html @@ -0,0 +1,761 @@ +[[!meta copyright="Copyright © 1996, 1997, 1998, 2007, 2008, 2009 Free Software +Foundation, Inc."]] + +[[!meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[!meta title="Towards a New Strategy of OS Design, an architectural overview +by Thomas Bushnell, BSG."]] + +[[!tag stable_URL]] + +This article explains why FSF is developing a new operating system named the +Hurd, which will be a foundation of the whole GNU system. +The Hurd is built +on top of CMU's Mach 3.0 kernel and uses Mach's virtual memory management and +message-passing facilities. +The GNU C Library will provide the Unix system +call interface, and will call the Hurd for needed services it can't provide +itself. +The design and implementation of the Hurd is being lead by Michael +Bushnell, with assistance from Richard Stallman, Roland McGrath, +Jan Brittenson, and others. + +

      Part 1: A More Usable Approach to OS Design

      +

      +The fundamental purpose of an operating system (OS) is to enable a variety of +programs to share a single computer efficiently and productively. +This +demands memory protection, preemptively scheduled timesharing, coordinated +access to I/O peripherals, and other services. +In addition, an OS can allow +several users to share a computer. +In this case, efficiency demands services +that protect users from harming each other, enable them to share without +prior arrangement, and mediate access to physical devices. +

      +On today's computer systems, programmers usually implement these goals +through a large program called the kernel. +Since this program must be +accessible to all user programs, it is the natural place to add functionality +to the system. +Since the only model for process interaction is that of +specific, individual services provided by the kernel, no one creates other +places to add functionality. +As time goes by, more and more is added to the +kernel. +

      +A traditional system allows users to add components to a kernel only if they +both understand most of it and have a privileged status within the system. +Testing new components requires a much more painful edit-compile-debug cycle +than testing other programs. +It cannot be done while others are using the +system. +Bugs usually cause fatal system crashes, further disrupting others' +use of the system. +The entire kernel is usually non-pageable. +(There are +systems with pageable kernels, but deciding what can be paged is difficult +and error prone. +Usually the mechanisms are complex, making them difficult +to use even when adding simple extensions.) +

      +Because of these restrictions, functionality which properly belongs +behind +the wall of a traditional kernel is usually left out of systems unless it is +absolutely mandatory. +Many good ideas, best done with an open/read/write +interface cannot be implemented because of the problems inherent in the +monolithic nature of a traditional system. +Further, even among those with +the endurance to implement new ideas, only those who are privileged users of +their computers can do so. +The software copyright system darkens the mire by +preventing unlicensed people from even reading the kernel source. +

      +Some systems have tried to address these difficulties. +Smalltalk-80 and +the Lisp Machine both represented one method of getting around the problem. +System code is not distinguished from user code; all of the system is +accessible to the user and can be changed as need be. +Both systems were +built around languages that facilitated such easy replacement and extension, +and were moderately successful. +But they both were fairly poor at insulating +users and programs from each other, failing one of the principal goals of OS +design. +

      +Most projects that use the Mach 3.0 kernel carry on the hard-to-change +tradition of OS design. +The internal structure is different, but the same +heavy barrier between user and system remains. +The single-servers, while +fairly easy to construct, inherit all the deficiencies of the monolithic +kernels. +

      +A multi-server divides the kernel functionality up into logical blocks with +well-defined interfaces. +Properly done, it is easier to make changes and add +functionality. +So most multi-server projects do somewhat better. +Much more +of the system is pageable. +You can debug the system more easily. +You can +test new system components without interfering with other users. +But the +wall between user and system remains; no user can cross it without special +privilege. +

      +The GNU Hurd, by contrast, is designed to make the area of +system +code as +limited as possible. +Programs are required to communicate only with a few +essential parts of the kernel; the rest of the system is replaceable +dynamically. +Users can use whatever parts of the remainder of the system +they want, and can easily add components themselves for other users to take +advantage of. +No mutual trust need exist in advance for users to use each +other's services, nor does the system become vulnerable by trusting the +services of arbitrary users. +

      +This has been done by identifying those system components which users +must +use in order to communicate with each other. +One of these is responsible for +identifying users' identities and is called the + +authentication server. + +In +order to establish each other's identities, programs must communicate, each +with an authentication server they trust. +Another component establishes +control over system components by the superuser, provides global bookkeeping +operations, and is called the + +process server. + +

      +Not all user programs need to communicate with the process server; it is only +necessary for programs which require its services. +Likewise, the +authentication server is only necessary for programs that wish to communicate +their identity to another. +None of the remaining services carry any special +status; not the network implementation, the filesystems, the program +execution mechanism (including setuid), or any others. + +

      The Translator Mechanism

      +

      +The Hurd uses Mach ports primarily as methods for communicating between users +and servers. +(A Mach port is a communication point on a Mach task where +messages are sent and received.) Each port implements a particular set of +protocols, representing operations that can be undertaken on the underlying +object represented by the port. +Some of the protocols specified by the Hurd +are the I/O protocol, used for generic I/O operations; the file protocol, +used for filesystem operations; the socket protocol, used for network +operations; and the process protocol, used for manipulating processes et al. +

      +Most servers are accessed by opening files. +Normally, when you open a file, +you create a port associated with that file that is owned by the server +that owns the directory containing the file. +For example, a disk-based +filesystem will normally serve a large number of ports, each of which +represents an open file or directory. +When a file is opened, the server +creates a new port, associates it with the file, and returns the port to the +calling program. +

      +However, a file can have a +translator +associated with it. +In this case, +rather than return its own port which refers to the contents of the file, the +server executes a translator program associated with that file. +This +translator is given a port to the actual contents of the file, and is then +asked to return a port to the original user to complete the open operation. +

      +This mechanism is used for +mount +by having a translator associated with +each mount point. +When a program opens the mount point, the translator (in +this case, a program which understands the disk format of the mounted +filesystem) is executed and returns a port to the program. +After the +translator is started, it need not be run again unless it dies; the parent +filesystem retains a port to the translator to use in further requests. +

      +The owner of a file can associate a translator with it without special +permission. +This means that any program can be specified as a translator. +Obviously the system will not work properly if the translator does not +implement the file protocol correctly. +However, the Hurd is constructed so +that the worst possible consequence is an interruptible hang. +

      +One way to use translators is to access hierarchically structured data using +the file protocol. +For example, all the complexity of the user interface to +the +ftp +program is removed. +Users need only know that a particular +directory represents FTP and can use all the standard file manipulation +commands (e.g +ls +or +cp) +to access the remote system, rather than learning +a new set. +Similarly, a simple translator could ease the complexity of +tar +or +gzip. +(Such transparent access would have some added cost, but it would +be convenient.) + +

      Generic Services

      +

      +With translators, the filesystem can act as a rendezvous for interfaces which +are not similar to files. +Consider a service which implements some version +of the X protocol, using Mach messages as an underlying transport. +For each +X display, a file can be created with the appropriate program as its +translator. +X clients would open that file. +At that point, few file +operations would be useful (read and write, for example, would be useless), +but new operations ( +XCreateWindow +or +XDrawText) +might become meaningful. +In this case, the filesystem protocol is used only to manipulate +characteristics of the node used for the rendezvous. +The node need not +support I/O operations, though it should reply to any such messages with a +message_not_understood +return code. +

      +This translator technique is used to contact most of the services in the Hurd +that are not structured like hierarchical filesystems. +For example, the +password server, which hands out authorization tags in exchange for +passwords, is contacted this way. +Network protocol servers are also +contacted in this fashion. +Roland McGrath thought up this use of translators. + +

      Clever Filesystem Pictures

      +

      +In the Hurd, translators can also be used to present a filesystem-like view +of another part of the filesystem, with some semantics changed. +For example, +it would be nice to have a filesystem that cannot itself be changed, but +nonetheless records changed versions of its files elsewhere. +(This could be +useful for source code management.) +

      +The Hurd will have a translator which creates a directory which is a +conceptual union of other directories, with collision resolution rules of +various sorts. +This can be used to present a single directory to users that +contains all the programs they would want to execute. +There are other useful +variations on this theme. + +

      What The User Can Do

      +

      +No translator gains extra privilege by virtue of being hooked into the +filesystem. +Translators run with the uid of the owner of the file being +translated, and can only be set or changed by that owner. +The I/O and +filesystem protocols are carefully designed to allow their use by mutually +untrusting clients and servers. +Indeed, translators are just ordinary +programs. +The GNU C library has a variety of facilities to make common sorts +of translators easier to write. +

      +Some translators may need special privileges, such as the password server or +translators which allow setuid execution. +These translators could be run by +anyone, but only if they are set on a root-owned node would they be able to +provide all their services successfully. +This is analogous to letting any +user call the +reboot +system call, but only honoring it if that user is root. + +

      Why This Is So Different

      +

      +What this design provides is completely novel to the Unix world. +Until now, +OSs have kept huge portions of their functionality in the realm of system +code, thus preventing its modification and extension except in extreme need. +Users cannot replace parts of the system in their programs no matter how much +easier that would make their task, and system managers are loath to install +random tweaks off the net into their kernels. +

      +In the Hurd, users can change almost all of the things that are decided for +them in advance by traditional systems. +In combination with the tremendous +control given by the Mach kernel over task address spaces and properties, the +Hurd provides a system in which users will, for the first time, be able to +replace parts of the system they dislike, without disrupting other users. +

      +Most Mach-based OSs to date have mostly implemented a wider set of the + +same old + +Unix semantics in a new environment. +In contrast, GNU is extending +those semantics to allow users to improve, bypass, or replace them. + + +

      Part 2: A Look at Some of the Hurd's Beasts

      +

      The Authentication Server

      +

      +One of the Hurd's more central servers is the authentication server. +Each +port to this server identifies a user and is associated by this server with +an +id block. +Each id block contains sets of user and group ids. +Either +set may be empty. +This server is not the same as the password server +referred to above. +

      +The authentication server exports three services. +First, it provides simple +boolean operations on authentication ports: given two authentication ports, +this server will provide a third port representing the union of the two sets +of uids and gids. +Second, this server allows any user with a uid of zero to +create an arbitrary authentication port. +Finally, this server provides RPCs +(Remote Procedure Calls between different programs and possibly different +hosts) which allow mutually untrusting clients and servers to establish their +identities and pass initial information on each other. +This is crucial to +the security of the filesystem and I/O protocols. +

      +Any user could write a program which implements the authentication protocol; +this does not violate the system's security. +When a service needs to +authenticate a user, it communicates with its trusted authentication server. +If that user is using a different authentication server, the transaction will +fail and the server can refuse to communicate further. +Because, in effect, +this forces all programs on the system to use the same authentication server, +we have designed its interface to make any safe operation possible, and to +include no extraneous operations. +(This is why there is a separate password +server.) +

      The Process Server

      +

      +The process server acts as an information categorization repository. +There +are four main services supported by this server. +First, the process server +keeps track of generic host-level information not handled by the Mach kernel. +For example, the hostname, the hostid, and the system version are maintained +by the process server. +Second, this server maintains the Posix notions of +sessions and process groups, to help out programs that wish to use Posix +features. +

      +Third, the process server maintains a one-to-one mapping between Mach tasks +and Hurd processes. +Every task is assigned a pid. +Processes can register a +message port with this server, which can then be given out to any program +which requests it. +This server makes no attempt to keep these message ports +private, so user programs are expected to implement whatever security they +need themselves. +(The GNU C Library provides convenient functions for all +this.) Processes can tell the process server their current `argv' and `envp' +values; this server will then provide, on request, these vectors of arguments +and environment. +This is useful for writing +ps-like +programs and also +makes it easier to hide or change this information. +None of these features +are mandatory. +Programs are free to disregard all of this and never register +themselves with the process server at all. +They will, however, still have a +pid assigned. +

      +Finally, the process server implements +process collections, +which are used +to collect a number of process message ports at the same time. +Also, +facilities are provided for converting between pids, process server ports, +and Mach task ports, while ensuring the security of the ports managed. +

      +It is important to stress that the process server is optional. +Because of +restrictions in Mach, programs must run as root in order to identify all the +tasks in the system. +But given that, multiple process servers could +co-exist, each with their own clients, giving their own model of the +universe. +Those process server features which do not require root privileges +to be implemented could be done as per-user servers. +The user's hands are +not tied. +

      Transparent FTP

      +

      +Transparent FTP is an intriguing idea whose time has come. +The popular +ange-ftp +package available for GNU Emacs makes access to FTP files +virtually transparent to all the Emacs file manipulation functions. +Transparent FTP does the same thing, but in a system wide fashion. +This +server is not yet written; the details remain to be fleshed out, and will +doubtless change with experience. +

      +In a BSD kernel, a transparent FTP filesystem would be no harder to write +than in the Hurd. +But mention the idea to a BSD kernel hacker, and the +response is that ``such a thing doesn't belong in the kernel''. +In a sense, +this is correct. +It violates all the layering principles of such systems to +place such things in the kernel. +The unfortunate side effect, however, is +that the design methodology (which is based on preventing users from changing +things they don't like) is being used to prevent system designers from making +things better. +(Recent BSD kernels make it possible to write a user program +that provides transparent FTP. +An example is +alex, +but it needs to run +with full root privileges.) +

      +In the Hurd, there are no obstacles to doing transparent FTP. +A translator +will be provided for the node +/ftp. +The contents of +/ftp +will probably +not be directly listable, though further subdirectories will be. +There will +be a variety of possible formats. +For example, to access files on uunet, one +could + +cd /ftp/ftp.uu.net:anonymous:mib@gnu. + +Or to access files on a remote +account, one might + +cd /ftp/gnu.org:mib:passwd. + +Parts of this +command could be left out and the transparent FTP program would read them +from a user's +.netrc +file. +In the last case, one might just + +cd /ftp/gnu.org; + +when the rest of the data is already in +.netrc. +

      +There is no need to do a +cd +first--use any file command. +To find out about +RFC 1097 (the Telnet Subliminal Message Option), just type + +more /ftp/ftp.uu.net/inet/rfc/rfc1097. + +A copy command to a local disk +could be used if the RFC would be read frequently. +

      Filesystems

      +

      +Ordinary filesystems are also being implemented. +The initial release of the +Hurd will contain a filesystem upwardly compatible with the BSD 4.4 Fast File +System. +In addition to the ordinary semantics, it will provide means to +record translators, offer thirty-two bit user ids and group ids, and supply a +new id per file, called the +author +of the file, which can be set by the +owner arbitrarily. +In addition, because users in the Hurd can have multiple +uids (or even none), there is an additional set of permission bits providing +access control for + +unknown user + +(no uids) as distinct from + +known but arbitrary user + +(some uids: the existing +world +category of file +permissions). +

      +The Network File System protocol will be implemented using 4.4 BSD as a +starting point. +A log-structured filesystem will also be implemented using +the same ideas as in Sprite, but probably not the same format. +A GNU network +file protocol may be designed in time, or NFS may be extended to remove its +deficiencies. +There will also be various ``little'' filesystems, such as the +MS-DOS filesystem, to help people move files between GNU and other OSs. + +

      Terminals

      +

      +An I/O server will provide the terminal semantics of Posix. +The GNU C +Library has features for keeping track of the controlling terminal and for +arranging to have proper job control signals sent at the proper times, as +well as features for obeying keyboard and hangup signals. +

      +Programs will be able to insert a terminal driver into communications +channels in a variety of ways. +Servers like +rlogind +will be able to insert +the terminal protocol onto their network communication port. +Pseudo-terminals will not be necessary, though they will be provided for +backward compatibility with older programs. +No programs in GNU will depend +on them. +

      +Nothing about a terminal driver is forced upon users. +A terminal driver +allows a user to get at the underlying communications channel easily, to +bypass itself on an as-needed basis or altogether, or to substitute a +different terminal driver-like program. +In the last case, provided the +alternate program implements the necessary interfaces, it will be used by the +C Library exactly as if it were the ordinary terminal driver. +

      +Because of this flexibility, the original terminal driver will not provide +complex line editing features, restricting itself to the behavior found in +Posix and BSD. +In time, there will be a +readline-based +terminal driver, +which will provide complex line-editing features for those users who want +them. +

      +The terminal driver will probably not provide good support for the +high-volume, rapid data transmission required by UUCP or SLIP. +Those +programs do not need any of its features. +Instead they will be using the +underlying Mach device ports for terminals, which support moving large +amounts of data efficiently. + +

      Executing Programs

      +

      +The implementation of the +execve +call is spread across three programs. +The +library marshals the argument and environment vectors. +It then sends a +message to the file server that holds the file to be executed. +The file +server checks execute permissions and makes whatever changes it desires in +the exec call. +For example, if the file is marked setuid and the fileserver +has the ability, it will change the user identification of the new image. +The file server also decides if programs which had access to the old task +should continue to have access to the new task. +If the file server is +augmenting permissions, or executing an unreadable image, then the exec needs +to take place in a new Mach task to maintain security. +

      +After deciding the policy associated with the new image, the filesystem calls +the exec server to load the task. +This server, using the BFD (Binary File +Descriptor) library, loads the image. +BFD supports a large number of object +file formats; almost any supported format will be executable. +This server +also handles scripts starting with +#!, +running them through the indicated +program. +

      +The standard exec server also looks at the environment of the new image; if +it contains a variable +EXECSERVERS +then it uses the programs specified +there as exec servers instead of the system default. +(This is, of course, +not done for execs that the file server has requested be kept secure.) +

      +The new image starts running in the GNU C Library, which sends a message to +the exec server to get the arguments, environment, umask, current directory, +etc. +None of this additional state is special to the file or exec servers; +if programs wish, they can use it in a different manner than the Library. + +

      New Processes

      +

      +The +fork +call is implemented almost entirely in the GNU C Library. +The new +task is created by Mach kernel calls. +The C Library arranges to have its +image inherited properly. +The new task is registered with the process server +(though this is not mandatory). +The C Library provides vectors of functions +to be called at fork time: one vector to be called before the fork, one after +in the parent, and one after in the child. +(These features should not be +used to replace the normal fork-calling sequence; it is intended for +libraries which need to close ports or clean up before a fork occurs.) +The C +library will implement both fork calls specified by the draft Posix.4a (the +proposed standard dealing with the threads extension to the real-time +extension). +

      +Nothing forces the user to create new tasks this way. +If a program wants to +use almost the normal fork, but with some special characteristics, then it +can do so. +Hooks will be provided by the C Library, or the function can even +be completely replaced. +None of this is possible in a traditional Unix +system. + +

      Asynchronous Messages

      +

      +As mentioned above, the process server maintains a + +message port + +for each +task registered with it. +These ports are public, and are used to send +asynchronous messages to the task. +Signals, for example, are sent to the +message port. +The signal message also provides a port as an indication that +the sender should be trusted to send the signal. +The GNU C Library lists a +variety of ports in a table, each of which identifies a set of signals that +can be sent by anyone who possesses that port. +For example, if the user +possesses the task's kernel port, it is allowed to send any signal. +If the +user possesses a special + +terminal id + +port, it is allowed to send the +keyboard and hangup signals. +Users can add arbitrary new entries into the C +library's signal permissions table. +

      +When a process's process group changes, the process server will send it a +message indicating the new process group. +In this case, the process server +proves its authority by providing the task's kernel port. +

      +The C library also has messages to add and delete uids currently used by the +process. +If new uids are sent to the program, the library adds them to its +current set, and then exchanges messages with all the I/O servers it knows +about, proving to them its new authorization. +Similarly, a message can +delete uids. +In the latter case, the caller must provide the process's task +port. +(You can't harm a process by giving it extra permission, but you can +harm it by taking permission away.) The Hurd will provide user programs to +send these messages to processes. +For example, the +su +command will be able +to cause all the programs in your current login session, to gain a new uid, +rather than spawn a subshell. +

      +The C library will allow programs to add asynchronous messages they wish to +recognize, as well as prevent recognition of the standard set. +

      Making It Look Like Unix

      +

      +The C Library will implement all of the calls from BSD and Posix as well as +some obvious extensions to them. +This enables users to replace those calls +they dislike or bypass them entirely, whereas in Unix the calls must be used +``as they come'' with no alternatives possible. +

      +In some environments binary compatibility will also be supported. +This works +by building a special version of the library which is then loaded somewhere +in the address space of the process. +(For example, on a VAX, it would be +tucked in above the stack.) A feature of Mach, called system call +redirection, is then used to trap Unix system calls and turn them into jumps +into this special version of the library. +(On almost all machines, the cost +of such a redirection is very small; this is a highly optimized path in Mach. +On a 386 it's about two dozen instructions. +This is little worse than a +simple procedure call.) +

      +Many features of Unix, such as signal masks and vectors, are handled +completely by the library. +This makes such features significantly cheaper +than in Unix. +It is now reasonable to use +sigblock +extensively to protect +critical sections, rather than seeking out some other, less expensive method. + +

      Network Protocols

      +

      +The Hurd will have a library that will make it very easy to port 4.4 BSD +protocol stacks into the Hurd. +This will enable operation, virtually for +free, of all the protocols supported by BSD. +Currently, this includes the +CCITT protocols, the TCP/IP protocols, the Xerox NS protocols, and the ISO +protocols. +

      +For optimal performance some work would be necessary to take advantage of +Hurd features that provide for very high speed I/O. +For most protocols this +will require some thought, but not too much time. +The Hurd will run the +TCP/IP protocols as efficiently as possible. +

      +As an interesting example of the flexibility of the Hurd design, consider the +case of IP trailers, used extensively in BSD for performance. +While the Hurd +will be willing to send and receive trailers, it will gain fairly little +advantage in doing so because there is no requirement that data be copied and +avoiding copies for page-aligned data is irrelevant. diff --git a/hurd-talk.html b/hurd-talk.html new file mode 100644 index 00000000..ec9eb777 --- /dev/null +++ b/hurd-talk.html @@ -0,0 +1,1062 @@ +[[!meta copyright="Copyright © 2001 Marcus Brinkmann"]] + +[[!meta license="Verbatim copying and distribution of this entire article is +permitted in any medium, provided this notice is preserved."]] + +[[!meta title="The Hurd, a presentation by Marcus Brinkmann"]] + +[[!tag stable_URL]] + +

      Table of Contents

      + +
      +

      Talk about the Hurd

      +

      +This talk about the Hurd was written by Marcus Brinkmann for +

        +
      • OSDEM, Brussels, 4. Feb 2001, +
      • Frühjahrsfachgespräche, Cologne, 2. Mar 2001 and +
      • Libre Software Meeting, Bordeaux, 4. Jul 2001. +
      + +

      Introduction

      +

      +When we talk about free software, we usually refer to the free +software licenses. We also need relief from software patents, so our +freedom is not restricted by them. But there is a third type of +freedom we need, and that's user freedom. + +

      +Expert users don't take a system as it is. They like to change the +configuration, and they want to run the software that works best for +them. That includes window managers as well as your favourite text +editor. But even on a GNU/Linux system consisting only of free +software, you can not easily use the filesystem format, network +protocol or binary format you want without special privileges. In +traditional unix systems, user freedom is severly restricted by the +system administrator. + +

      +The Hurd removes these restrictions from the user. It provides an +user extensible system framework without giving up POSIX compatibility +and the unix security model. Throughout this talk, we will see that +this brings further advantages beside freedom. + +

      Overview

      +
      + +

      +The Hurd is a POSIX compatible multi-server +system operating on top of the GNU Mach microkernel. + +

      +Topics: +

        +
      • GNU Mach
      • +
      • The Hurd
      • +
      • Development
      • +
      • Debian GNU/Hurd
      • +
      +
      + +

      +The Hurd is a POSIX compatible multi-server system operating on top of +the GNU Mach Microkernel. + +

      +I will have to explain what GNU Mach is, so we start with that. Then +I will talk about the Hurd's architecture. After that, I will give a +short overview on the Hurd libraries. Finally, I will tell you how +the Debian project is related to the Hurd. + +

      Historicals

      + +
      +
        +
      • 1983: Richard Stallman founds the GNU project.
      • +
      • 1988: Decision is made to use Mach 3.0 as the kernel.
      • +
      • 1991: Mach 3.0 is released under compatible license.
      • +
      • 1991: Thomas Bushnell, BSG, founds the Hurd project.
      • +
      • 1994: The Hurd boots the first time.
      • +
      • 1997: Version 0.2 of the Hurd is released.

      • +
      • 1998: Debian hurd-i386 archive is created.
      • +
      • 2001: Debian GNU/Hurd snapshot fills three CD images.
      • +
      +
      + +

      +When Richard Stallman founded the GNU project in 1983, he wanted to +write an operating system consisting only of free software. Very +soon, a lot of the essential tools were implemented, and released +under the GPL. However, one critical piece was missing: The kernel. +

      +After considering several alternatives, it was decided not to write a +new kernel from scratch, but to start with the Mach microkernel. This +was in 1988, and it was not before 1991 that Mach was released under a +license allowing the GNU project to distribute it as a part of the +system. +

      +In 1998, I started the Debian GNU/Hurd project, and in 2001 the number +of available GNU/Hurd packages fills three CD images. + +

      Kernel Architectures

      +
      +

      +Microkernel: +

        +
      • Enforces resource management (paging, scheduling)
      • +
      • Manages tasks
      • +
      • Implements message passing for IPC
      • +
      • Provides basic hardware support
      • +
      +

      +Monolithic kernel: +

        +
      • No message passing necessary
      • +
      • Rich set of features (filesystems, authentication, network + sockets, POSIX interface, ...)
      • +
      +
      +

      +Microkernels were very popular in the scientific world around that +time. They don't implement a full operating system, but only the +infrastructure needed to enable other tasks to implement most +features. In contrast, monolithical kernels like Linux contain +program code of device drivers, network protocols, process management, +authentication, file systems, POSIX compatible interfaces and much +more. +

      +So what are the basic facilities a microkernel provides? In general, +this is resource management and message passing. Resource management, +because the kernel task needs to run in a special privileged mode of +the processor, to be able to manipulate the memory management unit and +perform context switches (also to manage interrupts). Message +passing, because without a basic communication facility the other +tasks could not interact to provide the system services. Some +rudimentary hardware device support is often necessary to bootstrap +the system. So the basic jobs of a microkernel are enforcing the +paging policy (the actual paging can be done by an external pager +task), scheduling, message passing and probably basic hardware device +support. +

      +Mach was the obvious choice back then, as it provides a rich set of +interfaces to get the job done. Beside a rather brain-dead device +interface, it provides tasks and threads, a messaging system allowing +synchronous and asynchronous operation and a complex interface for +external pagers. It's certainly not one of the sexiest microkernels +that exist today, but more like a big old mama. The GNU project +maintains its own version of Mach, called GNU Mach, which is based on +Mach 4.0. In addition to the features contained in Mach 4.0, the GNU +version contains many of the Linux 2.0 block device and network card +drivers. +

      +A complete treatment of the differences between a microkernel and +monolithical kernel design can not be provided here. But a couple of +advantages of a microkernel design are fairly obvious. + +

      Micro vs Monolithic

      +
      +

      +Microkernel +

        +
      • Clear cut responsibilities +
      • Flexibility in operating system design, easier debugging
      • +
      • More stability (less code to break)
      • +
      • New features are not added to the kernel
      • +
      +

      +Monolithic kernel +

        +
      • Intolerance or creeping featuritis
      • +
      • Danger of spaghetti code
      • +
      • Small changes can have far reaching side effects
      • +
      +
      +

      +Because the system is split up into several components, clean +interfaces have to be developed, and the responsibilities of each part +of the system must be clear. +

      +Once a microkernel is written, it can be used as the base for several +different operating systems. Those can even run in parallel which +makes debugging easier. When porting, most of the hardware dependant +code is in the kernel. +

      +Much of the code that doesn't need to run in the special kernel mode +of the processor is not part of the kernel, so stability increases +because there is simply less code to break. +

      +New features are not added to the kernel, so there is no need to hold +the barrier high for new operating system features. +

      +Compare this to a monolithical kernel, where you either suffer from +creeping featuritis or you are intolerant of new features (we see both +in the Linux kernel). +

      +Because in a monolithical kernel, all parts of the kernel can access +all data structures in other parts, it is more likely that short cuts +are used to avoid the overhead of a clean interface. This leads to a +simple speed up of the kernel, but also makes it less comprehensible +and more error prone. A small change in one part of the kernel can +break remote other parts. + +

      Single Server vs Multi Server

      +
      +

      +Single Server +

        +
      • A single task implements the functionality of the operating system.
      • +
      +

      +Multi Server +

        +
      • Many tasks cooperate to provide the system's functionality.
      • +
      • One server provides only a small but well-defined part of the + whole system.
      • +
      • The responsibilities are distributed logically among the servers.
      • +
      +

      +A single-server system is comparable to a monolithic kernel system. It +has similar +advantages and disadvantages. +

      +

      +There exist a couple of operating systems based on Mach, but they all +have the same disadvantages as a monolithical kernel, because those +operating systems are implemented in one single process running on top +of the kernel. This process provides all the services a monolithical +kernel would provide. This doesn't make a whole lot of sense (the +only advantage is that you can probably run several of such isolated +single servers on the same machine). Those systems are also called +single-server systems. The Hurd is the only usable multi-server +system on top of Mach. In the Hurd, there are many server programs, +each one responsible for a unique service provided by the operating +system. These servers run as Mach tasks, and communicate using the +Mach message passing facilities. One of them does only provide a +small part of the functionality of the system, but together they build +up a complete and functional POSIX compatible operating system. + +

      Multi Server is superior, ...

      +
      +

      +Any multi-server has advantages over single-server: +

        +
      • Clear cut responsibilities
      • +
      • More stability: If one server dies, all others remain
      • +
      • Easier development cycle: Testing without reboot (or replacing + running servers), debugging with gdb
      • +
      • Easier to make changes and add new features +
      +
      +

      +Using several servers has many advantages, if done right. If a file +system server for a mounted partition crashes, it doesn't take down +the whole system. Instead the partition is "unmounted", and +you can try to start the server again, probably debugging it this time +with gdb. The system is less prone to errors in individual +components, and over-all stability increases. The functionality of +the system can be extended by writing and starting new servers +dynamically. (Developing these new servers is easier for the reasons +just mentioned.) +

      +But even in a multi-server system the barrier between the system and +the users remains, and special privileges are needed to cross it. We +have not achieved user freedom yet. + +

      The Hurd even more so.

      +
      +

      +The Hurd goes beyond all this, and allows users to write and run their +servers, too! +

        +
      • Users can replace system servers dynamically with their own + implementations.
      • +
      • Users can decide what parts of the remainder of the system they + want to use.
      • +
      • Users can extend the functionality of the system.
      • +
      • No mutual trust necessary to make use of other users + services.
      • +
      • Security of the system is not harmed by trusting users + services.
      • +
      +
      +

      +To quote Thomas Bushnell, BSG, from his paper +[[``Towards_a_New_Strategy_of_OS_design''_(1996)|hurd-paper]]: +

      +The GNU Hurd, by contrast, is designed to make the area of system code +as limited as possible. Programs are required to communicate only +with a few essential parts of the kernel; the rest of the system is +replaceable dynamically. Users can use whatever parts of the +remainder of the system they want, and can easily add components +themselves for other users to take advantage of. No mutual trust need +exist in advance for users to use each other's services, nor does the +system become vulnerable by trusting the services of arbitrary users. +
      + +

      +So the Hurd is a set of servers running on top of the Mach +micro-kernel, providing a POSIX compatible and extensible operating +system. What servers are there? What functionality do they provide, +and how do they cooperate? + +

      Mach Inter Process Communication

      +
      +

      +Ports are message queues which can be used as one-way communication +channels. +

        +
      • Port rights are receive, send or send-once
      • +
      • Exactly one receiver
      • +
      • Potentially many senders
      • +
      +

      +MIG provides remote procedure calls on top of Mach IPC. RPCs look like +function calls to the user. +

      +

      +Inter-process communication in Mach is based on the ports concept. A +port is a message queue, used as a one-way communication channel. In +addition to a port, you need a port right, which can be a send right, +receive right, or send-once right. Depending on the port right, you +are allowed to send messages to the server, receive messages from it, +or send just one single message. +

      +For every port, there exists exactly one task holding the receive +right, but there can be no or many senders. The send-once right is +useful for clients expecting a response message. They can give a +send-once right to the reply port along with the message. The kernel +guarantees that at some point, a message will be received on the reply +port (this can be a notification that the server destroyed the +send-once right). +

      +You don't need to know much about the format a message takes to be +able to use the Mach IPC. The Mach interface generator mig hides the +details of composing and sending a message, as well as receiving the +reply message. To the user, it just looks like a function call, but +in truth the message could be sent over a network to a server running +on a different computer. The set of remote procedure calls a server +provides is the public interface of this server. + + +

      How to get a port?

      +
      +

      +Traditional Mach: +

        +
      • Nameserver provides ports to all registered servers.
      • +
      • The nameserver port itself is provided by Mach.
      • +
      • Like a phone book: One list.
      • +
      +

      +The Hurd: +

        +
      • The filesystem is used as the server namespace.
      • +
      • Root directory port is inserted into each task.
      • +
      • The C library finds other ports with hurd_file_name_lookup, + performing a pathname resolution.
      • +
      • Like a tree of phone books.
      • +
      +
      +

      +So how does one get a port to a server? You need something like a +phone book for server ports, or otherwise you can only talk to +yourself. In the original Mach system, a special nameserver is +dedicated to that job. A task could get a port to the nameserver from +the Mach kernel and ask it for a port (with send right) to a server +that registered itself with the nameserver at some earlier time. +

      +In the Hurd, there is no nameserver. Instead, the filesystem is used +as the server namespace. This works because there is always a root +filesystem in the Hurd (remember that the Hurd is a POSIX compatible +system); this is an assumption the people who developed Mach couldn't +make, so they had to choose a different strategy. You can use the +function hurd_file_name_lookup, which is part of the C library, to get +a port to the server belonging to a filename. Then you can start to +send messages to the server in the usual way. + +

      Example of hurd_file_name_lookup

      +
      +mach_port_t identity;
      +mach_port_t pwserver;
      +kern_return_t err;
      +
      +pwserver = hurd_file_name_lookup
      +                ("/servers/password");
      +
      +err = password_check_user (pwserver,
      +                           0 /* root */, "supass",
      +                           &identity);
      +
      +

      +As a concrete example, the special filename +/servers/password can be used to request a port to the +Hurd password server, which is responsible to check user provided +passwords. +

      +(explanation of the example) + +

      Pathname resolution example

      +
      +

      +Task: Lookup /mnt/readme.txt where /mnt has a mounted filesystem. +

        +
      • The C library asks the root filesystem server about + /mnt/readme.txt.
      • +
      • The root filesystem returns a port to the mnt filesystem server + (matching /mnt) and the retry name + /readme.txt.
      • +
      • The C library asks the mnt filesystem server about + /readme.txt.
      • +
      • The mnt filesystem server returns a port to itself and records + that this port refers to the regular file + /readme.txt.
      • +
      +
      +

      +The C library itself does not have a full list of all available +servers. Instead pathname resolution is used to traverse through a +tree of servers. In fact, filesystems themselves are implemented by +servers (let us ignore the chicken and egg problem here). So all the +C library can do is to ask the root filesystem server about the +filename provided by the user (assuming that the user wants to resolve +an absolute path), using the dir_lookup RPC. If the +filename refers to a regular file or directory on the filesystem, the +root filesystem server just returns a port to itself and records that +this port corresponds to the file or directory in question. But if a +prefix of the full path matches the path of a server the root +filesystem knows about, it returns to the C library a port to this +server and the remaining part of the pathname that couldn't be +resolved. The C library than has to retry and query the other server +about the remaining path component. Eventually, the C library will +either know that the remaining path can't be resolved by the last +server in the list, or get a valid port to the server in question. + +

      Mapping the POSIX Interface

      +
      + + + + + + + + + + + + + + + + + + + +
      FiledescriptorPort to server providing the file
      fd = open(name,...)dir_lookup(..,name,..,&port)
      +[pathname resolution]
      read(fd, ...)io_read(port, ...)
      write(fd, ...)io_write(port, ...)
      fstat(fd, ...)io_stat(port, ...)
      ...
      +
      +

      +It should by now be obvious that the port returned by the server can +be used to query the files status, content and other information from +the server, if good remote procedure calls to do that are defined and +implemented by it. This is exactly what happens. Whenever a file is +opened using the C libraries open() call, the C library +uses the above pathname resolution to get a port to a server providing +the file. Then it wraps a file descriptor around it. So in the Hurd, +for every open file descriptor there is a port to a server providing +this file. Many other C library calls like read() and +write() just call a corresponding RPC using the port +associated with the file descriptor. + +

      File System Servers

      +
      +
        +
      • Provide file and directory services for ports (and more).
      • +
      • These ports are returned by a directory lookup.
      • +
      • Translate filesystem accesses through their root path (hence the + name translator).
      • +
      • The C library maps the POSIX file and directory interface (and + more) to RPCs to the filesystem servers ports, but also does work on + its own.
      • +
      • Any user can install file system servers on inodes they own.
      • +
      +
      +

      +So we don't have a single phone book listing all servers, but rather a +tree of servers keeping track of each other. That's really like +calling your friend and asking for the phone number of the blond girl +at the party yesterday. He might refer you to a friend who hopefully +knows more about it. Then you have to retry. +

      +This mechanism has huge advantages over a single nameserver. First, +note that standard unix permissions on directories can be used to +restrict access to a server (this requires that the filesystems +providing those directories behave). You just have to set the +permissions of a parent directory accordingly and provide no other way +to get a server port. +

      +But there are much deeper implications. Most of all, a pathname never +directly refers to a file, it refers to a port of a server. That +means that providing a regular file with static data is just one of +the many options the server has to service requests on the file port. +A server can also create the data dynamically. For example, a server +associated with /dev/random can provide new random data +on every io_read() on the port to it. A server +associated with /dev/fortune can provide a new fortune +cookie on every open(). +

      +While a regular filesystem server will just serve the data as stored +in a filesystem on disk, there are servers providing purely virtual +information, or a mixture of both. It is up to the server to behave +and provide consistent and useful data on each remote procedure call. +If it does not, the results may not match the expectations of the user +and confuse him. +

      +A footnote from the Hurd info manual: +

      +(1) You are lost in a maze of twisty little filesystems, all +alike.... +
      +

      +Because a server installed in the filesystem namespace translates all +filesystem operations that go through its root path, such a server is +also called "active translator". You can install translators using +the settrans command with the -a option. + +

      Active vs Passive

      +
      +

      +Active Translators: +

        +
      • "settrans -a /cdrom /hurd/isofs /dev/hd2"
      • +
      • Are running filesystem servers.
      • +
      • Are attached to the root node they translate.
      • +
      • Run as a normal process.
      • +
      • Go away with every reboot, or even time out.
      • +
      +
      +

      +Many translator settings remain constant for a long time. It would be +very lame to always repeat the same couple of dozens settrans calls +manually or at boot time. So the Hurd provides a filesystem extension +that allows to store translator settings inside the filesystem and let +the filesystem servers do the work to start those servers on demand. +Such translator settings are called "passive translators". A passive +translator is really just a command line string stored in an inode of +the filesystem. If during a pathname resolution a server encounters +such a passive translator, and no active translator does exist already +(for this node), it will use this string to start up a new translator +for this inode, and then let the C library continue with the path +resolution as described above. Passive translators are installed with +settrans using the -p option (which is already the +default). + +
      +

      +Passive Translators: +

        +
      • "settrans /mnt /hurd/ext2fs /dev/hd1s1"
      • +
      • Are stored as command strings into an inode.
      • +
      • Are used to start a new active translator if there isn't + one.
      • +
      • Startup is transparent to the user.
      • +
      • Startup happens the first time the server is needed.
      • +
      • Are permanent across reboots (like file data).
      • +
      +
      +

      +So passive translators also serve as a sort of automounting feature, +because no manual interaction is required. The server start up is +deferred until the service is need, and it is transparent to the user. +

      +When starting up a passive translator, it will run as a normal process +with the same user and group id as those of the underlying inode. Any +user is allowed to install passive and active translators on inodes +that he owns. This way the user can install new servers into the +global namespace (for example, in his home or tmp directory) and thus +extend the functionality of the system (recall that servers can +implement other remote procedure calls beside those used for files and +directories). A careful design of the trusted system servers makes +sure that no permissions leak out. +

      +In addition, users can provide their own implementations of some of +the system servers instead the system default. For example, they can +use their own exec server to start processes. The user specific exec +server could for example start java programs transparently (without +invoking the interpreter manually). This is done by setting the +environment variable EXECSERVERS. The systems default +exec server will evaluate this environment variable and forward the +RPC to each of the servers listed in turn, until some server accepts +it and takes over. The system default exec server will only do this +if there are no security implications. (XXX There are other ways to +start new programs than by using the system exec server. Those are +still available.) +

      +Let's take a closer look at some of the Hurd servers. It was already +mentioned that only few system servers are mandatory for users. To +establish your identity within the Hurd system, you have to +communicate with the trusted systems authentication server +auth. To put the system administrator into control over +the system components, the process server does some global +bookkeeping. +

      +But even these servers can be ignored. However, registration with the +authentication server is the only way to establish your identity +towards other system servers. Likewise, only tasks registered as +processes with the process server can make use of its services. + +

      Authentication

      +
      +

      +A user identity is just a port to an authserver. The auth server +stores four set of ids for it: +

        +
      • effective user ids
      • +
      • effective group ids
      • +
      • available user ids
      • +
      • available group ids
      • +
      +

      +Basic properties: +

        +
      • Any of these can be empty.
      • +
      • A 0 among the user ids identifies the superuser.
      • +
      • Effective ids are used to check if the user has the + permission.
      • +
      • Available ids can be turned into effective ids on user + request.
      • +
      +
      +

      +The Hurd auth server is used to establish the identity of a user for a +server. Such an identity (which is just a port to the auth server) +consists of a set of effective user ids, a set of effective group ids, +a set of available user ids and a set of available group ids. Any of +these sets can be empty. + +

      Operations on authentication ports

      +
      +

      +The auth server provides the following operations on ports: +

        +
      • Merge the ids of two ports into a new one.
      • +
      • Return a new port containing a subset of the ids in a port.
      • +
      • Create a new port with arbitrary ids (superuser only).
      • +
      • Establish a trusted connection between users and servers.
      • +
      +
      +

      +If you have two identities, you can merge them and request an identity +consisting of the unions of the sets from the auth server. You can +also create a new identity consisting only of subsets of an identity +you already have. What you can't do is extending your sets, unless +you are the superuser which is denoted by having the user id 0. + +

      Establishing trusted connections

      +
      +
        +
      • User provides a rendezvous port to the server (with + io_reauthenticate).
      • +
      • User calls auth_user_authenticate on the + authentication port (his identity), passing the rendezvous port.
      • +
      • Server calls auth_server_authenticate on its + authentication port (to a trusted auth server), passing the + rendezvous port and the server port.
      • +
      • If both authentication servers are the same, it can match the + rendezvous ports and return the server port to the user and the user + ids to the server.
      • +
      +
      +

      +Finally, the auth server can establish the identity of a user for a +server. This is done by exchanging a server port and a user identity +if both match the same rendezvous port. The server port will be +returned to the user, while the server is informed about the id sets +of the user. The server can then serve or reject subsequent RPCs by +the user on the server port, based on the identity it received from +the auth server. +

      +Anyone can write a server conforming to the auth protocol, but of +course all system servers use a trusted system auth server to +establish the identity of a user. If the user is not using the system +auth server, matching the rendezvous port will fail and no server port +will be returned to the user. Because this practically requires all +programs to use the same auth server, the system auth server is +minimal in every respect, and additional functionality is moved +elsewhere, so user freedom is not unnecessarily restricted. + +

      Password Server

      +
      +

      +The password server /servers/password runs as root and +returns a new authentication port in exchange for a unix password. +

      +The ids corresponding to the authentication port match the unix user +and group ids. +

      +Support for shadow passwords is implemented here. +

      +

      +The password server sits at /servers/password and runs as +root. It can hand out ports to the auth server in exchange for a unix +password, matching it against the password or shadow file. Several +utilities make use of this server, so they don't need to be setuid +root. + +

      Process Server

      +
      +

      +The superuser must remain control over user tasks, so: +

        +
      • All mach tasks are associated with a PID in the system default + proc server.
      • +
      +

      +Optionally, user tasks can store: +

        +
      • Their environment variables.
      • +
      • Their argument vector.
      • +
      • A port, which others can request based on the PID (like a + nameserver).
      • +
      +

      +Also implemented in the proc server: +

        +
      • Sessions and process groups.
      • +
      • Global configuration not in Mach, like hostname, hostid, system + version.
      • +
      +
      +

      +The process server is responsible for some global bookkeeping. As +such it has to be trusted and is not replaceable by the user. +However, a user is not required to use any of its service. In that +case the user will not be able to take advantage of the POSIXish +appearance of the Hurd. +

      +The Mach Tasks are not as heavy as POSIX processes. For example, +there is no concept of process groups or sessions in Mach. The proc +server fills in the gap. It provides a PID for all Mach tasks, and +also stores the argument line, environment variables and other +information about a process (if the mach tasks provide them, which is +usually the case if you start a process with the default +fork()/exec()). A process can also register +a message port with the proc server, which can then be requested by +anyone. So the proc server also functions as a nameserver using the +process id as the name. +

      +The proc server also stores some other miscellaneous information not +provided by Mach, like the hostname, hostid and system version. +Finally, it provides facilities to group processes and their ports +together, as well as to convert between pids, process server ports and +mach task ports. +
      +

      +User tasks not registering themselve with proc only have a PID assigned. +

      +Users can run their own proc server in addition to the system default, +at least for those parts of the interface that don't require superuser +privileges. +

      +

      +Although the system default proc server can't be avoided (all Mach +tasks spawned by users will get a pid assigned, so the system +administrator can control them), users can run their own additional +process servers if they want, implementing the features not requiring +superuser privileges. + +

      Filesystems

      +
      +

      +Store based filesystems +

        +
      • ext2fs
      • +
      • ufs
      • +
      • isofs (iso9660, RockRidge, GNU extensions)
      • +
      • fatfs (under development)
      • +
      +

      +Network file systems +

        +
      • nfs
      • +
      • ftpfs
      • +
      +

      +Miscellaneous +

        +
      • hostmux
      • +
      • usermux
      • +
      • tmpfs (under development)
      • +
      +
      +

      +We already talked about translators and the file system service they +provide. Currently, we have translators for the ext2, ufs and iso9660 +filesystems. We also have an nfs client and an ftp filesystem. +Especially the latter is intriguing, as it provides transparent access +to ftp servers in the filesystem. Programs can start to move away +from implementing a plethora of network protocols, as the files are +directly available in the filesystem through the standard POSIX file +interface. + + +

      Developing the Hurd

      +
      +

      +Over a dozen libraries support the development of new servers. +

      +For special server types highly specialized +libraries require only the implementation of a +number of callback functions. +

        +
      • Use libdiskfs for store based filesystems.
      • +
      • Use libnetfs for network filesystems, also for + virtual filesystems.
      • +
      • Use libtrivfs for simple filesystems providing only + a single file or directory.
      • +
      +
      +

      +The Hurd server protocols are complex enough to allow for the +implementation of a POSIX compatible system with GNU extensions. +However, a lot of code can be shared by all or at least similar +servers. For example, all storage based filesystems need to be able to +read and write to a store medium splitted in blocks. The Hurd comes +with several libraries which make it easy to implement new servers. +Also, there are already a lot of examples of different server types in +the Hurd. This makes writing a new server easier. +

      +libdiskfs is a library that supports writing store based +filesystems like ext2fs or ufs. It is not very useful for filesystems +which are purely virtual, like /proc or files in +/dev. +

      +libnetfs is intended for filesystems which provide a rich +directory hierarchy, but don't use a backing store (for example ftpfs, +nfs). +

      +libtrivfs is intended for filesystems which just provide +a single inode or directory. Most servers which are not intended to +provide a filesystem but other services (like +/servers/password) use it to provide a dummy file, so +that file operations on the servers node will not return errors. But +it can also be used to provide meaningful data in a single file, like +a device store or a character device. + +

      Store Abstraction

      +
      +

      +Another very useful library is libstore, which is used by all store +based filesystems. It provides a store media abstraction. A store +consists of a store class and a name (which itself can sometimes +contain stores). +

      +Primitive store classes: +

        +
      • device store like device:hd2, device:hd0s1, device:fd0
      • +
      • file store like file:/tmp/disk_image
      • +
      • task store like task:PID
      • +
      • zero store like zero:4m (like /dev/zero, of size 4 MB)
      • +
      +
      +
      +

      +Composed store classes: +

        +
      • copy store like copy:zero:4m
      • +
      • gunzip/bunzip2 store like gunzip:device:fd0
      • +
      • concat store like concat:device:hd0s2:device:hd1s5
      • +
      • ileave store (RAID-0(2))
      • +
      • remap store like remap:10+20,50+:file:/tmp/blocks
      • +
      • ...
      • +
      +

      +Wanted: A similar abstraction for streams (based on channels), which +can be used by network and character device servers. +

      +

      +libstore provides a store abstraction, which is used by +all store based filesystems. The store is determined by a type and a +name, but some store types modify another store rather than providing +a new store, and thus stores can be stacked. For example, the device +store type expects a Mach device, but the remap store expects a list +of blocks to pick from another store, like remap:1+:device:hd2, which +would pick all blocks from hd2 but the first one, which skipped. +Because this functionality is provided in a library, all libstore +using filesystems support many different store kinds, and adding a new +store type is enough to make all store based filesystems support it. + +

      Debian GNU/Hurd

      +
      +

      +Goal: +

        +
      • Provide a binary distribution of the Hurd that is easy to + install.
      • +
      +

      +Constraints: +

        +
      • Use the same source packages as Debian GNU/Linux.
      • +
      • Use the same infrastructure: +
          +
        • Policy
        • +
        • Archive
        • +
        • Bug tracking system
        • +
        • Release process
        • +
      • +
      +

      +Side Goal: +

        +
      • Prepare Debian for the future: +
          +
        • More flexibility in the base system
        • +
        • Identify dependencies on the Linux kernel
        • +
      • +
      +
      +

      +The Debian distribution of the GNU Hurd that I started in 1998 is +supposed to become a complete binary distribution of the Hurd that is +easy to install. + +

      Status of the Debian GNU/Hurd binary archive

      +

      +See +http://buildd.debian.org/stats/graph.png +for the most current version of the statistic. + +

      Status of the Debian infrastructure

      +
      +

      +Plus: +

        +
      • Source packages can identify build and host OS using + dpkg-architecture.
      • +
      +

      +Minus: +

        +
      • The binary architecture field is insufficient.
      • +
      • The BTS has no architecture tag.
      • +
      • The policy/FHS need (small) Hurd specific extensions.
      • +
      +
      +

      +While good compatibiity can be achieved at the source level, +the binary packages can not always express their relationship +to the available architectures sufficiently. +

      +For example, the Linux version of makedev is binary-all, where +a binary-all-linux relationship would be more appropriate. +

      +More work has to be done here to fix the tools. + +

      Status of the Debian Source archive

      +
      +
        +
      • Most packages just work.
      • +
      • Maintainers are usually responsive and cooperative.
      • +
      • Turtle, the autobuilder, crunches through the whole list right + now.
      • +
      +

      +Common pitfalls are POSIX incompatibilities: +

        +
      • Upstream: +
          +
        • Unconditional use of PATH_MAX + (MAXPATHLEN), MAXHOSTNAMELEN.
        • +
        • Unguarded use of Linux kernel features.
        • +
        • Use of legacy interfaces (sys_errlist, + termio).
        • +
      • +
      • Debian: +
          +
        • Unguarded activation of extensions available with Linux.
        • +
        • Low quality patches.
        • +
        • Assuming GNU/Linux in package scripts.
        • +
      • +
      +
      +

      +Most packages are POSIX compatible and can be compiled without +changes on the Hurd. The maintainers of the Debian source packages +are usually very kind, responsiver and helpful. +

      +The Turtle autobuilder software (http://turtle.sourceforge.net) +builds the Debian packages on the Hurd automatically. + +

      Debian GNU/Hurd: Good idea, bad idea?

      +
      +

      +Upstream benefits: +

        +
      • Software packages become more portable.
      • +
      +

      +Debian benefits: +

        +
      • Debian becomes more portable.
      • +
      • Maintainers learn about portability and other systems.
      • +
      • Debian gets a lot of public recognition.
      • +
      +

      +GNU/Hurd benefits: +

        +
      • Large software base.
      • +
      • Great infrastructure.
      • +
      • Nice community to partner with.
      • +
      +
      +

      +The sheet lists the advantages of all groups involved. + +

      End

      +
      +

      +Join us at +

      +
      +

      +List of contacts. diff --git a/hurd.mdwn b/hurd.mdwn index 6c56b619..67ad46e9 100644 --- a/hurd.mdwn +++ b/hurd.mdwn @@ -48,7 +48,7 @@ in the *unstable* branch of the Debian archive. * [[Documentation]] * [Gaël Le Mignot](http://kilobug.free.fr/hurd/pres-en/slides/slides.html) * Architecture - * [[Towards_a_New_Strategy_of_OS_Design|documentation/hurd-paper]] by Thomas Bushnell, BSG. + * [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] by Thomas Bushnell, BSG. * Marcus Brinkmann's [revisit](http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00651.html) * Jonathan S. Shapiro [comments](http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00654.html) * [[Critique]] - Analysis diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn index 0d311758..589246bd 100644 --- a/hurd/documentation.mdwn +++ b/hurd/documentation.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 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 @@ -17,12 +17,12 @@ is included in the section entitled * [[FAQ]] - * [[*The_Hurd_and_Linux*|hurd-and-linux]], a comment by Richard Stallman. + * [[*The_Hurd_and_Linux*|/hurd-and-linux]], a comment by Richard Stallman. - * [[*Towards_a_New_Strategy_of_OS_Design*|hurd-paper]], an architectural + * [[*Towards_a_New_Strategy_of_OS_Design*|/hurd-paper]], an architectural overview by Thomas Bushnell, BSG. - * [[*The_Hurd*|hurd-talk]], a presentation by Marcus Brinkmann. + * [[*The_Hurd*|/hurd-talk]], a presentation by Marcus Brinkmann. * A document about *[[translators]]* by Marcus Brinkmann. diff --git a/hurd/documentation/hurd-and-linux.html b/hurd/documentation/hurd-and-linux.html deleted file mode 100644 index 1fc75f75..00000000 --- a/hurd/documentation/hurd-and-linux.html +++ /dev/null @@ -1,47 +0,0 @@ -[[!meta copyright="Copyright © 1996, 1997, 1998, 2008 Free Software Foundation, -Inc."]] - -[[!meta license="Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved."]] - -[[!meta title="The Hurd and Linux"]] - -by Richard Stallman. - -

      -People sometimes ask, ``Why did the FSF develop a new free kernel -instead of using Linux?'' It's a reasonable question. The answer, -briefly, is that that is not the question we faced. - -

      -When we started developing the Hurd in 1990, the question facing us -was, ``How can we get a free kernel for the GNU system?'' There was -no free Unix-like kernel then, and we knew of no other plan to write -one. The only way we could expect to have a free kernel was to write -it ourselves. So we started. - -

      -We heard about Linux after its release. At that time, the question -facing us was, ``Should we cancel the Hurd project and use Linux -instead?'' - -

      -We heard that Linux was not at all portable (this may not be true -today, but that's what we heard then). And we heard that Linux was -architecturally on a par with the Unix kernel; our work was leading to -something much more powerful. - -

      -Given the years of work we had already put into the Hurd, we decided -to finish it rather than throw them away. - -

      -If we did face the question that people ask---if Linux were already -available, and we were considering whether to start writing another -kernel---we would not do it. Instead we would choose another project, -something to do a job that no existing free software can do. - -

      -But we did start the Hurd, back then, and now we have made it work. -We hope its superior architecture will make free operating systems -more powerful. diff --git a/hurd/documentation/hurd-and-linux.mdwn b/hurd/documentation/hurd-and-linux.mdwn new file mode 100644 index 00000000..678ea8da --- /dev/null +++ b/hurd/documentation/hurd-and-linux.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 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 redir=/hurd-and-linux]] diff --git a/hurd/documentation/hurd-paper.html b/hurd/documentation/hurd-paper.html deleted file mode 100644 index 86375d46..00000000 --- a/hurd/documentation/hurd-paper.html +++ /dev/null @@ -1,760 +0,0 @@ -[[!meta copyright="Copyright © 1996, 1997, 1998, 2007, 2008 Free Software -Foundation, Inc."]] - -[[!meta license="Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved."]] - -[[!meta title="Towards a New Strategy of OS Design, an architectural overview -by Thomas Bushnell, BSG."]] - - -This article explains why FSF is developing a new operating system named the -Hurd, which will be a foundation of the whole GNU system. -The Hurd is built -on top of CMU's Mach 3.0 kernel and uses Mach's virtual memory management and -message-passing facilities. -The GNU C Library will provide the Unix system -call interface, and will call the Hurd for needed services it can't provide -itself. -The design and implementation of the Hurd is being lead by Michael -Bushnell, with assistance from Richard Stallman, Roland McGrath, -Jan Brittenson, and others. - -

      Part 1: A More Usable Approach to OS Design

      -

      -The fundamental purpose of an operating system (OS) is to enable a variety of -programs to share a single computer efficiently and productively. -This -demands memory protection, preemptively scheduled timesharing, coordinated -access to I/O peripherals, and other services. -In addition, an OS can allow -several users to share a computer. -In this case, efficiency demands services -that protect users from harming each other, enable them to share without -prior arrangement, and mediate access to physical devices. -

      -On today's computer systems, programmers usually implement these goals -through a large program called the kernel. -Since this program must be -accessible to all user programs, it is the natural place to add functionality -to the system. -Since the only model for process interaction is that of -specific, individual services provided by the kernel, no one creates other -places to add functionality. -As time goes by, more and more is added to the -kernel. -

      -A traditional system allows users to add components to a kernel only if they -both understand most of it and have a privileged status within the system. -Testing new components requires a much more painful edit-compile-debug cycle -than testing other programs. -It cannot be done while others are using the -system. -Bugs usually cause fatal system crashes, further disrupting others' -use of the system. -The entire kernel is usually non-pageable. -(There are -systems with pageable kernels, but deciding what can be paged is difficult -and error prone. -Usually the mechanisms are complex, making them difficult -to use even when adding simple extensions.) -

      -Because of these restrictions, functionality which properly belongs -behind -the wall of a traditional kernel is usually left out of systems unless it is -absolutely mandatory. -Many good ideas, best done with an open/read/write -interface cannot be implemented because of the problems inherent in the -monolithic nature of a traditional system. -Further, even among those with -the endurance to implement new ideas, only those who are privileged users of -their computers can do so. -The software copyright system darkens the mire by -preventing unlicensed people from even reading the kernel source. -

      -Some systems have tried to address these difficulties. -Smalltalk-80 and -the Lisp Machine both represented one method of getting around the problem. -System code is not distinguished from user code; all of the system is -accessible to the user and can be changed as need be. -Both systems were -built around languages that facilitated such easy replacement and extension, -and were moderately successful. -But they both were fairly poor at insulating -users and programs from each other, failing one of the principal goals of OS -design. -

      -Most projects that use the Mach 3.0 kernel carry on the hard-to-change -tradition of OS design. -The internal structure is different, but the same -heavy barrier between user and system remains. -The single-servers, while -fairly easy to construct, inherit all the deficiencies of the monolithic -kernels. -

      -A multi-server divides the kernel functionality up into logical blocks with -well-defined interfaces. -Properly done, it is easier to make changes and add -functionality. -So most multi-server projects do somewhat better. -Much more -of the system is pageable. -You can debug the system more easily. -You can -test new system components without interfering with other users. -But the -wall between user and system remains; no user can cross it without special -privilege. -

      -The GNU Hurd, by contrast, is designed to make the area of -system -code as -limited as possible. -Programs are required to communicate only with a few -essential parts of the kernel; the rest of the system is replaceable -dynamically. -Users can use whatever parts of the remainder of the system -they want, and can easily add components themselves for other users to take -advantage of. -No mutual trust need exist in advance for users to use each -other's services, nor does the system become vulnerable by trusting the -services of arbitrary users. -

      -This has been done by identifying those system components which users -must -use in order to communicate with each other. -One of these is responsible for -identifying users' identities and is called the - -authentication server. - -In -order to establish each other's identities, programs must communicate, each -with an authentication server they trust. -Another component establishes -control over system components by the superuser, provides global bookkeeping -operations, and is called the - -process server. - -

      -Not all user programs need to communicate with the process server; it is only -necessary for programs which require its services. -Likewise, the -authentication server is only necessary for programs that wish to communicate -their identity to another. -None of the remaining services carry any special -status; not the network implementation, the filesystems, the program -execution mechanism (including setuid), or any others. - -

      The Translator Mechanism

      -

      -The Hurd uses Mach ports primarily as methods for communicating between users -and servers. -(A Mach port is a communication point on a Mach task where -messages are sent and received.) Each port implements a particular set of -protocols, representing operations that can be undertaken on the underlying -object represented by the port. -Some of the protocols specified by the Hurd -are the I/O protocol, used for generic I/O operations; the file protocol, -used for filesystem operations; the socket protocol, used for network -operations; and the process protocol, used for manipulating processes et al. -

      -Most servers are accessed by opening files. -Normally, when you open a file, -you create a port associated with that file that is owned by the server -that owns the directory containing the file. -For example, a disk-based -filesystem will normally serve a large number of ports, each of which -represents an open file or directory. -When a file is opened, the server -creates a new port, associates it with the file, and returns the port to the -calling program. -

      -However, a file can have a -translator -associated with it. -In this case, -rather than return its own port which refers to the contents of the file, the -server executes a translator program associated with that file. -This -translator is given a port to the actual contents of the file, and is then -asked to return a port to the original user to complete the open operation. -

      -This mechanism is used for -mount -by having a translator associated with -each mount point. -When a program opens the mount point, the translator (in -this case, a program which understands the disk format of the mounted -filesystem) is executed and returns a port to the program. -After the -translator is started, it need not be run again unless it dies; the parent -filesystem retains a port to the translator to use in further requests. -

      -The owner of a file can associate a translator with it without special -permission. -This means that any program can be specified as a translator. -Obviously the system will not work properly if the translator does not -implement the file protocol correctly. -However, the Hurd is constructed so -that the worst possible consequence is an interruptible hang. -

      -One way to use translators is to access hierarchically structured data using -the file protocol. -For example, all the complexity of the user interface to -the -ftp -program is removed. -Users need only know that a particular -directory represents FTP and can use all the standard file manipulation -commands (e.g -ls -or -cp) -to access the remote system, rather than learning -a new set. -Similarly, a simple translator could ease the complexity of -tar -or -gzip. -(Such transparent access would have some added cost, but it would -be convenient.) - -

      Generic Services

      -

      -With translators, the filesystem can act as a rendezvous for interfaces which -are not similar to files. -Consider a service which implements some version -of the X protocol, using Mach messages as an underlying transport. -For each -X display, a file can be created with the appropriate program as its -translator. -X clients would open that file. -At that point, few file -operations would be useful (read and write, for example, would be useless), -but new operations ( -XCreateWindow -or -XDrawText) -might become meaningful. -In this case, the filesystem protocol is used only to manipulate -characteristics of the node used for the rendezvous. -The node need not -support I/O operations, though it should reply to any such messages with a -message_not_understood -return code. -

      -This translator technique is used to contact most of the services in the Hurd -that are not structured like hierarchical filesystems. -For example, the -password server, which hands out authorization tags in exchange for -passwords, is contacted this way. -Network protocol servers are also -contacted in this fashion. -Roland McGrath thought up this use of translators. - -

      Clever Filesystem Pictures

      -

      -In the Hurd, translators can also be used to present a filesystem-like view -of another part of the filesystem, with some semantics changed. -For example, -it would be nice to have a filesystem that cannot itself be changed, but -nonetheless records changed versions of its files elsewhere. -(This could be -useful for source code management.) -

      -The Hurd will have a translator which creates a directory which is a -conceptual union of other directories, with collision resolution rules of -various sorts. -This can be used to present a single directory to users that -contains all the programs they would want to execute. -There are other useful -variations on this theme. - -

      What The User Can Do

      -

      -No translator gains extra privilege by virtue of being hooked into the -filesystem. -Translators run with the uid of the owner of the file being -translated, and can only be set or changed by that owner. -The I/O and -filesystem protocols are carefully designed to allow their use by mutually -untrusting clients and servers. -Indeed, translators are just ordinary -programs. -The GNU C library has a variety of facilities to make common sorts -of translators easier to write. -

      -Some translators may need special privileges, such as the password server or -translators which allow setuid execution. -These translators could be run by -anyone, but only if they are set on a root-owned node would they be able to -provide all their services successfully. -This is analogous to letting any -user call the -reboot -system call, but only honoring it if that user is root. - -

      Why This Is So Different

      -

      -What this design provides is completely novel to the Unix world. -Until now, -OSs have kept huge portions of their functionality in the realm of system -code, thus preventing its modification and extension except in extreme need. -Users cannot replace parts of the system in their programs no matter how much -easier that would make their task, and system managers are loath to install -random tweaks off the net into their kernels. -

      -In the Hurd, users can change almost all of the things that are decided for -them in advance by traditional systems. -In combination with the tremendous -control given by the Mach kernel over task address spaces and properties, the -Hurd provides a system in which users will, for the first time, be able to -replace parts of the system they dislike, without disrupting other users. -

      -Most Mach-based OSs to date have mostly implemented a wider set of the - -same old - -Unix semantics in a new environment. -In contrast, GNU is extending -those semantics to allow users to improve, bypass, or replace them. - - -

      Part 2: A Look at Some of the Hurd's Beasts

      -

      The Authentication Server

      -

      -One of the Hurd's more central servers is the authentication server. -Each -port to this server identifies a user and is associated by this server with -an -id block. -Each id block contains sets of user and group ids. -Either -set may be empty. -This server is not the same as the password server -referred to above. -

      -The authentication server exports three services. -First, it provides simple -boolean operations on authentication ports: given two authentication ports, -this server will provide a third port representing the union of the two sets -of uids and gids. -Second, this server allows any user with a uid of zero to -create an arbitrary authentication port. -Finally, this server provides RPCs -(Remote Procedure Calls between different programs and possibly different -hosts) which allow mutually untrusting clients and servers to establish their -identities and pass initial information on each other. -This is crucial to -the security of the filesystem and I/O protocols. -

      -Any user could write a program which implements the authentication protocol; -this does not violate the system's security. -When a service needs to -authenticate a user, it communicates with its trusted authentication server. -If that user is using a different authentication server, the transaction will -fail and the server can refuse to communicate further. -Because, in effect, -this forces all programs on the system to use the same authentication server, -we have designed its interface to make any safe operation possible, and to -include no extraneous operations. -(This is why there is a separate password -server.) -

      The Process Server

      -

      -The process server acts as an information categorization repository. -There -are four main services supported by this server. -First, the process server -keeps track of generic host-level information not handled by the Mach kernel. -For example, the hostname, the hostid, and the system version are maintained -by the process server. -Second, this server maintains the Posix notions of -sessions and process groups, to help out programs that wish to use Posix -features. -

      -Third, the process server maintains a one-to-one mapping between Mach tasks -and Hurd processes. -Every task is assigned a pid. -Processes can register a -message port with this server, which can then be given out to any program -which requests it. -This server makes no attempt to keep these message ports -private, so user programs are expected to implement whatever security they -need themselves. -(The GNU C Library provides convenient functions for all -this.) Processes can tell the process server their current `argv' and `envp' -values; this server will then provide, on request, these vectors of arguments -and environment. -This is useful for writing -ps-like -programs and also -makes it easier to hide or change this information. -None of these features -are mandatory. -Programs are free to disregard all of this and never register -themselves with the process server at all. -They will, however, still have a -pid assigned. -

      -Finally, the process server implements -process collections, -which are used -to collect a number of process message ports at the same time. -Also, -facilities are provided for converting between pids, process server ports, -and Mach task ports, while ensuring the security of the ports managed. -

      -It is important to stress that the process server is optional. -Because of -restrictions in Mach, programs must run as root in order to identify all the -tasks in the system. -But given that, multiple process servers could -co-exist, each with their own clients, giving their own model of the -universe. -Those process server features which do not require root privileges -to be implemented could be done as per-user servers. -The user's hands are -not tied. -

      Transparent FTP

      -

      -Transparent FTP is an intriguing idea whose time has come. -The popular -ange-ftp -package available for GNU Emacs makes access to FTP files -virtually transparent to all the Emacs file manipulation functions. -Transparent FTP does the same thing, but in a system wide fashion. -This -server is not yet written; the details remain to be fleshed out, and will -doubtless change with experience. -

      -In a BSD kernel, a transparent FTP filesystem would be no harder to write -than in the Hurd. -But mention the idea to a BSD kernel hacker, and the -response is that ``such a thing doesn't belong in the kernel''. -In a sense, -this is correct. -It violates all the layering principles of such systems to -place such things in the kernel. -The unfortunate side effect, however, is -that the design methodology (which is based on preventing users from changing -things they don't like) is being used to prevent system designers from making -things better. -(Recent BSD kernels make it possible to write a user program -that provides transparent FTP. -An example is -alex, -but it needs to run -with full root privileges.) -

      -In the Hurd, there are no obstacles to doing transparent FTP. -A translator -will be provided for the node -/ftp. -The contents of -/ftp -will probably -not be directly listable, though further subdirectories will be. -There will -be a variety of possible formats. -For example, to access files on uunet, one -could - -cd /ftp/ftp.uu.net:anonymous:mib@gnu. - -Or to access files on a remote -account, one might - -cd /ftp/gnu.org:mib:passwd. - -Parts of this -command could be left out and the transparent FTP program would read them -from a user's -.netrc -file. -In the last case, one might just - -cd /ftp/gnu.org; - -when the rest of the data is already in -.netrc. -

      -There is no need to do a -cd -first--use any file command. -To find out about -RFC 1097 (the Telnet Subliminal Message Option), just type - -more /ftp/ftp.uu.net/inet/rfc/rfc1097. - -A copy command to a local disk -could be used if the RFC would be read frequently. -

      Filesystems

      -

      -Ordinary filesystems are also being implemented. -The initial release of the -Hurd will contain a filesystem upwardly compatible with the BSD 4.4 Fast File -System. -In addition to the ordinary semantics, it will provide means to -record translators, offer thirty-two bit user ids and group ids, and supply a -new id per file, called the -author -of the file, which can be set by the -owner arbitrarily. -In addition, because users in the Hurd can have multiple -uids (or even none), there is an additional set of permission bits providing -access control for - -unknown user - -(no uids) as distinct from - -known but arbitrary user - -(some uids: the existing -world -category of file -permissions). -

      -The Network File System protocol will be implemented using 4.4 BSD as a -starting point. -A log-structured filesystem will also be implemented using -the same ideas as in Sprite, but probably not the same format. -A GNU network -file protocol may be designed in time, or NFS may be extended to remove its -deficiencies. -There will also be various ``little'' filesystems, such as the -MS-DOS filesystem, to help people move files between GNU and other OSs. - -

      Terminals

      -

      -An I/O server will provide the terminal semantics of Posix. -The GNU C -Library has features for keeping track of the controlling terminal and for -arranging to have proper job control signals sent at the proper times, as -well as features for obeying keyboard and hangup signals. -

      -Programs will be able to insert a terminal driver into communications -channels in a variety of ways. -Servers like -rlogind -will be able to insert -the terminal protocol onto their network communication port. -Pseudo-terminals will not be necessary, though they will be provided for -backward compatibility with older programs. -No programs in GNU will depend -on them. -

      -Nothing about a terminal driver is forced upon users. -A terminal driver -allows a user to get at the underlying communications channel easily, to -bypass itself on an as-needed basis or altogether, or to substitute a -different terminal driver-like program. -In the last case, provided the -alternate program implements the necessary interfaces, it will be used by the -C Library exactly as if it were the ordinary terminal driver. -

      -Because of this flexibility, the original terminal driver will not provide -complex line editing features, restricting itself to the behavior found in -Posix and BSD. -In time, there will be a -readline-based -terminal driver, -which will provide complex line-editing features for those users who want -them. -

      -The terminal driver will probably not provide good support for the -high-volume, rapid data transmission required by UUCP or SLIP. -Those -programs do not need any of its features. -Instead they will be using the -underlying Mach device ports for terminals, which support moving large -amounts of data efficiently. - -

      Executing Programs

      -

      -The implementation of the -execve -call is spread across three programs. -The -library marshals the argument and environment vectors. -It then sends a -message to the file server that holds the file to be executed. -The file -server checks execute permissions and makes whatever changes it desires in -the exec call. -For example, if the file is marked setuid and the fileserver -has the ability, it will change the user identification of the new image. -The file server also decides if programs which had access to the old task -should continue to have access to the new task. -If the file server is -augmenting permissions, or executing an unreadable image, then the exec needs -to take place in a new Mach task to maintain security. -

      -After deciding the policy associated with the new image, the filesystem calls -the exec server to load the task. -This server, using the BFD (Binary File -Descriptor) library, loads the image. -BFD supports a large number of object -file formats; almost any supported format will be executable. -This server -also handles scripts starting with -#!, -running them through the indicated -program. -

      -The standard exec server also looks at the environment of the new image; if -it contains a variable -EXECSERVERS -then it uses the programs specified -there as exec servers instead of the system default. -(This is, of course, -not done for execs that the file server has requested be kept secure.) -

      -The new image starts running in the GNU C Library, which sends a message to -the exec server to get the arguments, environment, umask, current directory, -etc. -None of this additional state is special to the file or exec servers; -if programs wish, they can use it in a different manner than the Library. - -

      New Processes

      -

      -The -fork -call is implemented almost entirely in the GNU C Library. -The new -task is created by Mach kernel calls. -The C Library arranges to have its -image inherited properly. -The new task is registered with the process server -(though this is not mandatory). -The C Library provides vectors of functions -to be called at fork time: one vector to be called before the fork, one after -in the parent, and one after in the child. -(These features should not be -used to replace the normal fork-calling sequence; it is intended for -libraries which need to close ports or clean up before a fork occurs.) -The C -library will implement both fork calls specified by the draft Posix.4a (the -proposed standard dealing with the threads extension to the real-time -extension). -

      -Nothing forces the user to create new tasks this way. -If a program wants to -use almost the normal fork, but with some special characteristics, then it -can do so. -Hooks will be provided by the C Library, or the function can even -be completely replaced. -None of this is possible in a traditional Unix -system. - -

      Asynchronous Messages

      -

      -As mentioned above, the process server maintains a - -message port - -for each -task registered with it. -These ports are public, and are used to send -asynchronous messages to the task. -Signals, for example, are sent to the -message port. -The signal message also provides a port as an indication that -the sender should be trusted to send the signal. -The GNU C Library lists a -variety of ports in a table, each of which identifies a set of signals that -can be sent by anyone who possesses that port. -For example, if the user -possesses the task's kernel port, it is allowed to send any signal. -If the -user possesses a special - -terminal id - -port, it is allowed to send the -keyboard and hangup signals. -Users can add arbitrary new entries into the C -library's signal permissions table. -

      -When a process's process group changes, the process server will send it a -message indicating the new process group. -In this case, the process server -proves its authority by providing the task's kernel port. -

      -The C library also has messages to add and delete uids currently used by the -process. -If new uids are sent to the program, the library adds them to its -current set, and then exchanges messages with all the I/O servers it knows -about, proving to them its new authorization. -Similarly, a message can -delete uids. -In the latter case, the caller must provide the process's task -port. -(You can't harm a process by giving it extra permission, but you can -harm it by taking permission away.) The Hurd will provide user programs to -send these messages to processes. -For example, the -su -command will be able -to cause all the programs in your current login session, to gain a new uid, -rather than spawn a subshell. -

      -The C library will allow programs to add asynchronous messages they wish to -recognize, as well as prevent recognition of the standard set. -

      Making It Look Like Unix

      -

      -The C Library will implement all of the calls from BSD and Posix as well as -some obvious extensions to them. -This enables users to replace those calls -they dislike or bypass them entirely, whereas in Unix the calls must be used -``as they come'' with no alternatives possible. -

      -In some environments binary compatibility will also be supported. -This works -by building a special version of the library which is then loaded somewhere -in the address space of the process. -(For example, on a VAX, it would be -tucked in above the stack.) A feature of Mach, called system call -redirection, is then used to trap Unix system calls and turn them into jumps -into this special version of the library. -(On almost all machines, the cost -of such a redirection is very small; this is a highly optimized path in Mach. -On a 386 it's about two dozen instructions. -This is little worse than a -simple procedure call.) -

      -Many features of Unix, such as signal masks and vectors, are handled -completely by the library. -This makes such features significantly cheaper -than in Unix. -It is now reasonable to use -sigblock -extensively to protect -critical sections, rather than seeking out some other, less expensive method. - -

      Network Protocols

      -

      -The Hurd will have a library that will make it very easy to port 4.4 BSD -protocol stacks into the Hurd. -This will enable operation, virtually for -free, of all the protocols supported by BSD. -Currently, this includes the -CCITT protocols, the TCP/IP protocols, the Xerox NS protocols, and the ISO -protocols. -

      -For optimal performance some work would be necessary to take advantage of -Hurd features that provide for very high speed I/O. -For most protocols this -will require some thought, but not too much time. -The Hurd will run the -TCP/IP protocols as efficiently as possible. -

      -As an interesting example of the flexibility of the Hurd design, consider the -case of IP trailers, used extensively in BSD for performance. -While the Hurd -will be willing to send and receive trailers, it will gain fairly little -advantage in doing so because there is no requirement that data be copied and -avoiding copies for page-aligned data is irrelevant. diff --git a/hurd/documentation/hurd-paper.mdwn b/hurd/documentation/hurd-paper.mdwn new file mode 100644 index 00000000..06c23662 --- /dev/null +++ b/hurd/documentation/hurd-paper.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 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 redir=/hurd-paper]] diff --git a/hurd/documentation/hurd-talk.html b/hurd/documentation/hurd-talk.html deleted file mode 100644 index 29518dd6..00000000 --- a/hurd/documentation/hurd-talk.html +++ /dev/null @@ -1,1061 +0,0 @@ -[[!meta copyright="Copyright © 2001 Marcus Brinkmann"]] - -[[!meta license="Verbatim copying and distribution of this entire article is -permitted in any medium, provided this notice is preserved."]] - -[[!meta title="The Hurd, a presentation by Marcus Brinkmann"]] - - -

      Table of Contents

      - -
      -

      Talk about the Hurd

      -

      -This talk about the Hurd was written by Marcus Brinkmann for -

        -
      • OSDEM, Brussels, 4. Feb 2001, -
      • Frühjahrsfachgespräche, Cologne, 2. Mar 2001 and -
      • Libre Software Meeting, Bordeaux, 4. Jul 2001. -
      - -

      Introduction

      -

      -When we talk about free software, we usually refer to the free -software licenses. We also need relief from software patents, so our -freedom is not restricted by them. But there is a third type of -freedom we need, and that's user freedom. - -

      -Expert users don't take a system as it is. They like to change the -configuration, and they want to run the software that works best for -them. That includes window managers as well as your favourite text -editor. But even on a GNU/Linux system consisting only of free -software, you can not easily use the filesystem format, network -protocol or binary format you want without special privileges. In -traditional unix systems, user freedom is severly restricted by the -system administrator. - -

      -The Hurd removes these restrictions from the user. It provides an -user extensible system framework without giving up POSIX compatibility -and the unix security model. Throughout this talk, we will see that -this brings further advantages beside freedom. - -

      Overview

      -
      - -

      -The Hurd is a POSIX compatible multi-server -system operating on top of the GNU Mach microkernel. - -

      -Topics: -

        -
      • GNU Mach
      • -
      • The Hurd
      • -
      • Development
      • -
      • Debian GNU/Hurd
      • -
      -
      - -

      -The Hurd is a POSIX compatible multi-server system operating on top of -the GNU Mach Microkernel. - -

      -I will have to explain what GNU Mach is, so we start with that. Then -I will talk about the Hurd's architecture. After that, I will give a -short overview on the Hurd libraries. Finally, I will tell you how -the Debian project is related to the Hurd. - -

      Historicals

      - -
      -
        -
      • 1983: Richard Stallman founds the GNU project.
      • -
      • 1988: Decision is made to use Mach 3.0 as the kernel.
      • -
      • 1991: Mach 3.0 is released under compatible license.
      • -
      • 1991: Thomas Bushnell, BSG, founds the Hurd project.
      • -
      • 1994: The Hurd boots the first time.
      • -
      • 1997: Version 0.2 of the Hurd is released.

      • -
      • 1998: Debian hurd-i386 archive is created.
      • -
      • 2001: Debian GNU/Hurd snapshot fills three CD images.
      • -
      -
      - -

      -When Richard Stallman founded the GNU project in 1983, he wanted to -write an operating system consisting only of free software. Very -soon, a lot of the essential tools were implemented, and released -under the GPL. However, one critical piece was missing: The kernel. -

      -After considering several alternatives, it was decided not to write a -new kernel from scratch, but to start with the Mach microkernel. This -was in 1988, and it was not before 1991 that Mach was released under a -license allowing the GNU project to distribute it as a part of the -system. -

      -In 1998, I started the Debian GNU/Hurd project, and in 2001 the number -of available GNU/Hurd packages fills three CD images. - -

      Kernel Architectures

      -
      -

      -Microkernel: -

        -
      • Enforces resource management (paging, scheduling)
      • -
      • Manages tasks
      • -
      • Implements message passing for IPC
      • -
      • Provides basic hardware support
      • -
      -

      -Monolithic kernel: -

        -
      • No message passing necessary
      • -
      • Rich set of features (filesystems, authentication, network - sockets, POSIX interface, ...)
      • -
      -
      -

      -Microkernels were very popular in the scientific world around that -time. They don't implement a full operating system, but only the -infrastructure needed to enable other tasks to implement most -features. In contrast, monolithical kernels like Linux contain -program code of device drivers, network protocols, process management, -authentication, file systems, POSIX compatible interfaces and much -more. -

      -So what are the basic facilities a microkernel provides? In general, -this is resource management and message passing. Resource management, -because the kernel task needs to run in a special privileged mode of -the processor, to be able to manipulate the memory management unit and -perform context switches (also to manage interrupts). Message -passing, because without a basic communication facility the other -tasks could not interact to provide the system services. Some -rudimentary hardware device support is often necessary to bootstrap -the system. So the basic jobs of a microkernel are enforcing the -paging policy (the actual paging can be done by an external pager -task), scheduling, message passing and probably basic hardware device -support. -

      -Mach was the obvious choice back then, as it provides a rich set of -interfaces to get the job done. Beside a rather brain-dead device -interface, it provides tasks and threads, a messaging system allowing -synchronous and asynchronous operation and a complex interface for -external pagers. It's certainly not one of the sexiest microkernels -that exist today, but more like a big old mama. The GNU project -maintains its own version of Mach, called GNU Mach, which is based on -Mach 4.0. In addition to the features contained in Mach 4.0, the GNU -version contains many of the Linux 2.0 block device and network card -drivers. -

      -A complete treatment of the differences between a microkernel and -monolithical kernel design can not be provided here. But a couple of -advantages of a microkernel design are fairly obvious. - -

      Micro vs Monolithic

      -
      -

      -Microkernel -

        -
      • Clear cut responsibilities -
      • Flexibility in operating system design, easier debugging
      • -
      • More stability (less code to break)
      • -
      • New features are not added to the kernel
      • -
      -

      -Monolithic kernel -

        -
      • Intolerance or creeping featuritis
      • -
      • Danger of spaghetti code
      • -
      • Small changes can have far reaching side effects
      • -
      -
      -

      -Because the system is split up into several components, clean -interfaces have to be developed, and the responsibilities of each part -of the system must be clear. -

      -Once a microkernel is written, it can be used as the base for several -different operating systems. Those can even run in parallel which -makes debugging easier. When porting, most of the hardware dependant -code is in the kernel. -

      -Much of the code that doesn't need to run in the special kernel mode -of the processor is not part of the kernel, so stability increases -because there is simply less code to break. -

      -New features are not added to the kernel, so there is no need to hold -the barrier high for new operating system features. -

      -Compare this to a monolithical kernel, where you either suffer from -creeping featuritis or you are intolerant of new features (we see both -in the Linux kernel). -

      -Because in a monolithical kernel, all parts of the kernel can access -all data structures in other parts, it is more likely that short cuts -are used to avoid the overhead of a clean interface. This leads to a -simple speed up of the kernel, but also makes it less comprehensible -and more error prone. A small change in one part of the kernel can -break remote other parts. - -

      Single Server vs Multi Server

      -
      -

      -Single Server -

        -
      • A single task implements the functionality of the operating system.
      • -
      -

      -Multi Server -

        -
      • Many tasks cooperate to provide the system's functionality.
      • -
      • One server provides only a small but well-defined part of the - whole system.
      • -
      • The responsibilities are distributed logically among the servers.
      • -
      -

      -A single-server system is comparable to a monolithic kernel system. It -has similar -advantages and disadvantages. -

      -

      -There exist a couple of operating systems based on Mach, but they all -have the same disadvantages as a monolithical kernel, because those -operating systems are implemented in one single process running on top -of the kernel. This process provides all the services a monolithical -kernel would provide. This doesn't make a whole lot of sense (the -only advantage is that you can probably run several of such isolated -single servers on the same machine). Those systems are also called -single-server systems. The Hurd is the only usable multi-server -system on top of Mach. In the Hurd, there are many server programs, -each one responsible for a unique service provided by the operating -system. These servers run as Mach tasks, and communicate using the -Mach message passing facilities. One of them does only provide a -small part of the functionality of the system, but together they build -up a complete and functional POSIX compatible operating system. - -

      Multi Server is superior, ...

      -
      -

      -Any multi-server has advantages over single-server: -

        -
      • Clear cut responsibilities
      • -
      • More stability: If one server dies, all others remain
      • -
      • Easier development cycle: Testing without reboot (or replacing - running servers), debugging with gdb
      • -
      • Easier to make changes and add new features -
      -
      -

      -Using several servers has many advantages, if done right. If a file -system server for a mounted partition crashes, it doesn't take down -the whole system. Instead the partition is "unmounted", and -you can try to start the server again, probably debugging it this time -with gdb. The system is less prone to errors in individual -components, and over-all stability increases. The functionality of -the system can be extended by writing and starting new servers -dynamically. (Developing these new servers is easier for the reasons -just mentioned.) -

      -But even in a multi-server system the barrier between the system and -the users remains, and special privileges are needed to cross it. We -have not achieved user freedom yet. - -

      The Hurd even more so.

      -
      -

      -The Hurd goes beyond all this, and allows users to write and run their -servers, too! -

        -
      • Users can replace system servers dynamically with their own - implementations.
      • -
      • Users can decide what parts of the remainder of the system they - want to use.
      • -
      • Users can extend the functionality of the system.
      • -
      • No mutual trust necessary to make use of other users - services.
      • -
      • Security of the system is not harmed by trusting users - services.
      • -
      -
      -

      -To quote Thomas Bushnell, BSG, from his paper -[[``Towards_a_New_Strategy_of_OS_design''_(1996)|hurd-paper]]: -

      -The GNU Hurd, by contrast, is designed to make the area of system code -as limited as possible. Programs are required to communicate only -with a few essential parts of the kernel; the rest of the system is -replaceable dynamically. Users can use whatever parts of the -remainder of the system they want, and can easily add components -themselves for other users to take advantage of. No mutual trust need -exist in advance for users to use each other's services, nor does the -system become vulnerable by trusting the services of arbitrary users. -
      - -

      -So the Hurd is a set of servers running on top of the Mach -micro-kernel, providing a POSIX compatible and extensible operating -system. What servers are there? What functionality do they provide, -and how do they cooperate? - -

      Mach Inter Process Communication

      -
      -

      -Ports are message queues which can be used as one-way communication -channels. -

        -
      • Port rights are receive, send or send-once
      • -
      • Exactly one receiver
      • -
      • Potentially many senders
      • -
      -

      -MIG provides remote procedure calls on top of Mach IPC. RPCs look like -function calls to the user. -

      -

      -Inter-process communication in Mach is based on the ports concept. A -port is a message queue, used as a one-way communication channel. In -addition to a port, you need a port right, which can be a send right, -receive right, or send-once right. Depending on the port right, you -are allowed to send messages to the server, receive messages from it, -or send just one single message. -

      -For every port, there exists exactly one task holding the receive -right, but there can be no or many senders. The send-once right is -useful for clients expecting a response message. They can give a -send-once right to the reply port along with the message. The kernel -guarantees that at some point, a message will be received on the reply -port (this can be a notification that the server destroyed the -send-once right). -

      -You don't need to know much about the format a message takes to be -able to use the Mach IPC. The Mach interface generator mig hides the -details of composing and sending a message, as well as receiving the -reply message. To the user, it just looks like a function call, but -in truth the message could be sent over a network to a server running -on a different computer. The set of remote procedure calls a server -provides is the public interface of this server. - - -

      How to get a port?

      -
      -

      -Traditional Mach: -

        -
      • Nameserver provides ports to all registered servers.
      • -
      • The nameserver port itself is provided by Mach.
      • -
      • Like a phone book: One list.
      • -
      -

      -The Hurd: -

        -
      • The filesystem is used as the server namespace.
      • -
      • Root directory port is inserted into each task.
      • -
      • The C library finds other ports with hurd_file_name_lookup, - performing a pathname resolution.
      • -
      • Like a tree of phone books.
      • -
      -
      -

      -So how does one get a port to a server? You need something like a -phone book for server ports, or otherwise you can only talk to -yourself. In the original Mach system, a special nameserver is -dedicated to that job. A task could get a port to the nameserver from -the Mach kernel and ask it for a port (with send right) to a server -that registered itself with the nameserver at some earlier time. -

      -In the Hurd, there is no nameserver. Instead, the filesystem is used -as the server namespace. This works because there is always a root -filesystem in the Hurd (remember that the Hurd is a POSIX compatible -system); this is an assumption the people who developed Mach couldn't -make, so they had to choose a different strategy. You can use the -function hurd_file_name_lookup, which is part of the C library, to get -a port to the server belonging to a filename. Then you can start to -send messages to the server in the usual way. - -

      Example of hurd_file_name_lookup

      -
      -mach_port_t identity;
      -mach_port_t pwserver;
      -kern_return_t err;
      -
      -pwserver = hurd_file_name_lookup
      -                ("/servers/password");
      -
      -err = password_check_user (pwserver,
      -                           0 /* root */, "supass",
      -                           &identity);
      -
      -

      -As a concrete example, the special filename -/servers/password can be used to request a port to the -Hurd password server, which is responsible to check user provided -passwords. -

      -(explanation of the example) - -

      Pathname resolution example

      -
      -

      -Task: Lookup /mnt/readme.txt where /mnt has a mounted filesystem. -

        -
      • The C library asks the root filesystem server about - /mnt/readme.txt.
      • -
      • The root filesystem returns a port to the mnt filesystem server - (matching /mnt) and the retry name - /readme.txt.
      • -
      • The C library asks the mnt filesystem server about - /readme.txt.
      • -
      • The mnt filesystem server returns a port to itself and records - that this port refers to the regular file - /readme.txt.
      • -
      -
      -

      -The C library itself does not have a full list of all available -servers. Instead pathname resolution is used to traverse through a -tree of servers. In fact, filesystems themselves are implemented by -servers (let us ignore the chicken and egg problem here). So all the -C library can do is to ask the root filesystem server about the -filename provided by the user (assuming that the user wants to resolve -an absolute path), using the dir_lookup RPC. If the -filename refers to a regular file or directory on the filesystem, the -root filesystem server just returns a port to itself and records that -this port corresponds to the file or directory in question. But if a -prefix of the full path matches the path of a server the root -filesystem knows about, it returns to the C library a port to this -server and the remaining part of the pathname that couldn't be -resolved. The C library than has to retry and query the other server -about the remaining path component. Eventually, the C library will -either know that the remaining path can't be resolved by the last -server in the list, or get a valid port to the server in question. - -

      Mapping the POSIX Interface

      -
      - - - - - - - - - - - - - - - - - - - -
      FiledescriptorPort to server providing the file
      fd = open(name,...)dir_lookup(..,name,..,&port)
      -[pathname resolution]
      read(fd, ...)io_read(port, ...)
      write(fd, ...)io_write(port, ...)
      fstat(fd, ...)io_stat(port, ...)
      ...
      -
      -

      -It should by now be obvious that the port returned by the server can -be used to query the files status, content and other information from -the server, if good remote procedure calls to do that are defined and -implemented by it. This is exactly what happens. Whenever a file is -opened using the C libraries open() call, the C library -uses the above pathname resolution to get a port to a server providing -the file. Then it wraps a file descriptor around it. So in the Hurd, -for every open file descriptor there is a port to a server providing -this file. Many other C library calls like read() and -write() just call a corresponding RPC using the port -associated with the file descriptor. - -

      File System Servers

      -
      -
        -
      • Provide file and directory services for ports (and more).
      • -
      • These ports are returned by a directory lookup.
      • -
      • Translate filesystem accesses through their root path (hence the - name translator).
      • -
      • The C library maps the POSIX file and directory interface (and - more) to RPCs to the filesystem servers ports, but also does work on - its own.
      • -
      • Any user can install file system servers on inodes they own.
      • -
      -
      -

      -So we don't have a single phone book listing all servers, but rather a -tree of servers keeping track of each other. That's really like -calling your friend and asking for the phone number of the blond girl -at the party yesterday. He might refer you to a friend who hopefully -knows more about it. Then you have to retry. -

      -This mechanism has huge advantages over a single nameserver. First, -note that standard unix permissions on directories can be used to -restrict access to a server (this requires that the filesystems -providing those directories behave). You just have to set the -permissions of a parent directory accordingly and provide no other way -to get a server port. -

      -But there are much deeper implications. Most of all, a pathname never -directly refers to a file, it refers to a port of a server. That -means that providing a regular file with static data is just one of -the many options the server has to service requests on the file port. -A server can also create the data dynamically. For example, a server -associated with /dev/random can provide new random data -on every io_read() on the port to it. A server -associated with /dev/fortune can provide a new fortune -cookie on every open(). -

      -While a regular filesystem server will just serve the data as stored -in a filesystem on disk, there are servers providing purely virtual -information, or a mixture of both. It is up to the server to behave -and provide consistent and useful data on each remote procedure call. -If it does not, the results may not match the expectations of the user -and confuse him. -

      -A footnote from the Hurd info manual: -

      -(1) You are lost in a maze of twisty little filesystems, all -alike.... -
      -

      -Because a server installed in the filesystem namespace translates all -filesystem operations that go through its root path, such a server is -also called "active translator". You can install translators using -the settrans command with the -a option. - -

      Active vs Passive

      -
      -

      -Active Translators: -

        -
      • "settrans -a /cdrom /hurd/isofs /dev/hd2"
      • -
      • Are running filesystem servers.
      • -
      • Are attached to the root node they translate.
      • -
      • Run as a normal process.
      • -
      • Go away with every reboot, or even time out.
      • -
      -
      -

      -Many translator settings remain constant for a long time. It would be -very lame to always repeat the same couple of dozens settrans calls -manually or at boot time. So the Hurd provides a filesystem extension -that allows to store translator settings inside the filesystem and let -the filesystem servers do the work to start those servers on demand. -Such translator settings are called "passive translators". A passive -translator is really just a command line string stored in an inode of -the filesystem. If during a pathname resolution a server encounters -such a passive translator, and no active translator does exist already -(for this node), it will use this string to start up a new translator -for this inode, and then let the C library continue with the path -resolution as described above. Passive translators are installed with -settrans using the -p option (which is already the -default). - -
      -

      -Passive Translators: -

        -
      • "settrans /mnt /hurd/ext2fs /dev/hd1s1"
      • -
      • Are stored as command strings into an inode.
      • -
      • Are used to start a new active translator if there isn't - one.
      • -
      • Startup is transparent to the user.
      • -
      • Startup happens the first time the server is needed.
      • -
      • Are permanent across reboots (like file data).
      • -
      -
      -

      -So passive translators also serve as a sort of automounting feature, -because no manual interaction is required. The server start up is -deferred until the service is need, and it is transparent to the user. -

      -When starting up a passive translator, it will run as a normal process -with the same user and group id as those of the underlying inode. Any -user is allowed to install passive and active translators on inodes -that he owns. This way the user can install new servers into the -global namespace (for example, in his home or tmp directory) and thus -extend the functionality of the system (recall that servers can -implement other remote procedure calls beside those used for files and -directories). A careful design of the trusted system servers makes -sure that no permissions leak out. -

      -In addition, users can provide their own implementations of some of -the system servers instead the system default. For example, they can -use their own exec server to start processes. The user specific exec -server could for example start java programs transparently (without -invoking the interpreter manually). This is done by setting the -environment variable EXECSERVERS. The systems default -exec server will evaluate this environment variable and forward the -RPC to each of the servers listed in turn, until some server accepts -it and takes over. The system default exec server will only do this -if there are no security implications. (XXX There are other ways to -start new programs than by using the system exec server. Those are -still available.) -

      -Let's take a closer look at some of the Hurd servers. It was already -mentioned that only few system servers are mandatory for users. To -establish your identity within the Hurd system, you have to -communicate with the trusted systems authentication server -auth. To put the system administrator into control over -the system components, the process server does some global -bookkeeping. -

      -But even these servers can be ignored. However, registration with the -authentication server is the only way to establish your identity -towards other system servers. Likewise, only tasks registered as -processes with the process server can make use of its services. - -

      Authentication

      -
      -

      -A user identity is just a port to an authserver. The auth server -stores four set of ids for it: -

        -
      • effective user ids
      • -
      • effective group ids
      • -
      • available user ids
      • -
      • available group ids
      • -
      -

      -Basic properties: -

        -
      • Any of these can be empty.
      • -
      • A 0 among the user ids identifies the superuser.
      • -
      • Effective ids are used to check if the user has the - permission.
      • -
      • Available ids can be turned into effective ids on user - request.
      • -
      -
      -

      -The Hurd auth server is used to establish the identity of a user for a -server. Such an identity (which is just a port to the auth server) -consists of a set of effective user ids, a set of effective group ids, -a set of available user ids and a set of available group ids. Any of -these sets can be empty. - -

      Operations on authentication ports

      -
      -

      -The auth server provides the following operations on ports: -

        -
      • Merge the ids of two ports into a new one.
      • -
      • Return a new port containing a subset of the ids in a port.
      • -
      • Create a new port with arbitrary ids (superuser only).
      • -
      • Establish a trusted connection between users and servers.
      • -
      -
      -

      -If you have two identities, you can merge them and request an identity -consisting of the unions of the sets from the auth server. You can -also create a new identity consisting only of subsets of an identity -you already have. What you can't do is extending your sets, unless -you are the superuser which is denoted by having the user id 0. - -

      Establishing trusted connections

      -
      -
        -
      • User provides a rendezvous port to the server (with - io_reauthenticate).
      • -
      • User calls auth_user_authenticate on the - authentication port (his identity), passing the rendezvous port.
      • -
      • Server calls auth_server_authenticate on its - authentication port (to a trusted auth server), passing the - rendezvous port and the server port.
      • -
      • If both authentication servers are the same, it can match the - rendezvous ports and return the server port to the user and the user - ids to the server.
      • -
      -
      -

      -Finally, the auth server can establish the identity of a user for a -server. This is done by exchanging a server port and a user identity -if both match the same rendezvous port. The server port will be -returned to the user, while the server is informed about the id sets -of the user. The server can then serve or reject subsequent RPCs by -the user on the server port, based on the identity it received from -the auth server. -

      -Anyone can write a server conforming to the auth protocol, but of -course all system servers use a trusted system auth server to -establish the identity of a user. If the user is not using the system -auth server, matching the rendezvous port will fail and no server port -will be returned to the user. Because this practically requires all -programs to use the same auth server, the system auth server is -minimal in every respect, and additional functionality is moved -elsewhere, so user freedom is not unnecessarily restricted. - -

      Password Server

      -
      -

      -The password server /servers/password runs as root and -returns a new authentication port in exchange for a unix password. -

      -The ids corresponding to the authentication port match the unix user -and group ids. -

      -Support for shadow passwords is implemented here. -

      -

      -The password server sits at /servers/password and runs as -root. It can hand out ports to the auth server in exchange for a unix -password, matching it against the password or shadow file. Several -utilities make use of this server, so they don't need to be setuid -root. - -

      Process Server

      -
      -

      -The superuser must remain control over user tasks, so: -

        -
      • All mach tasks are associated with a PID in the system default - proc server.
      • -
      -

      -Optionally, user tasks can store: -

        -
      • Their environment variables.
      • -
      • Their argument vector.
      • -
      • A port, which others can request based on the PID (like a - nameserver).
      • -
      -

      -Also implemented in the proc server: -

        -
      • Sessions and process groups.
      • -
      • Global configuration not in Mach, like hostname, hostid, system - version.
      • -
      -
      -

      -The process server is responsible for some global bookkeeping. As -such it has to be trusted and is not replaceable by the user. -However, a user is not required to use any of its service. In that -case the user will not be able to take advantage of the POSIXish -appearance of the Hurd. -

      -The Mach Tasks are not as heavy as POSIX processes. For example, -there is no concept of process groups or sessions in Mach. The proc -server fills in the gap. It provides a PID for all Mach tasks, and -also stores the argument line, environment variables and other -information about a process (if the mach tasks provide them, which is -usually the case if you start a process with the default -fork()/exec()). A process can also register -a message port with the proc server, which can then be requested by -anyone. So the proc server also functions as a nameserver using the -process id as the name. -

      -The proc server also stores some other miscellaneous information not -provided by Mach, like the hostname, hostid and system version. -Finally, it provides facilities to group processes and their ports -together, as well as to convert between pids, process server ports and -mach task ports. -
      -

      -User tasks not registering themselve with proc only have a PID assigned. -

      -Users can run their own proc server in addition to the system default, -at least for those parts of the interface that don't require superuser -privileges. -

      -

      -Although the system default proc server can't be avoided (all Mach -tasks spawned by users will get a pid assigned, so the system -administrator can control them), users can run their own additional -process servers if they want, implementing the features not requiring -superuser privileges. - -

      Filesystems

      -
      -

      -Store based filesystems -

        -
      • ext2fs
      • -
      • ufs
      • -
      • isofs (iso9660, RockRidge, GNU extensions)
      • -
      • fatfs (under development)
      • -
      -

      -Network file systems -

        -
      • nfs
      • -
      • ftpfs
      • -
      -

      -Miscellaneous -

        -
      • hostmux
      • -
      • usermux
      • -
      • tmpfs (under development)
      • -
      -
      -

      -We already talked about translators and the file system service they -provide. Currently, we have translators for the ext2, ufs and iso9660 -filesystems. We also have an nfs client and an ftp filesystem. -Especially the latter is intriguing, as it provides transparent access -to ftp servers in the filesystem. Programs can start to move away -from implementing a plethora of network protocols, as the files are -directly available in the filesystem through the standard POSIX file -interface. - - -

      Developing the Hurd

      -
      -

      -Over a dozen libraries support the development of new servers. -

      -For special server types highly specialized -libraries require only the implementation of a -number of callback functions. -

        -
      • Use libdiskfs for store based filesystems.
      • -
      • Use libnetfs for network filesystems, also for - virtual filesystems.
      • -
      • Use libtrivfs for simple filesystems providing only - a single file or directory.
      • -
      -
      -

      -The Hurd server protocols are complex enough to allow for the -implementation of a POSIX compatible system with GNU extensions. -However, a lot of code can be shared by all or at least similar -servers. For example, all storage based filesystems need to be able to -read and write to a store medium splitted in blocks. The Hurd comes -with several libraries which make it easy to implement new servers. -Also, there are already a lot of examples of different server types in -the Hurd. This makes writing a new server easier. -

      -libdiskfs is a library that supports writing store based -filesystems like ext2fs or ufs. It is not very useful for filesystems -which are purely virtual, like /proc or files in -/dev. -

      -libnetfs is intended for filesystems which provide a rich -directory hierarchy, but don't use a backing store (for example ftpfs, -nfs). -

      -libtrivfs is intended for filesystems which just provide -a single inode or directory. Most servers which are not intended to -provide a filesystem but other services (like -/servers/password) use it to provide a dummy file, so -that file operations on the servers node will not return errors. But -it can also be used to provide meaningful data in a single file, like -a device store or a character device. - -

      Store Abstraction

      -
      -

      -Another very useful library is libstore, which is used by all store -based filesystems. It provides a store media abstraction. A store -consists of a store class and a name (which itself can sometimes -contain stores). -

      -Primitive store classes: -

        -
      • device store like device:hd2, device:hd0s1, device:fd0
      • -
      • file store like file:/tmp/disk_image
      • -
      • task store like task:PID
      • -
      • zero store like zero:4m (like /dev/zero, of size 4 MB)
      • -
      -
      -
      -

      -Composed store classes: -

        -
      • copy store like copy:zero:4m
      • -
      • gunzip/bunzip2 store like gunzip:device:fd0
      • -
      • concat store like concat:device:hd0s2:device:hd1s5
      • -
      • ileave store (RAID-0(2))
      • -
      • remap store like remap:10+20,50+:file:/tmp/blocks
      • -
      • ...
      • -
      -

      -Wanted: A similar abstraction for streams (based on channels), which -can be used by network and character device servers. -

      -

      -libstore provides a store abstraction, which is used by -all store based filesystems. The store is determined by a type and a -name, but some store types modify another store rather than providing -a new store, and thus stores can be stacked. For example, the device -store type expects a Mach device, but the remap store expects a list -of blocks to pick from another store, like remap:1+:device:hd2, which -would pick all blocks from hd2 but the first one, which skipped. -Because this functionality is provided in a library, all libstore -using filesystems support many different store kinds, and adding a new -store type is enough to make all store based filesystems support it. - -

      Debian GNU/Hurd

      -
      -

      -Goal: -

        -
      • Provide a binary distribution of the Hurd that is easy to - install.
      • -
      -

      -Constraints: -

        -
      • Use the same source packages as Debian GNU/Linux.
      • -
      • Use the same infrastructure: -
          -
        • Policy
        • -
        • Archive
        • -
        • Bug tracking system
        • -
        • Release process
        • -
      • -
      -

      -Side Goal: -

        -
      • Prepare Debian for the future: -
          -
        • More flexibility in the base system
        • -
        • Identify dependencies on the Linux kernel
        • -
      • -
      -
      -

      -The Debian distribution of the GNU Hurd that I started in 1998 is -supposed to become a complete binary distribution of the Hurd that is -easy to install. - -

      Status of the Debian GNU/Hurd binary archive

      -

      -See -http://buildd.debian.org/stats/graph.png -for the most current version of the statistic. - -

      Status of the Debian infrastructure

      -
      -

      -Plus: -

        -
      • Source packages can identify build and host OS using - dpkg-architecture.
      • -
      -

      -Minus: -

        -
      • The binary architecture field is insufficient.
      • -
      • The BTS has no architecture tag.
      • -
      • The policy/FHS need (small) Hurd specific extensions.
      • -
      -
      -

      -While good compatibiity can be achieved at the source level, -the binary packages can not always express their relationship -to the available architectures sufficiently. -

      -For example, the Linux version of makedev is binary-all, where -a binary-all-linux relationship would be more appropriate. -

      -More work has to be done here to fix the tools. - -

      Status of the Debian Source archive

      -
      -
        -
      • Most packages just work.
      • -
      • Maintainers are usually responsive and cooperative.
      • -
      • Turtle, the autobuilder, crunches through the whole list right - now.
      • -
      -

      -Common pitfalls are POSIX incompatibilities: -

        -
      • Upstream: -
          -
        • Unconditional use of PATH_MAX - (MAXPATHLEN), MAXHOSTNAMELEN.
        • -
        • Unguarded use of Linux kernel features.
        • -
        • Use of legacy interfaces (sys_errlist, - termio).
        • -
      • -
      • Debian: -
          -
        • Unguarded activation of extensions available with Linux.
        • -
        • Low quality patches.
        • -
        • Assuming GNU/Linux in package scripts.
        • -
      • -
      -
      -

      -Most packages are POSIX compatible and can be compiled without -changes on the Hurd. The maintainers of the Debian source packages -are usually very kind, responsiver and helpful. -

      -The Turtle autobuilder software (http://turtle.sourceforge.net) -builds the Debian packages on the Hurd automatically. - -

      Debian GNU/Hurd: Good idea, bad idea?

      -
      -

      -Upstream benefits: -

        -
      • Software packages become more portable.
      • -
      -

      -Debian benefits: -

        -
      • Debian becomes more portable.
      • -
      • Maintainers learn about portability and other systems.
      • -
      • Debian gets a lot of public recognition.
      • -
      -

      -GNU/Hurd benefits: -

        -
      • Large software base.
      • -
      • Great infrastructure.
      • -
      • Nice community to partner with.
      • -
      -
      -

      -The sheet lists the advantages of all groups involved. - -

      End

      -
      -

      -Join us at -

      -
      -

      -List of contacts. diff --git a/hurd/documentation/hurd-talk.mdwn b/hurd/documentation/hurd-talk.mdwn new file mode 100644 index 00000000..83dcaf74 --- /dev/null +++ b/hurd/documentation/hurd-talk.mdwn @@ -0,0 +1,11 @@ +[[!meta copyright="Copyright © 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 redir=/hurd-talk]] diff --git a/hurd/running/gnu/universal_package_manager.mdwn b/hurd/running/gnu/universal_package_manager.mdwn index bb8ff693..ecac8e21 100644 --- a/hurd/running/gnu/universal_package_manager.mdwn +++ b/hurd/running/gnu/universal_package_manager.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -127,7 +128,7 @@ OK. I will give you steps. i. Install a GNU System by folowing [[these_instructions|setup]] -ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|documentation/hurd-paper]] +ii. Read about GNU Design: [[Towards_a_New_Strategy_of_OS_Design|hurd-paper]] iii. Read about translators diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn index b16faa92..ca9b2179 100644 --- a/microkernel/faq/multiserver_microkernel.mdwn +++ b/microkernel/faq/multiserver_microkernel.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008 Free Software -Foundation, Inc."]] +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 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 @@ -23,4 +23,4 @@ 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_of_OS_Design|hurd/documentation/hurd-paper]]. +[[Towards_a_New_Strategy_of_OS_Design|hurd-paper]]. -- cgit v1.2.3 From bd10ab5394ce177b14a078dbe7b9cbdbcdf72a22 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 7 Jul 2009 15:44:40 +0200 Subject: microkernel/mach/gnumach/ports: Add some bits of information. --- microkernel/mach/gnumach/ports.mdwn | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn index a29b8651..afc91d7a 100644 --- a/microkernel/mach/gnumach/ports.mdwn +++ b/microkernel/mach/gnumach/ports.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -9,7 +10,13 @@ is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] * x86. This is the main port. + + * [[Xen]] + * [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state. - * Alpha. Was once started, but isn't in a usable state either. - * [[Xen]] + * Alpha: [project I](http://savannah.nongnu.org/projects/hurd-alpha), and + [project II](http://savannah.nongnu.org/projects/gnumach-alpha). Was once + started, but isn't in a usable state either. + + * MIPS. Status completely unknown. -- cgit v1.2.3 From 11b74e38761fd04b8ca2bf9a85bb55fbf4d202ea Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 27 Sep 2009 23:08:39 +0200 Subject: Move Viengoos projects into separate per-project pages. --- microkernel/viengoos/projects.mdwn | 58 ++-------------------- .../projects/address_space_management.mdwn | 40 +++++++++++++++ .../projects/capability-aware_compiler.mdwn | 16 ++++++ .../viengoos/projects/new_hash_function.mdwn | 19 +++++++ 4 files changed, 80 insertions(+), 53 deletions(-) create mode 100644 microkernel/viengoos/projects/address_space_management.mdwn create mode 100644 microkernel/viengoos/projects/capability-aware_compiler.mdwn create mode 100644 microkernel/viengoos/projects/new_hash_function.mdwn (limited to 'microkernel') diff --git a/microkernel/viengoos/projects.mdwn b/microkernel/viengoos/projects.mdwn index 27dcc3e2..971206bb 100644 --- a/microkernel/viengoos/projects.mdwn +++ b/microkernel/viengoos/projects.mdwn @@ -8,58 +8,10 @@ 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 open_issue_viengoos]] - Some projects: -# Minor - -## New hash function - -The current hash function in libhurd-ihash results in a lot of -collisions when the hash table is 80% full. To overcome this, we keep -hash tables at most 30% full. This represents a fair amount of -overhead. Find a better algorithm. There can either be one that is -appropriate in the general case or one that works well in a relevant, -specific case, e.g., viengoos/object.c uses a hash to find the object -corresponding to a frame, which is keyed on its physical address. - -# Major - -## Address Space Management - -In Viengoos, a process's address space is managed entirely in user -space by the process itself. This creates two interesting problems: -dealing with circular dependencies resulting from having to manage the -address space data structures and accessing and manipulating the -address space data structures. - -First, managing the address space requires resources, which in turn -may require address space (e.g., data structures require memory which -require address space, etc.). We currently break this circular -dependency by trying to keep enough resources in reserve that -allocating resources for managing the address space never requires -more resources than are minimally in the reserve. The reserve is -currently chosen in an ad-hoc fashion. It would be nice to determine -it more systematically. Moreover, it would be nice to reduce the -cases in which a reserve is required. This may be possible by -restructuring some of the code. - -Second, the address space data structures are protected using a single -lock. This not only means that only a single thread can be updating -the address space at a time, but that if a thread faults and the -address space is locked, then the process dead locks! It should be -possible to at least walk the address space using lock-free -techniques. This requires updating the address space construction -code such that all addresses remain valid during any given -manipulation. Second, to avoid the mentioned dead-lock problem, we -try to ensure that accessing the data structures will never result in -a fault. This means protecting the stack. An alternative approach is -to use undo buffers. - -# Thesis - -## Capability aware compiler - -Modify, e.g., gcc to understand capability semantics and teach gcc how -to optimize it, e.g., how to batch and combine calls. +[[!inline +pages="microkernel/viengoos/projects/* and !microkernel/viengoos/projects/*/*" +show=0 +feeds=no +actions=yes]] diff --git a/microkernel/viengoos/projects/address_space_management.mdwn b/microkernel/viengoos/projects/address_space_management.mdwn new file mode 100644 index 00000000..2d00e4f4 --- /dev/null +++ b/microkernel/viengoos/projects/address_space_management.mdwn @@ -0,0 +1,40 @@ +[[!meta copyright="Copyright © 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]]."]]"""]] + +[[!tag open_issue_viengoos]] + +In Viengoos, a process's address space is managed entirely in user +space by the process itself. This creates two interesting problems: +dealing with circular dependencies resulting from having to manage the +address space data structures and accessing and manipulating the +address space data structures. + +First, managing the address space requires resources, which in turn +may require address space (e.g., data structures require memory which +require address space, etc.). We currently break this circular +dependency by trying to keep enough resources in reserve that +allocating resources for managing the address space never requires +more resources than are minimally in the reserve. The reserve is +currently chosen in an ad-hoc fashion. It would be nice to determine +it more systematically. Moreover, it would be nice to reduce the +cases in which a reserve is required. This may be possible by +restructuring some of the code. + +Second, the address space data structures are protected using a single +lock. This not only means that only a single thread can be updating +the address space at a time, but that if a thread faults and the +address space is locked, then the process dead locks! It should be +possible to at least walk the address space using lock-free +techniques. This requires updating the address space construction +code such that all addresses remain valid during any given +manipulation. Second, to avoid the mentioned dead-lock problem, we +try to ensure that accessing the data structures will never result in +a fault. This means protecting the stack. An alternative approach is +to use undo buffers. diff --git a/microkernel/viengoos/projects/capability-aware_compiler.mdwn b/microkernel/viengoos/projects/capability-aware_compiler.mdwn new file mode 100644 index 00000000..b4e465d9 --- /dev/null +++ b/microkernel/viengoos/projects/capability-aware_compiler.mdwn @@ -0,0 +1,16 @@ +[[!meta copyright="Copyright © 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]]."]]"""]] + +[[!tag open_issue_viengoos]] + +Modify, e.g., gcc to understand capability semantics and teach gcc how +to optimize it, e.g., how to batch and combine calls. + +This project is deemed suitable for a thesis. diff --git a/microkernel/viengoos/projects/new_hash_function.mdwn b/microkernel/viengoos/projects/new_hash_function.mdwn new file mode 100644 index 00000000..1747511d --- /dev/null +++ b/microkernel/viengoos/projects/new_hash_function.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 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]]."]]"""]] + +[[!tag open_issue_viengoos]] + +The current hash function in libhurd-ihash results in a lot of +collisions when the hash table is 80% full. To overcome this, we keep +hash tables at most 30% full. This represents a fair amount of +overhead. Find a better algorithm. There can either be one that is +appropriate in the general case or one that works well in a relevant, +specific case, e.g., viengoos/object.c uses a hash to find the object +corresponding to a frame, which is keyed on its physical address. -- cgit v1.2.3 From 4e757e40e98bcc2b8b4291fd53ae5ad0c7045d83 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 3 Nov 2009 00:54:44 +0100 Subject: microkernel/viengoos: l4-hurd mailing list. --- microkernel/viengoos.mdwn | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index d4edc929..2b9fee03 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -24,6 +24,8 @@ Then update to viengoos-on-bare-metal viengoos-on-bare-metal is the current development focus. +Discussion should be held on the [[mailing lists/l4-hurd]] mailing list. + * [[Building]] * Running * [[QEMU]] -- cgit v1.2.3 From cfd490a382d928d07ed98e0104ac5b7ebf9d38e5 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 22 Nov 2009 18:48:39 +0100 Subject: Typo fix. Found by Emilio Pozuelo Monfort. --- microkernel/fud.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/fud.mdwn b/microkernel/fud.mdwn index eef829e0..6353f81d 100644 --- a/microkernel/fud.mdwn +++ b/microkernel/fud.mdwn @@ -17,6 +17,6 @@ But L4 takes this even further. For example, you can have schedulers in userspac Of course, microkernels still have some problems, mainly because we are bound to today's technology, and current processors have not been designed with microkernels in mind. On a processor that is not optimized for systems with monolithic kernels, where the currently still problematic overhead of context switches would vanish, microkernels would get another performance boost. This sounds like an excuse, but it is intended as a reminder about the fact that the problem is not the general concept of microkernels. However, the L4 people have done a lot of good hacks to work around all this and have reached reasonable performance already. -All this could be discussed in arbitrary detail, but we won't do that now, as we have more urgent things to do than reacting on FUD about microkernels. So we will conclude by saying that it is too easy to claim that one design is fast and the other one is slow, but everything depends on how exactly a system is designed and implemented. Maybe microkernels will eventually turn out to be slower in almost any case; we doubt that, but who knows? But even then, a microkernel based system will offer enough other advantages so that people will prefer to use it in some cases. But on the other hand, history has shown that new concepts seldom replace old ones completely, but rather establish themselfes in addition to the old ones, therefore we will have the opportunity to argue about which concept is best at least for another couple of years.. or decades? +All this could be discussed in arbitrary detail, but we won't do that now, as we have more urgent things to do than reacting on FUD about microkernels. So we will conclude by saying that it is too easy to claim that one design is fast and the other one is slow, but everything depends on how exactly a system is designed and implemented. Maybe microkernels will eventually turn out to be slower in almost any case; we doubt that, but who knows? But even then, a microkernel based system will offer enough other advantages so that people will prefer to use it in some cases. But on the other hand, history has shown that new concepts seldom replace old ones completely, but rather establish themselves in addition to the old ones, therefore we will have the opportunity to argue about which concept is best at least for another couple of years.. or decades? If you are interested in research about the performance of microkernel based systems, visit and -- cgit v1.2.3 From 12f7b762ab5ebe3e9238eb187e1098c839da12ca Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 22 Nov 2009 18:53:10 +0100 Subject: Fix broken inline directive. Found by Emilio Pozuelo Monfort. --- microkernel/faq.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn index a6c4f1f8..aa98403a 100644 --- a/microkernel/faq.mdwn +++ b/microkernel/faq.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 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 @@ -15,4 +15,4 @@ pages="microkernel/faq/* and !*/discussion" show=0 feeds=no actions=yes -rootpage=microkernel/faq" postformtext="Add a new item titled:"]] +rootpage="microkernel/faq" postformtext="Add a new item titled:"]] -- cgit v1.2.3 From 81caacd9b518558f95cd3283eb119d66bc73fc5f Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 22 Nov 2009 19:17:46 +0100 Subject: Remove broken TOC. Found by Emilio Pozuelo Monfort. --- microkernel/mach/history.mdwn | 4 ---- 1 file changed, 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/history.mdwn b/microkernel/mach/history.mdwn index a8951737..5a3608cd 100644 --- a/microkernel/mach/history.mdwn +++ b/microkernel/mach/history.mdwn @@ -1,7 +1,3 @@ -# Table of Contents - -%TOC% - # Early beginnings Mach has quite a history. Everything actually started at the University of Rochester in 1975. It was invented to demonstrate how operating systems could be built using a modular design where processes communicated using message passing, even across networks. The system was called the Rochester Intelligent Gateway and ran on a 16 bit mini computer called Eclipse from Data General. -- cgit v1.2.3 From 331d4b2fdb828de6d1b50ec866fa1839a429ca5c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Thu, 31 Dec 2009 14:47:37 +0100 Subject: news/2009-12-31: tschwinge's changes. --- microkernel/mach/gnumach/ports/xen.mdwn | 21 ++++++-- news/2009-12-31.mdwn | 93 +++++++++++++++++++++------------ 2 files changed, 76 insertions(+), 38 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/ports/xen.mdwn b/microkernel/mach/gnumach/ports/xen.mdwn index c544fd57..bf26410a 100644 --- a/microkernel/mach/gnumach/ports/xen.mdwn +++ b/microkernel/mach/gnumach/ports/xen.mdwn @@ -11,7 +11,7 @@ is included in the section entitled [[!toc]] -## Xen dom0, hypervisor +# Xen dom0, hypervisor /!\ Now that GNU Mach handles PAE you can use a PAE-enabled hypervisor. @@ -20,7 +20,7 @@ You can either get binaries at or bu - Copy `gnumach-xen-pae` and `hurd-modules` to your dom0 /boot. If you still have a non-PAE hypervisor, use `gnumach-xen-nonpae` instead. - Copy `hurd` into `/etc/xen`, edit it for fixing access to your hurd / and swap -## GNU/Hurd system +# GNU/Hurd system /!\ You need an already installed [[GNU/Hurd_system|hurd/running]]. @@ -30,7 +30,7 @@ If you have a free partition, you can fdisk to type 0x83, create a filesystem us Replace /dev/sda4 with your partition. Install and use crosshurd to setup a GNU/Hurd system on this partition. -## /etc/xen/hurd configuration +# /etc/xen/hurd configuration Here is a sample /etc/xen/hurd configuration @@ -49,7 +49,7 @@ Suggestions about [[networking_configuration]] are available. If you need stable MAC addresses, use a syntax like `vif = [ 'mac=00:16:3e:XX:XX:XX, bridge=br0' ]`. -## Running Hurd with Xen +# Running Hurd with Xen To run Hurd with Xen, use: @@ -63,7 +63,7 @@ and gnumach should get started. Proceed with native-install. - If `xm` complains about networking (`vif could not be connected`), it's Xen scripts' fault, see Xen documentation for how to configure the network. The simplest way is network-bridge with fixed IPs (note that you need the bridge-utils package for this). You can also just disable networking by commenting the vif line in the config. - If `xm` complains `Error: (2, 'Invalid kernel', 'xc_dom_compat_check: guest type xen-3.0-x86_32 not supported by xen kernel, sorry\n')`, you most probably have a PAE-enabled hypervisor and a non-PAE gnumach. Either install and boot non-PAE hypervisor and kernel, or rebuilt gnumach in PAE mode. -## Building from sources +# Building from sources If you want to generate these images, first get the `gnumach-1-branch-Xen-branch` branch from gnumach CVS. Then look for "Ugly" in `kern/bootstrap.c`, how to generate `hurd-modules` is explained there, and you'll have to fix `EXT2FS_SIZE` and `LD_SO_SIZE` by hand. @@ -77,6 +77,17 @@ The current `hurd-modules` was built from the debian packages `hurd 20070606-2` --- +# Miscellaneous + [[Internals]]. [[!GNU_Savannah_task 5468]], [[!GNU_Savannah_task 6584]]. + +--- + +# `pv-grub` + +From Xen 4.0 on you'll be able to run the GNU Hurd directly using `pv-grub`, +without the need to [prepare a special bootstrap +image](http://youpibouh.thefreecat.org/hurd-xen/build_hurd-modules) (like an +initrd). diff --git a/news/2009-12-31.mdwn b/news/2009-12-31.mdwn index 6077ee50..e3b3a3dd 100644 --- a/news/2009-12-31.mdwn +++ b/news/2009-12-31.mdwn @@ -10,44 +10,71 @@ License|/fdl]]."]]"""]] [[!meta date="2009-12-31 00:00 UTC"]] -[[!meta updated="2009-12-31 00:00 UTC"]] - -A month of the Hurd: *official Xen domU support*, *ddekit beginnings*, *porting*, *FOSDEM 2010* and *SMP discussion*. +A month of the Hurd: *official Xen domU support*, *DDE*, *porting*, and *FOSDEM 2010*. [[!if test="included()" then="""[[!toggle id=full_news text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]""" else="[[!paste id=full_news]]"]] [[!cut id="full_news" text=""" -> This month Samuel Thibault got the necessary Xen patches committed -> into the unstable tree of Xen for the 4.0 release, -> so GNU Mach now officially [has Xen domU support](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00058.html) -> (GNU Mach instead of GNU Hurd, because -> no changes were needed in the Hurd part). So from Xen 4.0 on you'll be able -> to run the GNU Hurd directly using pv-grub - without the need to -> [prepare a multiboot package](http://youpibouh.thefreecat.org/hurd-xen/build_hurd-modules). -> -> Also the ddekit port of Zheng Da now -> [passes the first tests](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00060.html), -> bringing us the first steps towards updated drivers - -> and much lower overhead for maintaining them. -> -> Mainly thanks to the [porting](http://www.gnu.org/software/hurd/hurd/running/debian/porting.html) -> work of Emilio Pozuelo Monfort and Pino Toscano, -> users of the Hurd can get many more packages directly via debian. -> Thanks to their and other porters relentless work, -> the percentage of available debian packages -> [has reached 65%](http://buildd.debian-ports.org/stats/), -> rising. As concrete example, they ported many GNOME packages, -> so that the gnome-core metapackage -> [is installable again](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00217.html). -> -> Additionally Thomas Schwinge started the planning for -> [a GNU Hurd meeting at FOSDEM](http://www.thomas.schwinge.homeip.net/hurd-web/community/meetings/fosdem_2010.html] -> on February 6th/7th 2010 at the Université Libre de Bruxelles. -> -> And some questions from Tim Kack from the view of a GNUstep developer -> spawned an extensive discussion about -> [SMP on the Hurd](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00089.html). + +> This month Samuel Thibault [merged his development branch into GNU Mach's +> master +> branch](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00058.html) -- +> meaning that his [[GNU Mach Xen domU +> port|microkernel/mach/gnumach/ports/xen]] is now part of the official +> sources. Only the [[microkernel (GNU Mach)|microkernel/mach/gnumach]] needed +> to be extended, and no changes were needed in the Hurd, or glibc code bases. +> He had started this port in 2007 already, but it has been in heavy use over +> the last two years already, so merging it into the main source bases was long +> overdue. + +> He also got the necessary Xen patches committed into Xen's unstable branch, +> so that from Xen's 4.0 release on you'll be able to boot GNU/Hurd systems +> using `pv-grub`, without the need to prepare a special bootstrap image (like +> an initrd). + +> Of course, running GNU/Hurd systems in other virtualization environments is +> possible too, but the Xen domU approach offers superior performance compared +> to [[hurd/running/QEMU]]'s machine emulation, for example. + +> Samuel also spent some time on adding code for [detecting invalid (duplicate) +> port +> deallocations](http://lists.gnu.org/archive/html/commit-hurd/2009-12/msg00016.html), +> and started fixing these, as well as he fulfilled his usual share of +> miscellaneous bug fixing. + +> The [[open issues/DDE]] port of Zheng Da now [passes the first +> tests](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00060.html), +> bringing us the first steps towards updated device drivers -- and much lower +> overhead for maintaining them. + +> Thanks to the [[hurd/running/debian/porting]] work of mainly Emilio Pozuelo +> Monfort and Pino Toscano, users of the Hurd can get many more packages +> directly via the [[Debian GNU/Hurd|hurd/running/debian]] distribution. +> Thanks to their and other porters' relentless work, the percentage of +> available Debian packages [has reached +> 65%](http://buildd.debian-ports.org/stats/), rising. For a specific example, +> they ported many GNOME packages, so that the `gnome-core` metapackage [is +> installable +> again](http://lists.gnu.org/archive/html/bug-hurd/2009-12/msg00217.html). +> Please test these and [[report back|mailing lists/debian-hurd]]. + +> Thomas Schwinge started the planning for [[a GNU Hurd folks meeting at +> FOSDEM|community/meetings/fosdem 2010]] on February 6th/7th 2010 at the +> Université Libre de Bruxelles. + +> Guillem Jover jumped in and started [fixing GNU Mach build +> warnings](http://lists.gnu.org/archive/html/commit-hurd/2009-12/msg00008.html) +> -- meaning that Thomas Schwinge's evil plan finally worked out, when he +> enabled `-Wall` in an October 2006 commit: > +> +# Yes, this makes the eyes hurt. But perhaps someone will finally take care of +> +# all that scruffy Mach code... Also see . +> +AM_CFLAGS += \ +> + -Wall + +> --- + +> The GNU Hurd team wishes a pleasant Year 2010 to everyone! """]] -- cgit v1.2.3 From 4b7dd82cf60a684b2b2e876b940b2c47b1adf549 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 19 Feb 2010 20:15:35 +0000 Subject: --- microkernel/for_beginners/discussion.mdwn | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 microkernel/for_beginners/discussion.mdwn (limited to 'microkernel') diff --git a/microkernel/for_beginners/discussion.mdwn b/microkernel/for_beginners/discussion.mdwn new file mode 100644 index 00000000..6cb23cfb --- /dev/null +++ b/microkernel/for_beginners/discussion.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2010 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]]."]]"""]] + +Good day. + +I am a developer, have some c knowledge, and in perspective hope to be able to make a contribution in Hurd kernel. At the moment I consider myself as a beginner. + +My question is about the second exercise. + +>Implement your own pager. Write a server that synthesizes content on the fly and have a client map the object into its address space and print out the file. + +* Is it targeted to Mach or to an arbitrary OS? +* The second sentence "Write a server that..." is too long and too difficult for me to understand perhaps because English is not my native language. Could you please explain it in a little bit easier phrases? +* Am I write that in a given context pager means just memory allocator? -- cgit v1.2.3 From 91254512302ce8199fec8f39758788132df10fb7 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 19 Feb 2010 20:17:28 +0000 Subject: --- microkernel/for_beginners/discussion.mdwn | 1 - 1 file changed, 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/for_beginners/discussion.mdwn b/microkernel/for_beginners/discussion.mdwn index 6cb23cfb..6d0d5f40 100644 --- a/microkernel/for_beginners/discussion.mdwn +++ b/microkernel/for_beginners/discussion.mdwn @@ -16,6 +16,5 @@ My question is about the second exercise. >Implement your own pager. Write a server that synthesizes content on the fly and have a client map the object into its address space and print out the file. -* Is it targeted to Mach or to an arbitrary OS? * The second sentence "Write a server that..." is too long and too difficult for me to understand perhaps because English is not my native language. Could you please explain it in a little bit easier phrases? * Am I write that in a given context pager means just memory allocator? -- cgit v1.2.3 From d977126f2478f0ae22b28c64c100203ecfb2b862 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 19 Feb 2010 20:47:38 +0000 Subject: --- microkernel/for_beginners/discussion.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/for_beginners/discussion.mdwn b/microkernel/for_beginners/discussion.mdwn index 6d0d5f40..9831796b 100644 --- a/microkernel/for_beginners/discussion.mdwn +++ b/microkernel/for_beginners/discussion.mdwn @@ -17,4 +17,4 @@ My question is about the second exercise. >Implement your own pager. Write a server that synthesizes content on the fly and have a client map the object into its address space and print out the file. * The second sentence "Write a server that..." is too long and too difficult for me to understand perhaps because English is not my native language. Could you please explain it in a little bit easier phrases? -* Am I write that in a given context pager means just memory allocator? +* Am I write that in a given context "pager" means just "memory manager"? -- cgit v1.2.3 From 08fb9ac3e19d2779aa8fb56706ef3768d0b79dfb Mon Sep 17 00:00:00 2001 From: KAM Date: Sun, 14 Mar 2010 18:32:13 +0000 Subject: --- microkernel/mach/mig/documentation.mdwn | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 82d51a72..500424bb 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -23,17 +23,17 @@ concepts are applicable to Mach 3.0 user level programming. Linda R. Walmer and Mary R. Thompson. *A Programmer's Guide to the Mach User Environment*. [PostScript -](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps), -[Doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc). +](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.ps), +[Doc](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/machuse.doc). February 1988. School of Computer Science, Carnegie Mellon University. An ftp directory containing the [mig programming -examples](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) +examples](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig_example) for this tutorial. Slides to Rich Drave's talk on MIG, on November 21, 1991: -[PostScript](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps), -[TeX](ftp://ftp.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex). +[PostScript](http://www.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/root.ps), +[TeX](http://www.cs.cmu.edu//afs/cs/project/mach/public/doc/unpublished/internals_slides/Mig/slides.tex). # Roots @@ -48,8 +48,8 @@ tasks." Richard P. Draves, Michael B. Jones, Mary R. Thompson, *MIG - THE MACH INTERFACE GENERATOR*. -[ps](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps), -[doc](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc). +[ps](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.ps), +[doc](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/unpublished/mig.doc). November 1989. Department of Computer Science, Carnegie-Mellon University. -- cgit v1.2.3 From 8802523cc2fae7ddadc1d06bddb159581a8fadf0 Mon Sep 17 00:00:00 2001 From: KAM Date: Sun, 14 Mar 2010 18:40:09 +0000 Subject: --- microkernel/mach/documentation.mdwn | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 3b12bfac..926a2cba 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -14,10 +14,10 @@ is included in the section entitled * *[[The_GNU_Mach_Reference_Manual|gnumach/reference_manual]]*. - - OSF's [Kernel Interface (ps)](ftp://ftp.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/kernel_interface.ps) + - OSF's [Kernel Interface (ps)](http://www.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) + - OSF's [Kernel Principles (ps)](http://www.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 -- cgit v1.2.3 From 873cb7d5de8b0eb648907385a50be268343e0b29 Mon Sep 17 00:00:00 2001 From: Carl Fredrik Hammar Date: Thu, 20 May 2010 13:00:57 +0200 Subject: Add links to OSF documents to Mig documentation --- microkernel/mach/mig/documentation.mdwn | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'microkernel') diff --git a/microkernel/mach/mig/documentation.mdwn b/microkernel/mach/mig/documentation.mdwn index 500424bb..be762960 100644 --- a/microkernel/mach/mig/documentation.mdwn +++ b/microkernel/mach/mig/documentation.mdwn @@ -70,6 +70,12 @@ pp. 67--77." [Chapter 4, Inter Process Communication](http://www.gnu.org/software/hurd/gnumach-doc/Inter-Process-Communication.html). + * OSF's [Server Writer's Guide (ps)](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_writer.ps) + [Server Writer's Guide (pdf)](http://shakthimaan.com/downloads/hurd/server_writer.pdf) + + * OSF's [Server Writer's Interfaces (ps)](http://www.cs.cmu.edu/afs/cs/project/mach/public/doc/osf/server_interface.ps) + [Server Writer's Interfaces (pdf)](http://shakthimaan.com/downloads/hurd/server_interface.pdf) + * Flags: * [[dealloc_and_dealloc[]|dealloc]] -- cgit v1.2.3 From 3e3067b4ecd45e8066c96025207ed055eac4daa7 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 16 Jul 2010 10:22:36 +0200 Subject: microkernel/mach/documentation: stepwise.com is down, but there is a PDF copy at another place. Reported by Benjamin Brunzel on bug-hurd, 2010-07-16. --- microkernel/mach/documentation.mdwn | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/documentation.mdwn b/microkernel/mach/documentation.mdwn index 926a2cba..fc6e59c2 100644 --- a/microkernel/mach/documentation.mdwn +++ b/microkernel/mach/documentation.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +2010 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 @@ -9,8 +9,9 @@ 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]]."]]"""]] - - [Meet Mach](http://www.stepwise.com/Articles/Technical/MeetMach.html), a - summary of Mach's history and main concepts. + * [*Meet Mach* by James + Scott](http://beefchunk.com/documentation/macosx-programming/Meet_Mach.pdf), + a summary of Mach's history and main concepts. * *[[The_GNU_Mach_Reference_Manual|gnumach/reference_manual]]*. -- cgit v1.2.3 From 49ba9b1409a9c36d9d1019c74afc7b5e8d3c5d84 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 30 Jul 2010 16:45:14 +0200 Subject: Add links between hurd/libihash and microkernel/viengoos/projects/new_hash_function. --- hurd/libihash.mdwn | 23 +++++++++++----------- .../viengoos/projects/new_hash_function.mdwn | 5 ++++- 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'microkernel') diff --git a/hurd/libihash.mdwn b/hurd/libihash.mdwn index 39692939..770770c7 100644 --- a/hurd/libihash.mdwn +++ b/hurd/libihash.mdwn @@ -8,9 +8,19 @@ 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, unknown channel, unknown date +[[!tag open_issue_hurd]] - [[!tag open_issue_hurd]] + * Hurd libihash + + * old + + * new + + * hurd-l4 libhurd-ihash + + * [[viengoos libhurd-ihash|microkernel/viengoos/projects/new_hash_function]] + + IRC, unknown channel, unknown date so, we need a new ihash implementation marcusb: When 80% full, the collision rate is very high. @@ -22,15 +32,6 @@ is included in the section entitled the ihash algo is very simple I'm not even sure it makes much sense to have a generic library - * Hurd libihash - - * old - - * new - - * hurd-l4 libhurd-ihash - - * viengoos libhurd-ihash # Alternatives? diff --git a/microkernel/viengoos/projects/new_hash_function.mdwn b/microkernel/viengoos/projects/new_hash_function.mdwn index 1747511d..d0374720 100644 --- a/microkernel/viengoos/projects/new_hash_function.mdwn +++ b/microkernel/viengoos/projects/new_hash_function.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009, 2010 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 @@ -17,3 +18,5 @@ overhead. Find a better algorithm. There can either be one that is appropriate in the general case or one that works well in a relevant, specific case, e.g., viengoos/object.c uses a hash to find the object corresponding to a frame, which is keyed on its physical address. + +Note that this applies to the Hurd's [[hurd/libihash]], too. -- cgit v1.2.3 From 7c347a599c9c44560f5be70fa06dfe75100e8051 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Mon, 6 Sep 2010 06:45:56 +0200 Subject: Centralized FAQ infrastructure. --- documentation.mdwn | 2 ++ faq.mdwn | 28 ++++++++++++++++++++++++++++ hurd/faq.mdwn | 4 +++- hurd/running/debian/faq.mdwn | 6 +++--- hurd/running/faq.mdwn | 4 ++-- microkernel/faq.mdwn | 5 ++++- sidebar.mdwn | 1 + 7 files changed, 43 insertions(+), 7 deletions(-) create mode 100644 faq.mdwn (limited to 'microkernel') diff --git a/documentation.mdwn b/documentation.mdwn index d96cb24b..b8558e9f 100644 --- a/documentation.mdwn +++ b/documentation.mdwn @@ -8,6 +8,8 @@ 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]]."]]"""]] +[[FAQ]] + Documentation for... * [[GNU_Hurd|hurd/documentation]] diff --git a/faq.mdwn b/faq.mdwn new file mode 100644 index 00000000..9167ede6 --- /dev/null +++ b/faq.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2010 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="FAQ"]] + +Also see the... + + * [[microkernel FAQ|microkernel/faq]], + + * [[GNU Hurd FAQ|hurd/faq]], + + * [[running GNU Hurd FAQ|hurd/running/faq]], + + * [[Debian GNU/Hurd FAQ|hurd/running/debian/faq]]. + +[[!inline +pages="faq/* and !*/discussion" +show=0 +feeds=no +actions=yes +rootpage="faq" postformtext="Add a new item titled:"]] diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn index be30e1b4..413aaf3f 100644 --- a/hurd/faq.mdwn +++ b/hurd/faq.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2010 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 @@ -10,6 +10,8 @@ is included in the section entitled [[!meta title="GNU Hurd FAQ"]] +See also other [[/FAQ]]. + [[!inline pages="hurd/faq/* and !*/discussion" show=0 diff --git a/hurd/running/debian/faq.mdwn b/hurd/running/debian/faq.mdwn index b3bd230d..8aaadf9c 100644 --- a/hurd/running/debian/faq.mdwn +++ b/hurd/running/debian/faq.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2009, 2010 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 @@ -10,8 +11,7 @@ is included in the section entitled [[!meta title="Debian GNU/Hurd FAQ"]] -See also the [[Hurd_FAQ|/hurd/FAQ]], [[after_install]], and the [[General FAQ -About Running GNU/Hurd|/hurd/running/faq]]. +See also [[after_install]] instructions, and other [[/FAQ]]. [[!inline pages="hurd/running/debian/faq/* and !*/discussion" diff --git a/hurd/running/faq.mdwn b/hurd/running/faq.mdwn index a59bce7e..2746a20a 100644 --- a/hurd/running/faq.mdwn +++ b/hurd/running/faq.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2010 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 @@ -10,7 +10,7 @@ License|/fdl]]."]]"""]] [[!meta title="General FAQ About Running GNU/Hurd"]] -See also the [[Hurd FAQ|hurd/FAQ]], and the [[Debian GNU/Hurd FAQ|debian/faq]]. +See also other [[/FAQ]]. [[!inline pages="hurd/running/faq/* and !*/discussion" diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn index aa98403a..fe259f05 100644 --- a/microkernel/faq.mdwn +++ b/microkernel/faq.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009, 2010 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 @@ -10,6 +11,8 @@ is included in the section entitled [[!meta title="Microkernel FAQ"]] +See also other [[/FAQ]]. + [[!inline pages="microkernel/faq/* and !*/discussion" show=0 diff --git a/sidebar.mdwn b/sidebar.mdwn index 159104fc..d283436b 100644 --- a/sidebar.mdwn +++ b/sidebar.mdwn @@ -14,6 +14,7 @@ Welcome to... [[!img /logo/boxes-redrawn.png link=/logo]] ... the GNU Hurd! * **[[Home|/index]]** * **[[Community]]** * **[[Documentation]]** + * *[[FAQ]]* * **[[Getting Help]]** * **[[Open Issues]]** -- cgit v1.2.3 From 849619f219c6b10e511cbada826df342360ed03b Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 24 Oct 2010 00:39:29 +0200 Subject: microkernel/mach/gnumach/projects/clean_up_the_code: Tag open_issue_gnumach. --- microkernel/mach/gnumach/projects/clean_up_the_code.mdwn | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn index e865e61a..2a9b4b60 100644 --- a/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn +++ b/microkernel/mach/gnumach/projects/clean_up_the_code.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2005, 2006, 2007, 2008 Free Software Foundation, -Inc."]] +[[!meta copyright="Copyright © 2005, 2006, 2007, 2008, 2010 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 @@ -9,6 +9,8 @@ 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 open_issue_gnumach]] + # Restructure the tree in a sane way Merge `linux/src` and `linux/dev`. But only if using a sane RCS, so leave it -- cgit v1.2.3 From 0a0e0a2f57ed8d1ed6def70aa429c6685136e818 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 24 Oct 2010 00:39:43 +0200 Subject: microkernel/mach/gnumach/projects/gdb_stubs: Link to Linux Kernel GDB tracepoint module, Hui Zhu, 2010-10-09. --- microkernel/mach/gnumach/projects/gdb_stubs.mdwn | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'microkernel') diff --git a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn index ef1b4909..064da7bf 100644 --- a/microkernel/mach/gnumach/projects/gdb_stubs.mdwn +++ b/microkernel/mach/gnumach/projects/gdb_stubs.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2010 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 @@ -8,6 +8,12 @@ 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 open_issue_gnumach open_issue_gdb]] + * * [ChangeLog.gdb](http://cvs.savannah.gnu.org/viewvc/gnumach/ChangeLog.gdb?root=hurd&view=markup&pathrev=gnumach-1-branch-gdb-branch) + +This may be another follow-up project: [*Linux Kernel GDB tracepoint +module*](http://thread.gmane.org/gmane.comp.gdb.devel/29369), Hui Zhu, +2010-10-09. -- cgit v1.2.3 From 46b77fd2236b97c9d9c7ecd9a86b7d1ee9cd2527 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 5 Dec 2010 18:22:15 +0100 Subject: microkernel/viengoos: Update status. Mostly from Neal Walfield's 2010-12-05 email to . --- challenges.mdwn | 5 ++++- microkernel/viengoos.mdwn | 21 ++++++++++++++++----- 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'microkernel') diff --git a/challenges.mdwn b/challenges.mdwn index 5368ae4e..a3a8a7e6 100644 --- a/challenges.mdwn +++ b/challenges.mdwn @@ -10,12 +10,15 @@ License|/fdl]]."]]"""]] The GNU Hurd has a lot of [[advantages]], but there are challenges, too. +Some of these are explained in the [[hurd/critique]]. + Even though they're quite popular in the simpler embedded space, there is no successful true multi-server [[microkernel]] system for general-purpose desktop use yet. This is still an ongoing research effort. (TODO: add references.) Likewise, resource scheduling in distributed operating system kernels is a research topic. For example, read more about it on the relevant [[Open Issues -page|open_issues/multiprocessing]]. +page|open_issues/multiprocessing]]. Also, the [[microkernel/Viengoos]] +research kernel project strives to explore these. TODO: more to come. [[!tag open_issue_documentation]] diff --git a/microkernel/viengoos.mdwn b/microkernel/viengoos.mdwn index 2b9fee03..66c6ff36 100644 --- a/microkernel/viengoos.mdwn +++ b/microkernel/viengoos.mdwn @@ -1,15 +1,26 @@ -[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2008, 2009, 2010 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]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] -*viengoos* is a new kernel currently being designed and written by Neal -Walfield. +*Viengoos* is a research kernel, designed and written by Neal Walfield. + +As of late 2009, the project is on hold, due to time constraints. + +Viengoos is not really meant to be a successor to [[Mach]]. It is highly +experimental; some of the techniques it employs, in particular, those related +to [[memory_management]] and [[IPC]], are unproven. These were motivated by +[[shortcomings_in_Mach|hurd/critique]] as well as current operating systems. A +research system is unlikely the best base for a product. A better approach is +to view Viengoos as an experimental platform whose goal is to explore solutions +to some of the [[issues_uncovered_by_the_Hurd|challenges]]. Knowledge gained +can then be integrated into something like [[Mach]]. The source can be downloaded from the *viengoos.git* repository, cf. . You can -- cgit v1.2.3 From 238c43499c4e08562024c3ef59e50aa365b5f1b2 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 7 Dec 2010 14:26:40 +0100 Subject: Some bits about L4 and Coyotos. --- history/port_to_l4.mdwn | 10 ++- hurd/ng.mdwn | 2 - hurd/ng/choiceofmicrokernel.mdwn | 4 - hurd/ng/issues_with_mach.mdwn | 12 --- hurd/ng/microkernelcoyotos.mdwn | 11 --- hurd/what_is_the_gnu_hurd.mdwn | 23 ++++-- kernel.mdwn | 21 +++++ microkernel.mdwn | 32 ++++++-- microkernel/coyotos.mdwn | 30 +++++++ microkernel/l4.mdwn | 21 +++++ unix.mdwn | 2 + unsorted/HurdOnL4.mdwn | 173 --------------------------------------- unsorted/HurdOnL4/menu.lst | 55 ------------- unsorted/PortToL4.mdwn | 42 ---------- 14 files changed, 123 insertions(+), 315 deletions(-) delete mode 100644 hurd/ng/choiceofmicrokernel.mdwn delete mode 100644 hurd/ng/issues_with_mach.mdwn delete mode 100644 hurd/ng/microkernelcoyotos.mdwn create mode 100644 kernel.mdwn create mode 100644 microkernel/coyotos.mdwn create mode 100644 microkernel/l4.mdwn delete mode 100644 unsorted/HurdOnL4.mdwn delete mode 100644 unsorted/HurdOnL4/menu.lst delete mode 100644 unsorted/PortToL4.mdwn (limited to 'microkernel') diff --git a/history/port_to_l4.mdwn b/history/port_to_l4.mdwn index cdf048e6..b58c0d91 100644 --- a/history/port_to_l4.mdwn +++ b/history/port_to_l4.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 -Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +2009, 2010 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 @@ -100,3 +100,9 @@ A lange number of discussion threads can be found in the archives of the > 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. + + +The source code is still available in [CVS module +`hurd-l4`](http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/) (note that +this repository has in the beginning also been used for Neal's +[[microkernel/Viengoos]]). diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index fb4d742f..de33949d 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -10,7 +10,6 @@ These pages try to summarize the major discussions and ideas. This section explains the motivations behind the new design: - * [[Issues_with_Mach]] * [[Issues_with_L4_Pistachio]] * [[Limitations_of_the_original_Hurd_design]] @@ -64,7 +63,6 @@ A [[critique]] of the original Hurd is available. ## Implementation -* [[ChoiceOfMicrokernel]] * [[HurdInterafaces]] * [[PosixLayer]] * [[SystemStructure]] diff --git a/hurd/ng/choiceofmicrokernel.mdwn b/hurd/ng/choiceofmicrokernel.mdwn deleted file mode 100644 index 20ee6f05..00000000 --- a/hurd/ng/choiceofmicrokernel.mdwn +++ /dev/null @@ -1,4 +0,0 @@ -TBD - -* [[MicrokernelL4]] -* [[MicrokernelCoyotos]] diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn deleted file mode 100644 index 9fac498f..00000000 --- a/hurd/ng/issues_with_mach.mdwn +++ /dev/null @@ -1,12 +0,0 @@ -[[!meta copyright="Copyright © 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]]."]]"""]] - - * [[open issues/Resource Management Problems]] - * [[Critique]] diff --git a/hurd/ng/microkernelcoyotos.mdwn b/hurd/ng/microkernelcoyotos.mdwn deleted file mode 100644 index 2340901d..00000000 --- a/hurd/ng/microkernelcoyotos.mdwn +++ /dev/null @@ -1,11 +0,0 @@ -# The Coyotos microkernel - -[Coyotos](http://www.coyotos.org/index.html) is a microkernel and OS and the successor of EROS, that itself is the successor of KeyKOS. A more complete history can be found [here](http://www.coyotos.org/history.html). Its main objectives are to correcte some shortcomings of EROS, demonstrate that an atomic kernel design scales well, and (eventually) to completely formally verify both the kernel and critical system components by writing them in a new language called [bitc](http://www.bitc-lang.org/). [See [l4.verified](http://nicta.com.au/research/projects/l4.verified) for work on formally verifying an L4 microkernel.] - -Coyotos is an orthogonally persistent pure capability system. It uses -continuation based unbuffered asynchronous IPC (actually it's synchronous IPC -with asynchronous [[system calls]]). - -TODO: explain these terms and (more important) their consequences on system design. - -The coyotos microkernel specification can be found [here](http://www.coyotos.org/docs/ukernel/spec.html) diff --git a/hurd/what_is_the_gnu_hurd.mdwn b/hurd/what_is_the_gnu_hurd.mdwn index 0b8f7ef6..7a7f3d43 100644 --- a/hurd/what_is_the_gnu_hurd.mdwn +++ b/hurd/what_is_the_gnu_hurd.mdwn @@ -1,17 +1,18 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008 Free -Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, +2010 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]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] [[!meta title="What Is the GNU Hurd?"]] -The Hurd is the GNU project's replacement for the [[Unix]] kernel. +The Hurd is the GNU project's replacement for [[UNIX]], a popular operating +system [[kernel]]. The Hurd is firstly a collection of protocols formalizing how different components may interact. The protocols are designed to reduce the mutual @@ -22,11 +23,19 @@ process to implement a file system. The only requirement is that it have access to its backing store and that the [[principal]] that started it own the file system node to which it connects. -The Hurd is also a set of servers that implement these protocols. -They include file systems, network protocols and authentication. +The Hurd is also a set of [[servers|translator]] that implement these +protocols. They include file systems, network protocols and authentication. The servers run on top of the [[microkernel/Mach]] [[microkernel]] and use Mach's [[microkernel/mach/IPC]] mechanism to transfer information. +The Hurd provides a compatibility layer such that compiling higher level +programs is essentially transparent; that is, by means of the [[glibc]], it +provides the same standard interfaces known from other [[UNIX]]-like systems. +Thus, for a typical user, the Hurd is intended to silently work in the +background providing the services and infrastructure which the [[microkernel]] +itself has no business implementing, but that are required for higher level +programs and libraries to operate. + The Hurd supplies the last major software component needed for a complete [[GNU_operating_system|running/gnu]] as originally conceived by Richard M. Stallman (RMS) in 1983. The GNU vision directly drove the creation and has diff --git a/kernel.mdwn b/kernel.mdwn new file mode 100644 index 00000000..8190660e --- /dev/null +++ b/kernel.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2004, 2006, 2007, 2008, 2010 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 kernel of an operating system is a fundamental program which provides +essential resources from the hardware of the computer to other programs. + +A kernel typically runs all the time and remains resident in main memory. + +The amount of functionality and resources which it provides vary tremendously. + + * [[microkernel]] + + * [[UNIX]] diff --git a/microkernel.mdwn b/microkernel.mdwn index e2d70c01..17344689 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -1,12 +1,15 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2010 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]]."]]"""]] +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +A *microkernel* is one kind of a [[kernel]] implementation. [[Liedtke]] explains in [On Microkernel Construction](http://l4ka.org/publications/paper.php?docid=642) that a microkernel attempts to minimize the mandatory part of the operating @@ -19,12 +22,10 @@ The idea of a microkernel as explained above was first explored by Per Brinch-Hansen in 1970 in [The Nucleus of a Multiprogramming System](http://brinch-hansen.net/papers/1970a.pdf). -Other notable microkernels include [[Hydra]], [[KeyKOS]], [[Eros]] and [[L4]]. - An [introduction](http://www.cs.cornell.edu/Info/People/ulfar/ukernel/ukernel.html) by Úlfar Erlingsson and Athanasios Kyparlis (from 1996) to microkernel concepts. -[[Research]]. [[Viengoos]]. +[[Research]]. [[Microkernels_for_beginners|for_beginners]]. @@ -32,4 +33,21 @@ A 2002 article about [[microkernel_FUD|FUD]] (Fear, Uncertainty, Doubt). [[FAQ]]. -[[Mach]]. + +# Implementations + + * [[Hydra]] + + * [[KeyKOS]] + + * [[Mach]] -- used by the GNU/Hurd + + * [[EROS]] + + * [[CapROS]] + + * [[Coyotos]] + + * [[L4]] + + * [[Viengoos]] diff --git a/microkernel/coyotos.mdwn b/microkernel/coyotos.mdwn new file mode 100644 index 00000000..5ecea688 --- /dev/null +++ b/microkernel/coyotos.mdwn @@ -0,0 +1,30 @@ +[[!meta copyright="Copyright © 2006, 2007, 2008, 2010 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="Coyotos"]] + +[*Coyotos*](http://www.coyotos.org/) is a microkernel and OS and the successor +of [[EROS]], that itself is the successor of [[KeyKOS]]. A more complete +history can be found [here](http://www.coyotos.org/history.html). Its main +objectives are to correcte some shortcomings of [[EROS]], demonstrate that an +atomic kernel design scales well, and (eventually) to completely formally +verify both the kernel and critical system components by writing them in a new +language called [bitc](http://www.bitc-lang.org/). + +Coyotos is an orthogonally [[persistent|persistency]] pure [[capability]] +system. It uses [[continuation]]-based unbuffered asynchronous [[IPC]] +(actually it's synchronous [[IPC]] with asynchronous [[system calls]]). + +TODO: explain these terms and (more important) their consequences on system +design. + +The coyotos microkernel specification can be found +[here](http://www.coyotos.org/docs/ukernel/spec.html). diff --git a/microkernel/l4.mdwn b/microkernel/l4.mdwn new file mode 100644 index 00000000..970407be --- /dev/null +++ b/microkernel/l4.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2004, 2006, 2007, 2008, 2010 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 [*L4* microkernel](http://l4ka.org/) is an attempt to create a very small +high performace core which provides basic memory management, task and context +switching, and little else. + +[L4Ka Pistachio Home](http://l4ka.org/projects/pistachio/). + +See [l4.verified](http://nicta.com.au/research/projects/l4.verified) for work +on formally verifying an L4 microkernel. + +There was a GNU/Hurd [[history/port_to_L4]], which is now stalled. diff --git a/unix.mdwn b/unix.mdwn index bf361e2e..3cfe7771 100644 --- a/unix.mdwn +++ b/unix.mdwn @@ -10,6 +10,8 @@ License|/fdl]]."]]"""]] [[!meta title="UNIX"]] +*UNIX* is a [[kernel]] implementation. + # External diff --git a/unsorted/HurdOnL4.mdwn b/unsorted/HurdOnL4.mdwn deleted file mode 100644 index 79e7a714..00000000 --- a/unsorted/HurdOnL4.mdwn +++ /dev/null @@ -1,173 +0,0 @@ -# GNU/Hurd on L4 wiki - -## Introduction - -This page is a place for information pertaining to the efforts towards realizing the migration and porting of the [[Hurd]] such that it uses the [L4 Microkernel](http://l4ka.org/). The GNU/Hurd Operating System, sometimes just referred to as the _GNU Operating System_ is a rich and robust collection of programs and utilities which enable you to use your computer to do usefull and or entertaining things. The intent is that most any applicable software package available on the [GNU Website](http://www.gnu.org) (and many others also) will be able to be compiled and run under the resultant operating system. - -At this point (06/20/2004) this is not yet possible. Indeed, the preliminary foundations are still being developed. Nevertheless, this is a volunteer created operating system so those with the knowledge, interest, and spare time are encouraged to study and if possible contribute to the project. - -In [CVS module hurd-l4](http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/), there is a [comprehensive list of items that need to be done](http://savannah.gnu.org/cgi-bin/viewcvs/hurd/hurd-l4/TODO). - -## Components of the System - -### The L4 Microkernel - -The kernel of an operating system is a fundamental program which provides essential resources from the hardware of the computer to other programs. A kernel typically runs all the time and remains resident in main memory. The amount of functionality and resources which it provides vary tremendously. The [L4 Microkernel](http://l4ka.org/) is an attempt to create a very small high performace core which provides basic memory management, task and context switching, and little else. - -### The Hurd - -The [Hurd](http://www.gnu.org/software/hurd/hurd.html) is a conglomeration of servers and programs which add additional functionality to a microkernel such that it is capable of utilizing additional hardware resources of the computer. It also provides a compatibility layer such that compiling higher level programs is essentially transparent; i.e. when you write a C program and compile it, you need only include standard headers and libraries and for all intents and purposes your generic program will build and run and you need never resort to unportable coding or access to hardware specific methods. - -For a typical user, The Hurd is intended to silently work in the background providing the services and infrastructure which are lacking in the microkernel but are required for higher level programs and libraries to operate. - -### GNU Programs - -For the user, this is what is desired: to run [GNU Software](http://www.gnu.org/). These programs provide a full featured, robust, and extremely effective operating system. A L4/Hurd system should be capable of compiling and executing most any software package available from GNU with little or no modification. - -Some readers may be familiar with GNU/Linux systems. When GNU/L4 is complete it should highly resemble the functionality of such systems as L4 and Hurd effectively replace the Linux kernel. The bulk of the software should be expected to run much as it does presently under the Linux kernel (or gnumach based GNU/Hurd systems). - -## Preparations - -### Build System - -There are no precompiled binaries for Hurd on L4 that I am aware of, so you will need to be able to compile the source code packages in order to experiment with it. While L4Ka will likely build on a variety of compilers and systems, the Hurd may prove troublesome unless it is built using recent GNU compilers and tools. - -I recently used [Debian Unstable](http://www.debian.org) (Sarge) with GNU gcc version 3.3, autoconf version 2.50, and automake version 1.8 to build the system with good results, although other similarly equipped systems with a good development environment, such as [Gentoo](http://www.gentoo.org) or [Slackware](http://www.slackware.com) are reported to work fine also. - -Generally, I would recommend building the packages using any very up-to-date GNU development system. I'm not going to say that you can't compile them using more exotic platforms, but I wouldn't be overly hopefull about it. I have no idea if Pistachio can be compiled under current gnuMach/Hurd systems it might be interesting to try it. - -### Making a Home for L4/Hurd - -Obviously you want to have a home for this little embryonic operating system. Currently, mine is using about 5M for the binaries and headers. If you want the source to reside with the binaries, then allow perhaps another 50M or so, but this is purely optional. - -At the moment, Hurd on L4 can't even see your hard drive, so all you need is a directory on some partition which is visible to the GRUB bootloader. A `/l4hurd` directory on your existing GNU/Linux system is probably fine for now. - -Howevever, if you have some spare disk space or an unused partition, you could optionally create a small partition for the system. This is totally unnecessary at the moment because L4/Hurd lacks hard disk drivers right now, but it is an option. Assuming that you have made some partition **X** with linux _fdisk_, set it to type 83 - Linux and use the following command to initialize it with the classic Hurd extensions: - - - -As noted, this is purely optional, in fact right now you can use any filesystem that GRUB can understand. You can even use TFTP to netboot the system. My current setup takes about 5M for the full install so obviously you don't need much space for this. - -### Boot Loader - -Just like regular GNU/Hurd, you need to use [GNU GRUB](http://www.gnu.org/software/grub/), the _GRand Unified Bootloader_ in order to boot the system. Hopefully you already have it installed, in which case adding the commands for L4/Hurd to your `menu.lst` is quite trivial. - -If you don't have GRUB installed, then you should probably take some time to get it set up. A good place to look for help is on the regular [Debian GNU/Hurd Installation Page](http://www.debian.org/ports/hurd/hurd-install) at the **3\. The Boot Loader** section. - -This is probably a bit superfluous, but you can even display a snazzy little graphic of some type on your GRUB boot menu. Here's a snip from the header of my `menu.lst` which demonstrates how to do this. - - # menu for grub - splashimage (hd0,0)/boot/grub/debian.xpm - foreground bfbfe7 - background 3f3f7f - -In the above example, my `debian.xpm` is just a 640x480 graphic in xpm format (which you can easily create with GIMP). It does add a bit of pizazz to your boot screen :-) - -In fact, I will attach a sample copy of my `menu.lst` here. It has lots of examples for booting a variety of operating systems in it. Remember that my hard drive partitions are unique to my system. - -* [[ATTACHURLmenulst]]: Sample GRUB boot menu - -## Building Hurd on L4 - -### L4Ka Pistachio - -#### Getting the Sources - -I used the latest version of L4Ka, Pistachio version 0.4. It can be obtained from the following website: - -[L4Ka Pistachio Home](http://l4ka.org/projects/pistachio/) - -#### Compiling - -Pistachio is designed to be compiled in a build directory which is independant from the source directory, so you need to create your build directory after unpacking the tarball. Furthermore, you need to pass a couple of special parameters to the configure program to set it up for use with Hurd. Here is what I did on my ia32 system: - -Note: I have my installation set up in `/l4hurd` and I am starting from within the Pistachio source top-level directory. - - $ mkdir build - $ cd build - Building and installing user-level libraries and servers/applications - $ ../user/configure --with-s0-linkbase=0x40000 --prefix=/l4hurd - $ make - $ make install - Building and installing the kernel - $ make -C ../kernel BUILDDIR=`pwd`/kernel - $ cd kernel - $ make menuconfig - $ make - $ mkdir /l4hurd/boot - $ cp ia32-kernel /l4hurd/boot - -Hopefully everything worked and there were no problems. As usual, if the build fails then scrutinize the output from `configure` and install any missing libraries or development packages. - -### CVS l4hurd - -#### Getting the sources - - You need to pull the L4 Hurd sources from the CVS tree on Savannah. The CVS access page is [The GNU/Hurd - CVS (module hurd-l4)](http://savannah.gnu.org/cvs/?group=hurd). In a nutshell, the following commands should retrieve the sources for you: - - $ cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/sources/hurd co hurd-l4 - -#### Compiling - -Take a look at the README, compiling should be quite simple on any state of the art GNU development system. As per the README, and for my example, you would: - - $ autoreconf -f -i -s - $ ./configure --enable-maintainer-mode --prefix=/l4hurd - $ make - $ make install - $ strip physmem/physmem - - $ mkdir /l4hurd/boot - $ cp laden/laden /l4hurd/boot - $ cp wortel/wortel /l4hurd/boot - $ cp physmem/physmem /l4hurd/boot - -Currently (2004/08/09), physmem needs to be stripped to to avoid a memory conflict with wortel; this requirement may be fixed in the future. - -In my case it was slightly more complicated as Debian uses a wrapper system to enable the use of multiple versions of the GNU Autotools. In this case, the trick is to utilize some environment variables on the command line as follows: - - $ ACLOCAL=aclocal-1.8 AUTOMAKE=automake-1.8 autoreconf -f -i -s - -As above, hopefully this will compile cleanly; otherwise, scroll up, read any error messages, and correct them by installing required packages of the proper version. Any bad compilation problems are most likely due to you either missing or using a wrong version of something. - -## Installing - -The binaries are now installed into `/l4hurd`. All that remains is to add an entry into GRUB's `menu.lst` in order to test it out. Here's an example from my system where I have `/l4hurd` on `/dev/hda9` in my Linux system: - - title GNU Hurd on L4Ka Pistachio 0.4 - root (hd0,8) - kernel /boot/laden -D - module /boot/ia32-kernel - module /libexec/l4/sigma0 - module /boot/wortel -D - module /boot/physmem -D - module /boot/physmem - module /boot/physmem - module /boot/physmem - module /boot/physmem - -It might strike you a little odd that there are five physmem modules. This is done because wortel currently (2004/08/09) expects exactly five modules and the other modules (like the task server, auth server, etc.) have not been implemented yet. Therefore the physmem module is used as a dummy module. - -## Booting - -For me at least, I got some nifty messages and then it dropped into a simple debugging mode. As far as I know, thats all there is right now. - -Read, build, learn, code... - ---todo: add more here. - -## Experimenting - -Well, thats why you did all of this, certainly not to do anything else. Use that debugger and get experimenting. - ---todo: things to do wth the debugger - -## Conclusion - -If you followed these steps, you most likely have built and booted the latest version of Hurd on L4. I would encourage you to subscribe to the mailing list at the following URL and help in the efforts to get this nifty system up to speed: - -[l4-hurd mailing list](http://lists.gnu.org/mailman/listinfo/l4-hurd) - -And finally, this is a wiki, meaning that **you** have the ability to edit and modify this page. If you want to fix something, add more information, new sub-pages, whatever, feel free to do so. This is a great way to get a doc base up fast and keep it current, so use it like its supposed to be and have fun with Hurd on L4! - --- [[Main/BDouglasHilton]] - 20 Jun 2004 diff --git a/unsorted/HurdOnL4/menu.lst b/unsorted/HurdOnL4/menu.lst deleted file mode 100644 index 3129ea74..00000000 --- a/unsorted/HurdOnL4/menu.lst +++ /dev/null @@ -1,55 +0,0 @@ -# menu for grub -splashimage (hd0,0)/boot/grub/debian.xpm -foreground bfbfe7 -background 3f3f7f - -timeout 30 -default 0 - -title Debian Sid with Linux kernel 2.6.5 -root (hd0,1) -kernel /vmlinuz root=/dev/hda2 vga=0x318 - -title Debian Sid with old kernel -root (hd0,1) -kernel /vmlinuz.old root=/dev/hda2 vga=9 - -title Microsoft Windows 2000 -rootnoverify (hd0,3) -chainloader (hd0,3)+1 - -title FreeDOS BETA 8.0 -root (hd0,0) -chainloader +1 - -title GNU Hurd on L4Ka Pistachio 0.4 -root (hd0,8) -kernel /boot/laden -D -module /boot/ia32-kernel -module /libexec/l4/sigma0 -module /boot/wortel -D -module /boot/physmem - -title Debian GNU/Hurd (gnumach) -root (hd0,7) -kernel /boot/kernel.gz root=device:hd0s8 -module /hurd/ext2fs.static --readonly \ - --multiboot-command-line=${kernel-command-line} \ - --host-priv-port=${host-port} \ - --device-master-port=${device-port} \ - --exec-server-task=${exec-task} \ - -T typed ${root} $(task-create) $(task-resume) -module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -# title Debian GNU/Hurd (oskit-mach) -# root (hd3,0) -# kernel /boot/kernel-ide -- root=hd0s1 -# module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T device ${root-device} $(task-create) $(task-resume) -# module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - -# title Debian GNU/Hurd (oskit-mach w/ remote debugging) -# root (hd3,0) -# kernel /boot/kernel-ide -d GDB_COM=1 BAUD=9600 -- root=hd0s1 -# module /hurd/ext2fs.static --multiboot-command-line=${kernel-command-line} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -T device ${root-device} $(task-create) $(task-resume) -# module /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - diff --git a/unsorted/PortToL4.mdwn b/unsorted/PortToL4.mdwn deleted file mode 100644 index fb7f0004..00000000 --- a/unsorted/PortToL4.mdwn +++ /dev/null @@ -1,42 +0,0 @@ -**_The Hurd-L4 port has an [official page](http://www.gnu.org/software/hurd/hurd-l4.html) with more up-to-date information_** -- [[Main/OgnyanKulev]] - 05 Feb 2005 - -A group of one being led by Neal H. Walfield is working on porting the Hurd to the pistachio version of the L4 microkernel. This second generation microkernel provides a significantly different API than the one offered by the Mach microkernel, a first generation microkernel. One of the primary goals of the project, outside of porting the Hurd to L4, is to reevaluate the current Hurd abstractions and consider how they can be modified to be more general. - -I have no web page describing my efforts. There is a mailing list[1]. - -[1] - --- Neal Walfield, 18 Sep 2002 - -Neal noted [1] that there are licensing issues being worked out so no code is yet released. His work was performed in the summer of 2002 at Karlsruhe. - -[1] - --- [[Main/GrantBow]] - 21 Sep 2002 - -There are several important pages that are of interest for the L4 & hurd communities. - -* Main L4 home page - -* Hurd on L4 - -* Hurd on L4 - -* - --- [[Main/GrantBow]] - 22 May 2002 - - - --- [[Main/GrantBow]] - 24 Oct 2002 - -There was [discussion in October 2002](http://mail.gnu.org/pipermail/l4-hurd/2002-October/000727.html) about the differences between Hurd on Mach and Hurd on L4 with some interesting URLs. In the thread Okuji [responds](http://mail.gnu.org/pipermail/l4-hurd/2002-October/000728.html) confirming his document is two years old and outdated by the directions that Neal is taking in furthering this effort. The URLs in that email might be helpful to those learning more about Hurd and L4 ideas that were considered yet abandoned. - --- [[Main/GrantBow]] - 04 Jan 2003 - -A "Porting GNU Hurd to L4" website: - -* - --- [[Main/SebastianGabriel]] - 29 Sep 2003 - -The only valid L4-Hurd link on is - --- [[Main/JoachimNilsson]] - 29 Sep 2003 -- cgit v1.2.3