From 65c5c2ed0ea1153b54aad5343b5458311bafc8d5 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 19 Oct 2007 16:57:22 +0000 Subject: web commit by NealWalfield: Rework introduction. Remove history text and add link to [[History]]. --- hurd/ng.mdwn | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'hurd/ng.mdwn') diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index 25677414..021f5723 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -1,19 +1,11 @@ -There is an effort to create a completely new system design (for now called -ngHurd, or Hurd-ng or HurdNG), which originated from the Hurd/L4 port. - -The original Hurd/L4, which was meant to be mostly a direct port of the -existing Hurd design to a new microkernel, has been abandoned by it's main -developers, because some technical issues with the L4 Pistachio kernel turned -out to be very fundamental. While reeveluating the design (and upcoming new L4 -variants), the developers picked up some new ideas, and decided that now they -rather want to work on a completely different design, which combines some of -the original Hurd ideas with concepts from Jonathan Shapiro's high security -EROS and Coyotos systems. - -There has been numerous endless discussions on the -[[l4-hurd_mailing_list|mailinglists]] about these new ideas. This page tries to -sum up the major discussions. +Hurd-ng is an effort to build a new operating system that preserves +the main design goals of the Hurd while fixing some of the Hurd's +shortcomings. There is not yet an official roadmap or a concrete +specification; indeed, much of the work is research oriented. +These pages try to summarize the major discussions and ideas. + +* [[History]] # Why ngHurd -- cgit v1.2.3 From b0a3381333408ef4e37751c43da19572ee78be41 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 24 Oct 2007 20:28:55 +0200 Subject: Link to [[critique]] and [[position_paper]]. --- hurd/critique.mdwn | 2 +- hurd/ng.mdwn | 4 +--- hurd/ng/designgoals.mdwn | 6 +++--- hurd/ng/history.mdwn | 4 ++-- hurd/ng/position_paper.mdwn | 2 +- hurd/ng/systemstructure.mdwn | 6 +++--- 6 files changed, 11 insertions(+), 13 deletions(-) (limited to 'hurd/ng.mdwn') diff --git a/hurd/critique.mdwn b/hurd/critique.mdwn index 600936c7..24f43198 100644 --- a/hurd/critique.mdwn +++ b/hurd/critique.mdwn @@ -10,7 +10,7 @@ is included in the section entitled 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*. +is sometimes referred to as *the critique*. The paper provides a technical overview of the Hurd's architecture and critiques some of the decisions made. diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index 021f5723..c423dda9 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -18,9 +18,7 @@ This section explains the motivations behind the new design: # Work already done -A [position -paper](http://walfield.org/papers/20070104-walfield-access-decomposition-policy-refinement.pdf) -by Marcus Brinkmann and Neal H. Walfield can be found. +A [[position_paper]] by Marcus Brinkmann and Neal H. Walfield can be found. A draft specification of the Hurd-NG interfaces has been, but is no longer, available. diff --git a/hurd/ng/designgoals.mdwn b/hurd/ng/designgoals.mdwn index 5dbd7018..9e685e55 100644 --- a/hurd/ng/designgoals.mdwn +++ b/hurd/ng/designgoals.mdwn @@ -2,7 +2,9 @@ ## The Position Paper -_Improving Usability via Access Decomposition and Policy Refinement_ tries to capture technical objectives. As has been stated by Neal in [2], these are a number of scenarios we are interested in addressing: +The [[position_paper]] tries to capture technical objectives. As has been +stated by Neal in [2], these are a number of scenarios we are interested in +addressing: * security: programs are not users; they should be constrained according to the user's intents * resource management @@ -49,5 +51,3 @@ Therefore, I'd want to propose to weaken the impact of extensibility on the desi * [1] * [2] - --- [[Main/TomBachmann]] - 29 Apr 2006 diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn index c6c23aa4..b9f083f3 100644 --- a/hurd/ng/history.mdwn +++ b/hurd/ng/history.mdwn @@ -30,9 +30,9 @@ He explains: > rejected some parts of the Hurd's design. The 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 +> description of the problems we have identified, see our [[critique]] in the > 2007 July's SIGOPS OSR. We have also written a forward-looking -> [[Position_Paper]].) +> [[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/position_paper.mdwn b/hurd/ng/position_paper.mdwn index a45ea31b..b163aea7 100644 --- a/hurd/ng/position_paper.mdwn +++ b/hurd/ng/position_paper.mdwn @@ -9,4 +9,4 @@ is included in the section entitled [[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*. +This is sometimes referred to as *the position paper*. diff --git a/hurd/ng/systemstructure.mdwn b/hurd/ng/systemstructure.mdwn index 8a9bdbe8..ef069edd 100644 --- a/hurd/ng/systemstructure.mdwn +++ b/hurd/ng/systemstructure.mdwn @@ -1,3 +1,3 @@ -TBD, see: (thread). Also, note that this is derived from [[Philosophy]]. See the interface spec and the position paper as well. - --- [[Main/TomBachmann]] - 31 Aug 2006 +TBD, see: +(thread). Also, note that this is derived from [[Philosophy]]. See the +interface spec and the [[position_paper]] as well. -- cgit v1.2.3 From fdcc65f2ce8784cf09b4fa81f458b7826fbdda86 Mon Sep 17 00:00:00 2001 From: GNU Hurd wiki engine Date: Fri, 21 Dec 2007 22:12:29 +0000 Subject: web commit by NealWalfield: Add link to [[security]] --- hurd/ng.mdwn | 1 + 1 file changed, 1 insertion(+) (limited to 'hurd/ng.mdwn') diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index c423dda9..db9a225d 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -37,6 +37,7 @@ A [[critique]] of the original Hurd is available. ## Concepts +* [[security]] * [[CapabilityBasedMicrokernel]] * [[FirstClassReceiveBuffer]] * [[PowerBox]] -- cgit v1.2.3 From c691cb2ddef9a3ced4d5397b66641e881cde3b7c Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 2 Apr 2008 17:24:39 +0200 Subject: Yet more new stub pages. --- hurd/ng.mdwn | 9 +++++---- hurd/ng/issues_with_mach.mdwn | 12 ++++++++++++ hurd/ng/limitations_of_the_original_hurd_design.mdwn | 11 +++++++++++ 3 files changed, 28 insertions(+), 4 deletions(-) create mode 100644 hurd/ng/issues_with_mach.mdwn create mode 100644 hurd/ng/limitations_of_the_original_hurd_design.mdwn (limited to 'hurd/ng.mdwn') diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index db9a225d..22613f54 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -5,15 +5,16 @@ specification; indeed, much of the work is research oriented. These pages try to summarize the major discussions and ideas. -* [[History]] # Why ngHurd This section explains the motivations behind the new design: -* [[IssuesWithMach]] -* [[IssuesWithL4Pistachio]] -* [[LimitationsOfOriginalHurdDesign]] + * [[Issues_with_Mach]] + * [[Issues_with_L4_Pistachio]] + * [[Limitations_of_the_original_Hurd_design]] + + * [[History]] # Work already done diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn new file mode 100644 index 00000000..cb4de906 --- /dev/null +++ b/hurd/ng/issues_with_mach.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]]."]]"""]] + + * [[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 new file mode 100644 index 00000000..25f03372 --- /dev/null +++ b/hurd/ng/limitations_of_the_original_hurd_design.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]]."]]"""]] + + * [[Critique]] -- cgit v1.2.3 From f57755b84e4d352faab76bf7194768555a615596 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 17 Feb 2009 01:44:54 +0100 Subject: Move content of hurd/ng/history into hurd/history/port_to_l4. --- hurd/history/port_to_l4.mdwn | 63 +++++++++++++++++++++++++++++++++++++------- hurd/ng.mdwn | 2 +- hurd/ng/history.mdwn | 50 ----------------------------------- 3 files changed, 55 insertions(+), 60 deletions(-) delete mode 100644 hurd/ng/history.mdwn (limited to 'hurd/ng.mdwn') diff --git a/hurd/history/port_to_l4.mdwn b/hurd/history/port_to_l4.mdwn index 6a17d1ff..03795dc4 100644 --- a/hurd/history/port_to_l4.mdwn +++ b/hurd/history/port_to_l4.mdwn @@ -1,5 +1,5 @@ -[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free -Software Foundation, Inc."]] +[[meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009 +Free Software Foundation, Inc."]] [[meta license="""[[toggle id="license" text="GFDL 1.2+"]][[toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -12,8 +12,16 @@ is included in the section entitled [[meta title="Porting the Hurd to L4: Hurd/L4"]] There was an effort to port the Hurd from [[microkernel/Mach]] to the -[[L4_microkernel_family|microkernel/L4]], mostly lead by Marcus Brinkmann and -Neal Walfield. Even though there was progress, this port never reached a +[[L4_microkernel_family|microkernel/L4]]. + +The idea of using L4 as a [[microkernel]] for a [[Hurd_system|hurd]] was +initially voiced in the [[Hurd_community|community]] by Okuji Yoshinori, who, +for discussing this purpose, created the [[mailing_lists/l4-hurd]] mailing list +in November 2000. + +The project itself then was mostly lead by Marcus Brinkmann and Neal Walfield. +Even though there was progress -- see, for example, the +[[QEMU_image_for_L4|running/qemu/image_for_l4]] -- this port never reached a releasable state. Eventually, a straight-forward port of the original Hurd's design wasn't deemed feasible anymore by the developers, partly due to them not cosidering L4 suitable for implementing a general-purpose operating system on @@ -24,12 +32,13 @@ they discovered along their way. Read the [[critique]] and a By now, the development of Hurd/L4 has stopped. However, Neal Walfield moved on to working on a newly designed kernel called [[microkernel/viengoos]]. +Over the years, a lot of discussion have been held on the +[[mailing_lists/l4-hurd]] mailing list, which today is still the right place +for [[next-generation_Hurd|ng]] discussions. -Development was done in the `hurd-l4` module of the Hurd CVS repository. The -`doc` directory contains a design document that is worth reading for anyone who -wishes to learn more about Hurd/L4. Discussion have been held on the -[[mailing_lists/l4-hurd]] mailing list, which is still the right place for -[[next-generation_Hurd|ng]] discussions. +Development of Hurd/L4 was done in the `hurd-l4` module of the Hurd CVS +repository. The `doc` directory contains a design document that is worth +reading for anyone who wishes to learn more about Hurd/L4. One goal of porting the Hurd to L4 was to make the Hurd independend of Mach @@ -54,3 +63,39 @@ of the kernel's [[TCB]]. One idea was to first introduce a Mach-on-L4 emulation layer, to easily get a usable (though slow) Hurd-using-Mach-interfaces-on-L4 system, and then gradually move the Hurd servers to use L4 intefaces rather than Mach ones. + + +Neal Walfield started the original Hurd/L4 port while at Karlsruhe in 2002. He +explains: + +> My intention was to adapt the Hurd to exploit L4's concepts and intended +> [[design_pattern]]s; it was not to simply provide a Mach +> [[compatibility_layer]] on top of L4. When I left Karlsruhe, I no longer had +> access to [[microkernel/l4/Pistachio]] as I was unwilling to sign an NDA. +> Although the specification was available, the Karlsruhe group only [released +> their code in May +> 2003](https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/2003-May/000345.html). +> Around this time, Marcus began hacking on Pistachio. He created a relatively +> complete run-time. I didn't really become involved again until the second +> half of 2004, after I complete by Bachelors degree. + +> Before Marcus and I considered [[microkernel/Coyotos]], we had already +> rejected some parts of the Hurd's design. The +> [[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]].) + +> We visited Jonathan Shapiro at Hopkins in January 2006. This resulted in a +> number of discussions, some quite influential, and not always in a way which +> aligned our position with that of Jonathan's. This was particularly true of +> a number of security issues. + +A lange number of discussion threads can be found in the archives of the +[[mailing_lists/l4-hurd]] mailing list. + +> Hurd-NG, as we originally called it, was an attempt to articulate the system +> that we had come to envision in terms of interfaces and description of the +> system's structure. The new name was selected, if I recall correctly, as it +> clearly wasn't the Hurd nor the Hurd based on L4. diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index 22613f54..fb4d742f 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -14,7 +14,7 @@ This section explains the motivations behind the new design: * [[Issues_with_L4_Pistachio]] * [[Limitations_of_the_original_Hurd_design]] - * [[History]] + * History of the [[history/port_to_L4]] # Work already done diff --git a/hurd/ng/history.mdwn b/hurd/ng/history.mdwn deleted file mode 100644 index 652bccf3..00000000 --- a/hurd/ng/history.mdwn +++ /dev/null @@ -1,50 +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]]."]]"""]] - -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 [[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. - -Neal Walfield started the original Hurd/L4 port while at Karlsruhe in 2002. -He explains: - -> My intention was to adapt the Hurd to exploit L4's concepts and intended -> [[design_pattern]]s; it was not to simply provide a Mach -> [[compatibility_layer]] on top of L4. When I left Karlsruhe, I no longer had -> access to [[microkernel/l4/Pistachio]] as I was unwilling to sign an NDA. -> Although the specification was available, the Karlsruhe group only [released -> their code in May -> 2003](https://lists.ira.uni-karlsruhe.de/pipermail/l4ka/2003-May/000345.html). -> Around this time, Marcus began hacking on Pistachio. He created a relatively -> complete run-time. I didn't really become involved again until the second -> half of 2004, after I complete by Bachelors degree. - -> Before Marcus and I considered [[microkernel/Coyotos]], we had already -> rejected some parts of the Hurd's design. The [[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 -> [[position_paper]].) - -> We visited Jonathan Shapiro at Hopkins in January 2006. This resulted in a -> number of discussions, some quite influential, and not always in a way which -> aligned our position with that of Jonathan's. This was particularly true of -> a number of security issues. - -A lange number of discussion threads can be found in the archives of the -[[mailing_lists/l4-hurd]] mailing list. - -> Hurd-NG, as we originally called it, was an attempt to articulate the system -> that we had come to envision in terms of interfaces and description of the -> system's structure. The new name was selected, if I recall correctly, as it -> clearly wasn't the Hurd nor the Hurd based on L4. -- cgit v1.2.3 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 'hurd/ng.mdwn') 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 48c1034865df4c21b1fc4f92a1c9c4d471764de7 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Tue, 17 Feb 2009 02:22:40 +0100 Subject: Correct links. --- hurd/ng.mdwn | 3 +-- hurd/ng/issues_with_mach.mdwn | 4 ++-- 2 files changed, 3 insertions(+), 4 deletions(-) (limited to 'hurd/ng.mdwn') diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn index 1a271856..fb4d742f 100644 --- a/hurd/ng.mdwn +++ b/hurd/ng.mdwn @@ -10,8 +10,7 @@ These pages try to summarize the major discussions and ideas. This section explains the motivations behind the new design: - * Issues with Mach: - [[microkernel/mach/gnumach/open_issues/resource_management_problems]] + * [[Issues_with_Mach]] * [[Issues_with_L4_Pistachio]] * [[Limitations_of_the_original_Hurd_design]] diff --git a/hurd/ng/issues_with_mach.mdwn b/hurd/ng/issues_with_mach.mdwn index cb4de906..4737f441 100644 --- a/hurd/ng/issues_with_mach.mdwn +++ b/hurd/ng/issues_with_mach.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,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]]."]]"""]] - * [[Resource_management_problems]] + * [[microkernel/mach/gnumach/open_issues/Resource_management_problems]] * [[Critique]] -- 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 'hurd/ng.mdwn') 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