From d8ba0864d2cc74397960060b79a8c9154bb16d34 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Fri, 12 Apr 2013 00:36:38 +0200 Subject: faq_all -> faq_inlined. --- faq.mdwn | 6 ++-- faq_all.mdwn | 82 ------------------------------------------------------ faq_inlined.mdwn | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+), 84 deletions(-) delete mode 100644 faq_all.mdwn create mode 100644 faq_inlined.mdwn diff --git a/faq.mdwn b/faq.mdwn index 678ce428..987d09d1 100644 --- a/faq.mdwn +++ b/faq.mdwn @@ -18,10 +18,12 @@ feeds=no actions=yes rootpage="faq" postformtext="Add a new item titled:"]] +This page [[with all items inlined|faq_inlined]]. + + # Also see the... - * [[microkernel FAQ|microkernel/faq]], - * [[this FAQ in just one web page|faq_all]]. + * [[microkernel FAQ|microkernel/faq]] # General-discussion FAQs diff --git a/faq_all.mdwn b/faq_all.mdwn deleted file mode 100644 index d8d99bb7..00000000 --- a/faq_all.mdwn +++ /dev/null @@ -1,82 +0,0 @@ -[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="FAQ"]] -[[!tag stable_URL]] - -[[!inline -pages=none -show=0 -feeds=no -actions=yes -rootpage="faq" postformtext="Add a new item titled:"]] - -# Also see the... - - * [[microkernel FAQ|microkernel/faq]], - - -# General-discussion FAQs - -[[!inline -pages="faq/* and !*/discussion and !*/debian/* and !*/running/* and !*/support/* and !*/issues/* and !*/dev/* and !*/old/*" -show=0 -feeds=no -]] - - -# Hardware/Software support FAQs - -[[!inline -pages="faq/support/* and !*/discussion" -show=0 -feeds=no]] - - -# Running GNU/Hurd FAQs - -[[!inline -pages="faq/running/* and !*/discussion" -show=0 -feeds=no]] - - -# Debian GNU/Hurd FAQs - -[[!inline -pages="faq/debian/* and !*/discussion" -show=0 -feeds=no]] - - -# Issues FAQs - -[[!inline -pages="faq/issues/* and !*/discussion" -show=0 -feeds=no]] - - -# Development FAQs - -[[!inline -pages="faq/dev/* and !*/discussion" -show=0 -feeds=no]] - - -# Old FAQs - -[[!inline -pages="faq/old/* and !*/discussion" -show=0 -feeds=no]] - - diff --git a/faq_inlined.mdwn b/faq_inlined.mdwn new file mode 100644 index 00000000..432a0d14 --- /dev/null +++ b/faq_inlined.mdwn @@ -0,0 +1,85 @@ +[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="FAQ"]] +[[!tag stable_URL]] + +[[!inline +pages=none +show=0 +feeds=no +actions=yes +rootpage="faq" postformtext="Add a new item titled:"]] + +This page [[without all items inlined|faq]]. + + +# Also see the... + + * [[microkernel FAQ|microkernel/faq]] + + +# General-discussion FAQs + +[[!inline +pages="faq/* and !*/discussion and !*/debian/* and !*/running/* and !*/support/* and !*/issues/* and !*/dev/* and !*/old/*" +show=0 +feeds=no +]] + + +# Hardware/Software support FAQs + +[[!inline +pages="faq/support/* and !*/discussion" +show=0 +feeds=no]] + + +# Running GNU/Hurd FAQs + +[[!inline +pages="faq/running/* and !*/discussion" +show=0 +feeds=no]] + + +# Debian GNU/Hurd FAQs + +[[!inline +pages="faq/debian/* and !*/discussion" +show=0 +feeds=no]] + + +# Issues FAQs + +[[!inline +pages="faq/issues/* and !*/discussion" +show=0 +feeds=no]] + + +# Development FAQs + +[[!inline +pages="faq/dev/* and !*/discussion" +show=0 +feeds=no]] + + +# Old FAQs + +[[!inline +pages="faq/old/* and !*/discussion" +show=0 +feeds=no]] + + -- cgit v1.2.3 From 38cfa89677eabc85fc23e31e24cee85fb1ecfa54 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Apr 2013 10:36:54 +0200 Subject: Rework FAQ machinery to be based on tags instead of filenames. --- faq.mdwn | 39 +- faq/0-how_many_developers.mdwn | 63 --- faq/0-how_many_developers/discussion.mdwn | 65 --- faq/0-release.mdwn | 15 - faq/0-still_useful.mdwn | 68 ---- faq/0-translator.mdwn | 14 - faq/2_gib_partition_limit.mdwn | 18 + faq/64-bit.mdwn | 18 + faq/apt_umount.mdwn | 28 ++ faq/asking.mdwn | 2 + faq/bad_hypermeta_data.mdwn | 18 + faq/binary_compatibility.mdwn | 36 ++ faq/debian/apt_umount.mdwn | 25 -- faq/debian/other_repositories.mdwn | 16 - faq/debugging_inside_glibc.mdwn | 21 + faq/debugging_translators.mdwn | 22 + faq/dev/debugging_inside_glibc.mdwn | 19 - faq/dev/debugging_translators.mdwn | 20 - faq/df.mdwn | 24 ++ faq/drivers.mdwn | 26 ++ faq/eata.mdwn | 17 + faq/fd.mdwn | 18 + faq/fuse_support.mdwn | 15 + faq/ghamp.mdwn | 2 + faq/gnu.mdwn | 2 + faq/got_a_db_prompt.mdwn | 36 ++ faq/help.mdwn | 2 + faq/how_many_developers.mdwn | 66 +++ faq/how_many_developers/discussion.mdwn | 65 +++ faq/how_to_switch_microkernels.mdwn | 5 +- faq/hurd_console.mdwn | 17 + faq/issues/bad_hypermeta_data.mdwn | 15 - faq/issues/eata.mdwn | 15 - faq/issues/fd.mdwn | 16 - faq/issues/got_a_db_prompt.mdwn | 34 -- faq/issues/native-install_doesnt_finish.mdwn | 24 -- faq/kernel_logs.mdwn | 18 + faq/native-install_doesnt_finish.mdwn | 26 ++ faq/network_transparency.mdwn | 25 ++ faq/off.mdwn | 25 ++ faq/old/old_faq.txt | 507 ----------------------- faq/old/old_hurd_faq.txt | 83 ---- faq/old_faq.txt | 509 ++++++++++++++++++++++++ faq/old_hurd_faq.txt | 85 ++++ faq/other_repositories.mdwn | 19 + faq/posix_compatibility.mdwn | 35 ++ faq/posix_compatibility/discussion.mdwn | 25 ++ faq/ps_hangs.mdwn | 15 + faq/ram_limit.mdwn | 24 ++ faq/release.mdwn | 17 + faq/reporting_bugs.mdwn | 9 +- faq/running/df.mdwn | 22 - faq/running/hurd_console.mdwn | 15 - faq/running/kernel_logs.mdwn | 16 - faq/running/off.mdwn | 23 -- faq/running/ps_hangs.mdwn | 13 - faq/running/serial_console.mdwn | 15 - faq/running/slash_usr_symlink.mdwn | 20 - faq/running/slash_usr_symlink/discussion.mdwn | 45 --- faq/running/xserver-common.mdwn | 20 - faq/sata_disk_drives.mdwn | 19 + faq/sauce.mdwn | 2 + faq/serial_console.mdwn | 17 + faq/sharing_the_user_space.mdwn | 26 ++ faq/slash_usr_symlink.mdwn | 22 + faq/slash_usr_symlink/discussion.mdwn | 45 +++ faq/slow.mdwn | 2 + faq/smp.mdwn | 33 ++ faq/software.mdwn | 28 ++ faq/still_useful.mdwn | 70 ++++ faq/support/0-drivers.mdwn | 24 -- faq/support/0-software.mdwn | 26 -- faq/support/2_gib_partition_limit.mdwn | 16 - faq/support/64-bit.mdwn | 16 - faq/support/binary_compatibility.mdwn | 33 -- faq/support/fuse_support.mdwn | 13 - faq/support/network_transparency.mdwn | 22 - faq/support/posix_compatibility.mdwn | 32 -- faq/support/posix_compatibility/discussion.mdwn | 25 -- faq/support/ram_limit.mdwn | 22 - faq/support/sata_disk_drives.mdwn | 17 - faq/support/sharing_the_user_space.mdwn | 24 -- faq/support/smp.mdwn | 31 -- faq/support/system_port.mdwn | 47 --- faq/system_port.mdwn | 49 +++ faq/translator.mdwn | 16 + faq/which_microkernel.mdwn | 2 + faq/xserver-common.mdwn | 22 + faq_inlined.mdwn | 47 ++- 89 files changed, 1705 insertions(+), 1560 deletions(-) delete mode 100644 faq/0-how_many_developers.mdwn delete mode 100644 faq/0-how_many_developers/discussion.mdwn delete mode 100644 faq/0-release.mdwn delete mode 100644 faq/0-still_useful.mdwn delete mode 100644 faq/0-translator.mdwn create mode 100644 faq/2_gib_partition_limit.mdwn create mode 100644 faq/64-bit.mdwn create mode 100644 faq/apt_umount.mdwn create mode 100644 faq/bad_hypermeta_data.mdwn create mode 100644 faq/binary_compatibility.mdwn delete mode 100644 faq/debian/apt_umount.mdwn delete mode 100644 faq/debian/other_repositories.mdwn create mode 100644 faq/debugging_inside_glibc.mdwn create mode 100644 faq/debugging_translators.mdwn delete mode 100644 faq/dev/debugging_inside_glibc.mdwn delete mode 100644 faq/dev/debugging_translators.mdwn create mode 100644 faq/df.mdwn create mode 100644 faq/drivers.mdwn create mode 100644 faq/eata.mdwn create mode 100644 faq/fd.mdwn create mode 100644 faq/fuse_support.mdwn create mode 100644 faq/got_a_db_prompt.mdwn create mode 100644 faq/how_many_developers.mdwn create mode 100644 faq/how_many_developers/discussion.mdwn create mode 100644 faq/hurd_console.mdwn delete mode 100644 faq/issues/bad_hypermeta_data.mdwn delete mode 100644 faq/issues/eata.mdwn delete mode 100644 faq/issues/fd.mdwn delete mode 100644 faq/issues/got_a_db_prompt.mdwn delete mode 100644 faq/issues/native-install_doesnt_finish.mdwn create mode 100644 faq/kernel_logs.mdwn create mode 100644 faq/native-install_doesnt_finish.mdwn create mode 100644 faq/network_transparency.mdwn create mode 100644 faq/off.mdwn delete mode 100644 faq/old/old_faq.txt delete mode 100644 faq/old/old_hurd_faq.txt create mode 100644 faq/old_faq.txt create mode 100644 faq/old_hurd_faq.txt create mode 100644 faq/other_repositories.mdwn create mode 100644 faq/posix_compatibility.mdwn create mode 100644 faq/posix_compatibility/discussion.mdwn create mode 100644 faq/ps_hangs.mdwn create mode 100644 faq/ram_limit.mdwn create mode 100644 faq/release.mdwn delete mode 100644 faq/running/df.mdwn delete mode 100644 faq/running/hurd_console.mdwn delete mode 100644 faq/running/kernel_logs.mdwn delete mode 100644 faq/running/off.mdwn delete mode 100644 faq/running/ps_hangs.mdwn delete mode 100644 faq/running/serial_console.mdwn delete mode 100644 faq/running/slash_usr_symlink.mdwn delete mode 100644 faq/running/slash_usr_symlink/discussion.mdwn delete mode 100644 faq/running/xserver-common.mdwn create mode 100644 faq/sata_disk_drives.mdwn create mode 100644 faq/serial_console.mdwn create mode 100644 faq/sharing_the_user_space.mdwn create mode 100644 faq/slash_usr_symlink.mdwn create mode 100644 faq/slash_usr_symlink/discussion.mdwn create mode 100644 faq/smp.mdwn create mode 100644 faq/software.mdwn create mode 100644 faq/still_useful.mdwn delete mode 100644 faq/support/0-drivers.mdwn delete mode 100644 faq/support/0-software.mdwn delete mode 100644 faq/support/2_gib_partition_limit.mdwn delete mode 100644 faq/support/64-bit.mdwn delete mode 100644 faq/support/binary_compatibility.mdwn delete mode 100644 faq/support/fuse_support.mdwn delete mode 100644 faq/support/network_transparency.mdwn delete mode 100644 faq/support/posix_compatibility.mdwn delete mode 100644 faq/support/posix_compatibility/discussion.mdwn delete mode 100644 faq/support/ram_limit.mdwn delete mode 100644 faq/support/sata_disk_drives.mdwn delete mode 100644 faq/support/sharing_the_user_space.mdwn delete mode 100644 faq/support/smp.mdwn delete mode 100644 faq/support/system_port.mdwn create mode 100644 faq/system_port.mdwn create mode 100644 faq/translator.mdwn create mode 100644 faq/xserver-common.mdwn diff --git a/faq.mdwn b/faq.mdwn index 987d09d1..605b6422 100644 --- a/faq.mdwn +++ b/faq.mdwn @@ -29,49 +29,68 @@ This page [[with all items inlined|faq_inlined]]. # General-discussion FAQs [[!map -pages="faq/* and !*/discussion and !*/debian/* and !*/running/* and !*/support/* and !*/issues/* and !*/dev/* and !*/old/*" +pages="tagged(faq/general) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/general) and !tagged(faq/_important)" show=title]] # Hardware/Software support FAQs [[!map -pages="faq/support/* and !*/discussion" +pages="tagged(faq/support) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/support) and !tagged(faq/_important)" show=title]] # Running GNU/Hurd FAQs [[!map -pages="faq/running/* and !*/discussion" +pages="tagged(faq/running) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/running) and !tagged(faq/_important)" show=title]] # Debian GNU/Hurd FAQs [[!map -pages="faq/debian/* and !*/discussion" +pages="tagged(faq/debian) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/debian) and !tagged(faq/_important)" show=title]] -# Issues FAQs +# Open Issues FAQs [[!map -pages="faq/issues/* and !*/discussion" +pages="tagged(faq/open_issues) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/open_issues) and !tagged(faq/_important)" show=title]] # Development FAQs [[!map -pages="faq/dev/* and !*/discussion" +pages="tagged(faq/development) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/development) and !tagged(faq/_important)" show=title]] # Old FAQs [[!map -pages="faq/old/* and !*/discussion" +pages="tagged(faq/old) and tagged(faq/_important)" +show=title]] +[[!map +pages="tagged(faq/old) and !tagged(faq/_important)" show=title]] - - diff --git a/faq/0-how_many_developers.mdwn b/faq/0-how_many_developers.mdwn deleted file mode 100644 index a96e0576..00000000 --- a/faq/0-how_many_developers.mdwn +++ /dev/null @@ -1,63 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="How many developers are working on the GNU Hurd, and why so -few?"]] - - -# How Many Developers? - -One handful works on the core of the system in their free time, and another -handful helps with [[Debian GNU/Hurd|hurd/running/debian]] and -[[hurd/running/Arch_Hurd]] packaging. Also, an additional handful of former -developers are still available for answering technical questions, but are not -participating in the current development anymore. - -In the past (that is, a lot of years ago), the FSF did pay a few developers for -working full time on the GNU Hurd. But that was for a limited amount of time -only, and evidently, it was too little for getting the system into a -competitive state. Nowadays, it's only unpaid (apart from some -[[bounties|tag/bounty]]) and free-time volunteers' work. - -In contrast to the Linux kernel, there is no industry involvement in -development. For one, this is a good thing: independency; no conflicts of -interests. For another, it is also a bad thing: no dedicated full-time -manpower -- which matters a lot. - - -# Why So Few? - -We can only speculate. One major problem might be that the [[architectural -benefits|advantages]] are generally perceived as very abstract, with little -practical benefit. We currently don't have many tools that are actually making -use of all the possibilities. - -Another reason is that it's been taking too long. Today, most people don't -believe it will ever be ready for production use, and thus would consider -involvement a waste of time. This latter point is invalid, of course, as -learning can never be a waste of time. The same holds for the [[challenges]] -raised by the GNU Hurd -- we can only learn and improve upon working on them. - -For likely the same reasons there is no industry interest in the GNU Hurd: its -advantages are too abstract and incomplete for being of interest there. - -As for the scientific sector, the GNU Hurd projects was rather about *using* a -[[microkernel]] intead of doing research on them, for example. But, there have -been some projects and theses done, and some scientific papers published on GNU -Hurd topics, and we're generally very interested in further such projects. - - -# Attracting New Faces - -We're an open project: any interested party (*you*!) are very welcome to start -[[contributing]]. Mentoring is possible, too, to help you get started. - -Likewise, for reaching out to new developers, we're participating in [[Google's -Summer of Code program|community/gsoc]]. diff --git a/faq/0-how_many_developers/discussion.mdwn b/faq/0-how_many_developers/discussion.mdwn deleted file mode 100644 index 8e4c487a..00000000 --- a/faq/0-how_many_developers/discussion.mdwn +++ /dev/null @@ -1,65 +0,0 @@ -[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - -# IRC, freenode, #hurd, 2011-05-22 - - Since apparently Hurd's aim is a very stable and transparent - system ...why aren't there any companies backing it up? - silver_hook: it's not in a state yet where it would be - commercially interesting - silver_hook: and after some epic failures in the 90s, few - companies dare to invest in microkernel development... - Isn't MacOS X running on top of Mach? - yes, but it's not a true microkernel system - for one, it's single-server, which is boring - also it uses co-location, i.e. runs all the system code in the - kernel address space -- they are separated only formally - even NT is more of a microkernel system I think - Oh, OK, I'm not that knowledgeable about kernels to know - that. - well, now you know :-) - Yup, thanks :) - most people don't know this, so don't worry - I was just wondering that it might be potentially an ideal - server system, right? - well, *potentially* it might be an ideal general-purpose system, - which includes server use... though personally I think the advantages of - the architecture are more visible in desktop use, as servers tend to be - rather streamlined, with little need for individualisation :-) - however, it still remains to be proven that true (multi-server) - microkernel operating systems actually work for general-purpose - applications... - antrik: I mean regarding hosting or virtual servers. - so far, they are only successful in the much simpler embedded - space - well, yes, the Hurd architecture in theory allows very much - flexibility regarding virtual environments... I once blogged about - that. not sure whether server applications really require that - flexibility though. I think most people are pretty happy with the various - virtualisation/container solutions available in Linux. again, the - flexibility is more relevant in the desktop space IMHO - dosn't mean it wouldn't be useful for servers too... just not as - much of a selling point I fear :-) - - -# IRC, freenode, #hurd, 2011-07-09 - - gnu_srs1: regarding your question why people aren't interested in - workin on Hurd: Eric Raymond explains it pretty well in his famous - "Cathedral and Bazaar" paper - people are more likely to work on something that *almost* works - for them, and where they only have to fill in a few missing bits - the Hurd doesn't almost work for anyone - actually, you should probably reread the whole paper. it's - essentially an analysis why the Hurd failed compared to Linux - - -# [[open_issues/mission_statement]] diff --git a/faq/0-release.mdwn b/faq/0-release.mdwn deleted file mode 100644 index 2da7deaa..00000000 --- a/faq/0-release.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="When will the Hurd be released?"]] - -Next year. - -Save that, read about the Hurd's [[hurd/status]]. diff --git a/faq/0-still_useful.mdwn b/faq/0-still_useful.mdwn deleted file mode 100644 index 85e3ec43..00000000 --- a/faq/0-still_useful.mdwn +++ /dev/null @@ -1,68 +0,0 @@ -[[!meta copyright="Copyright © 1999, 2006, 2008, 2009, 2010, 2013 Free Software -Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="What are the advantages with the Hurd over Linux/BSD?"]] - -The Hurd will be considerably more flexible and robust -than generic Unix. Wherever possible, Unix kernel features have been -moved into unprivileged space. Once there, anyone who desires can -develop custom replacements for them. Users will be able to write and -use their own file systems, their own `exec' servers, or their own -network protocols if they like, all without disturbing other users. - -The Linux kernel has now been modified to allow user-level file -systems, so there is proof that people will actually use features such -as these. It will be much easier to do under the Hurd, however, -because the Hurd is almost entirely run in user space and because the -various servers are designed for this sort of modification. - -> Notably, flexibility for the user: -> -> transparent ftp -> -> $ cd /ftp://ftp.debian.org/debian -> $ ls -> -> personal filesystem -> -> $ dd < /dev/zero > myspace.img bs=1M count=1024 -> $ mke2fs myspace.img -> $ settrans myspace /hurd/ext2fs myspace.img -> $ cd myspace - ->> Just curious, but I keep seeing these (and other similar) concepts being ->> brought up as the amazing selling points of the Hurd, but all of this is ->> entirely doable now in Linux with FUSE or things like it. - ->>> Nowadays, at LAST, yes, partly. ->>> And only on machines where fuse is enabled. Is it enabled on the servers you have an account on? - ->> I'm not sure if an ftp filesystem has been implemented for FUSE yet, but its ->> definately doable; and loopback filesystems like in your second example have ->> been supported for years. - ->>> As a normal user? And establish a tap interface connected through ppp over ->>> ssh or whatever you could want to imagine? - ->> What, then, are the major selling points or benefits? - ->>> These were just examples, Linux is trying to catch up in ugly ways indeed ->>> (yes, have a look at the details of fuse, it's deemed to be inefficient). ->>> In the Hurd, it's that way from the _ground_ and there is no limitation ->>> like having to be root or ask for root to add magic lines, etc. - -> It also for instance provides userland drivers, for instance the network -> drivers are actually Linux drivers running in a separate userland process. - -> It also for instance provides very fine-grain virtualization support, such as -> VPN for only one process, etc. - -> etc. etc. The implications are really very diverse... diff --git a/faq/0-translator.mdwn b/faq/0-translator.mdwn deleted file mode 100644 index d30b60e9..00000000 --- a/faq/0-translator.mdwn +++ /dev/null @@ -1,14 +0,0 @@ -[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, -2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="What is a translator?"]] - -A [good explanation](http://www.debian.org/ports/hurd/hurd-doc-translator) is available, translated (sic) in several languages. diff --git a/faq/2_gib_partition_limit.mdwn b/faq/2_gib_partition_limit.mdwn new file mode 100644 index 00000000..3fd43793 --- /dev/null +++ b/faq/2_gib_partition_limit.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Is there still a 2 GiB Partition Limit?"]] + +The 2 GiB limit has been removed in Debian GNU/Hurd. + +Disk drivers however currently do not support more than 2^32 sectors, i.e. 2TiB. diff --git a/faq/64-bit.mdwn b/faq/64-bit.mdwn new file mode 100644 index 00000000..b88c4b20 --- /dev/null +++ b/faq/64-bit.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Is there a 64-bit version?"]] + +There are currently no plan for 64-bit userland, but there are plans for 64-bit +kernelland with 32-bit userland, which will notably permit to efficiently make +use of more than 2 GiB memory and provide 4 GiB userland addressing space. +Work on this is currently in branches for GNU Mach. diff --git a/faq/apt_umount.mdwn b/faq/apt_umount.mdwn new file mode 100644 index 00000000..c8dc3eb4 --- /dev/null +++ b/faq/apt_umount.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/debian]] + +[[!meta title="apt: unmount cdroms"]] + +You can add a shell script umount so that apt can automatically unmount cdroms. + + #!/bin/sh + # Filename: /usr/bin/umount + + settrans -fg "$@" + +Give executable permission to the script. + + # chmod +x /usr/bin/umount + +In `/etc/fstab` add a trailing `/` after cdrom like `/cdrom/` since apt uses a +trailing `/`. diff --git a/faq/asking.mdwn b/faq/asking.mdwn index 73348ce2..7dc7142b 100644 --- a/faq/asking.mdwn +++ b/faq/asking.mdwn @@ -9,6 +9,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="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 diff --git a/faq/bad_hypermeta_data.mdwn b/faq/bad_hypermeta_data.mdwn new file mode 100644 index 00000000..6121e599 --- /dev/null +++ b/faq/bad_hypermeta_data.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/open_issues]] + +If you get the error `bad hypermeta data` when trying to mount an ext3 +partition from GNU/Linux, that is usually because the file system has not been +unmounted cleanly (maybe GNU/Linux got suspended to disk) and the Hurd cannot +mount it as ext2 without checking. Either boot back into GNU/Linux and unmount +it or you can try to run `fsck.ext3` from GNU/Hurd directly. diff --git a/faq/binary_compatibility.mdwn b/faq/binary_compatibility.mdwn new file mode 100644 index 00000000..37050763 --- /dev/null +++ b/faq/binary_compatibility.mdwn @@ -0,0 +1,36 @@ +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + + +# IRC, freenode, #hurd, 2012-01-13 + +[[!tag open_issue_documentation]] + + sothere's absolutelyno way,evenslowly to run i386 linuxcode + under hurd/i386? Ihave a small app, commercial, which I have to get + running there + no source + no way + you'd need to create a userspace linux server catching linux + system calls and calling hurd specific stuff to implement them + it doesn't exist, it may be hard to implement + some cases will definitely be hard to implement + so, no magic linux lxemu on windows? + or linuxemu on plan9 + nope + I remember somethingsilly, sonmone hadcompiled linux asauser + applicationon plan9 and inserted his own binaries as + acodeobject,toberunon plan9, for useon ibm hpc hatrdware + it was ron minich + 5e.iwp9.org/slides/linuxemu.pdf + I think that was it + google for linux & cnk for additional clues diff --git a/faq/debian/apt_umount.mdwn b/faq/debian/apt_umount.mdwn deleted file mode 100644 index db0dbfd1..00000000 --- a/faq/debian/apt_umount.mdwn +++ /dev/null @@ -1,25 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="apt: unmount cdroms"]] - -You can add a shell script umount so that apt can automatically unmount cdroms. - - #!/bin/sh - # Filename: /usr/bin/umount - - settrans -fg "$@" - -Give executable permission to the script. - - # chmod +x /usr/bin/umount - -In `/etc/fstab` add a trailing `/` after cdrom like `/cdrom/` since apt uses a -trailing `/`. diff --git a/faq/debian/other_repositories.mdwn b/faq/debian/other_repositories.mdwn deleted file mode 100644 index 88781d46..00000000 --- a/faq/debian/other_repositories.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -If you want to use the `apt-get source` facility, make sure that -`/etc/apt/sources.list` contains a line like - - deb-src http://ftp.de.debian.org/debian unstable main - -... replacing _de_ with your homeland's code. diff --git a/faq/debugging_inside_glibc.mdwn b/faq/debugging_inside_glibc.mdwn new file mode 100644 index 00000000..2a75a1a7 --- /dev/null +++ b/faq/debugging_inside_glibc.mdwn @@ -0,0 +1,21 @@ +[[!meta copyright="Copyright © 2007, 2008, 2009, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/development]] + +In Debian, to get [[debugging]] information for glibc, you need to install the +`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging +symbols by default (`/usr/lib/debug/lib/`), Debian's `libc0.3-dbg` stores only +the frame unwind information used for backtracing. If you want to step into +glibc while debugging, you need to add `LD_LIBRARY_PATH=/usr/lib/debug` to +debugged program's environment (`set env VAR value` from the GDB command line). +If that still does not work, try `LD_PRELOAD=/usr/lib/debug/libc.so.0.3` +instead. diff --git a/faq/debugging_translators.mdwn b/faq/debugging_translators.mdwn new file mode 100644 index 00000000..195b2276 --- /dev/null +++ b/faq/debugging_translators.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/development]] + +In order to [[debug|debugging]] translators and being able to step into glibc +during it, on Debian you need the `hurd-dbg` and `libc0.3-dbg` packages installed. +If you need to debug the initialization of the translator, start the translator +like + + $ settrans -P /foo /usr/bin/env LD_LIBRARY_PATH=/usr/lib/debug /hurd/foofs + +The `-P` option will make it +pause and you will be able to attach [[debugging/GDB]] to the process. diff --git a/faq/dev/debugging_inside_glibc.mdwn b/faq/dev/debugging_inside_glibc.mdwn deleted file mode 100644 index 63a77a04..00000000 --- a/faq/dev/debugging_inside_glibc.mdwn +++ /dev/null @@ -1,19 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2009, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -In Debian, to get [[debugging]] information for glibc, you need to install the -`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging -symbols by default (`/usr/lib/debug/lib/`), Debian's `libc0.3-dbg` stores only -the frame unwind information used for backtracing. If you want to step into -glibc while debugging, you need to add `LD_LIBRARY_PATH=/usr/lib/debug` to -debugged program's environment (`set env VAR value` from the GDB command line). -If that still does not work, try `LD_PRELOAD=/usr/lib/debug/libc.so.0.3` -instead. diff --git a/faq/dev/debugging_translators.mdwn b/faq/dev/debugging_translators.mdwn deleted file mode 100644 index a054f2e0..00000000 --- a/faq/dev/debugging_translators.mdwn +++ /dev/null @@ -1,20 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -In order to [[debug|debugging]] translators and being able to step into glibc -during it, on Debian you need the `hurd-dbg` and `libc0.3-dbg` packages installed. -If you need to debug the initialization of the translator, start the translator -like - - $ settrans -P /foo /usr/bin/env LD_LIBRARY_PATH=/usr/lib/debug /hurd/foofs - -The `-P` option will make it -pause and you will be able to attach [[debugging/GDB]] to the process. diff --git a/faq/df.mdwn b/faq/df.mdwn new file mode 100644 index 00000000..8af6009a --- /dev/null +++ b/faq/df.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="Why df doesn't work?"]] + +There is no `/etc/mtab` (due to dynamic translator startup, its content is hard +to define actually, see +[[the mtab GSoC project idea|community/gsoc/project_ideas/mtab]]), +so just running `df` will yield the following error. + + df: cannot read table of mounted file systems + +Pass `df` a path like `df /` or `df ./` to see the disk usage of that particular +file system. diff --git a/faq/drivers.mdwn b/faq/drivers.mdwn new file mode 100644 index 00000000..197d47b7 --- /dev/null +++ b/faq/drivers.mdwn @@ -0,0 +1,26 @@ +[[!meta copyright="Copyright © 2009, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support faq/_important]] + +[[!meta title="What drivers does GNU/Hurd have?"]] + +Currently, for disks Mach integrates drivers from Linux 2.0 through some +[[community/gsoc/project_ideas/driver_glue_code]]. As it's very old, that +limits hardware support a lot, of course. For network boards, we use the +[[DDE]] toolkit to run linux 2.6.32 drivers in userland processes, +which provides both long-term support for new hardware and safety against driver +bugs. [[microkernel/mach/gnumach/ports/Xen]] is also supported, both blkfront +and netfront. + +Note however that we have of course not tested all drivers, we obviously don't +even have all kinds of hardware. So we can not promise that they will all +work. What probably works for sure is what we usually use: the rtl8139 or e1000 +drivers for instance. diff --git a/faq/eata.mdwn b/faq/eata.mdwn new file mode 100644 index 00000000..1221c27a --- /dev/null +++ b/faq/eata.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/open_issues]] + +[[!meta title="Boot seems to get stuck at EATA probing"]] + +In some virtual machines (e.g. VirtualBox), "probing eata on XXX" may be +quite long. This is apparently due to poor efficiency of the virtualizer, not +Mach. There is no such issue on real hardware or using qemu/kvm. diff --git a/faq/fd.mdwn b/faq/fd.mdwn new file mode 100644 index 00000000..e0fefc66 --- /dev/null +++ b/faq/fd.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/open_issues]] + +[[!meta title="I'm getting I/O eror, dev 02:00, sector 0"]] + +dev 02:00 is the floppy drive. This message simply means that reading the floppy +was attempted, but no floppy disk was inserted, so it failed. It commonly +happens during installer disk detection, or grub setup, and is completely +harmless. diff --git a/faq/fuse_support.mdwn b/faq/fuse_support.mdwn new file mode 100644 index 00000000..48ca30a4 --- /dev/null +++ b/faq/fuse_support.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Does Hurd support FUSE?"]] + +There is a start of work on implementing a [[FUSE|hurd/libfuse]] library on Hurd; its support is not updated to the latest version, but at least some fuse filesystems do work already. diff --git a/faq/ghamp.mdwn b/faq/ghamp.mdwn index 65b2097f..088ae69e 100644 --- a/faq/ghamp.mdwn +++ b/faq/ghamp.mdwn @@ -8,6 +8,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="What is GHAMP?"]] *GHAMP* is the GNU/Hurd-based Apache, MySQL, PHP solution stack -- analoguous diff --git a/faq/gnu.mdwn b/faq/gnu.mdwn index 6632d888..b0426391 100644 --- a/faq/gnu.mdwn +++ b/faq/gnu.mdwn @@ -9,6 +9,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="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 diff --git a/faq/got_a_db_prompt.mdwn b/faq/got_a_db_prompt.mdwn new file mode 100644 index 00000000..d9f41b35 --- /dev/null +++ b/faq/got_a_db_prompt.mdwn @@ -0,0 +1,36 @@ +[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/open_issues]] + +[[!meta title="Help, I've just gotten a db> prompt"]] + +If you see a `db>` prompt on the console, something unexpected and bad happened +inside the [[GNU Mach kernel|microkernel/mach/gnumach]], which it cannot +recover from. (Think of it as the equivalent of a [[!wikipedia +Linux_kernel_oops]], for example.) The `db>` prompt is actually the GNU Mach +kernel debugger waiting for your commands. For example, you can then reboot +the system by issuing the `reboot` command, or if you want to help analyze the +problem, start by typing in the `trace` command, which will display the +function call trace leading to the crash: + + 0x8007cf1(8088488,5e,40000008,2aa008,0) + 0x80071bc(0,0,0,0,0) + 0x8006831(24fe00,2000,b,800,0) + +This can be decyphered by using: + + $ addr2line -i -f -e /boot/gnumach 0x8007cf1 0x80071bc 0x8006831 + +You can then [[send us|contact_us]] the whole results of the `trace` and the +`addr2line` commands, as well as +the exact version of the GNU Mach kernel you were running, for further +investigation. More information about the [[GNU Mach +debugger|microkernel/mach/gnumach/debugging]] is available. diff --git a/faq/help.mdwn b/faq/help.mdwn index 9525be12..15145afa 100644 --- a/faq/help.mdwn +++ b/faq/help.mdwn @@ -8,6 +8,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="How can I help?"]] Please see the [[contributing page|contributing]]. diff --git a/faq/how_many_developers.mdwn b/faq/how_many_developers.mdwn new file mode 100644 index 00000000..2a3894bd --- /dev/null +++ b/faq/how_many_developers.mdwn @@ -0,0 +1,66 @@ +[[!meta copyright="Copyright © 2010, 2011, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general faq/_important]] + +[[!meta title="How many developers are working on the GNU Hurd, and why so +few?"]] + + +# How Many Developers? + +One handful works on the core of the system in their free time, and another +handful helps with [[Debian GNU/Hurd|hurd/running/debian]] and +[[hurd/running/Arch_Hurd]] packaging. Also, an additional handful of former +developers are still available for answering technical questions, but are not +participating in the current development anymore. + +In the past (that is, a lot of years ago), the FSF did pay a few developers for +working full time on the GNU Hurd. But that was for a limited amount of time +only, and evidently, it was too little for getting the system into a +competitive state. Nowadays, it's only unpaid (apart from some +[[bounties|tag/bounty]]) and free-time volunteers' work. + +In contrast to the Linux kernel, there is no industry involvement in +development. For one, this is a good thing: independency; no conflicts of +interests. For another, it is also a bad thing: no dedicated full-time +manpower -- which matters a lot. + + +# Why So Few? + +We can only speculate. One major problem might be that the [[architectural +benefits|advantages]] are generally perceived as very abstract, with little +practical benefit. We currently don't have many tools that are actually making +use of all the possibilities. + +Another reason is that it's been taking too long. Today, most people don't +believe it will ever be ready for production use, and thus would consider +involvement a waste of time. This latter point is invalid, of course, as +learning can never be a waste of time. The same holds for the [[challenges]] +raised by the GNU Hurd -- we can only learn and improve upon working on them. + +For likely the same reasons there is no industry interest in the GNU Hurd: its +advantages are too abstract and incomplete for being of interest there. + +As for the scientific sector, the GNU Hurd projects was rather about *using* a +[[microkernel]] intead of doing research on them, for example. But, there have +been some projects and theses done, and some scientific papers published on GNU +Hurd topics, and we're generally very interested in further such projects. + + +# Attracting New Faces + +We're an open project: any interested party (*you*!) are very welcome to start +[[contributing]]. Mentoring is possible, too, to help you get started. + +Likewise, for reaching out to new developers, we're participating in [[Google's +Summer of Code program|community/gsoc]]. diff --git a/faq/how_many_developers/discussion.mdwn b/faq/how_many_developers/discussion.mdwn new file mode 100644 index 00000000..8e4c487a --- /dev/null +++ b/faq/how_many_developers/discussion.mdwn @@ -0,0 +1,65 @@ +[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + + +# IRC, freenode, #hurd, 2011-05-22 + + Since apparently Hurd's aim is a very stable and transparent + system ...why aren't there any companies backing it up? + silver_hook: it's not in a state yet where it would be + commercially interesting + silver_hook: and after some epic failures in the 90s, few + companies dare to invest in microkernel development... + Isn't MacOS X running on top of Mach? + yes, but it's not a true microkernel system + for one, it's single-server, which is boring + also it uses co-location, i.e. runs all the system code in the + kernel address space -- they are separated only formally + even NT is more of a microkernel system I think + Oh, OK, I'm not that knowledgeable about kernels to know + that. + well, now you know :-) + Yup, thanks :) + most people don't know this, so don't worry + I was just wondering that it might be potentially an ideal + server system, right? + well, *potentially* it might be an ideal general-purpose system, + which includes server use... though personally I think the advantages of + the architecture are more visible in desktop use, as servers tend to be + rather streamlined, with little need for individualisation :-) + however, it still remains to be proven that true (multi-server) + microkernel operating systems actually work for general-purpose + applications... + antrik: I mean regarding hosting or virtual servers. + so far, they are only successful in the much simpler embedded + space + well, yes, the Hurd architecture in theory allows very much + flexibility regarding virtual environments... I once blogged about + that. not sure whether server applications really require that + flexibility though. I think most people are pretty happy with the various + virtualisation/container solutions available in Linux. again, the + flexibility is more relevant in the desktop space IMHO + dosn't mean it wouldn't be useful for servers too... just not as + much of a selling point I fear :-) + + +# IRC, freenode, #hurd, 2011-07-09 + + gnu_srs1: regarding your question why people aren't interested in + workin on Hurd: Eric Raymond explains it pretty well in his famous + "Cathedral and Bazaar" paper + people are more likely to work on something that *almost* works + for them, and where they only have to fill in a few missing bits + the Hurd doesn't almost work for anyone + actually, you should probably reread the whole paper. it's + essentially an analysis why the Hurd failed compared to Linux + + +# [[open_issues/mission_statement]] diff --git a/faq/how_to_switch_microkernels.mdwn b/faq/how_to_switch_microkernels.mdwn index 21f7a371..a0e57174 100644 --- a/faq/how_to_switch_microkernels.mdwn +++ b/faq/how_to_switch_microkernels.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2010, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -8,6 +9,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="How difficult would it be to switch to another microkernel?"]] One would have to reimplement the `mach/` and `sysdeps/mach/` parts of diff --git a/faq/hurd_console.mdwn b/faq/hurd_console.mdwn new file mode 100644 index 00000000..a1e4f718 --- /dev/null +++ b/faq/hurd_console.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="How about the virtual console?"]] + +Edit `/etc/default/hurd-console` to configure the Hurd console. +See [[hurd/console]] for further information about the Hurd console. diff --git a/faq/issues/bad_hypermeta_data.mdwn b/faq/issues/bad_hypermeta_data.mdwn deleted file mode 100644 index bc960e30..00000000 --- a/faq/issues/bad_hypermeta_data.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -If you get the error `bad hypermeta data` when trying to mount an ext3 -partition from GNU/Linux, that is usually because the file system has not been -unmounted cleanly (maybe GNU/Linux got suspended to disk) and the Hurd cannot -mount it as ext2 without checking. Either boot back into GNU/Linux and unmount -it or you can try to run `fsck.ext3` from GNU/Hurd directly. diff --git a/faq/issues/eata.mdwn b/faq/issues/eata.mdwn deleted file mode 100644 index b9b0565a..00000000 --- a/faq/issues/eata.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Boot seems to get stuck at EATA probing"]] - -In some virtual machines (e.g. VirtualBox), "probing eata on XXX" may be -quite long. This is apparently due to poor efficiency of the virtualizer, not -Mach. There is no such issue on real hardware or using qemu/kvm. diff --git a/faq/issues/fd.mdwn b/faq/issues/fd.mdwn deleted file mode 100644 index 514ab378..00000000 --- a/faq/issues/fd.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="I'm getting I/O eror, dev 02:00, sector 0"]] - -dev 02:00 is the floppy drive. This message simply means that reading the floppy -was attempted, but no floppy disk was inserted, so it failed. It commonly -happens during installer disk detection, or grub setup, and is completely -harmless. diff --git a/faq/issues/got_a_db_prompt.mdwn b/faq/issues/got_a_db_prompt.mdwn deleted file mode 100644 index ad99c515..00000000 --- a/faq/issues/got_a_db_prompt.mdwn +++ /dev/null @@ -1,34 +0,0 @@ -[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Help, I've just gotten a db> prompt"]] - -If you see a `db>` prompt on the console, something unexpected and bad happened -inside the [[GNU Mach kernel|microkernel/mach/gnumach]], which it cannot -recover from. (Think of it as the equivalent of a [[!wikipedia -Linux_kernel_oops]], for example.) The `db>` prompt is actually the GNU Mach -kernel debugger waiting for your commands. For example, you can then reboot -the system by issuing the `reboot` command, or if you want to help analyze the -problem, start by typing in the `trace` command, which will display the -function call trace leading to the crash: - - 0x8007cf1(8088488,5e,40000008,2aa008,0) - 0x80071bc(0,0,0,0,0) - 0x8006831(24fe00,2000,b,800,0) - -This can be decyphered by using: - - $ addr2line -i -f -e /boot/gnumach 0x8007cf1 0x80071bc 0x8006831 - -You can then [[send us|contact_us]] the whole results of the `trace` and the -`addr2line` commands, as well as -the exact version of the GNU Mach kernel you were running, for further -investigation. More information about the [[GNU Mach -debugger|microkernel/mach/gnumach/debugging]] is available. diff --git a/faq/issues/native-install_doesnt_finish.mdwn b/faq/issues/native-install_doesnt_finish.mdwn deleted file mode 100644 index a852e1dd..00000000 --- a/faq/issues/native-install_doesnt_finish.mdwn +++ /dev/null @@ -1,24 +0,0 @@ -[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -Copying baseGNU to the virtual disk works. Even booting got through but when I -try to run native-install it never gets to the very end. First time it froze on -*sed* package, the other time on *sysv-rc*. - -> How much memory did you configure for the [[QEMU]] system? It may simply be -> -- I've seen this myself -- that the system runs out of memory, as at the -> native-install stage (I think at least) swap is not yet configured and -> enabled. What I've been doing is: boot (with -s), MAKEDEV hdWHATEVER in -> /dev/ for the swap device, run /hurd/mach-defpager, followed by swapon -> /dev/hdWHATEVER. Does this help? - ->> Thank You very much, more memory solved the freezing. - -[[!tag open_issue_hurd]] diff --git a/faq/kernel_logs.mdwn b/faq/kernel_logs.mdwn new file mode 100644 index 00000000..c00c1c89 --- /dev/null +++ b/faq/kernel_logs.mdwn @@ -0,0 +1,18 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="dmesg, kernel logs"]] + +There is no `dmesg` command, since the kernel does not keep a buffer of its +messages. syslog however dumps them into `/var/log/dmesg`, so you can simply cat +that. diff --git a/faq/native-install_doesnt_finish.mdwn b/faq/native-install_doesnt_finish.mdwn new file mode 100644 index 00000000..e9bca908 --- /dev/null +++ b/faq/native-install_doesnt_finish.mdwn @@ -0,0 +1,26 @@ +[[!meta copyright="Copyright © 2009, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/open_issues]] + +Copying baseGNU to the virtual disk works. Even booting got through but when I +try to run native-install it never gets to the very end. First time it froze on +*sed* package, the other time on *sysv-rc*. + +> How much memory did you configure for the [[QEMU]] system? It may simply be +> -- I've seen this myself -- that the system runs out of memory, as at the +> native-install stage (I think at least) swap is not yet configured and +> enabled. What I've been doing is: boot (with -s), MAKEDEV hdWHATEVER in +> /dev/ for the swap device, run /hurd/mach-defpager, followed by swapon +> /dev/hdWHATEVER. Does this help? + +>> Thank You very much, more memory solved the freezing. + +[[!tag open_issue_hurd]] diff --git a/faq/network_transparency.mdwn b/faq/network_transparency.mdwn new file mode 100644 index 00000000..906bfae5 --- /dev/null +++ b/faq/network_transparency.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + + +# IRC, freenode, #hurd, 2012-01-21 + +[[!tag open_issue_documentation]] + + is it possible to transfer servers running on one microkernel + on one machine, to another microkernel running on a different machine? + two machines will be running the complete os + well, if the code for network-transparent IPC still existed, it + might be possible to move a task to another machine, while keeping the + port associations with the original system... + if you mean actually moving it to another system, that's pretty + much impossible in any system that has stateful interfaces diff --git a/faq/off.mdwn b/faq/off.mdwn new file mode 100644 index 00000000..a0b5e439 --- /dev/null +++ b/faq/off.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="shutdown does not work, how am I supposed to shut my Hurd system down?"]] + +The GNU/Hurd does not use SYSV runlevels, so commands like + + # shutdown -h now + +will not work. Simply use the equivalent shortcuts + + # halt + # reboot + +to respectively shutdown and reboot Hurd, provided natively, +instead of from SYSV runlevels. diff --git a/faq/old/old_faq.txt b/faq/old/old_faq.txt deleted file mode 100644 index caadb54a..00000000 --- a/faq/old/old_faq.txt +++ /dev/null @@ -1,507 +0,0 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2013 Free -Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - - Frequently Asked Questions about the GNU Hurd - -This document attempts to answer the questions that most often plague -users when they are talking about, installing, using, compiling and -developing the GNU Hurd as well as its binary distribution Debian -GNU/Hurd. Be sure to read this before asking for help. - -The GNU Hurd is under active development and a stable version has not -yet been released. Be aware that: there is a lot of work yet to be -completed; you will find bugs; your system will crash. That said, there -is a lot of room for contributions at all levels: development of the -Hurd and Mach proper, porting applications, writing documentation and, -most importantly, user feedback. - -Should you have a question that is not answered by this document and you -feel that it should be, submit it and, if possible, with an answer. - -Each section is copyright its respective author(s). Permission is -granted to copy, distribute and/or modify this document under the terms -of the GNU Free Documentation License, Version 1.1 or any later version -published by the Free Software Foundation; with no Invariant Sections, -with no Front-Cover Texts and with no Back-Cover Texts. A copy of the -license is included in the file COPYRIGHT. - - Neal H Walfield - neal@cs.uml.edu - -? Installation - -?? What partition type should I use for my GNU/Hurd partitions? - -{MB} You should use an ext2 filesystem. Alternatively, you may use BSD -style ufs. The partition type number for ext2fs is 0x83 (this is the -same as in Linux), not 0x63 (GNU HURD). Thomas explains why 0x63 is the -wrong choice: - - One day we may have a new filesystem format, which would - probably be called the GNU Hurd filesystem format, and might - well use that partition code. - -Regardless, as Roland points out, it is always an error to use that code -for an ext2fs partition, - -?? How do I name partitions? - -{MB,NHW} I knew you would ask this. If I had to reduce this FAQ to only -one question, I'd choose this one. It is pretty easy, but you have to -know that there are actually several incompatibly naming convention. - -First, the Hurd: if the disk is question is a SCSI disk, you must know -the SCSI device number; if it is an IDE disk, you must know what -controller the disk is on and whether it is a master or a slave. The -Hurd uses the BSD naming convention which, is to say, disks are ordered -according to their physical location, numerically, starting from zero. -This naming scheme is quite similar to that found in Linux. There, the -master disk on the primary controller is designated as `hda' and the -slave as `hdb'. On the secondary controller, the master and the slave -are designated by `hdc' and `hdd' respectively. Under the Hurd, `hda' -would become `hd0', `hdb' would be referred to as `hd1', etc. - -In the Hurd, like in BSD, partitions are called `slices' and are -numbered starting from one. Thus, to name a particular partition, we -take the disk name, append a `s' and the partition number. Again, this -is similar to Linux except, there is no `s'. For instance, `hda1' would -become `hd0s1'. - -GRUB, the boot loader, uses a completely different nomenclature: it -probes the BIOS and appends each disk in turn to an array. Disks are enumerated -using zero based arrays. GRUB 2 enumerates partitions from one, while GRUB 1 -used to enumerate them from zero. -The format is: -`hd (, )'. Thus, in GRUB 2 `hd (0, 1)' refers to the first -partition on the first drive detected by the BIOS (or the second partition with -GRUB 1). As Grub now has tab -completion, there is not a lot of guess work. - -?? How much swap do I need? - -{ST} The usual rule of thumb applies: the same amount as RAM, for instance. - -?? Can I share swap space between GNU/Linux and GNU/Hurd? - -{NHW} Yes. The default pager recognises and respects Linux swap -partitions. It will also swap to a raw partition, i.e. anything that it -does not recognize as Linux swap. Therefore: BE CAREFUL. - -?? Why do I get ``Operation not permitted error''? - -{MB} You forgot to set the file system owner of the GNU/Hurd partition to -``hurd''. The Hurd uses additional information in the inodes to set -translators. To make this work, the partition must be marked as ``owned -by the Hurd''. This is normally done by passing the `-o hurd' option to -`mke2fs' when creating ext2 system from other operating systems -(filesystems created in GNU/Hurd automatically enable this option). -If you failed to do this, you can still use the `e2os' script. - -?? After `native-install' is finished, I had to write tthhiiss - wwaayy. In particular, I had to type `rreebboooott' to reboot. - -{MB} Funny, isn't it? In addition to the rescue `term' server in -`/tmp/console', another `term' server got started and is clobbing the -keyboard input. After a reboot this problem vanishes as only one `term' -server will remain. If `tar' would support translator, we would not -have this problem... Even if you don't experience this problem right -after the installation, reboot immediately so you don't hit this bug by -accident. - -? Setup - -?? How do I add a swap partition? - -{MB} A swap partition is also called a paging file. Usually, it is -sufficient to add the swap partition to `/etc/fstab', just as you would -under Linux. You can swap to a Linux swap partition and the Hurd will -honour the Linux swap signature (both versions). The Hurd will just as -happily swap to any other raw disk space and overwrite anything it -finds. So, be careful! - -If you want to swap to a file or make sure that it checks the Linux swap -signature before, you need to edit `/boot/servers.boot'. The syntax is -the partition device file name plus, optionally, the swap file inside an -ext2fs partition, followed by a space and then one of: -`$(add-raw-paging-file)', `$(add-linux-paging-file)', -`$(add-paging-file)'. The first works with any partition or file and -does not honour any swap signature or other data. The second has a -safety check and only uses the file if a Linux swap signature is found. -The third looks for a swap signature first and falls back to raw paging -if it failed to find one. This is also the default for entries in -`/etc/fstab'. - -?? How do I set up a network? - How do I set up a loopback device? - -{MB} In the former case, be sure that GNU Mach detected your network -card. Either way, you need to setup `pfinet'. Documentation can be -found at: - - http://www.debian.org/ports/hurd/hurd-doc-server#pfinet - -Don't forget to fill in `/etc/resolv.conf', `/etc/hosts', etc. - -Of course, you only need to do this if the installation routine didn't -do it for you. - -?? Can I use the GNU/Linux version of `e2fsck' on a GNU/Hurd partition? - -{MB} Yes, at least since `e2fsprogs-1.05'. Check this with `e2fsck -V' -first. - -{NHW} Do not try to defrag your partition as this utility does not know -about translators. - -?? Why are pipes not working? - -{MB} `settrans -fgc /servers/socket/1 /hurd/pflocal' should help. - -? Usage - -?? Where is the documentation? - -{NHW,MM} There are neither man pages nor info nodes for the Hurd -translators and commands. Documentation lives inside of the binaries -and can be found by passing the `--help' option to a given command. -For instance: - - # /hurd/ext2fs --help - -will tell you what types of options the ext2fs translator accepts. - -The GNU/Hurd User's Guide and the GNU Hurd Reference Manual both -provide some help about the usage of and concepts behind the GNU Hurd. -You can find them, among others, at: - - http://www.gnu.org/software/hurd/docs.html - -?? What is a translator? - -{MB} There is a text about translators available at: - - http://www.debian.org/ports/hurd/hurd-doc-translator - -Read this and ask further questions on the mailing lists. - -?? What is the login shell? - -{MB} The Hurd has the concept of a not-logged in user. This user has -neither user ids nor groups ids. This stems from the fact that the Hurd -supports uid and gid sets and one possibility is, of course, the empty -set. Rather than deny access in this case, filesystems in the Hurd offer a -fourth permission triplet (i.e. rwx) which is used to determine the -privileges for users with no credentials. This, however, needs to be -enabled on a file by file basis. By default, the `other' permission -triplet is used. - -The Hurd login shell is a shell running with neither uids nor gids. To -restrict access to your files, either enable and change the fourth -permission triplet or change the login shell of the `login' user in the -password file to `/bin/loginpr' which implements the standard login -prompt. - -?? How do I use non-US keyboard bindings? - -{ST} On Debian Hurd, you can configure the console layout from -`/etc/default/hurd-console`. - -?? How do I enable color on the console? - -{NHW} If you are using the GNU Mach microkernel, you can set your -terminal to `mach-color'. For instance: - - # export TERM=mach-color - -?? How can I enable virtual consoles? - -{ST} On Debian Hurd, it is already enabled by default, and configured from -`/etc/default/hurd-console`. - -{AMS} This can be done by running the following command: - - console -d vga -d pc_kbd -d generic_speaker /dev/vcs - -If something went wrong, or if you just wish to exit the Hurd console -then hitting C-A- will exit it. - -?? What is the status of X? - -{MB} It works! The packages are available at any Debian ftp mirror. -XFree86 4.0.2 is available, as are some of the v3 servers. Instructions -on how to use the packages are in the mailing list archive (link follow -later). - -?? What are these strange pids `0`, `2', `3', `4`, and `5`? - -{MB,ST} Zero is the `proc` processus server (and thus does not really have a pid -:) ) Two is the kernel, three is the root filesystem server, four is the `exec` -server (which handles starting programs), five is the `auth` server (which -handles user authentication). - -?? Why does `ps aux' give me strange output? - -{MB,MM} Try `ps Aux'. Indeed, under GNU/Hurd, `ps aux' doesn't list -all processes: it omits the session and group leaders, and the -processes without parent. - -?? I have a hung process that I want to kill, however, `ps' is now - hanging too. - -{MB} Interrupt it and pass it the `-M' option. - -{NHW} By default, `ps' gathers information from both the proc server and -the processes themselves (via their message port). If a process it -hung, it will not be able respond to its message port and thus, ps will -wait forever. The `-M' option instructs ps to not gather information -that would require use of the message port. - -?? Why are my translators dying? - -{NHW} Try passing the `-ap' flag to settrans. By default, settrans only -sets a passive translator, therefore, no output will show up on your -terminal. Using `-ap', however, sets both the active and the passive -translator which, means that the translator starts immediately and its -stderr is connected to you terminal. - -Additionally, the biggest problem is passing relative paths to passive -translators. You cannot predict what the current working directory of a -translator will be when it is setup as a passive translator. - -?? Why can I `read' a directory? - -{MB} It is important to understand that there is nothing special about a -directory under the Hurd, it is just another file. This fits in with -the translator concept where a translator can appear as a directory but -provide also as a file. - -? Trouble shooting - -?? When the APM support in the BIOS spins down my disk drives, the - Hurd is unable to wake up. What's wrong? - -{MB} APM is not supported in the current version of GNU Mach, sorry. -Please disable APM in your BIOS setup. - -?? What are these messages referring to `default pager', `paging', - and `pager request'? - -{MB} The default pager handles virtual memory allocation. If it can't -allocate a new memory page because you are out of memory, some terrible -things may happen. Whenever you get errors referring to any of these, -you either need more memory (make sure you have swap) or you have found -a memory leak. - -?? What is a gratuitous error? - -{MB} This comes from `strerror(EGRATUITOUS)'. If you check glibc's -documentation, it will say that this error code has no purpose. This, -however, is not quite true. You only get this when something terrible -happens. Thomas explains: - - More precisely `EGRATUITOUS' officially means that some server - has responded in an impossible or protocol-violating fashion. - There are some cases in the Hurd where `EGRATUITOUS' is returned - and probably something else should be chosen instead. - -If you can reproduce this error message, please report it. - -?? What does ``computer bought the farm'' mean ? - -{FH} This message is the text that corresponds to the errno code -`EIEIO'. Roland McGrath explains: - - That message is not output by any particular servers at - particular times; rather it is the perror text for the errno - code EIEIO, which is returned by various RPCs and functions - for a variety of "hopeless" error conditions. - - -?? What does ``/dev/hd0s1: MOUNTED READ-ONLY; MUST USE `fsysopts - --writable''' mean? - -{NHW} In this case, /dev/hd0s1 was not unmounted cleanly. The Hurd -will, on boot up, run ``fsck -p'' on any partitions that it finds in -/etc/fstab, so, you may want to consider adding this partition to that -file. If you are sure that the partition is fine, you can run: - - # fsysopts /home --writable - -to ask the translator sitting on /home to change from read-only to -read/write mode. Note that the command is being sent to the filesystem -and not the store (e.g. /dev/hd0s1). - -?? When GNU/Hurd crashes, GNU Mach automatically reboots. Is - there anyway I can make it pause so I can write down the error? - -{MB} Pass the `-H' option to init (add it to the boot command line), and -`init' will tell Mach to enter the kernel debugger instead to rebooting -it. At the debugger prompt (`db>'), you can type `reboot' any time to -reboot the system. - -? Porting - -?? Is porting easy? - -{NHW} Porting applications to GNU/Hurd is relatively easy assuming the -application is POSIX compliant as GNU/Hurd does its best to be a -conforming operating system. - -The most common error made by programmers is assuming the MAXPATHLEN and -PATH_MAX are defined. On most operating systems this is set to a few -thousand, however, on GNU/Hurd, there is no maximum and thus, this is -not set. The correct thing to do is to submit a patch to the upstream -author that allocates memory dynamically. - -? Compiling - -?? Where can I get the source? - -{AMS} Instructions on how to download the CVS tree from Savanah are -available at https://savannah.gnu.org/cvs/?group=hurd - -{NHW} To get the source to the latest debian package, look on any -debian mirror. - -?? Can I cross compile? - -{ST} To REDO. - -{NHW} Yes. If you are running Debian GNU/Linux on IA32, this is quite -easy as there is a cheap cross compiler available; all that is required -is installing the gcc-i386-gnu and mig-i386-gnu Debian packages. When -running configure, you will have to specify tools directly: - - # MIG=/usr/bin/i386-gnu-mig CC=/usr/bin/i386-gnu-gcc \ - ../src/hurd/configure ... - -If you are running another distribution, you will have to do this the -long way. You can find instructions at the Cross Compiling HOW-TO -available at: - - http://hurddocs.sourceforge.net/howto/cross.html - -Farid Hajji also talks about his experiences -at: - - http://lists.debian.org/debian-hurd-0012/msg00062.html - -?? Any general tips? - -{NHW} Yeah, building in the source tree is untested. Try: - - # ../src/hurd/configure ... - -? Development - -?? What is OSKit-Mach? - -{NHW,FH} There are two versions of GNU Mac that are in use: GNU Mach -1.x and GNU Mach 2.x, formerly known as OSKit-Mach. The former uses -the drivers from Linux 2.0.x while the latter uses the University of -Utah's OSKit library for drivers. You can find out more about the -OSKit library at: - - http://www.cs.utah.edu/flux/oskit - -GNU Mach 2.x is usable, but some things are still missing or not -working, like the serial port and scsi drivers. This is why GNU Mach -2.0 hasn't released yet and the two versions coexist. - -?? Where is the documentation? - -{NHW} There were several books written on the Mach kernel. The -information that they contain is still mostly pertinent and should be -considered required reading for potential hackers. They can be found -at: - - http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/publications.html - -The documentation for the Hurd is quite inadequate. The starting of a -book, ``The GNU Hurd'' is in the doc directory in the Hurd source. You -can read this using: - - # info hurd - -The authoritative place is, of course, the source code; that does not, -however, mean that we would not welcome more documentation. To get -started, take a look at /doc/navigating. - -?? How do I make sure that my code is POSIX compliant? - -{NHW} Unfortunately, you have to buy the POSIX standard from IEEE. The -Single Unix Specification version 2, a superset of POSIX, is available -for free on the Internet. Try: - - http://www.unix-systems.org/online.html - -?? Who do I submit patches to? - -{NHW} If they are against the Hurd, Mach or MiG, send a patch to the -bug-hurd mailing list. - -If they are against other packages, the Debian BTS is a good place. In -this case, be sure to advise the debian-hurd mailing list of the bug. - -?? In what format should patches for the Hurd and GNU Mach be? - -{MB} All patches should be sent in unified context diff format (option -`-u' to GNU diff). It is helpful for us if you also use the `-p' -option which includes information about the function changed by a -patch. Changes that are similar can be grouped together in one file, -but unrelated changes should be sent in seperate files. The patches -can be included in the message or as a MIME attachement. They should -not be compressed and/or archived unless they are very large, and if -they are very large it is probably better to store them on-line at -some place and only sent an URL. - -Write a ChangeLog entry for each change, following the format of the -existing files. Here is an example: - - 2000-12-02 Marcus Brinkmann - - * ops.c (op_readlink): Before returning, check if the buffer - pointed to by transp is ours. If not, munmap it. - (op_read): Likewise for bp. - (op_readdir): Don't alloca a buffer here. Instead initialize - BUF and BUFSIZE to 0 and let the server (eh, MiG) do it. - munmap BUF before returning. - -The file name and the name of the function changed should always be -spelled out completely, and not abbreviated or otherwise mangled (like -foo.{c,h}), because that would make searching for all changes to a -file or function impossible. Local variable names are all -capitalized. There are two spaces between sentences. You can use -``C-x 4 a'' in Emacs to add a new ChangeLog entry. If you do that -with the mark being in a function, Emacs will automatically fill in -the file and function name for you. - -Do not send in a patch for the ChangeLog file. Rather include the -ChangeLog entries in the message that contains the patch. Patches for -ChangeLog files often conflict. - -If you have the original source tree in the directory `hurd-orig', and -the modified source tree in the directory `hurd', the following -command will produce a good patch (please make sure there are no extra -files like backups in the modified tree, or leave away the option -`-N'). You will need to collect the ChangeLog entries seperately. - - # diff -x ChangeLog -Nurp hurd-orig hurd - - -Answers were given by (in chronological order): -* {NHW} Neal H Walfield -* {MB} Marcus Brinkmann -* {AMS} Alfred M. Szmidt -* {OK} Ognyan Kulev -* {FH} Frédéric Henry -* {MM} Manuel Menal -* {ST} Samuel Thibault diff --git a/faq/old/old_hurd_faq.txt b/faq/old/old_hurd_faq.txt deleted file mode 100644 index 70c93c61..00000000 --- a/faq/old/old_hurd_faq.txt +++ /dev/null @@ -1,83 +0,0 @@ -[[!meta copyright="Copyright © 1999, 2006, 2008, 2010, 2013 Free Software -Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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 Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13 - -Contributions by: - -Michael I. Bushnell -Len Tower -Trent Fisher -jlr@usoft.spb.su -Remy Card -Louis-Dominique Dubeau - -Original Document by: Derek Upham - - -Mach is a micro-kernel, written at Carnegie Mellon -University. A more descriptive term might be a greatest-common-factor -kernel, since it provides facilities common to all ``real'' operating -systems, such as memory management, inter-process communication, -processes, and a bunch of other stuff. Unfortunately, the system -calls used to access these facilities are only vaguely related to the -familiar and cherished Unix system calls. There are no "fork", -"wait", or "sleep" system-calls, no SIGHUPs, nothing like that. All -this makes it rather difficult to, say, port GNU Emacs to a Mach box. - -The trick is, of course, to write an emulation library. Unix programs -can then use (what they think are) POSIX system calls and facilities -while they are really using Mach system calls and facilities. - -The simplest way of going about this is to take an ordinary Unix -kernel, open it up, and rip out all the machine-specific guts; any -time the Unix kernel talks to the machine, replace the code with calls -to the Mach micro-kernel. Run this fake kernel on a Mach machine and -you end up with something that looks and acts just like Unix (even to -GNU Emacs). Note that the Unix kernel we have implemented is just one -Really Big Mach program (called a single-server). - -The Hurd, on the other hand, breaks the giant Unix kernel down into -various Mach programs running as daemons. Working in concert with -facilities placed in the C library, these daemons provide all of the -POSIX system-calls and features; from the outside they look just like -a standard Unix kernel. This means that, for practical purposes, -anything that you can port to Linux will also port to the Hurd. - -Of course, if a user wishes to run his own daemons, he can do that as -well.... - -Mach 4.0 is an enhanced version of Mach 3.0, put out by the people at -the University of Utah. They are working on another free operating -system, and part of it includes an enhanced, more flexible version of -Mach. The Hurd has moved to Mach 4.0, which is good, because it is a -lot easier to build than 3.0 was. - -You can find more information on Mach by browsing the Hurd pages given -in the next answer, or by looking at the Project Mach and Flux -homepages at: - -Carnegie Mellon University (for Mach versions before 4.0): - - http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html - -the University of Utah (for Mach 4.0): - - http://www.cs.utah.edu/projects/flux/mach4/html/ - - - -============================== - -Footnotes: - -[[1]] Yes, I know that ``micro-kernel'' is about as apt a description -as ``Reduced Instruction Set Chip'', but we're stuck with it. diff --git a/faq/old_faq.txt b/faq/old_faq.txt new file mode 100644 index 00000000..98c605eb --- /dev/null +++ b/faq/old_faq.txt @@ -0,0 +1,509 @@ +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2013 Free +Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/old]] + + Frequently Asked Questions about the GNU Hurd + +This document attempts to answer the questions that most often plague +users when they are talking about, installing, using, compiling and +developing the GNU Hurd as well as its binary distribution Debian +GNU/Hurd. Be sure to read this before asking for help. + +The GNU Hurd is under active development and a stable version has not +yet been released. Be aware that: there is a lot of work yet to be +completed; you will find bugs; your system will crash. That said, there +is a lot of room for contributions at all levels: development of the +Hurd and Mach proper, porting applications, writing documentation and, +most importantly, user feedback. + +Should you have a question that is not answered by this document and you +feel that it should be, submit it and, if possible, with an answer. + +Each section is copyright its respective author(s). Permission is +granted to copy, distribute and/or modify this document under the terms +of the GNU Free Documentation License, Version 1.1 or any later version +published by the Free Software Foundation; with no Invariant Sections, +with no Front-Cover Texts and with no Back-Cover Texts. A copy of the +license is included in the file COPYRIGHT. + + Neal H Walfield + neal@cs.uml.edu + +? Installation + +?? What partition type should I use for my GNU/Hurd partitions? + +{MB} You should use an ext2 filesystem. Alternatively, you may use BSD +style ufs. The partition type number for ext2fs is 0x83 (this is the +same as in Linux), not 0x63 (GNU HURD). Thomas explains why 0x63 is the +wrong choice: + + One day we may have a new filesystem format, which would + probably be called the GNU Hurd filesystem format, and might + well use that partition code. + +Regardless, as Roland points out, it is always an error to use that code +for an ext2fs partition, + +?? How do I name partitions? + +{MB,NHW} I knew you would ask this. If I had to reduce this FAQ to only +one question, I'd choose this one. It is pretty easy, but you have to +know that there are actually several incompatibly naming convention. + +First, the Hurd: if the disk is question is a SCSI disk, you must know +the SCSI device number; if it is an IDE disk, you must know what +controller the disk is on and whether it is a master or a slave. The +Hurd uses the BSD naming convention which, is to say, disks are ordered +according to their physical location, numerically, starting from zero. +This naming scheme is quite similar to that found in Linux. There, the +master disk on the primary controller is designated as `hda' and the +slave as `hdb'. On the secondary controller, the master and the slave +are designated by `hdc' and `hdd' respectively. Under the Hurd, `hda' +would become `hd0', `hdb' would be referred to as `hd1', etc. + +In the Hurd, like in BSD, partitions are called `slices' and are +numbered starting from one. Thus, to name a particular partition, we +take the disk name, append a `s' and the partition number. Again, this +is similar to Linux except, there is no `s'. For instance, `hda1' would +become `hd0s1'. + +GRUB, the boot loader, uses a completely different nomenclature: it +probes the BIOS and appends each disk in turn to an array. Disks are enumerated +using zero based arrays. GRUB 2 enumerates partitions from one, while GRUB 1 +used to enumerate them from zero. +The format is: +`hd (, )'. Thus, in GRUB 2 `hd (0, 1)' refers to the first +partition on the first drive detected by the BIOS (or the second partition with +GRUB 1). As Grub now has tab +completion, there is not a lot of guess work. + +?? How much swap do I need? + +{ST} The usual rule of thumb applies: the same amount as RAM, for instance. + +?? Can I share swap space between GNU/Linux and GNU/Hurd? + +{NHW} Yes. The default pager recognises and respects Linux swap +partitions. It will also swap to a raw partition, i.e. anything that it +does not recognize as Linux swap. Therefore: BE CAREFUL. + +?? Why do I get ``Operation not permitted error''? + +{MB} You forgot to set the file system owner of the GNU/Hurd partition to +``hurd''. The Hurd uses additional information in the inodes to set +translators. To make this work, the partition must be marked as ``owned +by the Hurd''. This is normally done by passing the `-o hurd' option to +`mke2fs' when creating ext2 system from other operating systems +(filesystems created in GNU/Hurd automatically enable this option). +If you failed to do this, you can still use the `e2os' script. + +?? After `native-install' is finished, I had to write tthhiiss + wwaayy. In particular, I had to type `rreebboooott' to reboot. + +{MB} Funny, isn't it? In addition to the rescue `term' server in +`/tmp/console', another `term' server got started and is clobbing the +keyboard input. After a reboot this problem vanishes as only one `term' +server will remain. If `tar' would support translator, we would not +have this problem... Even if you don't experience this problem right +after the installation, reboot immediately so you don't hit this bug by +accident. + +? Setup + +?? How do I add a swap partition? + +{MB} A swap partition is also called a paging file. Usually, it is +sufficient to add the swap partition to `/etc/fstab', just as you would +under Linux. You can swap to a Linux swap partition and the Hurd will +honour the Linux swap signature (both versions). The Hurd will just as +happily swap to any other raw disk space and overwrite anything it +finds. So, be careful! + +If you want to swap to a file or make sure that it checks the Linux swap +signature before, you need to edit `/boot/servers.boot'. The syntax is +the partition device file name plus, optionally, the swap file inside an +ext2fs partition, followed by a space and then one of: +`$(add-raw-paging-file)', `$(add-linux-paging-file)', +`$(add-paging-file)'. The first works with any partition or file and +does not honour any swap signature or other data. The second has a +safety check and only uses the file if a Linux swap signature is found. +The third looks for a swap signature first and falls back to raw paging +if it failed to find one. This is also the default for entries in +`/etc/fstab'. + +?? How do I set up a network? + How do I set up a loopback device? + +{MB} In the former case, be sure that GNU Mach detected your network +card. Either way, you need to setup `pfinet'. Documentation can be +found at: + + http://www.debian.org/ports/hurd/hurd-doc-server#pfinet + +Don't forget to fill in `/etc/resolv.conf', `/etc/hosts', etc. + +Of course, you only need to do this if the installation routine didn't +do it for you. + +?? Can I use the GNU/Linux version of `e2fsck' on a GNU/Hurd partition? + +{MB} Yes, at least since `e2fsprogs-1.05'. Check this with `e2fsck -V' +first. + +{NHW} Do not try to defrag your partition as this utility does not know +about translators. + +?? Why are pipes not working? + +{MB} `settrans -fgc /servers/socket/1 /hurd/pflocal' should help. + +? Usage + +?? Where is the documentation? + +{NHW,MM} There are neither man pages nor info nodes for the Hurd +translators and commands. Documentation lives inside of the binaries +and can be found by passing the `--help' option to a given command. +For instance: + + # /hurd/ext2fs --help + +will tell you what types of options the ext2fs translator accepts. + +The GNU/Hurd User's Guide and the GNU Hurd Reference Manual both +provide some help about the usage of and concepts behind the GNU Hurd. +You can find them, among others, at: + + http://www.gnu.org/software/hurd/docs.html + +?? What is a translator? + +{MB} There is a text about translators available at: + + http://www.debian.org/ports/hurd/hurd-doc-translator + +Read this and ask further questions on the mailing lists. + +?? What is the login shell? + +{MB} The Hurd has the concept of a not-logged in user. This user has +neither user ids nor groups ids. This stems from the fact that the Hurd +supports uid and gid sets and one possibility is, of course, the empty +set. Rather than deny access in this case, filesystems in the Hurd offer a +fourth permission triplet (i.e. rwx) which is used to determine the +privileges for users with no credentials. This, however, needs to be +enabled on a file by file basis. By default, the `other' permission +triplet is used. + +The Hurd login shell is a shell running with neither uids nor gids. To +restrict access to your files, either enable and change the fourth +permission triplet or change the login shell of the `login' user in the +password file to `/bin/loginpr' which implements the standard login +prompt. + +?? How do I use non-US keyboard bindings? + +{ST} On Debian Hurd, you can configure the console layout from +`/etc/default/hurd-console`. + +?? How do I enable color on the console? + +{NHW} If you are using the GNU Mach microkernel, you can set your +terminal to `mach-color'. For instance: + + # export TERM=mach-color + +?? How can I enable virtual consoles? + +{ST} On Debian Hurd, it is already enabled by default, and configured from +`/etc/default/hurd-console`. + +{AMS} This can be done by running the following command: + + console -d vga -d pc_kbd -d generic_speaker /dev/vcs + +If something went wrong, or if you just wish to exit the Hurd console +then hitting C-A- will exit it. + +?? What is the status of X? + +{MB} It works! The packages are available at any Debian ftp mirror. +XFree86 4.0.2 is available, as are some of the v3 servers. Instructions +on how to use the packages are in the mailing list archive (link follow +later). + +?? What are these strange pids `0`, `2', `3', `4`, and `5`? + +{MB,ST} Zero is the `proc` processus server (and thus does not really have a pid +:) ) Two is the kernel, three is the root filesystem server, four is the `exec` +server (which handles starting programs), five is the `auth` server (which +handles user authentication). + +?? Why does `ps aux' give me strange output? + +{MB,MM} Try `ps Aux'. Indeed, under GNU/Hurd, `ps aux' doesn't list +all processes: it omits the session and group leaders, and the +processes without parent. + +?? I have a hung process that I want to kill, however, `ps' is now + hanging too. + +{MB} Interrupt it and pass it the `-M' option. + +{NHW} By default, `ps' gathers information from both the proc server and +the processes themselves (via their message port). If a process it +hung, it will not be able respond to its message port and thus, ps will +wait forever. The `-M' option instructs ps to not gather information +that would require use of the message port. + +?? Why are my translators dying? + +{NHW} Try passing the `-ap' flag to settrans. By default, settrans only +sets a passive translator, therefore, no output will show up on your +terminal. Using `-ap', however, sets both the active and the passive +translator which, means that the translator starts immediately and its +stderr is connected to you terminal. + +Additionally, the biggest problem is passing relative paths to passive +translators. You cannot predict what the current working directory of a +translator will be when it is setup as a passive translator. + +?? Why can I `read' a directory? + +{MB} It is important to understand that there is nothing special about a +directory under the Hurd, it is just another file. This fits in with +the translator concept where a translator can appear as a directory but +provide also as a file. + +? Trouble shooting + +?? When the APM support in the BIOS spins down my disk drives, the + Hurd is unable to wake up. What's wrong? + +{MB} APM is not supported in the current version of GNU Mach, sorry. +Please disable APM in your BIOS setup. + +?? What are these messages referring to `default pager', `paging', + and `pager request'? + +{MB} The default pager handles virtual memory allocation. If it can't +allocate a new memory page because you are out of memory, some terrible +things may happen. Whenever you get errors referring to any of these, +you either need more memory (make sure you have swap) or you have found +a memory leak. + +?? What is a gratuitous error? + +{MB} This comes from `strerror(EGRATUITOUS)'. If you check glibc's +documentation, it will say that this error code has no purpose. This, +however, is not quite true. You only get this when something terrible +happens. Thomas explains: + + More precisely `EGRATUITOUS' officially means that some server + has responded in an impossible or protocol-violating fashion. + There are some cases in the Hurd where `EGRATUITOUS' is returned + and probably something else should be chosen instead. + +If you can reproduce this error message, please report it. + +?? What does ``computer bought the farm'' mean ? + +{FH} This message is the text that corresponds to the errno code +`EIEIO'. Roland McGrath explains: + + That message is not output by any particular servers at + particular times; rather it is the perror text for the errno + code EIEIO, which is returned by various RPCs and functions + for a variety of "hopeless" error conditions. + + +?? What does ``/dev/hd0s1: MOUNTED READ-ONLY; MUST USE `fsysopts + --writable''' mean? + +{NHW} In this case, /dev/hd0s1 was not unmounted cleanly. The Hurd +will, on boot up, run ``fsck -p'' on any partitions that it finds in +/etc/fstab, so, you may want to consider adding this partition to that +file. If you are sure that the partition is fine, you can run: + + # fsysopts /home --writable + +to ask the translator sitting on /home to change from read-only to +read/write mode. Note that the command is being sent to the filesystem +and not the store (e.g. /dev/hd0s1). + +?? When GNU/Hurd crashes, GNU Mach automatically reboots. Is + there anyway I can make it pause so I can write down the error? + +{MB} Pass the `-H' option to init (add it to the boot command line), and +`init' will tell Mach to enter the kernel debugger instead to rebooting +it. At the debugger prompt (`db>'), you can type `reboot' any time to +reboot the system. + +? Porting + +?? Is porting easy? + +{NHW} Porting applications to GNU/Hurd is relatively easy assuming the +application is POSIX compliant as GNU/Hurd does its best to be a +conforming operating system. + +The most common error made by programmers is assuming the MAXPATHLEN and +PATH_MAX are defined. On most operating systems this is set to a few +thousand, however, on GNU/Hurd, there is no maximum and thus, this is +not set. The correct thing to do is to submit a patch to the upstream +author that allocates memory dynamically. + +? Compiling + +?? Where can I get the source? + +{AMS} Instructions on how to download the CVS tree from Savanah are +available at https://savannah.gnu.org/cvs/?group=hurd + +{NHW} To get the source to the latest debian package, look on any +debian mirror. + +?? Can I cross compile? + +{ST} To REDO. + +{NHW} Yes. If you are running Debian GNU/Linux on IA32, this is quite +easy as there is a cheap cross compiler available; all that is required +is installing the gcc-i386-gnu and mig-i386-gnu Debian packages. When +running configure, you will have to specify tools directly: + + # MIG=/usr/bin/i386-gnu-mig CC=/usr/bin/i386-gnu-gcc \ + ../src/hurd/configure ... + +If you are running another distribution, you will have to do this the +long way. You can find instructions at the Cross Compiling HOW-TO +available at: + + http://hurddocs.sourceforge.net/howto/cross.html + +Farid Hajji also talks about his experiences +at: + + http://lists.debian.org/debian-hurd-0012/msg00062.html + +?? Any general tips? + +{NHW} Yeah, building in the source tree is untested. Try: + + # ../src/hurd/configure ... + +? Development + +?? What is OSKit-Mach? + +{NHW,FH} There are two versions of GNU Mac that are in use: GNU Mach +1.x and GNU Mach 2.x, formerly known as OSKit-Mach. The former uses +the drivers from Linux 2.0.x while the latter uses the University of +Utah's OSKit library for drivers. You can find out more about the +OSKit library at: + + http://www.cs.utah.edu/flux/oskit + +GNU Mach 2.x is usable, but some things are still missing or not +working, like the serial port and scsi drivers. This is why GNU Mach +2.0 hasn't released yet and the two versions coexist. + +?? Where is the documentation? + +{NHW} There were several books written on the Mach kernel. The +information that they contain is still mostly pertinent and should be +considered required reading for potential hackers. They can be found +at: + + http://www.cs.cmu.edu/afs/cs/project/mach/public/www/doc/publications.html + +The documentation for the Hurd is quite inadequate. The starting of a +book, ``The GNU Hurd'' is in the doc directory in the Hurd source. You +can read this using: + + # info hurd + +The authoritative place is, of course, the source code; that does not, +however, mean that we would not welcome more documentation. To get +started, take a look at /doc/navigating. + +?? How do I make sure that my code is POSIX compliant? + +{NHW} Unfortunately, you have to buy the POSIX standard from IEEE. The +Single Unix Specification version 2, a superset of POSIX, is available +for free on the Internet. Try: + + http://www.unix-systems.org/online.html + +?? Who do I submit patches to? + +{NHW} If they are against the Hurd, Mach or MiG, send a patch to the +bug-hurd mailing list. + +If they are against other packages, the Debian BTS is a good place. In +this case, be sure to advise the debian-hurd mailing list of the bug. + +?? In what format should patches for the Hurd and GNU Mach be? + +{MB} All patches should be sent in unified context diff format (option +`-u' to GNU diff). It is helpful for us if you also use the `-p' +option which includes information about the function changed by a +patch. Changes that are similar can be grouped together in one file, +but unrelated changes should be sent in seperate files. The patches +can be included in the message or as a MIME attachement. They should +not be compressed and/or archived unless they are very large, and if +they are very large it is probably better to store them on-line at +some place and only sent an URL. + +Write a ChangeLog entry for each change, following the format of the +existing files. Here is an example: + + 2000-12-02 Marcus Brinkmann + + * ops.c (op_readlink): Before returning, check if the buffer + pointed to by transp is ours. If not, munmap it. + (op_read): Likewise for bp. + (op_readdir): Don't alloca a buffer here. Instead initialize + BUF and BUFSIZE to 0 and let the server (eh, MiG) do it. + munmap BUF before returning. + +The file name and the name of the function changed should always be +spelled out completely, and not abbreviated or otherwise mangled (like +foo.{c,h}), because that would make searching for all changes to a +file or function impossible. Local variable names are all +capitalized. There are two spaces between sentences. You can use +``C-x 4 a'' in Emacs to add a new ChangeLog entry. If you do that +with the mark being in a function, Emacs will automatically fill in +the file and function name for you. + +Do not send in a patch for the ChangeLog file. Rather include the +ChangeLog entries in the message that contains the patch. Patches for +ChangeLog files often conflict. + +If you have the original source tree in the directory `hurd-orig', and +the modified source tree in the directory `hurd', the following +command will produce a good patch (please make sure there are no extra +files like backups in the modified tree, or leave away the option +`-N'). You will need to collect the ChangeLog entries seperately. + + # diff -x ChangeLog -Nurp hurd-orig hurd + + +Answers were given by (in chronological order): +* {NHW} Neal H Walfield +* {MB} Marcus Brinkmann +* {AMS} Alfred M. Szmidt +* {OK} Ognyan Kulev +* {FH} Frédéric Henry +* {MM} Manuel Menal +* {ST} Samuel Thibault diff --git a/faq/old_hurd_faq.txt b/faq/old_hurd_faq.txt new file mode 100644 index 00000000..50ea9331 --- /dev/null +++ b/faq/old_hurd_faq.txt @@ -0,0 +1,85 @@ +[[!meta copyright="Copyright © 1999, 2006, 2008, 2010, 2013 Free Software +Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/old]] + +The Unofficial (and no longer maintained) GNU Hurd FAQ, Version 0.13 + +Contributions by: + +Michael I. Bushnell +Len Tower +Trent Fisher +jlr@usoft.spb.su +Remy Card +Louis-Dominique Dubeau + +Original Document by: Derek Upham + + +Mach is a micro-kernel, written at Carnegie Mellon +University. A more descriptive term might be a greatest-common-factor +kernel, since it provides facilities common to all ``real'' operating +systems, such as memory management, inter-process communication, +processes, and a bunch of other stuff. Unfortunately, the system +calls used to access these facilities are only vaguely related to the +familiar and cherished Unix system calls. There are no "fork", +"wait", or "sleep" system-calls, no SIGHUPs, nothing like that. All +this makes it rather difficult to, say, port GNU Emacs to a Mach box. + +The trick is, of course, to write an emulation library. Unix programs +can then use (what they think are) POSIX system calls and facilities +while they are really using Mach system calls and facilities. + +The simplest way of going about this is to take an ordinary Unix +kernel, open it up, and rip out all the machine-specific guts; any +time the Unix kernel talks to the machine, replace the code with calls +to the Mach micro-kernel. Run this fake kernel on a Mach machine and +you end up with something that looks and acts just like Unix (even to +GNU Emacs). Note that the Unix kernel we have implemented is just one +Really Big Mach program (called a single-server). + +The Hurd, on the other hand, breaks the giant Unix kernel down into +various Mach programs running as daemons. Working in concert with +facilities placed in the C library, these daemons provide all of the +POSIX system-calls and features; from the outside they look just like +a standard Unix kernel. This means that, for practical purposes, +anything that you can port to Linux will also port to the Hurd. + +Of course, if a user wishes to run his own daemons, he can do that as +well.... + +Mach 4.0 is an enhanced version of Mach 3.0, put out by the people at +the University of Utah. They are working on another free operating +system, and part of it includes an enhanced, more flexible version of +Mach. The Hurd has moved to Mach 4.0, which is good, because it is a +lot easier to build than 3.0 was. + +You can find more information on Mach by browsing the Hurd pages given +in the next answer, or by looking at the Project Mach and Flux +homepages at: + +Carnegie Mellon University (for Mach versions before 4.0): + + http://www.cs.cmu.edu/afs/cs.cmu.edu/project/mach/public/www/mach.html + +the University of Utah (for Mach 4.0): + + http://www.cs.utah.edu/projects/flux/mach4/html/ + + + +============================== + +Footnotes: + +[[1]] Yes, I know that ``micro-kernel'' is about as apt a description +as ``Reduced Instruction Set Chip'', but we're stuck with it. diff --git a/faq/other_repositories.mdwn b/faq/other_repositories.mdwn new file mode 100644 index 00000000..f8ece75f --- /dev/null +++ b/faq/other_repositories.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/debian]] + +If you want to use the `apt-get source` facility, make sure that +`/etc/apt/sources.list` contains a line like + + deb-src http://ftp.de.debian.org/debian unstable main + +... replacing _de_ with your homeland's code. diff --git a/faq/posix_compatibility.mdwn b/faq/posix_compatibility.mdwn new file mode 100644 index 00000000..2212a7d4 --- /dev/null +++ b/faq/posix_compatibility.mdwn @@ -0,0 +1,35 @@ +[[!meta copyright="Copyright © 2010, 2011, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="POSIX compatibility"]] + +Is it favorable of rather a hindrance to be compatible to POSIX and similar +standards? + +A lot of things in POSIX et al. are designed for [[UNIX]]-like systems with +traditional monolithic [[kernel]]s. + +Thus, a [[microkernel]]-based system, as ours is, has to employ a bunch of +detours, for example to implement the [[`fork` system call|glibc/fork]]. + +On the other hand, (mostly) complying to these standards, made a really big +body of software *just work* without any (or just trivial) [[hurd/porting]]. +Especially so for command-line programs, and libraries. + +But: a large part of today's user programs are not written according to POSIX +et al. low-level interfaces, but against GNOME, GTK+2, and other high-level +frameworks and libraries. It may be a valid option to enrich these instead of +striving for total POSIX compliance -- and the high-level programs (that is, +their users) may not even notice this, but we would avoid a lot of overhead +that comes with wrapping the [[Hurd interfaces|hurd/interface]] to be POSIX +compliant. diff --git a/faq/posix_compatibility/discussion.mdwn b/faq/posix_compatibility/discussion.mdwn new file mode 100644 index 00000000..0d722c9e --- /dev/null +++ b/faq/posix_compatibility/discussion.mdwn @@ -0,0 +1,25 @@ +[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_documentation]] + +\#hurd IRC channel on Freenode, 2010-12-21: + + tschwinge: the writeup ignores the fact that POSIX compatibility + is not only for applications, but also for users familiar with the UNIX + environment + also, I still don't buy the fact that most software is not written + for POSIX. even if assuming that GNOME programs don't use POSIX (which is + only half true), there is a lot of other software in a system that is + just as important, though less visible + (server software, startup system, device management, automation, + ...) + tschwinge: BTW, I meant to (and partially did) write a blog + article on this topic -- but I didn't get around to finish it... diff --git a/faq/ps_hangs.mdwn b/faq/ps_hangs.mdwn new file mode 100644 index 00000000..a1a43ed1 --- /dev/null +++ b/faq/ps_hangs.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +If `ps` hangs, try `ps -M` which should still work by not getting detailed +information from processes. diff --git a/faq/ram_limit.mdwn b/faq/ram_limit.mdwn new file mode 100644 index 00000000..5017925c --- /dev/null +++ b/faq/ram_limit.mdwn @@ -0,0 +1,24 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="830 MiB RAM Limit"]] + +Just like any 32-bit OS without bad tricks, GNU Mach can not cope well with lots +of memory. Latest versions of the Debian `gnumach` package will limit themselves +to around 1.7 GiB of memory. If you want more, you can twiddle the `VM_MAX_ADDRESS` +limit between kernelland and userland in `i386/include/mach/i386/vm_param.h`. + +If you have an older version, or still experience problems with `vmstat` (see +above) reported much less memory than you have, the best is to limit the memory +it can see via GRUB's `upppermem` feature. Add `uppermem 786432` to GRUB's Hurd +entry in `menu.lst`. diff --git a/faq/release.mdwn b/faq/release.mdwn new file mode 100644 index 00000000..e782a9fb --- /dev/null +++ b/faq/release.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2008, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general faq/_important]] + +[[!meta title="When will the Hurd be released?"]] + +Next year. + +Save that, read about the Hurd's [[hurd/status]]. diff --git a/faq/reporting_bugs.mdwn b/faq/reporting_bugs.mdwn index 40781ab0..25be02ef 100644 --- a/faq/reporting_bugs.mdwn +++ b/faq/reporting_bugs.mdwn @@ -1,12 +1,15 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no 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]]."]]"""]] + +[[!tag faq/general]] Please try to reproduce bugs which are not obviously Hurd-specific on Debian GNU/Linux and then file them there. diff --git a/faq/running/df.mdwn b/faq/running/df.mdwn deleted file mode 100644 index 9987a373..00000000 --- a/faq/running/df.mdwn +++ /dev/null @@ -1,22 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Why df doesn't work?"]] - -There is no `/etc/mtab` (due to dynamic translator startup, its content is hard -to define actually, see -[[the mtab GSoC project idea|community/gsoc/project_ideas/mtab]]), -so just running `df` will yield the following error. - - df: cannot read table of mounted file systems - -Pass `df` a path like `df /` or `df ./` to see the disk usage of that particular -file system. diff --git a/faq/running/hurd_console.mdwn b/faq/running/hurd_console.mdwn deleted file mode 100644 index f55e30d2..00000000 --- a/faq/running/hurd_console.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="How about the virtual console?"]] - -Edit `/etc/default/hurd-console` to configure the Hurd console. -See [[hurd/console]] for further information about the Hurd console. diff --git a/faq/running/kernel_logs.mdwn b/faq/running/kernel_logs.mdwn deleted file mode 100644 index 0c9e05a0..00000000 --- a/faq/running/kernel_logs.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="dmesg, kernel logs"]] - -There is no `dmesg` command, since the kernel does not keep a buffer of its -messages. syslog however dumps them into `/var/log/dmesg`, so you can simply cat -that. diff --git a/faq/running/off.mdwn b/faq/running/off.mdwn deleted file mode 100644 index eb2a6d1c..00000000 --- a/faq/running/off.mdwn +++ /dev/null @@ -1,23 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="shutdown does not work, how am I supposed to shut my Hurd system down?"]] - -The GNU/Hurd does not use SYSV runlevels, so commands like - - # shutdown -h now - -will not work. Simply use the equivalent shortcuts - - # halt - # reboot - -to respectively shutdown and reboot Hurd, provided natively, -instead of from SYSV runlevels. diff --git a/faq/running/ps_hangs.mdwn b/faq/running/ps_hangs.mdwn deleted file mode 100644 index b58a3308..00000000 --- a/faq/running/ps_hangs.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -If `ps` hangs, try `ps -M` which should still work by not getting detailed -information from processes. diff --git a/faq/running/serial_console.mdwn b/faq/running/serial_console.mdwn deleted file mode 100644 index 44453ac5..00000000 --- a/faq/running/serial_console.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, -2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="How do I initialize a serial console on the Hurd?"]] - - * You can try out the Serial Howto at - * For kernel messages, you can append `console=com0` to the kernel command line. diff --git a/faq/running/slash_usr_symlink.mdwn b/faq/running/slash_usr_symlink.mdwn deleted file mode 100644 index e7d7776a..00000000 --- a/faq/running/slash_usr_symlink.mdwn +++ /dev/null @@ -1,20 +0,0 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2013 Free -Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Why is `/usr' a symbolic link to `.'?"]] - -The distinction between `/` and `/usr` has historical reasons. Back when [[Unix]] -systems were booted from two tapes, a small root tape and a big user tape. -Today, we like to use different partitions for these two spaces. The Hurd -throws this historical garbage away. We think that we have found a more -flexible solution called union filesystems, which allow to create virtual -filesystems which are the union of several other filesystems. However, support -for union filesystems is [[still in early development|hurd/translator/unionfs]]. diff --git a/faq/running/slash_usr_symlink/discussion.mdwn b/faq/running/slash_usr_symlink/discussion.mdwn deleted file mode 100644 index 219e14e4..00000000 --- a/faq/running/slash_usr_symlink/discussion.mdwn +++ /dev/null @@ -1,45 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_documentation]] - - -# IRC, freenode, #hurd, 2012-02-01 - - I remember the time when we had a /usr symlink. Now fedora 17 - will move / to /usr and have /foo symlinks. :) - braunr: - http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge - braunr: fedora and others are merging /bin, /sbin and some other - into /usr - braunr: back in 1998 we tried for two years or so to have /usr -> - .. in Debian GNU/Hurd, but eventually we gave up on it, because it broke - some stuff - marcusb: Hi, which one is better (in your opinion): / or /usr? - gnu_srs: fedora says that using /usr allows better separation of - distribution files and machine-local files - marcusb: won't it break remote /usr ? - so you can atomically mount the OS files to /usr - gnu_srs: but in the end, it's a wash - personally, I think every package should get its own directory - marcusb: what PATH then ? - braunr: well, I guess you'd want to assemble a union filesystem - for a POSIX shell - marcusb: i don't see what you mean :/ - ah this comes from Lennart Poettering - braunr: check out for example how http://nixos.org/ does it - braunr: something like, union /package1/bin /package2/bin - /package3/bin for /bin, /package1/lib /package2/lib /package3/lib for - /lib, etc. I guess - manuel: would that scale well ? - the idea that there is only one correct binary for each program - with the name foo is noble, but a complete illusion that hides the - complexity of the actual configuration management task - marcusb: right diff --git a/faq/running/xserver-common.mdwn b/faq/running/xserver-common.mdwn deleted file mode 100644 index 68058641..00000000 --- a/faq/running/xserver-common.mdwn +++ /dev/null @@ -1,20 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Normal users can't start X"]] - -This happens because currently there is no way to detect console users. - -On Debian GNU/Hurd systems, you need to run - - # dpkg-reconfigure x11-common - -and select `Anybody` for starting X. diff --git a/faq/sata_disk_drives.mdwn b/faq/sata_disk_drives.mdwn new file mode 100644 index 00000000..70560f12 --- /dev/null +++ b/faq/sata_disk_drives.mdwn @@ -0,0 +1,19 @@ +[[!meta copyright="Copyright © 2008, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Are SATA disk drives supported?"]] + +GNU Mach does not support SATA disk drives (`/dev/sda` etc. in GNU/Linux) +natively, so using `device:sd0s1` will not work, as sd* devices are for SCSI +drives only. +The only way to get those drives to work is to put them into compatibility mode +in the BIOS, if such an option exists. GNU Mach will then recognize them as hda etc. diff --git a/faq/sauce.mdwn b/faq/sauce.mdwn index 2306aece..691acf12 100644 --- a/faq/sauce.mdwn +++ b/faq/sauce.mdwn @@ -9,6 +9,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="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. diff --git a/faq/serial_console.mdwn b/faq/serial_console.mdwn new file mode 100644 index 00000000..4abadda9 --- /dev/null +++ b/faq/serial_console.mdwn @@ -0,0 +1,17 @@ +[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, +2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="How do I initialize a serial console on the Hurd?"]] + + * You can try out the Serial Howto at + * For kernel messages, you can append `console=com0` to the kernel command line. diff --git a/faq/sharing_the_user_space.mdwn b/faq/sharing_the_user_space.mdwn new file mode 100644 index 00000000..0d9dd587 --- /dev/null +++ b/faq/sharing_the_user_space.mdwn @@ -0,0 +1,26 @@ +[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Sharing the userspace between GNU Hurd and the Linux kernel"]] + +Given that both Linux and GNU Hurd are using the [[ELF]] binary +format, it is in theory possible to have a system installation where you can +dual-boot using either the [[Linux]] kernel, or the GNU Hurd, so that +everything but the kernel is shared. +For this, all programs need to agree to rely on +only one abstraction layer, for example the standard C library ([[glibc]]). +(Additionally, for example for [[system call]]s that are not covered by glibc +calls, you'd need to be able to reliably trap and emulate these.) However, +Linux' and the GNU Hurd's [[ABI]]'s have sufficiently diverged, so that this is +not easy to do. That's why you can't currently install a system in this way, +but you need a separate installation of the userspace suited for the Linux +kernel, or the GNU Hurd. diff --git a/faq/slash_usr_symlink.mdwn b/faq/slash_usr_symlink.mdwn new file mode 100644 index 00000000..0c586d4d --- /dev/null +++ b/faq/slash_usr_symlink.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2013 Free +Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="Why is `/usr' a symbolic link to `.'?"]] + +The distinction between `/` and `/usr` has historical reasons. Back when [[Unix]] +systems were booted from two tapes, a small root tape and a big user tape. +Today, we like to use different partitions for these two spaces. The Hurd +throws this historical garbage away. We think that we have found a more +flexible solution called union filesystems, which allow to create virtual +filesystems which are the union of several other filesystems. However, support +for union filesystems is [[still in early development|hurd/translator/unionfs]]. diff --git a/faq/slash_usr_symlink/discussion.mdwn b/faq/slash_usr_symlink/discussion.mdwn new file mode 100644 index 00000000..219e14e4 --- /dev/null +++ b/faq/slash_usr_symlink/discussion.mdwn @@ -0,0 +1,45 @@ +[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag open_issue_documentation]] + + +# IRC, freenode, #hurd, 2012-02-01 + + I remember the time when we had a /usr symlink. Now fedora 17 + will move / to /usr and have /foo symlinks. :) + braunr: + http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge + braunr: fedora and others are merging /bin, /sbin and some other + into /usr + braunr: back in 1998 we tried for two years or so to have /usr -> + .. in Debian GNU/Hurd, but eventually we gave up on it, because it broke + some stuff + marcusb: Hi, which one is better (in your opinion): / or /usr? + gnu_srs: fedora says that using /usr allows better separation of + distribution files and machine-local files + marcusb: won't it break remote /usr ? + so you can atomically mount the OS files to /usr + gnu_srs: but in the end, it's a wash + personally, I think every package should get its own directory + marcusb: what PATH then ? + braunr: well, I guess you'd want to assemble a union filesystem + for a POSIX shell + marcusb: i don't see what you mean :/ + ah this comes from Lennart Poettering + braunr: check out for example how http://nixos.org/ does it + braunr: something like, union /package1/bin /package2/bin + /package3/bin for /bin, /package1/lib /package2/lib /package3/lib for + /lib, etc. I guess + manuel: would that scale well ? + the idea that there is only one correct binary for each program + with the name foo is noble, but a complete illusion that hides the + complexity of the actual configuration management task + marcusb: right diff --git a/faq/slow.mdwn b/faq/slow.mdwn index cb6c4655..be01e882 100644 --- a/faq/slow.mdwn +++ b/faq/slow.mdwn @@ -8,6 +8,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="Is the Hurd slow?"]] The Hurd is currently slower than Linux, yes. But not very much, so it is diff --git a/faq/smp.mdwn b/faq/smp.mdwn new file mode 100644 index 00000000..c0968ef0 --- /dev/null +++ b/faq/smp.mdwn @@ -0,0 +1,33 @@ +[[!meta copyright="Copyright © 2009, 2011, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Does GNU/Hurd support SMP/Multicore?"]] + +The Hurd servers themselves are multithreaded, so they should be able to take benefit of the parallelism brought by SMP/Multicore boxes. This has however never been tested yet because of the following. + +[[microkernel/Mach]] used to be running on SMP boxes like the [[!wikipedia +Intel_iPSC/860]], so principally has the required infrastructure. It has +however not yet been enhanced to support nowadays' SMP standards like ACPI, +etc. Also, [[GNU Mach|microkernel/mach/gnumach]]'s Linux device driver glue +code likely isn't SMP-safe. As this glue code layer is not used in the +[[microkernel/mach/gnumach/ports/Xen]] port of GNU Mach, the plan is to try it +in this enviroment first. + +[[!tag open_issue_gnumach open_issue_xen]] + +That is why for now GNU/Hurd will only use one logical processor (i.e. one core or one thread, depending on the socket type). + +Once this issue is solved, there are follow-up issues about +[[open_issues/multiprocessing]] and [[open_issues/multithreading]]. + +[[GSoC project idea|gsoc/project_ideas/smp]]. diff --git a/faq/software.mdwn b/faq/software.mdwn new file mode 100644 index 00000000..4ab7bbfc --- /dev/null +++ b/faq/software.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, +2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support faq/_important]] + +[[!meta title="What software is available for GNU?"]] + +As of March 2013, 78% of all [Debian](http://www.debian.org/) +[packages](http://packages.debian.org/) are available for [[Debian +GNU/Hurd|hurd/running/debian]]. Of course, testing and bug fixing is welcome, +as we have obviously not tested all of them. + +Generally, packages +that aren't Linux-specific (see [Packages That Won't Be +Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) +are expected to work on GNU/Hurd too. Notably, [X.Org](http://www.x.org/), +[GNOME](http://www.gnome.org/), [KDE](http://www.kde.org/), +[Firefox](http://www.mozilla.org/firefox) work. See +the [[hurd/porting/guidelines]] document for some common build problems and their +solutions. diff --git a/faq/still_useful.mdwn b/faq/still_useful.mdwn new file mode 100644 index 00000000..60149a2b --- /dev/null +++ b/faq/still_useful.mdwn @@ -0,0 +1,70 @@ +[[!meta copyright="Copyright © 1999, 2006, 2008, 2009, 2010, 2013 Free Software +Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general faq/_important]] + +[[!meta title="What are the advantages with the Hurd over Linux/BSD?"]] + +The Hurd will be considerably more flexible and robust +than generic Unix. Wherever possible, Unix kernel features have been +moved into unprivileged space. Once there, anyone who desires can +develop custom replacements for them. Users will be able to write and +use their own file systems, their own `exec' servers, or their own +network protocols if they like, all without disturbing other users. + +The Linux kernel has now been modified to allow user-level file +systems, so there is proof that people will actually use features such +as these. It will be much easier to do under the Hurd, however, +because the Hurd is almost entirely run in user space and because the +various servers are designed for this sort of modification. + +> Notably, flexibility for the user: +> +> transparent ftp +> +> $ cd /ftp://ftp.debian.org/debian +> $ ls +> +> personal filesystem +> +> $ dd < /dev/zero > myspace.img bs=1M count=1024 +> $ mke2fs myspace.img +> $ settrans myspace /hurd/ext2fs myspace.img +> $ cd myspace + +>> Just curious, but I keep seeing these (and other similar) concepts being +>> brought up as the amazing selling points of the Hurd, but all of this is +>> entirely doable now in Linux with FUSE or things like it. + +>>> Nowadays, at LAST, yes, partly. +>>> And only on machines where fuse is enabled. Is it enabled on the servers you have an account on? + +>> I'm not sure if an ftp filesystem has been implemented for FUSE yet, but its +>> definately doable; and loopback filesystems like in your second example have +>> been supported for years. + +>>> As a normal user? And establish a tap interface connected through ppp over +>>> ssh or whatever you could want to imagine? + +>> What, then, are the major selling points or benefits? + +>>> These were just examples, Linux is trying to catch up in ugly ways indeed +>>> (yes, have a look at the details of fuse, it's deemed to be inefficient). +>>> In the Hurd, it's that way from the _ground_ and there is no limitation +>>> like having to be root or ask for root to add magic lines, etc. + +> It also for instance provides userland drivers, for instance the network +> drivers are actually Linux drivers running in a separate userland process. + +> It also for instance provides very fine-grain virtualization support, such as +> VPN for only one process, etc. + +> etc. etc. The implications are really very diverse... diff --git a/faq/support/0-drivers.mdwn b/faq/support/0-drivers.mdwn deleted file mode 100644 index 54b2d744..00000000 --- a/faq/support/0-drivers.mdwn +++ /dev/null @@ -1,24 +0,0 @@ -[[!meta copyright="Copyright © 2009, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="What drivers does GNU/Hurd have?"]] - -Currently, for disks Mach integrates drivers from Linux 2.0 through some -[[community/gsoc/project_ideas/driver_glue_code]]. As it's very old, that -limits hardware support a lot, of course. For network boards, we use the -[[DDE]] toolkit to run linux 2.6.32 drivers in userland processes, -which provides both long-term support for new hardware and safety against driver -bugs. [[microkernel/mach/gnumach/ports/Xen]] is also supported, both blkfront -and netfront. - -Note however that we have of course not tested all drivers, we obviously don't -even have all kinds of hardware. So we can not promise that they will all -work. What probably works for sure is what we usually use: the rtl8139 or e1000 -drivers for instance. diff --git a/faq/support/0-software.mdwn b/faq/support/0-software.mdwn deleted file mode 100644 index e58e0bd8..00000000 --- a/faq/support/0-software.mdwn +++ /dev/null @@ -1,26 +0,0 @@ -[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, -2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!meta title="What software is available for GNU?"]] - -As of March 2013, 78% of all [Debian](http://www.debian.org/) -[packages](http://packages.debian.org/) are available for [[Debian -GNU/Hurd|hurd/running/debian]]. Of course, testing and bug fixing is welcome, -as we have obviously not tested all of them. - -Generally, packages -that aren't Linux-specific (see [Packages That Won't Be -Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) -are expected to work on GNU/Hurd too. Notably, [X.Org](http://www.x.org/), -[GNOME](http://www.gnome.org/), [KDE](http://www.kde.org/), -[Firefox](http://www.mozilla.org/firefox) work. See -the [[hurd/porting/guidelines]] document for some common build problems and their -solutions. diff --git a/faq/support/2_gib_partition_limit.mdwn b/faq/support/2_gib_partition_limit.mdwn deleted file mode 100644 index 3d502a17..00000000 --- a/faq/support/2_gib_partition_limit.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Is there still a 2 GiB Partition Limit?"]] - -The 2 GiB limit has been removed in Debian GNU/Hurd. - -Disk drivers however currently do not support more than 2^32 sectors, i.e. 2TiB. diff --git a/faq/support/64-bit.mdwn b/faq/support/64-bit.mdwn deleted file mode 100644 index ab95d9d0..00000000 --- a/faq/support/64-bit.mdwn +++ /dev/null @@ -1,16 +0,0 @@ -[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Is there a 64-bit version?"]] - -There are currently no plan for 64-bit userland, but there are plans for 64-bit -kernelland with 32-bit userland, which will notably permit to efficiently make -use of more than 2 GiB memory and provide 4 GiB userland addressing space. -Work on this is currently in branches for GNU Mach. diff --git a/faq/support/binary_compatibility.mdwn b/faq/support/binary_compatibility.mdwn deleted file mode 100644 index e9dfcdb8..00000000 --- a/faq/support/binary_compatibility.mdwn +++ /dev/null @@ -1,33 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_documentation]] - -IRC, freenode, #hurd, 2012-01-13: - - sothere's absolutelyno way,evenslowly to run i386 linuxcode - under hurd/i386? Ihave a small app, commercial, which I have to get - running there - no source - no way - you'd need to create a userspace linux server catching linux - system calls and calling hurd specific stuff to implement them - it doesn't exist, it may be hard to implement - some cases will definitely be hard to implement - so, no magic linux lxemu on windows? - or linuxemu on plan9 - nope - I remember somethingsilly, sonmone hadcompiled linux asauser - applicationon plan9 and inserted his own binaries as - acodeobject,toberunon plan9, for useon ibm hpc hatrdware - it was ron minich - 5e.iwp9.org/slides/linuxemu.pdf - I think that was it - google for linux & cnk for additional clues diff --git a/faq/support/fuse_support.mdwn b/faq/support/fuse_support.mdwn deleted file mode 100644 index 33e877ce..00000000 --- a/faq/support/fuse_support.mdwn +++ /dev/null @@ -1,13 +0,0 @@ -[[!meta copyright="Copyright © 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Does Hurd support FUSE?"]] - -There is a start of work on implementing a [[FUSE|hurd/libfuse]] library on Hurd; its support is not updated to the latest version, but at least some fuse filesystems do work already. diff --git a/faq/support/network_transparency.mdwn b/faq/support/network_transparency.mdwn deleted file mode 100644 index aefaf500..00000000 --- a/faq/support/network_transparency.mdwn +++ /dev/null @@ -1,22 +0,0 @@ -[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_documentation]] - -IRC, freenode, #hurd, 2012-01-21: - - is it possible to transfer servers running on one microkernel - on one machine, to another microkernel running on a different machine? - two machines will be running the complete os - well, if the code for network-transparent IPC still existed, it - might be possible to move a task to another machine, while keeping the - port associations with the original system... - if you mean actually moving it to another system, that's pretty - much impossible in any system that has stateful interfaces diff --git a/faq/support/posix_compatibility.mdwn b/faq/support/posix_compatibility.mdwn deleted file mode 100644 index 4490b7cb..00000000 --- a/faq/support/posix_compatibility.mdwn +++ /dev/null @@ -1,32 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="POSIX compatibility"]] - -Is it favorable of rather a hindrance to be compatible to POSIX and similar -standards? - -A lot of things in POSIX et al. are designed for [[UNIX]]-like systems with -traditional monolithic [[kernel]]s. - -Thus, a [[microkernel]]-based system, as ours is, has to employ a bunch of -detours, for example to implement the [[`fork` system call|glibc/fork]]. - -On the other hand, (mostly) complying to these standards, made a really big -body of software *just work* without any (or just trivial) [[hurd/porting]]. -Especially so for command-line programs, and libraries. - -But: a large part of today's user programs are not written according to POSIX -et al. low-level interfaces, but against GNOME, GTK+2, and other high-level -frameworks and libraries. It may be a valid option to enrich these instead of -striving for total POSIX compliance -- and the high-level programs (that is, -their users) may not even notice this, but we would avoid a lot of overhead -that comes with wrapping the [[Hurd interfaces|hurd/interface]] to be POSIX -compliant. diff --git a/faq/support/posix_compatibility/discussion.mdwn b/faq/support/posix_compatibility/discussion.mdwn deleted file mode 100644 index 0d722c9e..00000000 --- a/faq/support/posix_compatibility/discussion.mdwn +++ /dev/null @@ -1,25 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag open_issue_documentation]] - -\#hurd IRC channel on Freenode, 2010-12-21: - - tschwinge: the writeup ignores the fact that POSIX compatibility - is not only for applications, but also for users familiar with the UNIX - environment - also, I still don't buy the fact that most software is not written - for POSIX. even if assuming that GNOME programs don't use POSIX (which is - only half true), there is a lot of other software in a system that is - just as important, though less visible - (server software, startup system, device management, automation, - ...) - tschwinge: BTW, I meant to (and partially did) write a blog - article on this topic -- but I didn't get around to finish it... diff --git a/faq/support/ram_limit.mdwn b/faq/support/ram_limit.mdwn deleted file mode 100644 index 0fa27c2e..00000000 --- a/faq/support/ram_limit.mdwn +++ /dev/null @@ -1,22 +0,0 @@ -[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="830 MiB RAM Limit"]] - -Just like any 32-bit OS without bad tricks, GNU Mach can not cope well with lots -of memory. Latest versions of the Debian `gnumach` package will limit themselves -to around 1.7 GiB of memory. If you want more, you can twiddle the `VM_MAX_ADDRESS` -limit between kernelland and userland in `i386/include/mach/i386/vm_param.h`. - -If you have an older version, or still experience problems with `vmstat` (see -above) reported much less memory than you have, the best is to limit the memory -it can see via GRUB's `upppermem` feature. Add `uppermem 786432` to GRUB's Hurd -entry in `menu.lst`. diff --git a/faq/support/sata_disk_drives.mdwn b/faq/support/sata_disk_drives.mdwn deleted file mode 100644 index 69470f10..00000000 --- a/faq/support/sata_disk_drives.mdwn +++ /dev/null @@ -1,17 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Are SATA disk drives supported?"]] - -GNU Mach does not support SATA disk drives (`/dev/sda` etc. in GNU/Linux) -natively, so using `device:sd0s1` will not work, as sd* devices are for SCSI -drives only. -The only way to get those drives to work is to put them into compatibility mode -in the BIOS, if such an option exists. GNU Mach will then recognize them as hda etc. diff --git a/faq/support/sharing_the_user_space.mdwn b/faq/support/sharing_the_user_space.mdwn deleted file mode 100644 index 2c31c22b..00000000 --- a/faq/support/sharing_the_user_space.mdwn +++ /dev/null @@ -1,24 +0,0 @@ -[[!meta copyright="Copyright © 2010, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Sharing the userspace between GNU Hurd and the Linux kernel"]] - -Given that both Linux and GNU Hurd are using the [[ELF]] binary -format, it is in theory possible to have a system installation where you can -dual-boot using either the [[Linux]] kernel, or the GNU Hurd, so that -everything but the kernel is shared. -For this, all programs need to agree to rely on -only one abstraction layer, for example the standard C library ([[glibc]]). -(Additionally, for example for [[system call]]s that are not covered by glibc -calls, you'd need to be able to reliably trap and emulate these.) However, -Linux' and the GNU Hurd's [[ABI]]'s have sufficiently diverged, so that this is -not easy to do. That's why you can't currently install a system in this way, -but you need a separate installation of the userspace suited for the Linux -kernel, or the GNU Hurd. diff --git a/faq/support/smp.mdwn b/faq/support/smp.mdwn deleted file mode 100644 index 04396401..00000000 --- a/faq/support/smp.mdwn +++ /dev/null @@ -1,31 +0,0 @@ -[[!meta copyright="Copyright © 2009, 2011, 2013 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Does GNU/Hurd support SMP/Multicore?"]] - -The Hurd servers themselves are multithreaded, so they should be able to take benefit of the parallelism brought by SMP/Multicore boxes. This has however never been tested yet because of the following. - -[[microkernel/Mach]] used to be running on SMP boxes like the [[!wikipedia -Intel_iPSC/860]], so principally has the required infrastructure. It has -however not yet been enhanced to support nowadays' SMP standards like ACPI, -etc. Also, [[GNU Mach|microkernel/mach/gnumach]]'s Linux device driver glue -code likely isn't SMP-safe. As this glue code layer is not used in the -[[microkernel/mach/gnumach/ports/Xen]] port of GNU Mach, the plan is to try it -in this enviroment first. - -[[!tag open_issue_gnumach open_issue_xen]] - -That is why for now GNU/Hurd will only use one logical processor (i.e. one core or one thread, depending on the socket type). - -Once this issue is solved, there are follow-up issues about -[[open_issues/multiprocessing]] and [[open_issues/multithreading]]. - -[[GSoC project idea|gsoc/project_ideas/smp]]. diff --git a/faq/support/system_port.mdwn b/faq/support/system_port.mdwn deleted file mode 100644 index c831c36f..00000000 --- a/faq/support/system_port.mdwn +++ /dev/null @@ -1,47 +0,0 @@ -[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="Doing a GNU/Hurd System Port"]] - -How difficult is it to port the GNU/Hurd system to run on another architecture? - -The GNU/Hurd system consists of [[/Hurd]] servers running as user-space -processes on top of the [[GNU Mach|microkernel/mach/gnumach]] microkernel. The -system functionality is usually accessed through the -[[POSIX|posix_compatibility]] interface that is provided by [[/glibc]] and -[[/libpthread]]. - -A whole-system port involves touching all these components, with varying -degree, of course. - -For a CPU architecture port, the microkernel is the most involved part, -followed by glibc and the threading library. - -The original [[microkernel/Mach]] microkernel was portable to a number of -architectures which were a lot more popular at the beginning of the 1990s than -they are now. - -The GNU/Hurd system is currently available for the x86 architecture. This -includes emulators such as [[hurd/running/QEMU]] (or KVM), or -[[hurd/running/VirtualBox]]. Besides this, there is a port for the [[Xen -domU|microkernel/mach/gnumach/ports/xen]] *sub-architecture*. - -Further on, there are some [[unfinished porting -attempts|microkernel/mach/gnumach/ports]] for the Alpha, MIPS and PowerPC -architectures. These have not been completed due to little developer interest. - -Another option is to do the port at a different layer: port the Hurd servers to -not run on the GNU Mach microkernel, but instead on top of [[another -microkernel|which_microkernel]]. Or, even by providing a Mach emulation layer -on top of a monolithic kernel. For example, there could be a port for [[having -Mach run as a POSIX user-space process|open_issues/mach_on_top_of_posix]], or -by implementing the [[Mach IPC|microkernel/mach/ipc]] facility (as well as -several others) as Linux kernel modules. While there have been some -experiments, no such port has been completed yet. diff --git a/faq/system_port.mdwn b/faq/system_port.mdwn new file mode 100644 index 00000000..fc710a3e --- /dev/null +++ b/faq/system_port.mdwn @@ -0,0 +1,49 @@ +[[!meta copyright="Copyright © 2011, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/support]] + +[[!meta title="Doing a GNU/Hurd System Port"]] + +How difficult is it to port the GNU/Hurd system to run on another architecture? + +The GNU/Hurd system consists of [[/Hurd]] servers running as user-space +processes on top of the [[GNU Mach|microkernel/mach/gnumach]] microkernel. The +system functionality is usually accessed through the +[[POSIX|posix_compatibility]] interface that is provided by [[/glibc]] and +[[/libpthread]]. + +A whole-system port involves touching all these components, with varying +degree, of course. + +For a CPU architecture port, the microkernel is the most involved part, +followed by glibc and the threading library. + +The original [[microkernel/Mach]] microkernel was portable to a number of +architectures which were a lot more popular at the beginning of the 1990s than +they are now. + +The GNU/Hurd system is currently available for the x86 architecture. This +includes emulators such as [[hurd/running/QEMU]] (or KVM), or +[[hurd/running/VirtualBox]]. Besides this, there is a port for the [[Xen +domU|microkernel/mach/gnumach/ports/xen]] *sub-architecture*. + +Further on, there are some [[unfinished porting +attempts|microkernel/mach/gnumach/ports]] for the Alpha, MIPS and PowerPC +architectures. These have not been completed due to little developer interest. + +Another option is to do the port at a different layer: port the Hurd servers to +not run on the GNU Mach microkernel, but instead on top of [[another +microkernel|which_microkernel]]. Or, even by providing a Mach emulation layer +on top of a monolithic kernel. For example, there could be a port for [[having +Mach run as a POSIX user-space process|open_issues/mach_on_top_of_posix]], or +by implementing the [[Mach IPC|microkernel/mach/ipc]] facility (as well as +several others) as Linux kernel modules. While there have been some +experiments, no such port has been completed yet. diff --git a/faq/translator.mdwn b/faq/translator.mdwn new file mode 100644 index 00000000..04aa9b8e --- /dev/null +++ b/faq/translator.mdwn @@ -0,0 +1,16 @@ +[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, +2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general faq/_important]] + +[[!meta title="What is a translator?"]] + +A [good explanation](http://www.debian.org/ports/hurd/hurd-doc-translator) is available, translated (sic) in several languages. diff --git a/faq/which_microkernel.mdwn b/faq/which_microkernel.mdwn index 4c3f0a42..5432dd92 100644 --- a/faq/which_microkernel.mdwn +++ b/faq/which_microkernel.mdwn @@ -9,6 +9,8 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!tag faq/general]] + [[!meta title="What happened with the Hurd ports to the OSKit Mach / L4 / Coyotos / Viengoos microkernels?"]] diff --git a/faq/xserver-common.mdwn b/faq/xserver-common.mdwn new file mode 100644 index 00000000..777ba025 --- /dev/null +++ b/faq/xserver-common.mdwn @@ -0,0 +1,22 @@ +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/running]] + +[[!meta title="Normal users can't start X"]] + +This happens because currently there is no way to detect console users. + +On Debian GNU/Hurd systems, you need to run + + # dpkg-reconfigure x11-common + +and select `Anybody` for starting X. diff --git a/faq_inlined.mdwn b/faq_inlined.mdwn index 432a0d14..237855e6 100644 --- a/faq_inlined.mdwn +++ b/faq_inlined.mdwn @@ -29,7 +29,12 @@ This page [[without all items inlined|faq]]. # General-discussion FAQs [[!inline -pages="faq/* and !*/discussion and !*/debian/* and !*/running/* and !*/support/* and !*/issues/* and !*/dev/* and !*/old/*" +pages="tagged(faq/general) and tagged(faq/_important)" +show=0 +feeds=no +]] +[[!inline +pages="tagged(faq/general) and !tagged(faq/_important)" show=0 feeds=no ]] @@ -38,7 +43,11 @@ feeds=no # Hardware/Software support FAQs [[!inline -pages="faq/support/* and !*/discussion" +pages="tagged(faq/support) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/support) and !tagged(faq/_important)" show=0 feeds=no]] @@ -46,7 +55,11 @@ feeds=no]] # Running GNU/Hurd FAQs [[!inline -pages="faq/running/* and !*/discussion" +pages="tagged(faq/running) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/running) and !tagged(faq/_important)" show=0 feeds=no]] @@ -54,15 +67,23 @@ feeds=no]] # Debian GNU/Hurd FAQs [[!inline -pages="faq/debian/* and !*/discussion" +pages="tagged(faq/debian) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/debian) and !tagged(faq/_important)" show=0 feeds=no]] -# Issues FAQs +# Open Issues FAQs [[!inline -pages="faq/issues/* and !*/discussion" +pages="tagged(faq/open_issues) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/open_issues) and !tagged(faq/_important)" show=0 feeds=no]] @@ -70,7 +91,11 @@ feeds=no]] # Development FAQs [[!inline -pages="faq/dev/* and !*/discussion" +pages="tagged(faq/development) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/development) and !tagged(faq/_important)" show=0 feeds=no]] @@ -78,8 +103,10 @@ feeds=no]] # Old FAQs [[!inline -pages="faq/old/* and !*/discussion" +pages="tagged(faq/old) and tagged(faq/_important)" +show=0 +feeds=no]] +[[!inline +pages="tagged(faq/old) and !tagged(faq/_important)" show=0 feeds=no]] - - -- cgit v1.2.3 From 6c41b4a7a5304d990dcf0b342bb706ab7a5fb945 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Apr 2013 10:44:46 +0200 Subject: Integrate the Microkernel FAQ into the general FAQ. --- faq.mdwn | 5 ----- faq/multiserver_microkernel.mdwn | 27 +++++++++++++++++++++++++++ faq_inlined.mdwn | 5 ----- getting_help.mdwn | 9 +++++---- microkernel.mdwn | 8 ++++---- microkernel/faq.mdwn | 21 --------------------- microkernel/faq/multiserver_microkernel.mdwn | 26 -------------------------- 7 files changed, 36 insertions(+), 65 deletions(-) create mode 100644 faq/multiserver_microkernel.mdwn delete mode 100644 microkernel/faq.mdwn delete mode 100644 microkernel/faq/multiserver_microkernel.mdwn diff --git a/faq.mdwn b/faq.mdwn index 605b6422..46636796 100644 --- a/faq.mdwn +++ b/faq.mdwn @@ -21,11 +21,6 @@ rootpage="faq" postformtext="Add a new item titled:"]] This page [[with all items inlined|faq_inlined]]. -# Also see the... - - * [[microkernel FAQ|microkernel/faq]] - - # General-discussion FAQs [[!map diff --git a/faq/multiserver_microkernel.mdwn b/faq/multiserver_microkernel.mdwn new file mode 100644 index 00000000..b4edd9af --- /dev/null +++ b/faq/multiserver_microkernel.mdwn @@ -0,0 +1,27 @@ +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2013 +Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general]] + +[[!meta title="What is a Multiserver Microkernel?"]] + +A Microkernel has nothing to do with the size of the kernel. Rather, it refers +to the functionality that the kernel provides. It is generally agreed that +this is; a set of interfaces to allow processes to communicate and a way to +talk to the hardware. *Software drivers*, as we like to call them, are then +implemented in user space as servers. The most obvious examples of these are +the TCP/IP stack, the ext2 filesystem and NFS. In the case of the Hurd, users +now have access to functionality that, in a monolithic kernel, they could never +use, but now, because the server runs in user space as the user that started +it, they may, for instance, mount an FTP filesystem in their home directory. + +For more information about the design of the Hurd, read the paper by Thomas +Bushnell, BSG: [[Towards a New Strategy of OS Design|hurd-paper]]. diff --git a/faq_inlined.mdwn b/faq_inlined.mdwn index 237855e6..2472f2e0 100644 --- a/faq_inlined.mdwn +++ b/faq_inlined.mdwn @@ -21,11 +21,6 @@ rootpage="faq" postformtext="Add a new item titled:"]] This page [[without all items inlined|faq]]. -# Also see the... - - * [[microkernel FAQ|microkernel/faq]] - - # General-discussion FAQs [[!inline diff --git a/getting_help.mdwn b/getting_help.mdwn index 92efabbe..34e54159 100644 --- a/getting_help.mdwn +++ b/getting_help.mdwn @@ -1,12 +1,13 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no 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]]."]]"""]] # Essential Documentation @@ -14,7 +15,7 @@ is included in the section entitled * Debian GNU/Hurd [[hurd/running/debian/FAQ]] - * Microkernel [[microkernel/FAQ]] + * [[faq/Multiserver_Microkernel]] * GNU Mach's [[microkernel/mach/gnumach/Hardware_Compatibility_List]] diff --git a/microkernel.mdwn b/microkernel.mdwn index 754c7aee..5cad12ee 100644 --- a/microkernel.mdwn +++ b/microkernel.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2007, 2008, 2010, 2012 Free Software Foundation, -Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2010, 2012, 2013 Free Software +Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -27,12 +27,12 @@ An [introduction](http://www.cs.cornell.edu/Info/People/ulfar/ukernel/ukernel.ht [[Research]]. +[[faq/Multiserver_Microkernel]]. + [[Microkernels_for_beginners|for_beginners]]. A 2002 article about [[microkernel_FUD|FUD]] (Fear, Uncertainty, Doubt). -[[FAQ]]. - # Implementations diff --git a/microkernel/faq.mdwn b/microkernel/faq.mdwn deleted file mode 100644 index fe259f05..00000000 --- a/microkernel/faq.mdwn +++ /dev/null @@ -1,21 +0,0 @@ -[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation, -Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="Microkernel FAQ"]] - -See also other [[/FAQ]]. - -[[!inline -pages="microkernel/faq/* and !*/discussion" -show=0 -feeds=no -actions=yes -rootpage="microkernel/faq" postformtext="Add a new item titled:"]] diff --git a/microkernel/faq/multiserver_microkernel.mdwn b/microkernel/faq/multiserver_microkernel.mdwn deleted file mode 100644 index ca9b2179..00000000 --- a/microkernel/faq/multiserver_microkernel.mdwn +++ /dev/null @@ -1,26 +0,0 @@ -[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2009 Free -Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="What is a Multiserver Microkernel?"]] - -A Microkernel has nothing to do with the size of the kernel. Rather, it refers -to the functionality that the kernel provides. It is generally agreed that -this is; a set of interfaces to allow processes to communicate and a way to -talk to the hardware. *Software drivers*, as we like to call them, are then -implemented in user space as servers. The most obvious examples of these are -the TCP/IP stack, the ext2 filesystem and NFS. In the case of the Hurd, users -now have access to functionality that, in a monolithic kernel, they could never -use, but now, because the server runs in user space as the user that started -it, they may, for instance, mount an FTP filesystem in their home directory. - -For more information about the design of the Hurd, read the paper by Thomas -Bushnell, BSG: -[[Towards_a_New_Strategy_of_OS_Design|hurd-paper]]. -- cgit v1.2.3 From 43ed233336211ee379f631c110440f8db7338337 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Apr 2013 10:51:47 +0200 Subject: faq/asking_questions. --- asking_questions.mdwn | 23 ----------------------- faq/asking.mdwn | 18 ------------------ faq/asking_questions.mdwn | 28 ++++++++++++++++++++++++++++ getting_help.mdwn | 2 +- irc.mdwn | 4 ++-- mailing_lists.mdwn | 4 ++-- unsorted/GrantBowHurdPage.mdwn | 2 -- 7 files changed, 33 insertions(+), 48 deletions(-) delete mode 100644 asking_questions.mdwn delete mode 100644 faq/asking.mdwn create mode 100644 faq/asking_questions.mdwn diff --git a/asking_questions.mdwn b/asking_questions.mdwn deleted file mode 100644 index 2d43cbbe..00000000 --- a/asking_questions.mdwn +++ /dev/null @@ -1,23 +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]]."]]"""]] - -Before asking a question, first make an effort to find the answer to your -question. A lot of questions have been asked and answered before, so please -spend some time trying to solve the problem on your own (e.g., [search the -web](http://google.com/), search these web pages, etc.), and show us that you -did so when you ask your question. - -When asking, (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." Provide as -many relevant details as possible reproducing them as exactly as possible. - -Also consider these -[guidelines](http://catb.org/~esr/faqs/smart-questions.html). diff --git a/faq/asking.mdwn b/faq/asking.mdwn deleted file mode 100644 index 7dc7142b..00000000 --- a/faq/asking.mdwn +++ /dev/null @@ -1,18 +0,0 @@ -[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, -2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled [[GNU Free Documentation -License|/fdl]]."]]"""]] - -[[!tag faq/general]] - -[[!meta title="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. - diff --git a/faq/asking_questions.mdwn b/faq/asking_questions.mdwn new file mode 100644 index 00000000..912c78dc --- /dev/null +++ b/faq/asking_questions.mdwn @@ -0,0 +1,28 @@ +[[!meta copyright="Copyright © 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010, +2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!tag faq/general]] + +[[!meta title="Why can't I get the answers I need from Hurd hackers?"]] + +Before asking a question, first make an effort to find the answer to your +question. A lot of questions have been asked and answered before, so please +spend some time trying to solve the problem on your own (e.g., [search the +web](http://google.com/), search these web pages, etc.), and show us that you +did so when you ask your question. + +When asking, (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." Provide as +many relevant details as possible reproducing them as exactly as possible. + +This [document](http://www.catb.org/~esr/faqs/smart-questions.html) may help you +understand some developers attitudes and social norms. diff --git a/getting_help.mdwn b/getting_help.mdwn index 34e54159..57c3e276 100644 --- a/getting_help.mdwn +++ b/getting_help.mdwn @@ -24,7 +24,7 @@ License|/fdl]]."]]"""]] # Forums -[[!inline pages=asking_questions raw=yes feeds=no]] +[[!inline pages=faq/asking_questions raw=yes feeds=no]] * [[Mailing_lists]] * [[IRC]] diff --git a/irc.mdwn b/irc.mdwn index ebf63b97..b90aa680 100644 --- a/irc.mdwn +++ b/irc.mdwn @@ -1,5 +1,5 @@ [[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2006, 2007, 2008, 2009, -2010, 2011, 2012 Free Software Foundation, Inc."]] +2010, 2011, 2012, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -20,7 +20,7 @@ Please try to stay on topic. We're not interested in Emacs vs. vi discussions, we don't want to hear why you think that the GNU project sucks, or what your favorite GNU/Linux distribution is. -[[!inline pages=asking_questions raw=yes feeds=no]] +[[!inline pages=faq/asking_questions raw=yes feeds=no]] Sometimes providing a log or some other excerpt of text can help solve a problem or answer a question. Do not paste diff --git a/mailing_lists.mdwn b/mailing_lists.mdwn index 33f131d5..0f90d200 100644 --- a/mailing_lists.mdwn +++ b/mailing_lists.mdwn @@ -1,5 +1,5 @@ [[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, -2011, 2012 Free Software Foundation, Inc."]] +2011, 2012, 2013 Free Software Foundation, 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,7 +12,7 @@ License|/fdl]]."]]"""]] # On Posting -[[!inline pages=asking_questions raw=yes feeds=no]] +[[!inline pages=faq/asking_questions raw=yes feeds=no]] 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 diff --git a/unsorted/GrantBowHurdPage.mdwn b/unsorted/GrantBowHurdPage.mdwn index 89af3ada..1de346e7 100644 --- a/unsorted/GrantBowHurdPage.mdwn +++ b/unsorted/GrantBowHurdPage.mdwn @@ -19,8 +19,6 @@ If anyone knows more about these items, please add your comments below with your PLEASE read these once. They are worth the effort. -* [How To Ask Questions The Smart Way](http://www.tuxedo.org/~esr/faqs/smart-questions.html) - * [How To Report Bugs Effectively](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) \* \*[Lincoln Portrait](http://www.people.virginia.edu/~skd9r/409/portrait.html) transcript - amazingly applicable to open source ideals. -- cgit v1.2.3 From 4321b766cfa5c8f0ffd8a4e9ef572576a4e24454 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Apr 2013 11:00:41 +0200 Subject: Remove links broken with earlier FAQ restructurations. --- getting_help.mdwn | 7 +++---- hurd/running/qemu/networking.mdwn | 10 +++++----- microkernel/mach/gnumach/building.mdwn | 6 ++---- microkernel/mach/mig/gnu_mig/building.mdwn | 6 ++---- 4 files changed, 12 insertions(+), 17 deletions(-) diff --git a/getting_help.mdwn b/getting_help.mdwn index 57c3e276..034a3c6b 100644 --- a/getting_help.mdwn +++ b/getting_help.mdwn @@ -9,13 +9,12 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -# Essential Documentation - * GNU/Hurd [[hurd/FAQ]] +# Essential Documentation - * Debian GNU/Hurd [[hurd/running/debian/FAQ]] + * [[Frequently Asked Questions|faq]] - * [[faq/Multiserver_Microkernel]] + * [[faq/Multiserver_Microkernel]] * GNU Mach's [[microkernel/mach/gnumach/Hardware_Compatibility_List]] diff --git a/hurd/running/qemu/networking.mdwn b/hurd/running/qemu/networking.mdwn index 2bc9b16d..d20b84b1 100644 --- a/hurd/running/qemu/networking.mdwn +++ b/hurd/running/qemu/networking.mdwn @@ -1,12 +1,13 @@ -[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no 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]]."]]"""]] ## User mode network @@ -39,5 +40,4 @@ host os and use this. (I was not able to use it without proxy) You might be able to do it using iptables, some clues -Use scp,ftp... to transfer files (also see -[[hurd/running/debian/faq#index2h1]]), read about [[sharing_files]]. +Use scp,ftp... to transfer files, read about [[sharing_files]]. diff --git a/microkernel/mach/gnumach/building.mdwn b/microkernel/mach/gnumach/building.mdwn index 427fb083..0f328bb7 100644 --- a/microkernel/mach/gnumach/building.mdwn +++ b/microkernel/mach/gnumach/building.mdwn @@ -1,5 +1,5 @@ -[[!meta copyright="Copyright © 2006, 2007, 2008, 2011 Free Software Foundation, -Inc."]] +[[!meta copyright="Copyright © 2006, 2007, 2008, 2011, 2013 Free Software +Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -28,8 +28,6 @@ You can either use the git repository (see On Debian Systems: -- cgit v1.2.3 From bbfdc0018e51ad03f2948c6ad41bf0265d582741 Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sun, 7 Apr 2013 23:58:28 +0200 Subject: community/gsoc/project_ideas/smp -> open_issues/smp. --- community/gsoc/project_ideas.mdwn | 2 -- community/gsoc/project_ideas/smp.mdwn | 32 ---------------------------- faq/smp.mdwn | 2 +- open_issues/smp.mdwn | 39 +++++++++++++++++++++++++++++++++++ 4 files changed, 40 insertions(+), 35 deletions(-) delete mode 100644 community/gsoc/project_ideas/smp.mdwn create mode 100644 open_issues/smp.mdwn diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index c7b5ab1a..10270612 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -88,8 +88,6 @@ other: language_bindings, gnat, gccgo, perl_python. --> [[!inline pages="community/gsoc/project_ideas/gdb" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/tcp_ip_stack" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/nfs" show=0 feeds=no actions=yes]] - [[!inline pages="community/gsoc/project_ideas/sound" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/disk_io_performance" show=0 feeds=no actions=yes]] [[!inline pages="community/gsoc/project_ideas/vm_tuning" show=0 feeds=no actions=yes]] diff --git a/community/gsoc/project_ideas/smp.mdwn b/community/gsoc/project_ideas/smp.mdwn deleted file mode 100644 index c6da2c41..00000000 --- a/community/gsoc/project_ideas/smp.mdwn +++ /dev/null @@ -1,32 +0,0 @@ -[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no 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="SMP"]] - -See also the [[FAQ entry|faq/smp]]. - - -# IRC, freenode, #hurd, 2012-09-30 - - i expect smp to be our next gsoc project - - -## IRC, freenode, #hurd, 2013-01-02 - - i'd like to mentor someone for adding smp to gnumach - - -## IRC, freenode, #hurd, 2013-03-14 - - but i'm afraid we'll have to fight obscur smp-safety issues - for one, drivers are much probably not smp safe and would require - a big kernel lock - userspace (such as signal delivery in libc) might be affected too - smp isn't that easy diff --git a/faq/smp.mdwn b/faq/smp.mdwn index c0968ef0..c0133b80 100644 --- a/faq/smp.mdwn +++ b/faq/smp.mdwn @@ -30,4 +30,4 @@ That is why for now GNU/Hurd will only use one logical processor (i.e. one core Once this issue is solved, there are follow-up issues about [[open_issues/multiprocessing]] and [[open_issues/multithreading]]. -[[GSoC project idea|gsoc/project_ideas/smp]]. +[[Project idea|open_issues/smp]]. diff --git a/open_issues/smp.mdwn b/open_issues/smp.mdwn new file mode 100644 index 00000000..a45a1e22 --- /dev/null +++ b/open_issues/smp.mdwn @@ -0,0 +1,39 @@ +[[!meta copyright="Copyright © 2012, 2013 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no 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="SMP"]] + +[[!tag open_issue_glibc open_issue_gnumach open_issue_hurd]] + +See also the [[FAQ entry|faq/smp]]. + + +# IRC, freenode, #hurd, 2012-09-30 + + i expect smp to be our next gsoc project + + +## IRC, freenode, #hurd, 2013-01-02 + + i'd like to mentor someone for adding smp to gnumach + + +## IRC, freenode, #hurd, 2013-03-14 + + but i'm afraid we'll have to fight obscur smp-safety issues + for one, drivers are much probably not smp safe and would require + a big kernel lock + userspace (such as signal delivery in libc) might be affected too + smp isn't that easy + + +## Richard, 2013-03-20 + +This task actually looks too big for a GSoC project. -- cgit v1.2.3 From 7e73314d273969ea29cb35bf1b75b6a84d599beb Mon Sep 17 00:00:00 2001 From: Thomas Schwinge Date: Sat, 13 Apr 2013 11:30:04 +0200 Subject: Document the move from flubber, snubber to darnassus some more. --- colophon.mdwn | 26 +++++++--- public_hurd_boxen/installation.mdwn | 14 +++-- public_hurd_boxen/installation/darnassus.mdwn | 74 ++++++++++++++++++++++++++- 3 files changed, 103 insertions(+), 11 deletions(-) diff --git a/colophon.mdwn b/colophon.mdwn index a9a2952e..2a0dd119 100644 --- a/colophon.mdwn +++ b/colophon.mdwn @@ -1,4 +1,4 @@ -[[!meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009 Free Software +[[!meta copyright="Copyright © 2003, 2004, 2007, 2008, 2009, 2013 Free Software Foundation, Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable @@ -6,16 +6,17 @@ id="license" text="Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no 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]]."]]"""]] -Just like a book, this topic is designed to help describe the tools used to +Just as in a book, this page is designed to help describe the tools used to create this website and what methods were used to give it its look and feel. What we see today is the junction of two different branches: the original static HTML pages and the wiki pages. + # Static HTML Pages In November 2008, the Hurd's old static web pages were merged into the wiki @@ -23,6 +24,7 @@ pages' repository. After a lot of cleansing work, on 2008-11-22 the joined set of pages was made available for serving the official GNU Hurd web appearance at . + # Wiki Pages ## Rev. I @@ -52,6 +54,7 @@ timely fashion anymore. In July 2006, the [slow burial of the Hurd Wiki](http://lists.gnu.org/archive/html/bug-hurd/2006-07/msg00014.html) was announced. + ## Rev. II Considering this [from April 2006 on @@ -60,5 +63,16 @@ already](http://lists.gnu.org/archive/html/web-hurd/2006-04/msg00000.html), on [ikiwiki](http://ikiwiki.info) was finally finished. Read [[about_the_twiki_to_ikiwiki_conversion]]. -This wiki instance is now running distributed over two GNU/Hurd machines, and -is also providing the content of the official GNU Hurd pages. +This wiki instance was running distributed over two GNU/Hurd machines, +[[flubber|public_hurd_boxen]] (Git repository) and +[[snubber|public_hurd_boxen]] (web server), both hosted by Barry deFreese. + +The wiki's content also provides that of the official GNU Hurd pages, +. + + +## Rev. III + +As of early 2013, both flubber and snubber's duties are [[!message-id +"87vc9417dc.fsf@kepler.schwinge.homeip.net" desc="taken over"]] by Richard +Braun's [[darnassus|public_hurd_boxen]]. diff --git a/public_hurd_boxen/installation.mdwn b/public_hurd_boxen/installation.mdwn index 4f612a83..04ab5cd8 100644 --- a/public_hurd_boxen/installation.mdwn +++ b/public_hurd_boxen/installation.mdwn @@ -1,4 +1,5 @@ -[[!meta copyright="Copyright © 2009, 2010 Free Software Foundation, Inc."]] +[[!meta copyright="Copyright © 2009, 2010, 2013 Free Software Foundation, +Inc."]] [[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable id="license" text="Permission is granted to copy, distribute and/or modify this @@ -8,10 +9,12 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -This page documents how installation of a new machine is being done on -[[zenhost]]. +This page documents how installation of some new machines is being done. -This method uses + +# [[zenhost]] + +For those on [[zenhost]], we use *[install_crosshurd](http://git.savannah.gnu.org/cgit/hurd/incubator.git/log/?h=install_crosshurd)*. Another option might be switching to @@ -126,3 +129,6 @@ Steps for *install_crosshurd*: * [[flubber]] * [[snubber]] + + +# [[darnassus]] diff --git a/public_hurd_boxen/installation/darnassus.mdwn b/public_hurd_boxen/installation/darnassus.mdwn index 156e40c2..3beb2c87 100644 --- a/public_hurd_boxen/installation/darnassus.mdwn +++ b/public_hurd_boxen/installation/darnassus.mdwn @@ -8,6 +8,76 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +/!\ Incomplete, but hopefully helpful for future reference. + + +# Packages + + * apache2-mpm-worker + + * ikiwiki libcgi-session-perl libtext-csv-perl libcgi-formbuilder-perl + libauthen-passphrase-perl libnet-openid-consumer-perl + liblwpx-paranoidagent-perl libterm-readline-gnu-perl libgravatar-url-perl + librpc-xml-perl libtext-wikiformat-perl libhighlight-perl perlmagick + graphviz texinfo + + * libemail-send-perl (for my *sendmail vs. ikiwiki* patch) + + * libsearch-xapian-perl xapian-omega (for ikiwiki's search plugin) + + * libyaml-perl libyaml-syck-perl (for ikiwiki's YAML field plugins) + + * gitweb + + sudo ln -s ~hurd-web/hurd-web.git /var/cache/git/ + + * git-daemon-sysvinit + + Enable as per `/usr/share/doc/git-daemon-sysvinit/README.Debian`. Also set + `GIT_DAEMON_OPTIONS=--user-path`, and `GIT_DAEMON_DIRECTORY='/var/cache/git + /home'`. TODO: does not work if `ok_paths` is set, which it is by default. + + +# `~hurd-web/` + + $ mkdir hurd-web.git && GIT_DIR=hurd-web.git git init + + +# `~tschwinge/` + +/!\ TODO. + + $ mkdir tmp/backup && chmod 0733 tmp/backup + + +# `/var/www/robots.txt` + +/!\ TODO. + +This file used to contain: + + User-agent: * + Disallow: /gitweb/ + Disallow: /cgi-bin/ + +... which I've now changed to: + + User-agent: * + Disallow: / + +The goal is that robots rather index the official pages, +, instead of the staging area on +. + + +# Restore Backup + +/!\ TODO. + +## `/etc/apache2/mods-enabled/` + +`rewrite.load`, `userdir.conf`, `userdir.load` + # IRC, freenode, #hurd, 2013-02-09 @@ -167,4 +237,6 @@ License|/fdl]]."]]"""]] history for example just fyi, we can look at this tomorrow braunr: Yes, that'S what I need gitweb for. - braunr: gitweb installed, hurd-web URLs fixed (s%bddebian%darnassus), also some more ikiwiki-related Perl pacakges installed (openID login, for example). + braunr: gitweb installed, hurd-web URLs fixed + (s%bddebian%darnassus), also some more ikiwiki-related Perl pacakges + installed (openID login, for example). -- cgit v1.2.3