diff options
Diffstat (limited to 'Hurd')
-rw-r--r-- | Hurd/Debugging.mdwn | 34 | ||||
-rw-r--r-- | Hurd/GNUHurdStatus.mdwn | 142 | ||||
-rw-r--r-- | Hurd/HurdIRC.mdwn | 59 | ||||
-rw-r--r-- | Hurd/HurdNames.mdwn | 52 | ||||
-rw-r--r-- | Hurd/KnownHurdLimits.mdwn | 39 | ||||
-rw-r--r-- | Hurd/MailLists.mdwn | 82 | ||||
-rw-r--r-- | Hurd/NeighborHurd.mdwn | 22 | ||||
-rw-r--r-- | Hurd/SubhurdHowto.mdwn | 4 | ||||
-rw-r--r-- | Hurd/TheGnuHurd.mdwn | 85 | ||||
-rw-r--r-- | Hurd/ToDo.mdwn | 114 | ||||
-rw-r--r-- | Hurd/Translation.mdwn | 3 | ||||
-rw-r--r-- | Hurd/UserGroups.mdwn | 18 | ||||
-rw-r--r-- | Hurd/WhoRunsGNU.mdwn | 6 | ||||
-rw-r--r-- | Hurd/contributing.mdwn | 37 | ||||
-rw-r--r-- | Hurd/debbuging.mdwn | 4 | ||||
-rw-r--r-- | Hurd/gettinghelp.mdwn | 16 | ||||
-rw-r--r-- | Hurd/history.mdwn | 2 | ||||
-rw-r--r-- | Hurd/noninvasivedebugging.mdwn | 6 | ||||
-rw-r--r-- | Hurd/running.mdwn | 5 | ||||
-rw-r--r-- | Hurd/xen.mdwn | 17 |
20 files changed, 390 insertions, 357 deletions
diff --git a/Hurd/Debugging.mdwn b/Hurd/Debugging.mdwn index 5e94f65d..d9244f15 100644 --- a/Hurd/Debugging.mdwn +++ b/Hurd/Debugging.mdwn @@ -1,29 +1,9 @@ -## <a name="GDB"> </a> GDB +* [[DebuggingGlibc]] +* [[DebuggingViaSubhurds]] - To debug system servers -<http://sourceware.org/gdb/> +# GDB -[General GDB documentation](http://sourceware.org/gdb/documentation/), including the [special Hurdy bits](http://sourceware.org/gdb/current/onlinedocs/gdb_19.html#Hurd%20Native). - -<http://lists.gnu.org/archive/html/bug-hurd/2007-02/msg00039.html> - -### <a name="noninvasive_mode"> _noninvasive_ mode </a> - -This essentially means that the program continues running as usual, but you can use GDB to get back traces and print variables (and watch them change underneath you). This can be helpful when debugging system wide default servers that shall not be stopped while debugging. - ----- - -## <a name="Debugging_glibc"> Debugging glibc </a> - -See [[DebuggingGlibc]]. - ----- - -## <a name="Debugging_via_subhurds"> Debugging via subhurds </a> - -See [[DebuggingViaSubhurds]]. - ----- - -## <a name="General_Notes"> General Notes </a> - -For debugging the system wide default servers (like the root file system server or the _exec_ server), it is recommendable to instead debug them in a sub-hurd or at least use the _noninvasive_ mode when attaching GDB to them. +* [Manual](http://sourceware.org/gdb/documentation/) +* [Hurd Specific](http://sourceware.org/gdb/current/onlinedocs/gdb_19.html#Hurd%20Native). +* [[NonInvasiveDebugging]] - Avoiding Deadload +* [When disassemble doesn't work](http://lists.gnu.org/archive/html/bug-hurd/2007-02/msg00039.html) diff --git a/Hurd/GNUHurdStatus.mdwn b/Hurd/GNUHurdStatus.mdwn index 305b99fa..8bc348ff 100644 --- a/Hurd/GNUHurdStatus.mdwn +++ b/Hurd/GNUHurdStatus.mdwn @@ -1,127 +1,15 @@ -Unfortunately, this page is very outdated. For the latest status you need to check the [[MailLists]] or [[HurdIRC]]. I know that from hanging out on IRC today (Feb 29, 2004) Marcus was uploading a new [[Mach]] binary package to update the old one in the debian archive. Work still continues on the new [[HurdConsole]]. Progress overall is slow due to the technical expertise required for many tasks and the lack of resources. - --- [[Main/GrantBow]] - 01 Mar 2004 - -Two canonical status lists are available from the CVS archive: - -* [TODO file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/TODO?rev=HEAD&content-type=text/plain) - from Hurd repository -* [Task file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/tasks?rev=HEAD&content-type=text/plain) - from Hurd respository - -<dl> - <dt><a href="http://lists.debian.org/debian-hurd/2002/debian-hurd-200210/msg00035.html" target="_top">Welcome Note</a></dt> - <dd> Introduction to GNU and the Hurd sent monthly to <nop>Help-Hurd@gnu.org. </nop></dd> -</dl> - -<div align="right"> Related: [[KnownHurdLimits]], <br />[[SeenHurd]], [[WhoRunsGNU]], [[GnuHurdLiveJournal]]</div> - ----- - -Here are some notes taken from an [IRC discussion](http://web.walfield.org/~hird/%23hurd-200209027) September 28th, 2002. The part of the log at which I am summarizing starts with - -`<marcus@18:26> wolfgang: I once made a list of things that are definitely to be done before a release. want me to write it here? (It's only on paper so far)` - -This list is intended to apply to "just the CVS of the [Hurd itself](http://savannah.gnu.org/projects/hurd)." It is specifically not intended to apply to GNU/Hurd and definately not Debian GNU/Hurd. - -**FIXME.** How out-of-date is this stuff? -- [[Main/DeviceRandom]] - 20 Jan 2007 - -* xkb driver for console (for international users) -* kbd leds in console (well, in general, Roland's new driver in oskit for that crap) -* fixing fakeroot (it's buggy) -* fixing tmpfs (it's buggy, Neal says it's Mach's fault) -* adding posix shared memory (requires the io\_close call to be implemented) -* adding posix file locking (requires the io\_close call to be implemented) -* testing - * find + various filesystems (are inode numbers for . and .. sane?) - * ext2fs with other block sizes than 4096 - * --help and --version and --usage in all programs - * I have seen ^V in some --help output, might be argp bug - * Verify that all options are documented clearly, and that no unimplemented options appear - * Is the short and long description in the help output correct? - * Is the return value of all programs correct (eg, does main() return a sane value) - * Is the suid bit correctly set for all installed programs? - * Translators - * Does settrans -g work? -fg? - * Does fsysopts work? Does setting options with fsysopts work? - * Does stat() work on all translated nodes and give proper data? - * What about chown, chmod (some translators should pass this through to the underlying node, esp in /dev!) - * Does statfs give correct data? - * Are all inode numbers and link counts correct? -* [one unreadable item on the paper] -* We also should have a "make check" test suite. We can add this once Jeff finished his automake patches -* pick up the other things - * pthread, definitely. Now that we are so close - * new console is basically done - * needs integration of course - * X switching support -* there is certainly more to do ... - --- - -This is the wrong place for this but I'll put it here for now. Here's an [email about pthreads direction](http://mail.gnu.org/pipermail/hurd-devel/2002q3/000449.html) from hurd-devel mail list. - --- [[Main/GrantBow]] - 01 Oct 2002 - -Wolfgang also created a wonderful list of [Easy tasks](http://mail.gnu.org/pipermail/help-hurd/2002-July/006413.html) on July 28, 2002 that I will quote here: - -<table border="1" cellpadding="1" cellspacing="0"> - <tr> - <th bgcolor="#99CCCC"><strong>Difficulty</strong></th> - <th bgcolor="#99CCCC"><strong>Task</strong></th> - </tr> - <tr> - <td> 0 </td> - <td> Check if all programs handle options (at least --help, --version and --usage; don't forget about the shell scripts) </td> - </tr> - <tr> - <td> 1 </td> - <td> Check if all translators handle fsysopts </td> - </tr> - <tr> - <td> 1 </td> - <td> Check if all translators respond to "settrans -g" </td> - </tr> - <tr> - <td> 1 </td> - <td> More tests of this kind </td> - </tr> - <tr> - <td> 2 </td> - <td> Fix those of the above who don't work as intended </td> - </tr> - <tr> - <td> 2 </td> - <td> Document (in doc/hurd.texi) all undocumented programs (translators as well as programs in utils/ and sutils/ and some others) </td> - </tr> - <tr> - <td> 1 </td> - <td> Find a POSIX test suite, run it on GNU/Hurd, report the results </td> - </tr> - <tr> - <td> 1 </td> - <td> Find more useful test suites to run </td> - </tr> - <tr> - <td> 3 </td> - <td> Update INSTALL-cross </td> - </tr> - <tr> - <td> 2 </td> - <td> Check if all the store classes in libstore work (we have many of them, look into the Makefile) </td> - </tr> - <tr> - <td> 4 </td> - <td> Fix those who don't work </td> - </tr> - <tr> - <td> 2 </td> - <td> Document all still undocumented store classes </td> - </tr> - <tr> - <td> 2 </td> - <td> The console is pretty new code, it told me it wants to get tested </td> - </tr> -</table> - -Where difficulty 0 means trivial and 4 means tricky; the difficulty has nothing to do with the importance. - --- [[Main/GrantBow]] - 11 Oct 2002 +The last official release of the Hurd was 0.2. An +eminent release is not planned. There are a number of +reasons for this. + +One is that the Hurd is not sufficently stable or feature +complete. If an official release of the Hurd were made +now, people would try the Hurd and be disappointed. People +already expect delays; to disappoint them in this way as +well would be unfortunate. Moreover, it lessens the +possibility that they will try the Hurd again in the future. + +Another reason is that, Debian provides a distribution that +closely tracks Hurd development (and often includes many +new features). Little is to be gained by making an official +release.
\ No newline at end of file diff --git a/Hurd/HurdIRC.mdwn b/Hurd/HurdIRC.mdwn index de7a38ec..bdf4c81b 100644 --- a/Hurd/HurdIRC.mdwn +++ b/Hurd/HurdIRC.mdwn @@ -1,23 +1,58 @@ -# <a name="Internet_Relay_Chat"> Internet Relay Chat </a> +While all official development takes place on the mailing lists and the Savannah trackers, +a lot of discussions are had on IRC as well. Everybody is welcome to join and follow these channels, but please +respect the below guidelines if you want to participate. -The Hurd has its own #hurd channel hosted on [Freenode.net](http://freenode.net/). Connect to <irc://irc.freenode.net> and `/join #hurd` to begin. +# Asking Questions + +Please follow these [guidelines](http://catb.org/~esr/faqs/smart-questions.html) +when asking your question. Namely: spend some time trying +to solve the problem on your own (e.g., [search the web](http://www.google.com), +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. -**_Note:_** "Stupid" questions do not exist! We do sometimes forget that we have all learned how to use IRC. Please don't mind the louder voices on the channel if they seem a bit caustic. +# Staying On-Topic -## <a name="Channels"> Channels </a> +Please try to stay on topic. -### <a name="hurd_main_channel"> #hurd - main channel </a> +* emacs vs. vi **is not** on topic +* If it is appropriate for a **slashdot comment**, it's **not appropriate** + here +* why GNU sucks is **off-topic** +* when the next release of the Hurd will be **is inappropriate** +* you should not advocate your favorite **GNU/Linux** ditribution -### <a name="hurd_it_Italian_discussion"> #hurd-it - Italian discussion </a> +# Pasting Logs -### <a name="hurd_es_Spanish_discussion"> #hurd-es - Spanish discussion </a> +Sometimes providing a log or some other excerpt of text can +help solve a problem or answer a question. **Do not** paste +the log in the channel itself. Instead use a +[paste bin](http://paste.debian.net). -### <a name="hurdfr_French_discussion"> #hurdfr - French discussion </a> +# Rich Text -### <a name="_TODO_and_others_"> [TODO: and others] </a> -## <a name="Logs"> Logs </a> +Don't use it. Don't use colors. Don't use bold. Don't use emphasis. -The logs for a number of channels have been recorded by [hird](http://web.walfield.org/~deride/), but this service is out of order at the moment. +# Greeting -Logs for #hurd are available [here](http://richtlijn.be/~larstiq/hurd/). +If you never contribute to the discussion, there is no need +to always greet the channel when you enter and before leave. + +# Channels + +All Hurd IRC channels are hosted on [Freenode.net](http://freenode.net/). + +* #hurd - The official Hurd IRC channel. Some of the Hurd developers and users hang out there, and discussions about GNU Hurd, GNU/Hurd and +Debian GNU/Hurd are had there. + +Local user channels include: + +* #hurd-it - Italian +* #hurd-es - Spanish +* #hurdfr - French +* #hurd-de - German + +# Channel logs + +* [#hurd logs](http://richtlijn.be/~larstiq/hurd/)
\ No newline at end of file diff --git a/Hurd/HurdNames.mdwn b/Hurd/HurdNames.mdwn index d0fb396e..2a1e12c5 100644 --- a/Hurd/HurdNames.mdwn +++ b/Hurd/HurdNames.mdwn @@ -1,27 +1,51 @@ -## <a name="HURD_Hird_of_Unix_Replacing_Daem"> </a> HURD - Hird of Unix Replacing Daemons +[[toc ]] -From [gnu.org](http://www.gnu.org/software/hurd/hurd.html#TOCintroduction): the GNU project's replacement for the Unix kernel. The Hurd is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). +# The Acronym -The Hurd development effort is a somewhat separate project from the Debian GNU/Hurd port of a full GNU operating system. The Hurd is the last piece of the full GNU operating system goal. +Hurd stands for "Hird of Unix Replacing Daemons." -## <a name="HIRD_Hurd_of_Interfaces_Represen"> </a> HIRD - Hurd of Interfaces Representing Depth +Hird stands for "Hurd of Interfaces Representing Depth." -One contributor from Norway also described two other uses of Hird. -* "the kings men",a name given to +# Origin -the men accompanying the norwegian kings at about year 1000 and on. This was later coined by V.Quisling when he formed a party with nationalistic traits to denote a set of helpers promoting his agenda of national & nordic ideas. +[Quoting ](http://mail.gnu.org/archive/html/help-hurd/2002-10/msg00099.html) Thomas Bushnell, BSG: -* A symbol of collaboration with the (German) enemy used in World War II. +The name "Hurd" was invented by me, as an alternate spelling for the English word "herd". +"Hird" is just another alternate spelling for the same word. By the normal rules of +English orthography, they all have the same pronunciations. -## <a name="Why_the_word_HURD_"> </a> Why the word HURD? -[Quoting ](http://mail.gnu.org/archive/html/help-hurd/2002-10/msg00099.html) Thomas Bushnell, BSG: +# Spelling, Usage and Pronunication + +The Hurd has its share of linguistic debate. The subject of proper usage comes up quite often. + +We call our kernel replacement \`\`the Hurd.'' Although Thomas Bushnell, BSG states that the +word \`\`Hurd'' is an acronym; we do not treat it as such, but rather as a concrete noun. +It is widely regarded as incorrect to use the term \`\`HURD'' or \`\`H.U.R.D.'' So, to +refer to the collection of servers running on top of the microkernel, we would say, +\`\`I have upgraded to the latest version of the Hurd.'' Since the Hurd is part of +the GNU Project, we also refer to it as \`\`GNU Hurd'' which is treated as a proper noun. -The name "Hurd" was invented by me, as an alternate spelling for the English word "herd". "Hird" is just another alternate spelling for the same word. By the normal rules of English orthography, they all have the same pronounciations. +The Hurd, in conjunction with Mach, forms the core of the GNU operating system. +So, one can say \`\`I have installed GNU on my friend's new computer.'' The +Debian Project clarifies this by using the name \`\`Debian GNU/Hurd'', because +it also distributes the GNU/Linux variant of GNU. -Other pages that describe the names are on [gnu.org](http://www.gnu.org/software/hurd/hurd.html#TOCname). +To pronounce the word \`\`Hurd,'' you should say the English word \`\`herd.'' This is pronounced as \`\`hɚd'' using the International Phonetic Alphabet. -Perhaps unrelated: the "herd menatality" of folks is what the Hurd project and the the GNU project in general is fighting against... +# In Other Contexts + +One contributor from Norway described two other uses of Hird. + +* "the kings men", a name given to + +the men accompanying the Norwegian kings at about year 1000 and on. +This was later coined by V. Quisling when he formed a party with +nationalistic traits to denote a set of helpers promoting his agenda +of national & Nordic ideas. + +* A symbol of collaboration with the (German) enemy used in World War II. -See also the FAQ, [Relation between GNU and the Hurd](http://www.gnu.org/software/hurd/faq.en.html#q1-2). +Perhaps unrelated: the "herd menatality" of folks is what the Hurd project +and the the GNU project in general is fighting against... diff --git a/Hurd/KnownHurdLimits.mdwn b/Hurd/KnownHurdLimits.mdwn index 28ab0284..0da12878 100644 --- a/Hurd/KnownHurdLimits.mdwn +++ b/Hurd/KnownHurdLimits.mdwn @@ -1,43 +1,20 @@ -## <a name="Known_Limitations_and_Fixes"> Known Limitations and Fixes </a> - -When comparing the Hurd (and its GNUMach microkernel) to alternatives please remember that the last released version number is 0.3. For example, Linux, the kernel, took awhile to mature. The Debian GNU/Hurd system is developing rapidly. Assistance with programming and support tasks is greatly appreciated. The general [Hardware Compatibility Guide](http://www.freesoftware.fsf.org/thug/gnumach_hardware.html) is another good reference. - -Now, the list of known limitations of the Hurd. - -* ~1.5+ GB ext2 partition size limit +* ~1.5 GB ext2 file system size limit * The problem is fixed in the Debian GNU/Hurd distribution but not the official sources, see [this email](http://lists.debian.org/debian-hurd/2007/07/msg00087.html) * See [[ExtTwoSize]] -* Missing device drivers. - * Current GNUMach drivers are from Linux 2.0. - * [[Mach/OskitMach]] currently has Linux 2.2 drivers. +* Many Unsupported Devices. + * See [[Mach/HardwareCompatabilityList]] -* Swap is [highly recommended](http://www.gnu.org/software/hurd/faq.en.html#q2-7), like on UNIX systems. - -* Minimum of 8 MB RAM has been reported to work, but 32 MB is more realistic. Don't forget to use plenty of swap space. - -* Random devices, /dev/random and /dev/urandom, are not in the main distribution yet. These are needed by, for instance, OpenSSH. +* Entropy. Mach does not yet gather entropy and thus there are no /dev/random and /dev/urandom nodes. + There are needed by OpenSSH. * In progress, see [[RandomDevice]] -* No DHCP client will work yet. +* No DHCP client * promising information [Jan 2005](http://lists.gnu.org/archive/html/bug-hurd/2005-01/msg00025.html), needs an update * See [[DhcpClient]] - need to update TCP/IP server. -* There are some [[Distrib/SystemAPILimits]] - -* Sound support missing - * [[Mach/OskitMach]] can provide, but no work yet - -* PPP support, e.g., um-pppd missing. - * See [[PppDaemon]] - -* USB support is missing - -* `fatfs` translator is stabilizing, and it does not have partition limits that get in the way. ([0\.4 released Oct 6, 2002](http://mail.gnu.org/pipermail/bug-hurd/2002-October/010576.html)) - -* [Ext3 implementation](http://debian.fmi.uni-sofia.bg/~ogi/hurd/ext3fs/) is very unstable. - -* Portability between alternate microkernels, e.g., [darwin](http://developer.apple.com/darwin/) & [L4](http://os.inf.tu-dresden.de/L4/) +* Missing bits of POSIX + * See [[Distrib/SystemAPILimits]] * Stability issues * [[ZallocPanics]] diff --git a/Hurd/MailLists.mdwn b/Hurd/MailLists.mdwn index f28a53a2..780d6623 100644 --- a/Hurd/MailLists.mdwn +++ b/Hurd/MailLists.mdwn @@ -1,49 +1,39 @@ -## <a name="Mailing_Lists"> Mailing Lists </a> +# 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 Lists are unmoderated and hosted on <http://mail.gnu.org> unless otherwise marked. +Try to post to the appropriate mailing list. + +* [bug-hurd](http://mail.gnu.org/mailman/listinfo/bug-hurd) - Technical discussion and bug reports +* [hurd-devel](http://mail.gnu.org/mailman/listinfo/hurd-devel) - Low-traffic developers list. (This + list is *moderated* and *restricted*; subscribe to + [hurd-devel-readers](http://mail.gnu.org/mailman/listinfo/hurd-devel-readers].) +* [help-hurd](http://mail.gnu.org/mailman/listinfo/help-hurd) - Hurd specific questions +* [debian-hurd](http://www.debian.org/MailingLists/subscribe) - Discussion around + and questions regarding the Debian GNU/Hurd distribution. +* [web-hurd](http://mail.gnu.org/mailman/listinfo/web-hurd) - Discussion of the http://hurd.gnu.org + website. +* [l4-hurd](http://mail.gnu.org/mailman/listinfo/l4-hurd) - Discussion regarding a possible + design successor to the Hurd. + +# HUGs + +* [THUG](http://mail.gnu.org/mailman/listinfo/thug) - Toronto-area Hurd Users Group and discussion. + +# Related -<dl> - <dt><a href="http://mail.gnu.org/mailman/listinfo/hurd-devel" target="_top">hurd-devel</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/hurd-devel/" target="_top">archives</a> - main technical list. This is <em>moderated</em> and <em>restricted</em>; subscribe to <code>hurd-devel-readers</code> instead. The Hurd is being ported to the L4 microkernel and most technical activity can be found in the <code>l4-hurd</code> list. </dd> - <dt><a href="http://mail.gnu.org/mailman/listinfo/hurd-devel-readers" target="_top">hurd-devel-readers</a></dt> - <dd><em>read only</em> version of <code>hurd-devel</code>. To avoid duplication with the <code>hurd-devel</code> archives, the <code>hurd-devel-readers</code> archives are turned off. </dd> - <dt><a href="http://mail.gnu.org/mailman/listinfo/help-hurd" target="_top">help-hurd</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/help-hurd/" target="_top">archives</a> - ask <strong>Hurd specific</strong> questions here. </dd> - <dt><a href="http://mail.gnu.org/mailman/listinfo/bug-hurd" target="_top">bug-hurd</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/bug-hurd/" target="_top">archives</a> - technical debugging and discussion. </dd> - <dt> hurd-private</dt> - <dd> it's private, no archives are available. </dd> -</dl> - -<dl> - <dt><a href="http://www.debian.org/MailingLists/subscribe" target="_top">debian-hurd</a></dt> - <dd> web <a href="http://lists.debian.org/debian-hurd/" target="_top">archives</a> - general system discussion, packaging, integration. Ask <strong>general</strong> questions here. <em>Debian hosted</em>. </dd> -</dl> - -<dl> - <dt><a href="http://mail.gnu.org/mailman/listinfo/thug" target="_top">thug</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/thug/" target="_top">archives</a> - Toronto-area Hurd Users Group and discussion. </dd> -</dl> - -<dl> - <dt><a href="http://mail.gnu.org/mailman/listinfo/web-hurd" target="_top">web-hurd</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/web-hurd/" target="_top">archives</a> - discussion of web pages at <a href="http://hurd.gnu.org" target="_top">http://hurd.gnu.org</a>. </dd> - <dt><a href="http://mail.gnu.org/mailman/listinfo/l4-hurd" target="_top">l4-hurd</a></dt> - <dd> web <a href="http://mail.gnu.org/pipermail/l4-hurd/" target="_top">archives</a> - theoretical kernel development. </dd> -</dl> - -<dl> - <dt><a href="http://mail.gnu.org/mailman/listinfo/bug-grub" target="_top">bug-grub</a></dt> - <dd><em>moderated list</em>, web <a href="http://mail.gnu.org/pipermail/bug-grub/" target="_top">archives</a> - technical debugging and discussion. </dd> -</dl> - -[Hurd Traffic](http://www.kerneltraffic.org/debian-hurd/). - - P.S. - There does not exist any "stupid" questions! - We have all been beginners. - D.S. - -The discussion reference page is <http://www.gnu.org/software/hurd/help.html> - -See also the [[Hurd/HurdIRC]] topic. +* [[Hurd/HurdIRC]]
\ No newline at end of file diff --git a/Hurd/NeighborHurd.mdwn b/Hurd/NeighborHurd.mdwn index 5a9020fc..89d7be02 100644 --- a/Hurd/NeighborHurd.mdwn +++ b/Hurd/NeighborHurd.mdwn @@ -1,3 +1,21 @@ -<http://www.gnu.org/software/hurd/howto/subhurd.html> +It is possible to run multiple instances of the Hurd +in parallel, on a single instance of Mach. Other than +performance crosstalk, they are essentially isolated. +Practically, as many devices do not allow multiple +non-cooperating users, e.g., hard drive and network +this is not currently possible. It can be overcome, +however, by virtualizing these problematic devices. --- [[Main/GrantBow]] - 21 Jan 2003 +When extra hardware is not available, it is possible to +use a sub-hurd. A sub-Hurd is like a neighbor Hurd, +however, makes use of some resources provided by another +Hurd. For instance, backing store and the console. +([[SubhurdHowto]]) + +Sub-hurds are extremely useful for debugging core +servers as it is possible to attach to them with gdb +from the parent ([[DebuggingViaSubhurds]]. This avoids +deadlock, e.g., when the instance of gdb stops the +server but requires its use. +(Note: it is possible to use [[NonInvasiveDebugging]], +but this is less flexible.) diff --git a/Hurd/SubhurdHowto.mdwn b/Hurd/SubhurdHowto.mdwn index 265a43b0..df00dff5 100644 --- a/Hurd/SubhurdHowto.mdwn +++ b/Hurd/SubhurdHowto.mdwn @@ -60,3 +60,7 @@ If you want to access the subhurd processes from the outside, e.g. for debugging ## <a name="Further_Info"> Further Info </a> On [[DebuggingViaSubhurds]] you can find information about how to use subhurd for debugging purposes. + + +Roland's [tutorial](http://www.gnu.org/software/hurd/howto/subhurd.html) +on setting up sub-hurds.
\ No newline at end of file diff --git a/Hurd/TheGnuHurd.mdwn b/Hurd/TheGnuHurd.mdwn index dc1ee960..ff20aaf3 100644 --- a/Hurd/TheGnuHurd.mdwn +++ b/Hurd/TheGnuHurd.mdwn @@ -1,66 +1,19 @@ -# <a name="Table_of_Contents"> Table of Contents </a> - -%TOC% - -# <a name="Introduction_to_the_Hurd"> Introduction to the Hurd </a> - -The GNU Hurd is the GNU project's replacement for the Unix kernel. The Hurd is a collection of servers that run on the Mach microkernel to implement file systems, network protocols, file access control, and other features that are implemented by the Unix kernel or similar kernels (such as Linux). - -Currently, the Hurd runs on IA32 machines. The Hurd should, and probably will, be ported to other hardware architectures or other microkernels in the future. - -# <a name="Advantages_of_the_Hurd"> Advantages of the Hurd </a> - -The Hurd is not the most advanced kernel known to the planet (yet), but it does have a number of enticing features: - -<dl> - <dt><b>it's free software</b></dt> - <dd> Anybody can use, modify, and redistribute it under the terms of the <a href="http://www.gnu.org/copyleft/gpl.html" target="_top">GNU General Public License (GPL)</a>. </dd> - <dt><b>it's compatible</b></dt> - <dd> The Hurd provides a familiar programming and user environment. For all intents and purposes, the Hurd is a modern Unix-like kernel. The Hurd uses the <a href="http://www.gnu.org/software/libc/libc.html" target="_top">GNU C Library</a>, whose development closely tracks standards such as ANSI/ISO, BSD, POSIX, Single Unix, SVID, and X/Open. </dd> - <dt><b>it's built to survive</b></dt> - <dd> Unlike other popular kernel software, the Hurd has an object-oriented structure that allows it to evolve without compromising its design. This structure will help the Hurd undergo major redesign and modifications without having to be entirely rewritten. </dd> - <dt><b>it's scalable</b></dt> - <dd> The Hurd implementation is aggressively multithreaded so that it runs efficiently on both single processors and symmetric multiprocessors. The Hurd interfaces are designed to allow transparent network clusters (collectives), although this feature has not yet been implemented. </dd> - <dt><b>it's extensible</b></dt> - <dd> The Hurd is an attractive platform for learning how to become a kernel hacker or for implementing new ideas in kernel technology. Every part of the system is designed to be modified and extended. </dd> - <dt><b>it's stable</b></dt> - <dd> It is possible to develop and test new Hurd kernel components without rebooting the machine (not even accidentally). Running your own kernel components doesn't interfere with other users, and so no special system privileges are required. The mechanism for kernel extensions is secure by design: it is impossible to impose your changes upon other users unless they authorize them or you are the system administrator. </dd> - <dt><b>it exists</b></dt> - <dd> The Hurd is real software that works Right Now. It is not a research project or a proposal. You don't have to wait at all before you can start using and developing it. </dd> -</dl> - -# <a name="What_the_Hurd_means"> What the Hurd means </a> - -According to Thomas Bushnell, BSG, the primary architect of the Hurd: \`Hurd' stands for \`Hird of Unix-Replacing Daemons'. And, then, \`Hird' stands for \`Hurd of Interfaces Representing Depth'. We have here, to my knowledge, the first software to be named by a pair of mutually recursive acronyms. - -# <a name="Status_of_the_project"> Status of the project </a> - -The Hurd, together with the GNU Mach microkernel, the GNU C Library and the other GNU programs, provides a rather complete and usable operating system today. It is not ready for production use, as there are still many bugs and missing features. However, it should be a good base for further development and non-critical application usage. - -GNU/Hurd is completely self-contained (you can compile all parts of the Hurd system from GNU/Hurd itself). You can run several GNU/Hurd systems in parallel, and debug even critical servers in another GNU/Hurd with gdb. You can run the X window system, applications that use it, and advanced server applications like the Apache webserver. - -On the negative side, the support for character devices (like sound cards) and other hardware is mostly missing. Although the POSIX interface is provided, some additional interfaces like POSIX threads, shared memories or semaphores are still under development. - -All this applies to the current development version, and not to the last release (0.2). We encourage everybody who is interested to try out the latest development version, and send feedback to the Hurd developers. - ----- - -Copyright (C) 2001, 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. - --- [[Main/JoachimNilsson]] - 13 May 2002 - ----- - -# <a name="Language_and_the_Hurd"> Language, and the Hurd </a> - -The Hurd has its share of linguistic debate. The subject of proper usage comes up quite often. - -We call our kernel replacement \`\`the Hurd.'' Although Thomas Bushnell, BSG states that the word \`\`Hurd'' is an acronym; we do not treat it as such, but rather as a concrete noun. It is widely regarded as incorrect to use the term \`\`HURD'' or \`\`H.U.R.D.'' So, to refer to the collection of servers running on top of the microkernel, we would say, \`\`I have upgraded to the latest version of the Hurd.'' Since the Hurd is part of the GNU Project, we also refer to it as \`\`GNU Hurd'' which is treated as a proper noun. - -The Hurd, in conjunction with Mach, forms the core of the GNU operating system. So, one can say \`\`I have installed GNU on my friend's new computer.'' The Debian Project clarifies this by using the name \`\`Debian GNU/Hurd'', because it also distributes the GNU/Linux variant of GNU. - -To pronounce the word \`\`Hurd,'' you should say the English word \`\`herd.'' This is pronounced as \`\`hɚd'' using the International Phonetic Alphabet. - --- [[Main/SimonLaw]] - 16 May 2002 +The Hurd is GNU's replacement for the various UNIX and Linux kernels. + +The Hurd is firstly a collection of protocols formalizing how different +components may interact. The protocols are designed to reduce the mutual +[[trust]] requirements of the actors thereby permitting a more [[extensible|extensibility]] +system. These include interface definitions to manipulate files and +directories and to resolve path names. This allows any 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 fie systems, network protocols and authentication. +The servers run on top of the [[Mach]] [[microkernel]] and use +Mach's [[IPC]] mechanism to transfer information. + +The Hurd development effort is a somewhat separate project from the +Debian GNU/Hurd port. The Hurd is a component of the GNU operating +system. diff --git a/Hurd/ToDo.mdwn b/Hurd/ToDo.mdwn index 0e6ef567..2d65f0c8 100644 --- a/Hurd/ToDo.mdwn +++ b/Hurd/ToDo.mdwn @@ -1,21 +1,115 @@ -# <a name="Debian_GNU_Hurd"> </a> Debian GNU/Hurd +For how best to contribte, see [[contributing]]. -The Debian Hurd port maintains [a list of projects](http://alioth.debian.org/pm/?group_id=30628), both porting and general enhancements. +This todo is primarily targetted at the Hurd proper +and applications that rely on the Hurd interfaces. -# <a name="psmisc"> psmisc </a> +The canonical TODOs from the CVS archive: + +* [TODO file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/TODO?rev=HEAD&content-type=text/plain) +* [Task file](http://savannah.gnu.org/cgi-bin/viewcvs/~checkout~/hurd/hurd/tasks?rev=HEAD&content-type=text/plain) + +* psmisc The tools provided by the psmisc package are linux centric. Killall and pstree, for instance, require Linux's proc file system but could just as easily use Hurd's libps. --- [[NealWalfield]] - 14 Dec 2005 +* tmpfs +* ppp +* unionfs/stowfs +* supermount translator -# <a name="tmpfs"> tmpfs </a> +Related: [[KnownHurdLimits]] -# <a name="ppp"> ppp </a> +From Marcus, 2002: -# <a name="unionfs_stowfs"> unionfs/stowfs </a> +* xkb driver for console (for international users) +* kbd leds in console (well, in general, Roland's new driver in oskit for that crap) +* fixing fakeroot (it's buggy) +* fixing tmpfs (it's buggy, Neal says it's Mach's fault) +* adding posix shared memory (requires the io\_close call to be implemented) +* adding posix file locking (requires the io\_close call to be implemented) +* testing + * find + various filesystems (are inode numbers for . and .. sane?) + * ext2fs with other block sizes than 4096 + * --help and --version and --usage in all programs + * I have seen ^V in some --help output, might be argp bug + * Verify that all options are documented clearly, and that no unimplemented options appear + * Is the short and long description in the help output correct? + * Is the return value of all programs correct (eg, does main() return a sane value) + * Is the suid bit correctly set for all installed programs? + * Translators + * Does settrans -g work? -fg? + * Does fsysopts work? Does setting options with fsysopts work? + * Does stat() work on all translated nodes and give proper data? + * What about chown, chmod (some translators should pass this through to the underlying node, esp in /dev!) + * Does statfs give correct data? + * Are all inode numbers and link counts correct? +* We also should have a "make check" test suite. We can add this once Jeff finished his automake patches +* pick up the other things + * pthread, definitely. Now that we are so close + * new console is basically done + * needs integration of course + * X switching support +* there is certainly more to do ... -# <a name="_http_hurd_gnufans_org_bin_view_"> </a> [Improve Mach](http://hurd.gnufans.org/bin/view/Mach/GNUMachRevivalProject) +Wolfgang list of [Easy tasks](http://mail.gnu.org/pipermail/help-hurd/2002-July/006413.html) on July 28, 2002: -# <a name="supermount_translator"> supermount translator </a> +<table border="1" cellpadding="1" cellspacing="0"> + <tr> + <th bgcolor="#99CCCC"><strong>Difficulty</strong></th> + <th bgcolor="#99CCCC"><strong>Task</strong></th> + </tr> + <tr> + <td> 0 </td> + <td> Check if all programs handle options (at least --help, --version and --usage; don't forget about the shell scripts) </td> + </tr> + <tr> + <td> 1 </td> + <td> Check if all translators handle fsysopts </td> + </tr> + <tr> + <td> 1 </td> + <td> Check if all translators respond to "settrans -g" </td> + </tr> + <tr> + <td> 1 </td> + <td> More tests of this kind </td> + </tr> + <tr> + <td> 2 </td> + <td> Fix those of the above who don't work as intended </td> + </tr> + <tr> + <td> 2 </td> + <td> Document (in doc/hurd.texi) all undocumented programs (translators as well as programs in utils/ and sutils/ and some others) </td> + </tr> + <tr> + <td> 1 </td> + <td> Find a POSIX test suite, run it on GNU/Hurd, report the results </td> + </tr> + <tr> + <td> 1 </td> + <td> Find more useful test suites to run </td> + </tr> + <tr> + <td> 3 </td> + <td> Update INSTALL-cross </td> + </tr> + <tr> + <td> 2 </td> + <td> Check if all the store classes in libstore work (we have many of them, look into the Makefile) </td> + </tr> + <tr> + <td> 4 </td> + <td> Fix those who don't work </td> + </tr> + <tr> + <td> 2 </td> + <td> Document all still undocumented store classes </td> + </tr> + <tr> + <td> 2 </td> + <td> The console is pretty new code, it told me it wants to get tested </td> + </tr> +</table> -# <a name="user_level_drivers"> user-level drivers </a> +Where difficulty 0 means trivial and 4 means tricky; the difficulty has nothing to do with the importance. diff --git a/Hurd/Translation.mdwn b/Hurd/Translation.mdwn index 167419d1..a5f78aa5 100644 --- a/Hurd/Translation.mdwn +++ b/Hurd/Translation.mdwn @@ -16,6 +16,3 @@ \* [[HurdRu]]: <http://hurd.kholmsk.ru> -\* [[HurdPt]]: - -See also: [[XattrHurd]] diff --git a/Hurd/UserGroups.mdwn b/Hurd/UserGroups.mdwn index 0cb9b043..ee67b616 100644 --- a/Hurd/UserGroups.mdwn +++ b/Hurd/UserGroups.mdwn @@ -1,17 +1 @@ -# <a name="Hurd_User_Groups"> Hurd User Groups </a> - -* [[Hurd/THUG]] - Toronto (GNU/)Hurd User Group -* [Hurdfr.org](http://www.hurdfr.org/) -* [[Hurd/AtelierGnuGulliver]] - Rennes - France -* [Hurd.ru](http://www.hurd.ru/) -* [[Hurd/CHUG]] - California Hurd User Group -* [[Hurd/DHUG]] - Dunedin (GNU/)Hurd User Group -* [[Hug/HurdBr]] - Hurd Br is a brasilian, portuguese speaking, HUG - --- [[Main/SimonLaw]] - 25 May 2002 - --- [[Main/TWikiGuest]] - 08 Oct 2002 - --- [[Main/GrantBow]] - 11 Oct 2002 - --- [[Main/AndrewMitchell]] - 16 Oct 2002 +See [[Hug]] diff --git a/Hurd/WhoRunsGNU.mdwn b/Hurd/WhoRunsGNU.mdwn index ac425145..c317ef92 100644 --- a/Hurd/WhoRunsGNU.mdwn +++ b/Hurd/WhoRunsGNU.mdwn @@ -17,11 +17,13 @@ There are many now using test installations of Debian GNU/Hurd for testing and d ## <a name="I_run_GNU_"> </a> I run GNU! <dl> - <dt> Budi Rahardjo</dt> + <dt> Budi Rahardjo</dt> <dd><a href="http://hurd.indocisc.com" target="_top">http://hurd.indocisc.com</a>, contact at <a href="mailto:budi@research.indociscNOSPAM.com">budi@research.indociscNOSPAM.com</a></dd> <dt>[[Main/JamesAMorrison]]</dt> <dd><a href="http://hurd.dyndns.org" target="_top">http://hurd.dyndns.org</a>, </dd> - <dt> Your Name Here</dt> + <dt> Michael Casadevall (NCommander)</dt> + <dd><a href="http://cerberus.rh.rit.edu"></dd> + <dt> Your Name Here</dt> <dd> Link to your system </dd> </dl> diff --git a/Hurd/contributing.mdwn b/Hurd/contributing.mdwn new file mode 100644 index 00000000..e21f28be --- /dev/null +++ b/Hurd/contributing.mdwn @@ -0,0 +1,37 @@ +# Porting Applications + +Debian is currently the Hurd distribution of choice among Hurd +users and developers. Approximately half of the Debian archive +has been compiled successfully on the Hurd, however, many +programs fail to build for various reasons. A [list of build +failures including error messages](http://unstable.buildd.net/buildd/hurd-i386_Failed.html) +can be found, as well as a [preliminary analysis](http://lists.debian.org/debian-hurd/2007/07/msg00000.html) +of them. If you want to port any of these, file patches in the +[Alioth patch tracker](http://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse) + for review. It might be a good idea to record your intention +to port something in the [Alioth task tracker](http://alioth.debian.org/pm/task.php?group_project_id=34&group_id=30628&func=browse) so other people do not do duplicated work. You can also just +install the Hurd and find what doesn't work for you and port +it and then file patches for that package in [above patch tracker](http://alioth.debian.org/tracker/?atid=410472&group_id=30628&func=browse). +Another important task is making sure that patches go upstream as +well, especially for GNU projects. + +If you want to further development, a list of interesting +projects is available in the [Alioth task tracker](http://alioth.debian.org/pm/task.php?group_project_id=35&group_id=30628&func=browse). +Those projects are not necessarily Debian specific, but do +not touch the Hurd proper. + +# Hurd Proper + +If you are interested in developping the Hurd proper, there is +plenty of work to do. Before you can significantly contribute, +take some time to learn about the system, e.g., +[[Mach/MicroKernelsForBeginners]]. Until you can do the basic exercises +listed there, you won't be able to significantly contribute to +the Hurd. + +See the [[ToDo]]. + +# GNU Mach + +GNU Mach is the underlying microkernel used by the Hurd. It has +a number of deficencies [[Mach/GNUMachRevivalProject]]. diff --git a/Hurd/debbuging.mdwn b/Hurd/debbuging.mdwn new file mode 100644 index 00000000..436014f2 --- /dev/null +++ b/Hurd/debbuging.mdwn @@ -0,0 +1,4 @@ +See: + +* [[NeighborHurd]] +* [[NonInvasiveDebugging]] diff --git a/Hurd/gettinghelp.mdwn b/Hurd/gettinghelp.mdwn new file mode 100644 index 00000000..8a4c4d99 --- /dev/null +++ b/Hurd/gettinghelp.mdwn @@ -0,0 +1,16 @@ +# Essential Documentation + +* [[FrequentlyAskedQuestions]] +* [[Mach/HardwareCompatibilityList]] + +# Forums + +Please follow these [guidelines](http://catb.org/~esr/faqs/smart-questions.html) +when asking your question. Namely: spend some time trying +to solve the problem on your own (e.g., [search the web](http://www.google.com), +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. + +* [[MailLists]] +* [[HurdIRC]]
\ No newline at end of file diff --git a/Hurd/history.mdwn b/Hurd/history.mdwn new file mode 100644 index 00000000..c29142f9 --- /dev/null +++ b/Hurd/history.mdwn @@ -0,0 +1,2 @@ +<a href="http://lists.gnu.org/archive/html/l4-hurd/2005-10/msg00718.html" target="_top">History 1997-2003</a></dt> +<dd> Personal view of Marcus Brinkmann about Hurd development in 1997-2003.
\ No newline at end of file diff --git a/Hurd/noninvasivedebugging.mdwn b/Hurd/noninvasivedebugging.mdwn new file mode 100644 index 00000000..6259ce28 --- /dev/null +++ b/Hurd/noninvasivedebugging.mdwn @@ -0,0 +1,6 @@ +Sometimes using gdb on a server can result in +deadlock. You can still use gdb by using +the "set noninvasive" option. This indicates +to gdb to not stop the program but allows you to +nevertheless examine its state. Thus, you can get back traces +and value of variables (and watch them change underneath you).
\ No newline at end of file diff --git a/Hurd/running.mdwn b/Hurd/running.mdwn new file mode 100644 index 00000000..b431966a --- /dev/null +++ b/Hurd/running.mdwn @@ -0,0 +1,5 @@ +* [[Distrib]] - Distributions based on the Hurd +* [[Xen]] - In Xen +* [[LiveCD]] - Live CDs +* [[Distrib/QEMU]] - In an Emulator +* [[FlashHurd]] - From a flash stick
\ No newline at end of file diff --git a/Hurd/xen.mdwn b/Hurd/xen.mdwn new file mode 100644 index 00000000..3d70b4f6 --- /dev/null +++ b/Hurd/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 <http://dept-info.labri.fr/~thibault/hurd-xen/>. + +The current `hurd-modules` was built from the debian packages `hurd 20070606-2` and `libc0.3 2.6.1-1`. |