From b43ea6ca9b24067ee5d4775383a09c46233119df Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 17 Mar 2013 13:29:39 +0100 Subject: Categorize FAQs more --- faq/old/old-stuff.mdwn | 30 +++ faq/old/old_faq.txt | 533 +++++++++++++++++++++++++++++++++++++++++++++++ faq/old/old_hurd_faq.txt | 145 +++++++++++++ 3 files changed, 708 insertions(+) create mode 100644 faq/old/old-stuff.mdwn create mode 100644 faq/old/old_faq.txt create mode 100644 faq/old/old_hurd_faq.txt (limited to 'faq/old') diff --git a/faq/old/old-stuff.mdwn b/faq/old/old-stuff.mdwn new file mode 100644 index 00000000..f5be2814 --- /dev/null +++ b/faq/old/old-stuff.mdwn @@ -0,0 +1,30 @@ +In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.) + +If you still have problems, do not hesitate to make use of the [[mailing lists]] or the [[IRC]]. + +* **_You say GNU, don't you mean GNU/Hurd?_** + * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. + +* **_Why can't I get the answers I need from Hurd hackers?_** + * This [document](http://www.catb.org/~esr/faqs/smart-questions.html) may help you understand some developers attitudes and social norms. + +* **_Where are the virtual consoles I use when running Linux?_** + * The userland [[console]] provides it. You could still [use screen](http://www.gnu.org/software/hurd/faq.en.html#q4-6) of course. + +* **_What is a translator?_** + * The official FAQ [answers](http://www.gnu.org/software/hurd/faq.en.html#q4-2) this question by a reference to [hurd-doc-translator](http://www.debian.org/ports/hurd/hurd-doc-translator). + +* **_Where's the sauce?_** + * It's on [Savannah](http://savannah.gnu.org). See also the [GNU Development Resources](http://www.gnu.org/software/devel.html), for more information. + +* **_What is GNU Mach vs. oskit-mach?_** + * There used to be different versions of the Mach microkernel that supported the Hurd that runs on top of it. We currently only use GNU Mach. For more info, see [[Mach]] + +* **_What software is available for GNU?_** + * Most (3/4) packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Notably, [GNOME](http://www.gnome.org), and [KDE](http://www.kde.org) work. See the [[porting/guidelines]] document for some common build problems and their solutions. + * If you can't fetch a package with "apt-get install ", try building it from source: "apt-get source && cd <package\_dir> && debian/rules binary". + * As of March 2013, 78% of Debian packages have been ported on the Hurd. Of course, bug testing is welcome. + +* **_How do I initialize a serial console on the Hurd?_** + * You can try out the Serial Howto at + * For kernel messages, you can append `console=com0` to the kernel command line. diff --git a/faq/old/old_faq.txt b/faq/old/old_faq.txt new file mode 100644 index 00000000..24127462 --- /dev/null +++ b/faq/old/old_faq.txt @@ -0,0 +1,533 @@ +[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008 Free Software +Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + + 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. + +?? Can I use partitions larger than 2GB? + +{ST} Yes. Disk drivers however currently do not support more than 2^32 sectors, i.e. +2TiB. + +?? 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. + +?? Where are ... + +{MB} `dmesg' is not available. You can read `/var/log/dmesg` instead. + +?? Why does the command `df' not work? + +{NHW} It does, you just have to tell it what filesystem to query. E.g. + + # df / + +?? 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 + +?? What programs have been ported? + +{NHW} A lot, take a look at the Debian archive. Many programs, however, +do not necessarily need to be ported; they have just never been +compiled. + +?? 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. + +?? How can I help? + +{ST} Please see the contributing page: +http://www.gnu.org/software/hurd/contributing.html + +? 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 new file mode 100644 index 00000000..4ebe019b --- /dev/null +++ b/faq/old/old_hurd_faq.txt @@ -0,0 +1,145 @@ +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 + + +============================== + +Contents: + +Q0. Where can I get the Unofficial GNU Hurd FAQ? +Q2. Where can I get a copy? +Q3. Why bother writing a new OS when we have Linux and 386/BSD? +Q4. What's all this about Mach 3.0 (and Mach 4.0)? +Q5. Where can I find more information? +Q7. What sort of machines will run Hurd in the future? +Q8. What is the current development status? +Q9. What sort of system would we have if the Hurd was bootable today? + +============================== + +Q0. Where can I get the Unofficial GNU Hurd FAQ? + +The Unofficial Hurd FAQ (what you are reading now) is occasionally +posted to the USENET newsgroup, gnu.misc.discuss. It is also +available from + + http://www.enci.ucalgary.ca/~gord/hurd/hurd-faq.txt (Broken Link ?) + +If you don't have WWW access, you may send mail to me, Gordon +Matzigkeit with a subject line that reads: + + Subject: send hurd-faq + +You should receive a PGP-signed copy of the current version of this +document in a matter of minutes. + + +Q2. Where can I get a copy? + +To put it simply, you can't. It is still under development (by +Michael Bushnell, Roland McGrath and Miles Bader). It is almost, but +not quite, at the point where you can do real work on it. Keep your +fingers crossed. + +Some people have actually bootstrapped it, but the work is not easy, +and the current snapshot won't work until a new multiserver boot +mechanism is made. + +If you *really* want to try it, beware that it is still pre-alpha +code, and that it will likely crash on you. See Trent Fisher's Hurd +pages (under question 5) for the latest information. + + +Q3. Why bother writing a new OS when we have Linux and 386/BSD? + +For one thing, Linux and BSD don't scale well. Hardware designers are +shifting more and more toward multiprocessor machines for performance, +and standard Unix kernels do not provide much multiprocessor support. +The Hurd, on the other hand, runs on top of the Mach 3.0 micro-kernel +[[1]] from CMU. Mach was designed precisely for multiprocessing +machines, so its portability should carry over nicely to the Hurd. + +In addition, 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. + + +Q4. What's all this about Mach 3.0 (and Mach 4.0)? + +As mentioned above, 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. -- cgit v1.2.3 From c60c722ef7ca212431f0f914aa5925d10e7c323e Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 17 Mar 2013 13:44:52 +0100 Subject: merge back old-stuff into plain pages. Reorder items --- faq/+how_many_developers.mdwn | 63 +++++++++++++++++++++++++++++++ faq/+how_many_developers/discussion.mdwn | 65 ++++++++++++++++++++++++++++++++ faq/+release.mdwn | 15 ++++++++ faq/+still_useful.mdwn | 49 ++++++++++++++++++++++++ faq/+translator.mdwn | 3 ++ faq/asking.mdwn | 5 +++ faq/gnu.mdwn | 5 +++ faq/how_many_developers.mdwn | 63 ------------------------------- faq/how_many_developers/discussion.mdwn | 65 -------------------------------- faq/old/old-stuff.mdwn | 30 --------------- faq/release.mdwn | 15 -------- faq/running/df.mdwn | 2 +- faq/running/hurd_console.mdwn | 2 + faq/running/serial_console.mdwn | 4 ++ faq/sauce.mdwn | 3 ++ faq/still_useful.mdwn | 49 ------------------------ faq/support/+drivers.mdwn | 18 +++++++++ faq/support/+software.mdwn | 5 +++ faq/support/how_about_drivers.mdwn | 18 --------- faq/which_microkernel.mdwn | 2 +- 20 files changed, 239 insertions(+), 242 deletions(-) create mode 100644 faq/+how_many_developers.mdwn create mode 100644 faq/+how_many_developers/discussion.mdwn create mode 100644 faq/+release.mdwn create mode 100644 faq/+still_useful.mdwn create mode 100644 faq/+translator.mdwn create mode 100644 faq/asking.mdwn create mode 100644 faq/gnu.mdwn delete mode 100644 faq/how_many_developers.mdwn delete mode 100644 faq/how_many_developers/discussion.mdwn delete mode 100644 faq/old/old-stuff.mdwn delete mode 100644 faq/release.mdwn create mode 100644 faq/running/serial_console.mdwn create mode 100644 faq/sauce.mdwn delete mode 100644 faq/still_useful.mdwn create mode 100644 faq/support/+drivers.mdwn create mode 100644 faq/support/+software.mdwn delete mode 100644 faq/support/how_about_drivers.mdwn (limited to 'faq/old') diff --git a/faq/+how_many_developers.mdwn b/faq/+how_many_developers.mdwn new file mode 100644 index 00000000..a96e0576 --- /dev/null +++ b/faq/+how_many_developers.mdwn @@ -0,0 +1,63 @@ +[[!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/+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/+release.mdwn b/faq/+release.mdwn new file mode 100644 index 00000000..878a476f --- /dev/null +++ b/faq/+release.mdwn @@ -0,0 +1,15 @@ +[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +[[!meta title="When will the Hurd be released?"]] + +Next year. + +Save that, read about the Hurd's [[hurd/status]]. diff --git a/faq/+still_useful.mdwn b/faq/+still_useful.mdwn new file mode 100644 index 00000000..919eb9d4 --- /dev/null +++ b/faq/+still_useful.mdwn @@ -0,0 +1,49 @@ +[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled [[GNU Free Documentation +License|/fdl]]."]]"""]] + +[[!meta title="Why is the Hurd useful?"]] + +What are the advantages with the Hurd over Linux? (In general of course, nothing +in depth) + +> Flexibility for the user: +> +> transparent ftp +> +> $ cd /ftp://ftp.debian.org/debian +> $ ls +> +> personnal 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. diff --git a/faq/+translator.mdwn b/faq/+translator.mdwn new file mode 100644 index 00000000..88b5130f --- /dev/null +++ b/faq/+translator.mdwn @@ -0,0 +1,3 @@ +[[!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/asking.mdwn b/faq/asking.mdwn new file mode 100644 index 00000000..59ec8d08 --- /dev/null +++ b/faq/asking.mdwn @@ -0,0 +1,5 @@ +[[!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/gnu.mdwn b/faq/gnu.mdwn new file mode 100644 index 00000000..e69f7d1d --- /dev/null +++ b/faq/gnu.mdwn @@ -0,0 +1,5 @@ +[[!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 +specific, saying that it is the GNU system running on the Hurd -- to +differentiate it from the GNU system running on Linux, GNU/Linux. diff --git a/faq/how_many_developers.mdwn b/faq/how_many_developers.mdwn deleted file mode 100644 index a96e0576..00000000 --- a/faq/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/how_many_developers/discussion.mdwn b/faq/how_many_developers/discussion.mdwn deleted file mode 100644 index 8e4c487a..00000000 --- a/faq/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/old/old-stuff.mdwn b/faq/old/old-stuff.mdwn deleted file mode 100644 index f5be2814..00000000 --- a/faq/old/old-stuff.mdwn +++ /dev/null @@ -1,30 +0,0 @@ -In addition to the [general FAQ](http://www.gnu.org/software/hurd/docs.html#TOCfaq) there are the following typical newbie questions. (There is an [updated version](http://tuxou.ouvaton.org/hurd/) which is not official yet.) - -If you still have problems, do not hesitate to make use of the [[mailing lists]] or the [[IRC]]. - -* **_You say GNU, don't you mean GNU/Hurd?_** - * Yes and no. GNU refers to the system as a whole, while GNU/Hurd is more specific, saying that it is the GNU system running on the Hurd -- to differentiate it from the GNU system running on Linux, GNU/Linux. - -* **_Why can't I get the answers I need from Hurd hackers?_** - * This [document](http://www.catb.org/~esr/faqs/smart-questions.html) may help you understand some developers attitudes and social norms. - -* **_Where are the virtual consoles I use when running Linux?_** - * The userland [[console]] provides it. You could still [use screen](http://www.gnu.org/software/hurd/faq.en.html#q4-6) of course. - -* **_What is a translator?_** - * The official FAQ [answers](http://www.gnu.org/software/hurd/faq.en.html#q4-2) this question by a reference to [hurd-doc-translator](http://www.debian.org/ports/hurd/hurd-doc-translator). - -* **_Where's the sauce?_** - * It's on [Savannah](http://savannah.gnu.org). See also the [GNU Development Resources](http://www.gnu.org/software/devel.html), for more information. - -* **_What is GNU Mach vs. oskit-mach?_** - * There used to be different versions of the Mach microkernel that supported the Hurd that runs on top of it. We currently only use GNU Mach. For more info, see [[Mach]] - -* **_What software is available for GNU?_** - * Most (3/4) packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Notably, [GNOME](http://www.gnome.org), and [KDE](http://www.kde.org) work. See the [[porting/guidelines]] document for some common build problems and their solutions. - * If you can't fetch a package with "apt-get install ", try building it from source: "apt-get source && cd <package\_dir> && debian/rules binary". - * As of March 2013, 78% of Debian packages have been ported on the Hurd. Of course, bug testing is welcome. - -* **_How do I initialize a serial console on the Hurd?_** - * You can try out the Serial Howto at - * For kernel messages, you can append `console=com0` to the kernel command line. diff --git a/faq/release.mdwn b/faq/release.mdwn deleted file mode 100644 index 878a476f..00000000 --- a/faq/release.mdwn +++ /dev/null @@ -1,15 +0,0 @@ -[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]] - -[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable -id="license" text="Permission is granted to copy, distribute and/or modify this -document under the terms of the GNU Free Documentation License, Version 1.2 or -any later version published by the Free Software Foundation; with no Invariant -Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license -is included in the section entitled -[[GNU Free Documentation License|/fdl]]."]]"""]] - -[[!meta title="When will the Hurd be released?"]] - -Next year. - -Save that, read about the Hurd's [[hurd/status]]. diff --git a/faq/running/df.mdwn b/faq/running/df.mdwn index 51de2b6c..0e25ad66 100644 --- a/faq/running/df.mdwn +++ b/faq/running/df.mdwn @@ -8,7 +8,7 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -[[!meta title="Why doesn't df work?"]] +[[!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 diff --git a/faq/running/hurd_console.mdwn b/faq/running/hurd_console.mdwn index cb2de2c0..f55e30d2 100644 --- a/faq/running/hurd_console.mdwn +++ b/faq/running/hurd_console.mdwn @@ -9,5 +9,7 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] +[[!meta title="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/serial_console.mdwn b/faq/running/serial_console.mdwn new file mode 100644 index 00000000..129ac7f3 --- /dev/null +++ b/faq/running/serial_console.mdwn @@ -0,0 +1,4 @@ +[[!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/sauce.mdwn b/faq/sauce.mdwn new file mode 100644 index 00000000..16f19f7c --- /dev/null +++ b/faq/sauce.mdwn @@ -0,0 +1,3 @@ +[[!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/still_useful.mdwn b/faq/still_useful.mdwn deleted file mode 100644 index 919eb9d4..00000000 --- a/faq/still_useful.mdwn +++ /dev/null @@ -1,49 +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]]."]]"""]] - -[[!meta title="Why is the Hurd useful?"]] - -What are the advantages with the Hurd over Linux? (In general of course, nothing -in depth) - -> Flexibility for the user: -> -> transparent ftp -> -> $ cd /ftp://ftp.debian.org/debian -> $ ls -> -> personnal 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. diff --git a/faq/support/+drivers.mdwn b/faq/support/+drivers.mdwn new file mode 100644 index 00000000..974fb612 --- /dev/null +++ b/faq/support/+drivers.mdwn @@ -0,0 +1,18 @@ +[[!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. diff --git a/faq/support/+software.mdwn b/faq/support/+software.mdwn new file mode 100644 index 00000000..4726147c --- /dev/null +++ b/faq/support/+software.mdwn @@ -0,0 +1,5 @@ +[[!meta title="What software is available for GNU?"]] + + * Most (3/4) packages from [Debian](http://www.debian.org/) [GNU/Linux](http://www.gnu.org/gnu/linux-and-gnu.html) which aren't linux-specific ([Packages That Won't Be Ported](http://www.debian.org/ports/hurd/hurd-devel-debian)) are expected to work on GNU/Hurd too. See the database in . Notably, [GNOME](http://www.gnome.org), and [KDE](http://www.kde.org) work. See the [[porting/guidelines]] document for some common build problems and their solutions. + * If you can't fetch a package with "apt-get install ", try building it from source: "apt-get source && cd <package\_dir> && debian/rules binary". + * As of March 2013, 78% of Debian packages have been ported on the Hurd. Of course, bug testing is welcome. diff --git a/faq/support/how_about_drivers.mdwn b/faq/support/how_about_drivers.mdwn deleted file mode 100644 index 974fb612..00000000 --- a/faq/support/how_about_drivers.mdwn +++ /dev/null @@ -1,18 +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. diff --git a/faq/which_microkernel.mdwn b/faq/which_microkernel.mdwn index 84b661e4..3ceb315c 100644 --- a/faq/which_microkernel.mdwn +++ b/faq/which_microkernel.mdwn @@ -8,7 +8,7 @@ Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled [[GNU Free Documentation License|/fdl]]."]]"""]] -[[!meta title="What happened with the Hurd ports to the L4 / Coyotos / Viengoos +[[!meta title="What happened with the Hurd ports to the OSKit Mach / L4 / Coyotos / Viengoos microkernels?"]] -- cgit v1.2.3 From 9d656bbe8f5fb2c3b9151da548f32ff12ae3f54a Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 17 Mar 2013 14:13:01 +0100 Subject: move more old stuff to current --- faq/0-still_useful.mdwn | 16 +++++++-- faq/old/old_faq.txt | 26 -------------- faq/old/old_hurd_faq.txt | 63 ---------------------------------- faq/support/2_gib_partition_limit.mdwn | 2 ++ 4 files changed, 15 insertions(+), 92 deletions(-) (limited to 'faq/old') diff --git a/faq/0-still_useful.mdwn b/faq/0-still_useful.mdwn index d98f98ed..96ea6f32 100644 --- a/faq/0-still_useful.mdwn +++ b/faq/0-still_useful.mdwn @@ -8,10 +8,20 @@ Sections, no 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 the Hurd useful?"]] +[[!meta title="What are the advantages with the Hurd over Linux/BSD?"]] -What are the advantages with the Hurd over Linux? (In general of course, nothing -in depth) +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: > diff --git a/faq/old/old_faq.txt b/faq/old/old_faq.txt index 24127462..f6a4204b 100644 --- a/faq/old/old_faq.txt +++ b/faq/old/old_faq.txt @@ -85,11 +85,6 @@ 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. -?? Can I use partitions larger than 2GB? - -{ST} Yes. Disk drivers however currently do not support more than 2^32 sectors, i.e. -2TiB. - ?? How much swap do I need? {ST} The usual rule of thumb applies: the same amount as RAM, for instance. @@ -269,16 +264,6 @@ 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. -?? Where are ... - -{MB} `dmesg' is not available. You can read `/var/log/dmesg` instead. - -?? Why does the command `df' not work? - -{NHW} It does, you just have to tell it what filesystem to query. E.g. - - # df / - ?? Why are my translators dying? {NHW} Try passing the `-ap' flag to settrans. By default, settrans only @@ -364,12 +349,6 @@ reboot the system. ? Porting -?? What programs have been ported? - -{NHW} A lot, take a look at the Debian archive. Many programs, however, -do not necessarily need to be ported; they have just never been -compiled. - ?? Is porting easy? {NHW} Porting applications to GNU/Hurd is relatively easy assuming the @@ -382,11 +361,6 @@ 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. -?? How can I help? - -{ST} Please see the contributing page: -http://www.gnu.org/software/hurd/contributing.html - ? Compiling ?? Where can I get the source? diff --git a/faq/old/old_hurd_faq.txt b/faq/old/old_hurd_faq.txt index 4ebe019b..20b4c260 100644 --- a/faq/old/old_hurd_faq.txt +++ b/faq/old/old_hurd_faq.txt @@ -16,73 +16,10 @@ Original Document by: Derek Upham Contents: -Q0. Where can I get the Unofficial GNU Hurd FAQ? -Q2. Where can I get a copy? -Q3. Why bother writing a new OS when we have Linux and 386/BSD? Q4. What's all this about Mach 3.0 (and Mach 4.0)? -Q5. Where can I find more information? -Q7. What sort of machines will run Hurd in the future? -Q8. What is the current development status? -Q9. What sort of system would we have if the Hurd was bootable today? ============================== -Q0. Where can I get the Unofficial GNU Hurd FAQ? - -The Unofficial Hurd FAQ (what you are reading now) is occasionally -posted to the USENET newsgroup, gnu.misc.discuss. It is also -available from - - http://www.enci.ucalgary.ca/~gord/hurd/hurd-faq.txt (Broken Link ?) - -If you don't have WWW access, you may send mail to me, Gordon -Matzigkeit with a subject line that reads: - - Subject: send hurd-faq - -You should receive a PGP-signed copy of the current version of this -document in a matter of minutes. - - -Q2. Where can I get a copy? - -To put it simply, you can't. It is still under development (by -Michael Bushnell, Roland McGrath and Miles Bader). It is almost, but -not quite, at the point where you can do real work on it. Keep your -fingers crossed. - -Some people have actually bootstrapped it, but the work is not easy, -and the current snapshot won't work until a new multiserver boot -mechanism is made. - -If you *really* want to try it, beware that it is still pre-alpha -code, and that it will likely crash on you. See Trent Fisher's Hurd -pages (under question 5) for the latest information. - - -Q3. Why bother writing a new OS when we have Linux and 386/BSD? - -For one thing, Linux and BSD don't scale well. Hardware designers are -shifting more and more toward multiprocessor machines for performance, -and standard Unix kernels do not provide much multiprocessor support. -The Hurd, on the other hand, runs on top of the Mach 3.0 micro-kernel -[[1]] from CMU. Mach was designed precisely for multiprocessing -machines, so its portability should carry over nicely to the Hurd. - -In addition, 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. - - Q4. What's all this about Mach 3.0 (and Mach 4.0)? As mentioned above, Mach is a micro-kernel, written at Carnegie Mellon diff --git a/faq/support/2_gib_partition_limit.mdwn b/faq/support/2_gib_partition_limit.mdwn index 726605f9..3315cc08 100644 --- a/faq/support/2_gib_partition_limit.mdwn +++ b/faq/support/2_gib_partition_limit.mdwn @@ -11,3 +11,5 @@ is included in the section entitled [[!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. -- cgit v1.2.3 From 37af1117a703d9b8ed3056bf24319988b640aea5 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 17 Mar 2013 14:14:54 +0100 Subject: Drop useless index --- faq/old/old_hurd_faq.txt | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) (limited to 'faq/old') diff --git a/faq/old/old_hurd_faq.txt b/faq/old/old_hurd_faq.txt index 20b4c260..20ce61a9 100644 --- a/faq/old/old_hurd_faq.txt +++ b/faq/old/old_hurd_faq.txt @@ -12,17 +12,7 @@ Louis-Dominique Dubeau Original Document by: Derek Upham -============================== - -Contents: - -Q4. What's all this about Mach 3.0 (and Mach 4.0)? - -============================== - -Q4. What's all this about Mach 3.0 (and Mach 4.0)? - -As mentioned above, Mach is a micro-kernel, written at Carnegie Mellon +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, -- cgit v1.2.3