From 226c14be02e15a9eb0929eb82e05b89710708541 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Wed, 5 Sep 2007 02:28:57 +0200 Subject: Integrate some more pages. --- hurd/contributing.mdwn | 55 ++++++++++++++++++ hurd/debbuging.mdwn | 21 +++++++ hurd/faq.mdwn | 45 +++++++++++++++ hurd/gettinghelp.mdwn | 33 +++++++++++ hurd/history.mdwn | 19 ++++++ hurd/ibac.mdwn | 25 -------- hurd/neighborhurd.mdwn | 38 ++++++++++++ hurd/noninvasivedebugging.mdwn | 23 ++++++++ hurd/running/debian/DebianFAQ.mdwn | 2 +- hurd/todo.mdwn | 115 +++++++++++++++++++++++++++++++++++++ 10 files changed, 350 insertions(+), 26 deletions(-) create mode 100644 hurd/contributing.mdwn create mode 100644 hurd/debbuging.mdwn create mode 100644 hurd/faq.mdwn create mode 100644 hurd/gettinghelp.mdwn create mode 100644 hurd/history.mdwn delete mode 100644 hurd/ibac.mdwn create mode 100644 hurd/neighborhurd.mdwn create mode 100644 hurd/noninvasivedebugging.mdwn create mode 100644 hurd/todo.mdwn (limited to 'hurd') diff --git a/hurd/contributing.mdwn b/hurd/contributing.mdwn new file mode 100644 index 00000000..819d354b --- /dev/null +++ b/hurd/contributing.mdwn @@ -0,0 +1,55 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +# Porting Applications + +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., +[[microkernels_for_beginners|microkernel/for_beginners]]. Until you can do the basic exercises +listed there, you won't be able to significantly contribute to +the Hurd. + +See the [[ToDo]]. + +# GNU Mach + +[[GNU_Mach|microkernel/mach/gnumach]] is the underlying microkernel used by the +Hurd. It has a number of deficencies; +[[microkernel/mach/gnumach/RevivalProject]]. diff --git a/hurd/debbuging.mdwn b/hurd/debbuging.mdwn new file mode 100644 index 00000000..20446b6e --- /dev/null +++ b/hurd/debbuging.mdwn @@ -0,0 +1,21 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +See: + +* [[NeighborHurd]] +* [[NonInvasiveDebugging]] diff --git a/hurd/faq.mdwn b/hurd/faq.mdwn new file mode 100644 index 00000000..0bcb4e79 --- /dev/null +++ b/hurd/faq.mdwn @@ -0,0 +1,45 @@ +In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.) + +If you still have problems, do not hesitate to make use of the [[MailingLists]] or the [[IRC]]. + +* **_You say GNU, don't you mean GNU/Hurd?_** + * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. Also see [[GNU/GnuNames]] + +* **_What editor can I use?_** + * `nano` is the default editor on a fresh install, not `ae`. + +* **_Why can't I get the answers I need from Hurd hackers?_** + * This [document](http://www.catb.org/~esr/faqs/smart-questions.html) may help you understand some developers attitudes and social norms. + +* **_Where are the virtual consoles I use when running GNU/Linux?_** + * You need to [use screen](http://www.gnu.org/software/hurd/faq.en.html#q4-6) instead, also available when running GNU/Linux. + * The [new console](http://lists.debian.org/debian-hurd/2002/debian-hurd-200209/msg00054.html) by Marcus Brinkmann could also be used. It supports the Alt-Fn keys for switching like in GNU/Linux. NOTE: that message has an error in the configuration steps, it says `/dev/vts` when it means `/dev/vcs`. A more up-to-date howto is [[HurdConsole]]. + +* **_What is a translator?_** + * The official FAQ [answers](http://www.gnu.org/software/hurd/faq.en.html#q4-2) this question by a reference to [hurd-doc-translator](http://www.debian.org/ports/hurd/hurd-doc-translator). + +* **_Where's the sauce?_** + * It's on [Savannah](http://savannah.gnu.org). See also the [GNU Development Resources](http://www.gnu.org/software/devel.html), for more information. + +* **_What is this "libio" stuff?_** + * There was an ABI change for glibc0.3. It's recommended you reinstall your GNU/Hurd system if you run a system installed before the summer of 2002. This is a similar cause for the various Linux distributions who changed from libc5 to libc6 or glibc2 around 1998. + +* **_What is GNU Mach vs. oskit-mach?_** + * These are different versions of the Mach microkernel that supports the Hurd that runs on top of it. For more info, see [[Mach]] + +* **_What software is available for GNU?_** + * Most packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Programs which need pthreads, including [GNOME](http://www.gnome.org), [KDE](http://www.kde.org), [Mozilla](http://www.mozilla.org), [OpenOffice](http://www.openoffice.org), [SDL](http://www.libsdl.org), etc. are being worked on currently using Neal Walfields libpthreads. See the [[Distrib/PortingIssues]] document for some common build problems and their solutions. + * If you can't fetch a package with "apt-get install ", try building it from source: "apt-get source && cd <package\_dir> && debian/rules binary". + * As of January 2007, 50% of Debian packages have been ported on the Hurd. Of course, bug testing is welcome. + +* **_How do I initialize a serial console on the Hurd?_** + * You can try out the Serial Howto at + * For a real serial console at boot time you need to rebuild your GNUmach 1.x kernel. For more info see the Utah release notes at [http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#serial\_console](http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#serial_console) + +* **_Will GNU work in Vmware?_** + * It's highly recommended and easier to get a full image for Bochs. See [[Distrib]] + * It didn't use to, [Hurd bootstrap fails](http://lists.debian.org/debian-hurd/2002/debian-hurd-200207/msg00069.html). Vmware is not [free software](http://www.gnu.org/philosophy/free-sw.html) and it is [[Distrib/VmWare]]. We recommend to use [free](http://www.gnu.org/philosophy/free-sw.html) alternatives, like [[Distrib/BochsEmulator]]. + * A faster, more widespread and [free](http://www.gnu.org/philosophy/free-sw.html) recent alternative is [QEMU](http://hurd.gnufans.org/bin/view/Distrib/QEMU). You can find more informations on [[running/QEMU]]. + * If someone prefers using VMWare: + * It works with VMWare Workstation 4.0.5 build-6030. + * Running Debian GNU/HURD in VMWare works for me -- [[Main/MichaelAblassmeier]] - 03 Mar 2004 diff --git a/hurd/gettinghelp.mdwn b/hurd/gettinghelp.mdwn new file mode 100644 index 00000000..b3bbcbf6 --- /dev/null +++ b/hurd/gettinghelp.mdwn @@ -0,0 +1,33 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +# Essential Documentation + +* [[FAQ]] +* [[microkernel/mach/gnumach/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. + +* [[MailingLists]] +* [[IRC]] diff --git a/hurd/history.mdwn b/hurd/history.mdwn new file mode 100644 index 00000000..1b45d25f --- /dev/null +++ b/hurd/history.mdwn @@ -0,0 +1,19 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +History 1997-2003 +
Personal view of Marcus Brinkmann about Hurd development in 1997-2003. diff --git a/hurd/ibac.mdwn b/hurd/ibac.mdwn deleted file mode 100644 index 4aa4f70e..00000000 --- a/hurd/ibac.mdwn +++ /dev/null @@ -1,25 +0,0 @@ -[[license text=""" -Copyright © 2007 Free Software Foundation, Inc. - -Permission is granted to copy, distribute and/or modify this document under the -terms of the GNU Free Documentation License, Version 1.2 or any later version -published by the Free Software Foundation; with no Invariant Sections, no -Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included -in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. - -By contributing to this page, you agree to assign copyright for your -contribution to the Free Software Foundation. The Free Software Foundation -promises to always use either a verbatim copying license or a free -documentation license when publishing your contribution. We grant you back all -your rights under copyright, including the rights to copy, modify, and -redistribute your contributions. -"""]] - -IBAC stands for identity-based access control. -In this access control scheme, access to a resource -is based on identity of the caller. This is often -problematic as when a program acts on behalf of -another, access is authorized based on its own -identity rather than that of the caller. - -See also [[ABAC]]. diff --git a/hurd/neighborhurd.mdwn b/hurd/neighborhurd.mdwn new file mode 100644 index 00000000..b4d25586 --- /dev/null +++ b/hurd/neighborhurd.mdwn @@ -0,0 +1,38 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +It is possible to run multiple instances of the Hurd +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. + +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/noninvasivedebugging.mdwn b/hurd/noninvasivedebugging.mdwn new file mode 100644 index 00000000..f2ab8489 --- /dev/null +++ b/hurd/noninvasivedebugging.mdwn @@ -0,0 +1,23 @@ +[[license text=""" +Copyright © 2007 Free Software Foundation, Inc. + +Permission is granted to copy, distribute and/or modify this document under the +terms of the GNU Free Documentation License, Version 1.2 or any later version +published by the Free Software Foundation; with no Invariant Sections, no +Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included +in the section entitled [[GNU_Free_Documentation_License|/fdl.txt]]. + +By contributing to this page, you agree to assign copyright for your +contribution to the Free Software Foundation. The Free Software Foundation +promises to always use either a verbatim copying license or a free +documentation license when publishing your contribution. We grant you back all +your rights under copyright, including the rights to copy, modify, and +redistribute your contributions. +"""]] + +Sometimes using gdb on a 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). diff --git a/hurd/running/debian/DebianFAQ.mdwn b/hurd/running/debian/DebianFAQ.mdwn index 83386c91..43ace701 100644 --- a/hurd/running/debian/DebianFAQ.mdwn +++ b/hurd/running/debian/DebianFAQ.mdwn @@ -1,6 +1,6 @@ # Debian GNU/Hurd FAQ -See also [[Hurd/FrequentlyAskedQuestions]] and [[DebianAfterInstall]] +See also [[hurd/FAQ]] and [[DebianAfterInstall]] ## df diff --git a/hurd/todo.mdwn b/hurd/todo.mdwn new file mode 100644 index 00000000..2d65f0c8 --- /dev/null +++ b/hurd/todo.mdwn @@ -0,0 +1,115 @@ +For how best to contribte, see [[contributing]]. + +This todo is primarily targetted at the Hurd proper +and applications that rely on the Hurd interfaces. + +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. + +* tmpfs +* ppp +* unionfs/stowfs +* supermount translator + +Related: [[KnownHurdLimits]] + +From Marcus, 2002: + +* 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 ... + +Wolfgang list of [Easy tasks](http://mail.gnu.org/pipermail/help-hurd/2002-July/006413.html) on July 28, 2002: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DifficultyTask
0 Check if all programs handle options (at least --help, --version and --usage; don't forget about the shell scripts)
1 Check if all translators handle fsysopts
1 Check if all translators respond to "settrans -g"
1 More tests of this kind
2 Fix those of the above who don't work as intended
2 Document (in doc/hurd.texi) all undocumented programs (translators as well as programs in utils/ and sutils/ and some others)
1 Find a POSIX test suite, run it on GNU/Hurd, report the results
1 Find more useful test suites to run
3 Update INSTALL-cross
2 Check if all the store classes in libstore work (we have many of them, look into the Makefile)
4 Fix those who don't work
2 Document all still undocumented store classes
2 The console is pretty new code, it told me it wants to get tested
+ +Where difficulty 0 means trivial and 4 means tricky; the difficulty has nothing to do with the importance. -- cgit v1.2.3