summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/gsoc/project_ideas.mdwn10
-rw-r--r--community/gsoc/project_ideas/gnat.mdwn32
-rw-r--r--community/gsoc/project_ideas/language_bindings.mdwn14
-rw-r--r--community/gsoc/project_ideas/object_lookups.mdwn42
-rw-r--r--community/gsoc/project_ideas/package_manager.mdwn20
-rw-r--r--community/gsoc/project_ideas/pthreads.mdwn49
-rw-r--r--community/gsoc/project_ideas/unionfs_boot.mdwn6
-rw-r--r--faq.mdwn69
-rw-r--r--faq/0-how_many_developers.mdwn (renamed from faq/how_many_developers.mdwn)0
-rw-r--r--faq/0-how_many_developers/discussion.mdwn (renamed from faq/how_many_developers/discussion.mdwn)0
-rw-r--r--faq/0-release.mdwn (renamed from hurd/faq/release.mdwn)8
-rw-r--r--faq/0-still_useful.mdwn (renamed from hurd/faq/still_useful.mdwn)32
-rw-r--r--faq/0-translator.mdwn14
-rw-r--r--faq/asking.mdwn16
-rw-r--r--faq/debian/apt_umount.mdwn (renamed from hurd/running/debian/faq/apt_umount.mdwn)0
-rw-r--r--faq/debian/other_repositories.mdwn (renamed from hurd/running/debian/faq/other_repositories.mdwn)0
-rw-r--r--faq/dev/debugging_inside_glibc.mdwn (renamed from hurd/running/debian/faq/debugging_inside_glibc.mdwn)8
-rw-r--r--faq/dev/debugging_translators.mdwn (renamed from hurd/running/debian/faq/debugging_translators.mdwn)17
-rw-r--r--faq/ghamp.mdwn4
-rw-r--r--faq/gnu.mdwn16
-rw-r--r--faq/help.mdwn (renamed from hurd/running/debian/faq/free_memory.mdwn)10
-rw-r--r--faq/how_to_switch_microkernels.mdwn (renamed from hurd/faq/how_to_switch_microkernels.mdwn)0
-rw-r--r--faq/issues/bad_hypermeta_data.mdwn (renamed from hurd/running/debian/faq/bad_hypermeta_data.mdwn)0
-rw-r--r--faq/issues/eata.mdwn (renamed from hurd/running/debian/faq/eata.mdwn)4
-rw-r--r--faq/issues/fd.mdwn (renamed from hurd/faq/how_about_drivers.mdwn)13
-rw-r--r--faq/issues/got_a_db_prompt.mdwn34
-rw-r--r--faq/issues/native-install_doesnt_finish.mdwn (renamed from hurd/running/faq/native-install_doesnt_finish.mdwn)0
-rw-r--r--faq/old/old_faq.txt (renamed from hurd/faq/old_faq.txt)107
-rw-r--r--faq/old/old_hurd_faq.txt83
-rw-r--r--faq/reporting_bugs.mdwn (renamed from hurd/running/debian/faq/reporting_bugs.mdwn)0
-rw-r--r--faq/running/df.mdwn (renamed from hurd/running/debian/faq/df.mdwn)9
-rw-r--r--faq/running/hurd_console.mdwn15
-rw-r--r--faq/running/kernel_logs.mdwn (renamed from hurd/faq.mdwn)20
-rw-r--r--faq/running/off.mdwn (renamed from hurd/faq/off.mdwn)18
-rw-r--r--faq/running/ps_hangs.mdwn (renamed from hurd/running/debian/faq/ps_hangs.mdwn)9
-rw-r--r--faq/running/serial_console.mdwn15
-rw-r--r--faq/running/slash_usr_symlink.mdwn (renamed from hurd/faq/slash_usr_symlink.mdwn)10
-rw-r--r--faq/running/slash_usr_symlink/discussion.mdwn (renamed from hurd/faq/slash_usr_symlink/discussion.mdwn)0
-rw-r--r--faq/running/xserver-common.mdwn (renamed from hurd/running/debian/faq.mdwn)21
-rw-r--r--faq/sauce.mdwn14
-rw-r--r--faq/slow.mdwn28
-rw-r--r--faq/support/0-drivers.mdwn24
-rw-r--r--faq/support/0-software.mdwn26
-rw-r--r--faq/support/2_gib_partition_limit.mdwn (renamed from hurd/running/faq.mdwn)14
-rw-r--r--faq/support/64-bit.mdwn16
-rw-r--r--faq/support/binary_compatibility.mdwn (renamed from faq/binary_compatibility.mdwn)0
-rw-r--r--faq/support/fuse_support.mdwn13
-rw-r--r--faq/support/network_transparency.mdwn (renamed from faq/network_transparency.mdwn)0
-rw-r--r--faq/support/posix_compatibility.mdwn (renamed from faq/posix_compatibility.mdwn)0
-rw-r--r--faq/support/posix_compatibility/discussion.mdwn (renamed from faq/posix_compatibility/discussion.mdwn)0
-rw-r--r--faq/support/ram_limit.mdwn (renamed from hurd/running/debian/faq/512_mib_ram_limit.mdwn)17
-rw-r--r--faq/support/sata_disk_drives.mdwn17
-rw-r--r--faq/support/sharing_the_user_space.mdwn (renamed from faq/sharing_the_user_space.mdwn)13
-rw-r--r--faq/support/smp.mdwn (renamed from faq/smp.mdwn)0
-rw-r--r--faq/support/system_port.mdwn (renamed from faq/system_port.mdwn)0
-rw-r--r--faq/which_microkernel.mdwn5
-rw-r--r--faq_all.mdwn82
-rw-r--r--glibc/debugging/ld_so_console.mdwn4
-rw-r--r--hurd.mdwn6
-rw-r--r--hurd/building.mdwn13
-rw-r--r--hurd/debugging/rpctrace.mdwn5
-rw-r--r--hurd/faq/old-stuff.mdwn37
-rw-r--r--hurd/faq/old_hurd_faq.txt289
-rw-r--r--hurd/libchannel.mdwn8
-rw-r--r--hurd/libfuse.mdwn34
-rw-r--r--hurd/libthreads.mdwn7
-rw-r--r--hurd/running/debian.mdwn2
-rw-r--r--hurd/running/debian/after_install.mdwn2
-rw-r--r--hurd/running/debian/faq/dev_random.mdwn17
-rw-r--r--hurd/running/debian/faq/hurd_console.mdwn12
-rw-r--r--hurd/running/debian/faq/kernel_logs.mdwn13
-rw-r--r--hurd/running/debian/faq/sata_disk_drives.mdwn11
-rw-r--r--hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn20
-rw-r--r--hurd/running/debian/qemu_image.mdwn5
-rw-r--r--hurd/translator.mdwn18
-rw-r--r--hurd/translator/cvsfs.mdwn21
-rw-r--r--hurd/translator/examples.mdwn24
-rw-r--r--hurd/translator/ext2fs.mdwn2
-rw-r--r--hurd/translator/ext2fs/page_cache.mdwn6
-rw-r--r--hurd/translator/fatfs.mdwn4
-rw-r--r--hurd/translator/gopherfs.mdwn4
-rw-r--r--hurd/translator/hello.mdwn8
-rw-r--r--hurd/translator/mboxfs.mdwn15
-rw-r--r--hurd/translator/netio.mdwn4
-rw-r--r--hurd/translator/nfs.mdwn4
-rw-r--r--hurd/translator/pfinet/ipv6.mdwn19
-rw-r--r--hurd/translator/procfs.mdwn3
-rw-r--r--hurd/translator/smbfs.mdwn (renamed from hurd/running/debian/faq/2_gib_partition_limit.mdwn)13
-rw-r--r--hurd/translator/tarfs.mdwn2
-rw-r--r--hurd/translator/tmpfs.mdwn9
-rw-r--r--hurd/translator/tmpfs/discussion.mdwn8
-rw-r--r--hurd/translator/unionfs.mdwn13
-rw-r--r--hurd/translator/wishlist.mdwn316
-rw-r--r--hurd/translator/wishlist_1.mdwn129
-rw-r--r--hurd/translator/wishlist_2.mdwn201
-rw-r--r--hurd/translator/xmlfs.mdwn12
-rw-r--r--lttng.mdwn11
-rw-r--r--microkernel/mach/gnumach/boot_trace.mdwn4
-rw-r--r--microkernel/mach/gnumach/interface/device.mdwn (renamed from hurd/running/debian/faq/xserver-common.mdwn)14
-rw-r--r--microkernel/mach/gnumach/interface/device/time.mdwn18
-rw-r--r--news/2010-09.mdwn4
-rw-r--r--open_issues/address_space_memory_mapping_entries.mdwn4
-rw-r--r--open_issues/alarm_setitimer.mdwn1
-rw-r--r--open_issues/anatomy_of_a_hurd_system.mdwn3
-rw-r--r--open_issues/benefits_of_a_native_hurd_implementation.mdwn9
-rw-r--r--open_issues/clock_gettime.mdwn7
-rw-r--r--open_issues/dde.mdwn5
-rw-r--r--open_issues/debugging.mdwn5
-rw-r--r--open_issues/file_system_exerciser.mdwn14
-rw-r--r--open_issues/gcc.mdwn26
-rw-r--r--open_issues/gdb.mdwn23
-rw-r--r--open_issues/glibc.mdwn3
-rw-r--r--open_issues/glibc_madvise_vs_static_linking.mdwn5
-rw-r--r--open_issues/gnat.mdwn8
-rw-r--r--open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.mdwn43
-rw-r--r--open_issues/implementing_hurd_on_top_of_another_system.mdwn7
-rw-r--r--open_issues/latrace.mdwn7
-rw-r--r--open_issues/libpthread.mdwn8
-rw-r--r--open_issues/libpthread_CLOCK_MONOTONIC.mdwn5
-rw-r--r--open_issues/llvm.mdwn91
-rw-r--r--open_issues/ltrace.mdwn12
-rw-r--r--open_issues/multiprocessing.mdwn9
-rw-r--r--open_issues/performance/io_system/read-ahead.mdwn6
-rw-r--r--open_issues/profiling.mdwn9
-rw-r--r--open_issues/time.mdwn83
-rw-r--r--open_issues/vdso.mdwn48
-rw-r--r--open_issues/vfat_test_suite.mdwn20
-rw-r--r--open_issues/visudo.mdwn22
-rw-r--r--sandbox.mdwn2
-rw-r--r--shortcuts.mdwn2
-rw-r--r--sidebar.mdwn5
-rw-r--r--source_repositories/incubator.mdwn36
-rw-r--r--system_call.mdwn3
m---------toolchain/logs10
-rw-r--r--unsorted/GNUstep.mdwn64
-rw-r--r--unsorted/KernelCousinDebianHurd.mdwn3
-rw-r--r--unsorted/PosixThreads.mdwn21
-rw-r--r--unsorted/changelogs.html107
-rw-r--r--user/musial.mdwn8
139 files changed, 1611 insertions, 1498 deletions
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index e3d2700d..5a274cc5 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012 Free Software
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -78,16 +78,17 @@ See also the list of [Hurd-related X.Org project
ideas](http://xorg.freedesktop.org/wiki/Hurd_Porting).
<!-- Olaf, wouldn't it make sense to put the following tasks next to each
-other: language_bindings, gnat, gccgo, perl_python. -->
+other: language_bindings, gccgo, perl_python. -->
[[!inline pages="community/gsoc/project_ideas/language_bindings" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/virtualization" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/file_locking" show=0 feeds=no actions=yes]]
+[[!inline pages="community/gsoc/project_ideas/object_lookups" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/server_overriding" 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/pthreads" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/smp" show=0 feeds=no actions=yes]]
+<!-- Richard, This task actually looks too big for a GSoC project.
+[[!inline pages="community/gsoc/project_ideas/smp" 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]]
@@ -100,7 +101,6 @@ other: language_bindings, gnat, gccgo, perl_python. -->
[[!inline pages="community/gsoc/project_ideas/package_manager" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/download_backends" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/maxpath" show=0 feeds=no actions=yes]]
-[[!inline pages="community/gsoc/project_ideas/gnat" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/gccgo" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/hardware_libs" show=0 feeds=no actions=yes]]
[[!inline pages="community/gsoc/project_ideas/cdparanoia" show=0 feeds=no actions=yes]]
diff --git a/community/gsoc/project_ideas/gnat.mdwn b/community/gsoc/project_ideas/gnat.mdwn
deleted file mode 100644
index ba34cc9c..00000000
--- a/community/gsoc/project_ideas/gnat.mdwn
+++ /dev/null
@@ -1,32 +0,0 @@
-[[!meta copyright="Copyright © 2009, 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]]."]]"""]]
-
-[[!meta title="Porting GNAT (GCC)"]]
-
-An initial port of the GNU Ada Translator (GNAT) is available for the Hurd.
-
-The goal of this project is getting GNAT fully working in Debian GNU/Hurd. It
-requires implementing some explicitly system-specific stuff in GNAT (mostly in
-its runtime libraries), and for that also address a number of issues in Hurd
-and other libraries. Knowledge of Ada is a must; some Hurd
-knowledge will have to be acquired while working on the project.
-
-Designing and implementing [[language_bindings]] is a follow-up project.
-
-Possible mentors: [[Samuel Thibault (youpi)|samuelthibault]], [[Thomas Schwinge
-(tschwinge)|tschwinge]].
-
-Exercise: Fix one of the known issues of GNAT on the Hurd.
-
----
-
-[[Open Issue page|open_issues/gnat]]. [Entry in the GCC
-wiki](http://gcc.gnu.org/wiki/SummerOfCode#gnat_hurd).
diff --git a/community/gsoc/project_ideas/language_bindings.mdwn b/community/gsoc/project_ideas/language_bindings.mdwn
index d9a426be..61a3fa01 100644
--- a/community/gsoc/project_ideas/language_bindings.mdwn
+++ b/community/gsoc/project_ideas/language_bindings.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012 Free Software
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -47,18 +47,6 @@ In his [[2011 GSoC project|2011]], Jérémie Koenig designed and began
implementing an object-oriented interface; see his [[Java status
page|user/jkoenig/java]] for details.
-There is another possible reason for preferring lower-level bindings:
-Presently, the Hurd server libraries use the cthreads threading library, which
-predates the pthread standard prevalent today. There is a
-[[pthread library for the Hurd|libpthread]]
-as well, but it's not possible to use both cthreads and pthreads in
-the same executable. Thus, until
-[[porting_the_Hurd_libraries_to_pthreads|community/gsoc/project_ideas/pthreads]]
-is finished, implementing bindings for any language that uses pthreads (in the
-runtime environment or the actual programs) is only possible when not using the
-standard Hurd server libraries at all -- i.e. when binding at MIG stub level or
-interface definition level.
-
The task is to create easy to use Hurd bindings for a language of the student's
choice, and some example servers to prove that it works well in practice. This
project will require gaining a very good understanding of the various Hurd
diff --git a/community/gsoc/project_ideas/object_lookups.mdwn b/community/gsoc/project_ideas/object_lookups.mdwn
new file mode 100644
index 00000000..5075f783
--- /dev/null
+++ b/community/gsoc/project_ideas/object_lookups.mdwn
@@ -0,0 +1,42 @@
+[[!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="Improved System Object Lookups"]]
+
+The Hurd currently uses its ihash library ([[hurd/libihash]]) as a generic
+container for various objects. While it does its job, it has been reported
+to suffer from high collision rates. In addition, the "one size fits all"
+approach contributes to slow things down. One particular use case is looking
+up an object from a Mach port name, which basically translates to getting the
+file or socket associated with a file descriptor in traditional Unix systems.
+It's particular because there are actually two lookups for each object, the
+first being finding the Mach port from a client port name, which is done in
+the GNU Mach kernel, and the second being finding the server object from a
+server port name. The best strategy would probably be to directly associate
+the address of an object to the receive right of its port, eliminating the
+need to look up again, but this is quite an intrusive change in the code base.
+For the time being, optimizing lookups would already be an improvement.
+
+The goal of this project is to increase system performance by speeding up
+object lookups, with a particular focus on name-to-object lookups. Note that
+there is little room for improvement in the kernel name-to-port lookups because
+of the various optimizations IPC has received in the past. Looking up server
+objects from port names could use an algorithm highly tuned for this task,
+perhaps with better locking (shared/exclusive instead of always mutually
+exclusive for example). Then, the libihash algorithm could be replaced with a
+better one, not necessarily a hash based one, to improve all the other users.
+
+This task requires proper knowledge of data structure algorithms, taking into
+account machine properties such as processor caches, as well as the appropriate
+skills in C and assembly to check the generated code. Being able to perform
+accurate measurements in a system that lacks modern profiling tools would also
+be helpful.
+
+Possible mentors: Richard Braun
diff --git a/community/gsoc/project_ideas/package_manager.mdwn b/community/gsoc/project_ideas/package_manager.mdwn
index 23304f6b..d80efe37 100644
--- a/community/gsoc/project_ideas/package_manager.mdwn
+++ b/community/gsoc/project_ideas/package_manager.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -36,15 +36,19 @@ sum of packages installed at a certain moment; it doesn't matter how this state
came about. There are no global databases of any kind. (Some things might
require caching for better performance, but this must happen transparently.)
-The core of this approach is formed by [[hurd/translator/stowfs]], which
-creates a traditional Unix directory structure from all the files in the
-individual package directories. But this only handles the lowest level of
-package management. Additional mechanisms are necessary to handle stuff like
-dependencies on other packages.
+The core of this approach is formed by [[hurd/translator/stowfs]].
+[Guix](http://www.gnu.org/software/guix), GNU's package manager,
+installs each package in its own directory. Each user has a
+*profile*, which is the union of some of these packages. On
+GNU/Linux, this union is implemented as a symlink tree; on GNU/Hurd,
+*stowfs* would offer a more elegant solution. Stowfs creates a traditional
+Unix directory structure from all the files in the individual package
+directories. This handles the lowest level of package
+management.
-The goal of this task is to create these mechanisms.
+The goal of this task is to exploit Hurd features in GNU Guix.
-Possible mentors: Ben Asselstine (bing)
+Possible mentors: Ludovic Courtès, Ben Asselstine (bing)
Exercise: Make some improvement to any of the existing Hurd translators.
Especially those in [hurdextras](http://www.nongnu.org/hurdextras/) are often
diff --git a/community/gsoc/project_ideas/pthreads.mdwn b/community/gsoc/project_ideas/pthreads.mdwn
deleted file mode 100644
index 2270c774..00000000
--- a/community/gsoc/project_ideas/pthreads.mdwn
+++ /dev/null
@@ -1,49 +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="Convert Hurd Libraries and Servers to pthreads"]]
-
-[[!tag open_issue_libpthread]]
-
-The Hurd was originally created at a time when the [pthreads
-standard](http://www.opengroup.org/onlinepubs/009695399/basedefs/pthread.h.html)
-didn't exist yet. Thus all Hurd servers and libraries are using the old
-[[cthreads|hurd/libcthreads]] package that came with [[microkernel/Mach]],
-which is not compatible with pthreads.
-
-Not only does that mean that people hacking on Hurd internals have to deal with
-a non-standard thread package, which nobody is familiar with. Although a
-[[pthreads implementation for the Hurd|libpthread]]
-was created in the meantime, it's not
-possible to use both cthreads and pthreads in the same program. Consequently,
-pthreads can't presently be used in any Hurd servers -- including translators.
-
-(Thus it's impossible to use the [Hurd
-libfuse](http://www.nongnu.org/hurdextras/#libfuse) with any FUSE modules
-depending on pthreads for example.)
-
-Most of the conversion has already been done in previous efforts (see
-[[!GNU_Savannah_task 5487]]) -- but the tricky parts are still missing.
-
-The goal of this project is to have all the Hurd code use pthreads. Should any
-limitations in the existing pthreads implementation turn up that hinder this
-transition, they will have to be fixed as well.
-
-This project requires relatively little Hurd-specific knowledge. Experience
-with multithreaded programming in general and pthreads in particular is
-required, though.
-
-Possible mentors: Barry deFreese (bddebian), Samuel Thibault (youpi)
-
-Exercise: Try to fix one of the outstanding issues with the work done so far.
-It's not yet complete, and there hasn't been much debugging yet, so it should
-not be too hard to find something needing improvement -- but if you don't see
-anything obvious, feel free to talk to us about an alternative exercise task.
diff --git a/community/gsoc/project_ideas/unionfs_boot.mdwn b/community/gsoc/project_ideas/unionfs_boot.mdwn
index d9f1a9e1..13cc6cd1 100644
--- a/community/gsoc/project_ideas/unionfs_boot.mdwn
+++ b/community/gsoc/project_ideas/unionfs_boot.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -19,12 +19,12 @@ software packages, GNU/Linux distributions usually come with a package manager,
which keeps track of all files upon installation/removal in some kind of
central database.
-An alternative approach is the one implemented by GNU Stow: each package is
+An alternative approach is the one implemented by GNU Stow and GNU Guix: each package is
actually installed in a private directory tree. The actual standard directory
structure is then created by collecting the individual files from all the
packages, and presenting them in the common `/bin`, `/lib`, etc. locations.
-While the normal Stow package (for traditional UNIX systems) uses symlinks to
+While the normal Stow or Guix package (for traditional UNIX systems) uses symlinks to
the actual files, updated on installation/deinstallation events, the Hurd
[[hurd/translator]] mechanism allows a much more elegant solution:
[[hurd/translator/stowfs]] (which is actually a special mode of
diff --git a/faq.mdwn b/faq.mdwn
index 9167ede6..678ce428 100644
--- a/faq.mdwn
+++ b/faq.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -9,20 +9,67 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
[[!meta title="FAQ"]]
+[[!tag stable_URL]]
-Also see the...
+[[!inline
+pages=none
+show=0
+feeds=no
+actions=yes
+rootpage="faq" postformtext="Add a new item titled:"]]
+
+# Also see the...
* [[microkernel FAQ|microkernel/faq]],
+ * [[this FAQ in just one web page|faq_all]].
- * [[GNU Hurd FAQ|hurd/faq]],
- * [[running GNU Hurd FAQ|hurd/running/faq]],
+# General-discussion FAQs
+
+[[!map
+pages="faq/* and !*/discussion and !*/debian/* and !*/running/* and !*/support/* and !*/issues/* and !*/dev/* and !*/old/*"
+show=title]]
+
+
+# Hardware/Software support FAQs
+
+[[!map
+pages="faq/support/* and !*/discussion"
+show=title]]
+
+
+# Running GNU/Hurd FAQs
+
+[[!map
+pages="faq/running/* and !*/discussion"
+show=title]]
+
+
+# Debian GNU/Hurd FAQs
+
+[[!map
+pages="faq/debian/* and !*/discussion"
+show=title]]
+
+
+# Issues FAQs
+
+[[!map
+pages="faq/issues/* and !*/discussion"
+show=title]]
+
+
+# Development FAQs
+
+[[!map
+pages="faq/dev/* and !*/discussion"
+show=title]]
+
+
+# Old FAQs
+
+[[!map
+pages="faq/old/* and !*/discussion"
+show=title]]
- * [[Debian GNU/Hurd FAQ|hurd/running/debian/faq]].
-[[!inline
-pages="faq/* and !*/discussion"
-show=0
-feeds=no
-actions=yes
-rootpage="faq" postformtext="Add a new item titled:"]]
diff --git a/faq/how_many_developers.mdwn b/faq/0-how_many_developers.mdwn
index a96e0576..a96e0576 100644
--- a/faq/how_many_developers.mdwn
+++ b/faq/0-how_many_developers.mdwn
diff --git a/faq/how_many_developers/discussion.mdwn b/faq/0-how_many_developers/discussion.mdwn
index 8e4c487a..8e4c487a 100644
--- a/faq/how_many_developers/discussion.mdwn
+++ b/faq/0-how_many_developers/discussion.mdwn
diff --git a/hurd/faq/release.mdwn b/faq/0-release.mdwn
index d80c6825..2da7deaa 100644
--- a/hurd/faq/release.mdwn
+++ b/faq/0-release.mdwn
@@ -1,15 +1,15 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+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 [[status]].
+Save that, read about the Hurd's [[hurd/status]].
diff --git a/hurd/faq/still_useful.mdwn b/faq/0-still_useful.mdwn
index bffeaebd..85e3ec43 100644
--- a/hurd/faq/still_useful.mdwn
+++ b/faq/0-still_useful.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!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
@@ -8,17 +9,29 @@ 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]]."]]"""]]
-what are the advantages with the Hurd over Linux, in general of course, nothing
-in depth
+[[!meta title="What are the advantages with the Hurd over Linux/BSD?"]]
-> Flexibility for the user:
+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
>
-> personnal filesystem
+> personal filesystem
>
> $ dd < /dev/zero > myspace.img bs=1M count=1024
> $ mke2fs myspace.img
@@ -30,6 +43,7 @@ in depth
>> 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
@@ -44,3 +58,11 @@ in depth
>>> (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
new file mode 100644
index 00000000..d30b60e9
--- /dev/null
+++ b/faq/0-translator.mdwn
@@ -0,0 +1,14 @@
+[[!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/asking.mdwn b/faq/asking.mdwn
new file mode 100644
index 00000000..73348ce2
--- /dev/null
+++ b/faq/asking.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]]."]]"""]]
+
+[[!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/hurd/running/debian/faq/apt_umount.mdwn b/faq/debian/apt_umount.mdwn
index db0dbfd1..db0dbfd1 100644
--- a/hurd/running/debian/faq/apt_umount.mdwn
+++ b/faq/debian/apt_umount.mdwn
diff --git a/hurd/running/debian/faq/other_repositories.mdwn b/faq/debian/other_repositories.mdwn
index 88781d46..88781d46 100644
--- a/hurd/running/debian/faq/other_repositories.mdwn
+++ b/faq/debian/other_repositories.mdwn
diff --git a/hurd/running/debian/faq/debugging_inside_glibc.mdwn b/faq/dev/debugging_inside_glibc.mdwn
index 91b71d64..63a77a04 100644
--- a/hurd/running/debian/faq/debugging_inside_glibc.mdwn
+++ b/faq/dev/debugging_inside_glibc.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,10 +6,10 @@ 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]]."]]"""]]
-To get [[debugging]] information for glibc, you need to install the
+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
diff --git a/hurd/running/debian/faq/debugging_translators.mdwn b/faq/dev/debugging_translators.mdwn
index b55484e1..a054f2e0 100644
--- a/hurd/running/debian/faq/debugging_translators.mdwn
+++ b/faq/dev/debugging_translators.mdwn
@@ -1,15 +1,20 @@
-[[!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]]."]]"""]]
In order to [[debug|debugging]] translators and being able to step into glibc
-during it, 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
+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/ghamp.mdwn b/faq/ghamp.mdwn
index 16849aff..65b2097f 100644
--- a/faq/ghamp.mdwn
+++ b/faq/ghamp.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -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="GHAMP"]]
+[[!meta title="What is GHAMP?"]]
*GHAMP* is the GNU/Hurd-based Apache, MySQL, PHP solution stack -- analoguous
to GLAMP, which is based on GNU/Linux.
diff --git a/faq/gnu.mdwn b/faq/gnu.mdwn
new file mode 100644
index 00000000..6632d888
--- /dev/null
+++ b/faq/gnu.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]]."]]"""]]
+
+[[!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/hurd/running/debian/faq/free_memory.mdwn b/faq/help.mdwn
index c1c0a83c..9525be12 100644
--- a/hurd/running/debian/faq/free_memory.mdwn
+++ b/faq/help.mdwn
@@ -1,11 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
-Run `vmstat` to see memory and swap usage.
+[[!meta title="How can I help?"]]
+
+Please see the [[contributing page|contributing]].
diff --git a/hurd/faq/how_to_switch_microkernels.mdwn b/faq/how_to_switch_microkernels.mdwn
index 21f7a371..21f7a371 100644
--- a/hurd/faq/how_to_switch_microkernels.mdwn
+++ b/faq/how_to_switch_microkernels.mdwn
diff --git a/hurd/running/debian/faq/bad_hypermeta_data.mdwn b/faq/issues/bad_hypermeta_data.mdwn
index bc960e30..bc960e30 100644
--- a/hurd/running/debian/faq/bad_hypermeta_data.mdwn
+++ b/faq/issues/bad_hypermeta_data.mdwn
diff --git a/hurd/running/debian/faq/eata.mdwn b/faq/issues/eata.mdwn
index fa7dbdec..b9b0565a 100644
--- a/hurd/running/debian/faq/eata.mdwn
+++ b/faq/issues/eata.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -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]]."]]"""]]
+[[!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/hurd/faq/how_about_drivers.mdwn b/faq/issues/fd.mdwn
index 0556fd28..514ab378 100644
--- a/hurd/faq/how_about_drivers.mdwn
+++ b/faq/issues/fd.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+[[!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
@@ -8,10 +8,9 @@ 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?"]]
+[[!meta title="I'm getting I/O eror, dev 02:00, sector 0"]]
-Currently, Mach integrates drivers from Linux 2.0 through some glue code. As
-it's very old, that limits hardware support a lot, of course. We are however
-working on using the DDE toolkit to run linux drivers in userland processes,
-which provides both long-term support for new hardware and safety against driver
-bugs.
+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
new file mode 100644
index 00000000..ad99c515
--- /dev/null
+++ b/faq/issues/got_a_db_prompt.mdwn
@@ -0,0 +1,34 @@
+[[!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/hurd/running/faq/native-install_doesnt_finish.mdwn b/faq/issues/native-install_doesnt_finish.mdwn
index a852e1dd..a852e1dd 100644
--- a/hurd/running/faq/native-install_doesnt_finish.mdwn
+++ b/faq/issues/native-install_doesnt_finish.mdwn
diff --git a/hurd/faq/old_faq.txt b/faq/old/old_faq.txt
index 617d7661..caadb54a 100644
--- a/hurd/faq/old_faq.txt
+++ b/faq/old/old_faq.txt
@@ -1,13 +1,13 @@
-[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008 Free Software
-Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
Frequently Asked Questions about the GNU Hurd
@@ -76,23 +76,18 @@ 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. Both disks
-and partitions are enumerated using zero based arrays. The format is:
-`hd (<disk>, <partition>)'. Thus, `hd (0, 1)' refers to the second
-partition on the first drive detected by the BIOS. As Grub now has tab
+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 (<disk>, <partition>)'. 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?
-
-{MB} No, not currently. The filesystem servers need to be changed to
-not map the whole store into memory, which is not too difficult. For
-large files, some interfaces need to be changed, which is a bit harder
-but still doable.
-
?? How much swap do I need?
-{NHW} Generally, a lot; once you run out, Mach panics. I have at least
-128MB of ram and 256MB of swap on all of machines running GNU/Hurd.
+{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?
@@ -216,18 +211,8 @@ prompt.
?? How do I use non-US keyboard bindings?
-{NHW,FH} Take a look at:
-
- http://www.xs4all.nl/~mgerards/xkb8.tar.gz
-
-If you want a Debian package, you can add to your
-'etc/apt/sources.list'
-
- deb http://debian.duckcorp.org/unstable/binary-hurd-i386/ ./
-
-and then run
-
- apt-get install console-driver-xkb.
+{ST} On Debian Hurd, you can configure the console layout from
+`/etc/default/hurd-console`.
?? How do I enable color on the console?
@@ -238,6 +223,9 @@ terminal to `mach-color'. For instance:
?? 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
@@ -252,18 +240,12 @@ 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).
-?? Why does X not work?
-
-{MB} Try `export LD_LIBRARY_PATH=/usr/X11R6/lib'. This is a linker
-issue. GNU/Hurd expects that `RPATH' is used, however, Debian takes
-certain measures to avoid this. Note that this does not cut it for suid
-binaries because of security implications. We expect to rectify this
-by using `RUNPATH', which is specified in the new ELF standard.
+?? What are these strange pids `0`, `2', `3', `4`, and `5`?
-?? What are these strange pids `2' and `3'?
-
-{MB} Two is the kernel, three is the default pager and four is the root
-filesystem.
+{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?
@@ -282,31 +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} `fdisk' and `dmesg' are not yet ported.
-
-Instead of `free', use `vmstat' and `vminfo'.
-
-For kernel messages, read `/dev/klog' directly. Note, once you read
-this, it is gone forever.
-
-
-?? Is there a `/proc' filesystem?
-
-{MB} No. Maybe there will be an emulation filesystem someday for
-programs that rely it. If you are wondering about the empty `/proc'
-directory, this is a relict from a Debian GNU/Linux package
-(specifically, `base-files').
-
-You can probe for existing hardware devices with the devprobe utility.
-
-?? 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
@@ -392,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
@@ -410,27 +361,20 @@ 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?
-
-{NHW} A effort to compile all of the Debian packages is underway by Jeff
-Bailey. Take a look at:
-
- http://people.debian.org/~jbailey/oasis/group/Debian/index.html
-
-to see what has been done and how you can help.
-
? Compiling
?? Where can I get the source?
{AMS} Instructions on how to download the CVS tree from Savanah are
-avaiable at https://savannah.gnu.org/cvs/?group=hurd
+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
@@ -560,3 +504,4 @@ Answers were given by (in chronological order):
* {OK} Ognyan Kulev <ogi@fmi.uni-sofia.bg>
* {FH} Frédéric Henry <neryel@reveries.info>
* {MM} Manuel Menal <mmenal@hurdfr.org>
+* {ST} Samuel Thibault <samuel.thibault@gnu.org>
diff --git a/faq/old/old_hurd_faq.txt b/faq/old/old_hurd_faq.txt
new file mode 100644
index 00000000..70c93c61
--- /dev/null
+++ b/faq/old/old_hurd_faq.txt
@@ -0,0 +1,83 @@
+[[!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&nbsp;Hurd FAQ, Version 0.13
+
+Contributions by:
+
+Michael I. Bushnell <mib@gnu.org>
+Len Tower <tower@gnu.org>
+Trent Fisher <trent@gnurd.uu.pdx.edu>
+jlr@usoft.spb.su
+Remy Card <Remy.Card@masi.ibp.fr>
+Louis-Dominique Dubeau <hallu@info.polymtl.ca>
+
+Original Document by: Derek Upham <upham@cs.ubc.ca>
+
+
+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/hurd/running/debian/faq/reporting_bugs.mdwn b/faq/reporting_bugs.mdwn
index 40781ab0..40781ab0 100644
--- a/hurd/running/debian/faq/reporting_bugs.mdwn
+++ b/faq/reporting_bugs.mdwn
diff --git a/hurd/running/debian/faq/df.mdwn b/faq/running/df.mdwn
index bbd3a7b9..9987a373 100644
--- a/hurd/running/debian/faq/df.mdwn
+++ b/faq/running/df.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]]."]]"""]]
+
+[[!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
new file mode 100644
index 00000000..f55e30d2
--- /dev/null
+++ b/faq/running/hurd_console.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]]."]]"""]]
+
+[[!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/hurd/faq.mdwn b/faq/running/kernel_logs.mdwn
index 413aaf3f..0c9e05a0 100644
--- a/hurd/faq.mdwn
+++ b/faq/running/kernel_logs.mdwn
@@ -1,20 +1,16 @@
-[[!meta copyright="Copyright © 2008, 2010 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]]."]]"""]]
-[[!meta title="GNU Hurd FAQ"]]
+[[!meta title="dmesg, kernel logs"]]
-See also other [[/FAQ]].
-
-[[!inline
-pages="hurd/faq/* and !*/discussion"
-show=0
-feeds=no
-actions=yes
-rootpage="hurd/faq" postformtext="Add a new item titled:"]]
+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/hurd/faq/off.mdwn b/faq/running/off.mdwn
index 64009101..eb2a6d1c 100644
--- a/hurd/faq/off.mdwn
+++ b/faq/running/off.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -8,18 +8,16 @@ 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 am I supposed to shut my Hurd system down?"]]
+[[!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
+ # shutdown -h now
-will not work. Simply use the equivalent shortcut
+will not work. Simply use the equivalent shortcuts
- $ halt
+ # halt
+ # reboot
-which is provided natively on GNU/Hurd, instead of from SYSV runlevels.
-
-Note that due to a bug,
-we [[recommend you run syncfs|open_issues/sync_but_still_unclean_filesystem]]
-prior to issuing the `halt` command.
+to respectively shutdown and reboot Hurd, provided natively,
+instead of from SYSV runlevels.
diff --git a/hurd/running/debian/faq/ps_hangs.mdwn b/faq/running/ps_hangs.mdwn
index febfeb59..b58a3308 100644
--- a/hurd/running/debian/faq/ps_hangs.mdwn
+++ b/faq/running/ps_hangs.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]]."]]"""]]
-If `ps` hangs, try `ps -M` which might still work by not getting detailed
+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
new file mode 100644
index 00000000..44453ac5
--- /dev/null
+++ b/faq/running/serial_console.mdwn
@@ -0,0 +1,15 @@
+[[!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 <http://www.nongnu.org/thug/serial-howto.txt>
+ * For kernel messages, you can append `console=com0` to the kernel command line.
diff --git a/hurd/faq/slash_usr_symlink.mdwn b/faq/running/slash_usr_symlink.mdwn
index 5c47f4e1..e7d7776a 100644
--- a/hurd/faq/slash_usr_symlink.mdwn
+++ b/faq/running/slash_usr_symlink.mdwn
@@ -1,13 +1,13 @@
-[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008 Free Software
-Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
[[!meta title="Why is `/usr' a symbolic link to `.'?"]]
@@ -17,4 +17,4 @@ 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.
+for union filesystems is [[still in early development|hurd/translator/unionfs]].
diff --git a/hurd/faq/slash_usr_symlink/discussion.mdwn b/faq/running/slash_usr_symlink/discussion.mdwn
index 219e14e4..219e14e4 100644
--- a/hurd/faq/slash_usr_symlink/discussion.mdwn
+++ b/faq/running/slash_usr_symlink/discussion.mdwn
diff --git a/hurd/running/debian/faq.mdwn b/faq/running/xserver-common.mdwn
index 8aaadf9c..68058641 100644
--- a/hurd/running/debian/faq.mdwn
+++ b/faq/running/xserver-common.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2009, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,16 +6,15 @@ id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
-[[!meta title="Debian GNU/Hurd FAQ"]]
+[[!meta title="Normal users can't start X"]]
-See also [[after_install]] instructions, and other [[/FAQ]].
+This happens because currently there is no way to detect console users.
-[[!inline
-pages="hurd/running/debian/faq/* and !*/discussion"
-show=0
-feeds=no
-actions=yes
-rootpage="hurd/running/debian/faq" postformtext="Add a new item titled:"]]
+On Debian GNU/Hurd systems, you need to run
+
+ # dpkg-reconfigure x11-common
+
+and select `Anybody` for starting X.
diff --git a/faq/sauce.mdwn b/faq/sauce.mdwn
new file mode 100644
index 00000000..2306aece
--- /dev/null
+++ b/faq/sauce.mdwn
@@ -0,0 +1,14 @@
+[[!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="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/slow.mdwn b/faq/slow.mdwn
new file mode 100644
index 00000000..cb6c4655
--- /dev/null
+++ b/faq/slow.mdwn
@@ -0,0 +1,28 @@
+[[!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 the Hurd slow?"]]
+
+The Hurd is currently slower than Linux, yes. But not very much, so it is
+completely usable.
+
+Take care when running the Hurd in fully-virtualized machines: virtualization
+software use ugly heuristics to make Linux run faster, which will not work on
+the Hurd (or BSD, etc.) so comparisons in virtualized environments do not really
+hold.
+
+The main reason for slowness is *not* because of the overhead of RPCs. It's
+mostly simply because less care has been done on implementing what makes Linux
+fast: intelligent read-ahead, carefully-tuned page cache, etc.
+
+There is no ground reason this can not be achieved on GNU/Hurd, it has just not
+been a priority until now (first make it work, then make it work fast). We are
+currently working on multi-page pager and read-ahead, which should improve this
+a lot.
diff --git a/faq/support/0-drivers.mdwn b/faq/support/0-drivers.mdwn
new file mode 100644
index 00000000..54b2d744
--- /dev/null
+++ b/faq/support/0-drivers.mdwn
@@ -0,0 +1,24 @@
+[[!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
new file mode 100644
index 00000000..e58e0bd8
--- /dev/null
+++ b/faq/support/0-software.mdwn
@@ -0,0 +1,26 @@
+[[!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/hurd/running/faq.mdwn b/faq/support/2_gib_partition_limit.mdwn
index 2746a20a..3d502a17 100644
--- a/hurd/running/faq.mdwn
+++ b/faq/support/2_gib_partition_limit.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2009, 2010 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
@@ -8,13 +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]]."]]"""]]
-[[!meta title="General FAQ About Running GNU/Hurd"]]
+[[!meta title="Is there still a 2 GiB Partition Limit?"]]
-See also other [[/FAQ]].
+The 2 GiB limit has been removed in Debian GNU/Hurd.
-[[!inline
-pages="hurd/running/faq/* and !*/discussion"
-show=0
-feeds=no
-actions=yes
-rootpage="hurd/running/faq" postformtext="Add a new item titled:"]]
+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
new file mode 100644
index 00000000..ab95d9d0
--- /dev/null
+++ b/faq/support/64-bit.mdwn
@@ -0,0 +1,16 @@
+[[!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/binary_compatibility.mdwn b/faq/support/binary_compatibility.mdwn
index e9dfcdb8..e9dfcdb8 100644
--- a/faq/binary_compatibility.mdwn
+++ b/faq/support/binary_compatibility.mdwn
diff --git a/faq/support/fuse_support.mdwn b/faq/support/fuse_support.mdwn
new file mode 100644
index 00000000..33e877ce
--- /dev/null
+++ b/faq/support/fuse_support.mdwn
@@ -0,0 +1,13 @@
+[[!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/network_transparency.mdwn b/faq/support/network_transparency.mdwn
index aefaf500..aefaf500 100644
--- a/faq/network_transparency.mdwn
+++ b/faq/support/network_transparency.mdwn
diff --git a/faq/posix_compatibility.mdwn b/faq/support/posix_compatibility.mdwn
index 4490b7cb..4490b7cb 100644
--- a/faq/posix_compatibility.mdwn
+++ b/faq/support/posix_compatibility.mdwn
diff --git a/faq/posix_compatibility/discussion.mdwn b/faq/support/posix_compatibility/discussion.mdwn
index 0d722c9e..0d722c9e 100644
--- a/faq/posix_compatibility/discussion.mdwn
+++ b/faq/support/posix_compatibility/discussion.mdwn
diff --git a/hurd/running/debian/faq/512_mib_ram_limit.mdwn b/faq/support/ram_limit.mdwn
index f89a5c01..0fa27c2e 100644
--- a/hurd/running/debian/faq/512_mib_ram_limit.mdwn
+++ b/faq/support/ram_limit.mdwn
@@ -1,19 +1,20 @@
-[[!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]]."]]"""]]
-[[!meta title="512 MiB RAM Limit"]]
+[[!meta title="830 MiB RAM Limit"]]
-Just like any 32bit OS without bad tricks, GNU Mach does not cope well with lots
-of memory. Newer versions of the Debian `gnumach` package will limit themselves
-to around 1 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.
+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
diff --git a/faq/support/sata_disk_drives.mdwn b/faq/support/sata_disk_drives.mdwn
new file mode 100644
index 00000000..69470f10
--- /dev/null
+++ b/faq/support/sata_disk_drives.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]]."]]"""]]
+
+[[!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/sharing_the_user_space.mdwn b/faq/support/sharing_the_user_space.mdwn
index ec880827..2c31c22b 100644
--- a/faq/sharing_the_user_space.mdwn
+++ b/faq/support/sharing_the_user_space.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -8,12 +8,13 @@ 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]]."]]"""]]
-*Question:* Could it be 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?
+[[!meta title="Sharing the userspace between GNU Hurd and the Linux kernel"]]
-*Answer:* Given that both Linux and GNU Hurd are using the [[ELF]] binary
-format, this could indeed be made possible, if all programs agreed to rely on
+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,
diff --git a/faq/smp.mdwn b/faq/support/smp.mdwn
index 04396401..04396401 100644
--- a/faq/smp.mdwn
+++ b/faq/support/smp.mdwn
diff --git a/faq/system_port.mdwn b/faq/support/system_port.mdwn
index c831c36f..c831c36f 100644
--- a/faq/system_port.mdwn
+++ b/faq/support/system_port.mdwn
diff --git a/faq/which_microkernel.mdwn b/faq/which_microkernel.mdwn
index 84b661e4..4c3f0a42 100644
--- a/faq/which_microkernel.mdwn
+++ b/faq/which_microkernel.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2009, 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -8,7 +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="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?"]]
<!-- This page shares some text with history/port_to_another_microkernel. -->
diff --git a/faq_all.mdwn b/faq_all.mdwn
new file mode 100644
index 00000000..d8d99bb7
--- /dev/null
+++ b/faq_all.mdwn
@@ -0,0 +1,82 @@
+[[!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/glibc/debugging/ld_so_console.mdwn b/glibc/debugging/ld_so_console.mdwn
index 286fcd64..4ebea005 100644
--- a/glibc/debugging/ld_so_console.mdwn
+++ b/glibc/debugging/ld_so_console.mdwn
@@ -19,3 +19,7 @@ simple [[dl-sysdep.c.patch]] to get access to the Mach console.
Can this be integrated with the other debugging printf functions from
`elf/dl-misc.c` (`_dl_debug_vdprintf`) ([[!taglink open_issue_glibc]])?
+
+In 2013-01, the [[microkernel/mach/gnumach/interface/syscall/mach_print]]
+[[system_call]] has been added to [[GNU Mach|microkernel/mach/gnumach]].
+It is available when the kernel is built with the in-kernel kdb debugger.
diff --git a/hurd.mdwn b/hurd.mdwn
index 10276325..ed88f09f 100644
--- a/hurd.mdwn
+++ b/hurd.mdwn
@@ -92,9 +92,13 @@ in the *unstable* branch of the Debian archive.
* [[libnetfs]] -- short introductory material
* [[libdiskfs]]
* [[libihash]]
- * [[libthreads]]
* [[libpthread]]
+ * [[libfshelp]]
* [[libps]]
+* In-development Libraries
+ * [[libfuse]]
+* Discontinued Libraries
+ * [[libthreads]]
* [[IO_Path]]
* [[Porting]]
* [[Debugging]]
diff --git a/hurd/building.mdwn b/hurd/building.mdwn
index c0d5648c..623e7c0a 100644
--- a/hurd/building.mdwn
+++ b/hurd/building.mdwn
@@ -28,7 +28,7 @@ git](http://savannah.gnu.org/git/?group=hurd):
$ apt-get source hurd
-Please see the Debian [[running/debian/FAQ]] before using `apt-get source`.
+Please see the Debian [[FAQ]] before using `apt-get source`.
The unpacked source tree is around 20 MiB, and the build tree (configured with
`--disable-profile`) is around 100 MiB.
@@ -54,12 +54,12 @@ package:
Change into the directory with the downloaded / unpacked Hurd sources, e.g.
- $ cd hurd-[TODO]
+ $ cd hurd-VERSION
If you want to work on the sources before building them, it's advisable to
first apply the patches the Debian hurd package additionally contains:
- $ debian/rules apply-patches
+ $ debian/rules patch
Then edit and change whatever files you want and finally start the build
process with
@@ -75,13 +75,14 @@ The Hurd has to be built in a separate directory:
$ mkdir hurd-build
$ cd hurd-build
- $ [...]/hurd-[TODO]/configure --disable-profile
+ $ [...]/hurd-VERSION/configure --disable-profile
$ make
$ make install
Notice that `make install` will install the Hurd in `/`, not in `/usr/local/`
-or `/local/`, so your current Hurd servers will be replaced. [TODO: how to
-install somewhere else.]
+or `/local/`, so your current Hurd servers will be replaced.
+To install to a different location, specify `--prefix=PREFIX` as `configure`
+parameter, e.g. `--prefix=/usr` (as done when having a real `/usr`).
By default profiling versions of all the libraries and code are generated but
this is useless in most of the cases, so we disable them by specifying
diff --git a/hurd/debugging/rpctrace.mdwn b/hurd/debugging/rpctrace.mdwn
index de72ae4c..a5c1a6e9 100644
--- a/hurd/debugging/rpctrace.mdwn
+++ b/hurd/debugging/rpctrace.mdwn
@@ -175,7 +175,10 @@ See `rpctrace --help` about how to use it.
/home/rbraun/hd0s7/hurd/hurd-20120710/./utils/rpctrace.c:1287:
trace_and_forward: Assertion `reply_type == 18' failed.
- * IRC, OFTC, #debian-hurd, 2013-03-14
+ This assertion is actually caused by using the io_select interface, which creates
+ a send right instead of a send-once right for the reply port (IIRC).
+
+ * IRC, OFTC, #debian-hurd, 2013-03-14
<youpi> uhu, there's a TODO just above that assertion :)
diff --git a/hurd/faq/old-stuff.mdwn b/hurd/faq/old-stuff.mdwn
deleted file mode 100644
index 078607a7..00000000
--- a/hurd/faq/old-stuff.mdwn
+++ /dev/null
@@ -1,37 +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.
-
-* **_What editor can I use?_**
- * `nano` is the default editor on a fresh install, not `ae`, but a lot of editors are available.
-
-* **_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?_**
- * You need to [use screen](http://www.gnu.org/software/hurd/faq.en.html#q4-6) instead, also available when running GNU/Linux.
- * The [new console](http://lists.debian.org/debian-hurd/2002/debian-hurd-200209/msg00054.html) by Marcus Brinkmann could also be used. It supports the Alt-Fn keys for switching like in Linux. NOTE: that message has an error in the configuration steps, it says `/dev/vts` when it means `/dev/vcs`. A more up-to-date howto is [[console]].
-
-* **_What is a translator?_**
- * The official FAQ [answers](http://www.gnu.org/software/hurd/faq.en.html#q4-2) this question by a reference to [hurd-doc-translator](http://www.debian.org/ports/hurd/hurd-doc-translator).
-
-* **_Where's the sauce?_**
- * It's on [Savannah](http://savannah.gnu.org). See also the [GNU Development Resources](http://www.gnu.org/software/devel.html), for more information.
-
-* **_What is this "libio" stuff?_**
- * There was an ABI change for glibc0.3. It's recommended you reinstall your GNU/Hurd system if you run a system installed before the summer of 2002. This is a similar cause for the various Linux distributions who changed from libc5 to libc6 or glibc2 around 1998.
-
-* **_What is GNU Mach vs. oskit-mach?_**
- * These are different versions of the Mach microkernel that supports the Hurd that runs on top of it. For more info, see [[Mach]]
-
-* **_What software is available for GNU?_**
- * Most (2/3) 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 <http://packages.debian.org/>. 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 &amp;&amp; cd &lt;package\_dir&gt; &amp;&amp; debian/rules binary".
- * As of April 2010, 65% 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 <http://www.nongnu.org/thug/serial-howto.txt>
- * For a real serial console at boot time you need to rebuild your GNUmach 1.x kernel. For more info see the Utah release notes at [http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#serial\_console](http://www.cs.utah.edu/flux/mach4-i386/html/mach4-UK22.html#serial_console)
diff --git a/hurd/faq/old_hurd_faq.txt b/hurd/faq/old_hurd_faq.txt
deleted file mode 100644
index e6c6cb5a..00000000
--- a/hurd/faq/old_hurd_faq.txt
+++ /dev/null
@@ -1,289 +0,0 @@
-The Unofficial (and no longer maintained) GNU&nbsp;Hurd FAQ, Version 0.13
-
-Contributions by:
-
-Michael I. Bushnell <mib@gnu.org>
-Len Tower <tower@gnu.org>
-Trent Fisher <trent@gnurd.uu.pdx.edu>
-jlr@usoft.spb.su
-Remy Card <Remy.Card@masi.ibp.fr>
-Louis-Dominique Dubeau <hallu@info.polymtl.ca>
-
-Original Document by: Derek Upham <upham@cs.ubc.ca>
-
-
-==============================
-
-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?
-Q6. What's a proper machine?
-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 <gord@enci.ucalgary.ca> 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/
-
-
-Q5. Where can I find more information?
-
-The June 1995 GNU's Bulletin contains the following official
-information:
-
- The GNU&nbsp;Hurd now runs programs native. We have implemented both
- shared libraries using ELF, & the popular `ext2' file system used
- by Linux. It can run GCC, `make', Emacs, & most other GNU
- utilities. Progress is being made so rapidly that by the time you
- read this it probably does much more. It is right on the verge of
- being self-hosting (able to run on its own well enough to compile
- its own source code, & be used for its own development). We have
- much better device supportm [sic] & some new utilities, including a
- fancy `ps' & `settrans'. For a complete system we still have much
- more work to do, but we will make an alpha release as soon as the
- network software is finished & shared libraries have been well
- tested. We have a mailing list to announce progress; to be added
- to it, ask `hurd-announce-request@gnu.org'.
-
-The Portland State University CS department (via Trent Fisher)
-maintains a WWW server with various Hurd documents, including Michael
-Bushnell's Hurd paper, all the collected GNU's Bulletins, and various
-announcements posted to "gnu.misc.discuss". The top-level GNU page is
-
- http://www.cs.pdx.edu/~trent/gnu/gnu.html
-
-and the Hurd page is
-
- http://www.cs.pdx.edu/~trent/gnu/hurd/hurd.html
-
-People in Europe might want to try the GNU WWW server for DESY
-Germany, first:
-
- http://info.desy.de/gnu/www
-
-This site lacks culled, Hurd-specific information at the moment, but
-it does have the last two GNU's Bulletins plus lots of general
-information.
-
-There is a snapshot of the Hurd development tree on
-"alpha.gnu.ai.mit.edu" in the "/gnu" directory. It is updated as
-significant changes are made, and not guaranteed to run.
-
-You can subscribe to the Hurd announcement list by sending a request
-to "hurd-announce-request@gnu.org". This is a moderated list
-for distributing Hurd info to ``all and sundry'', and anyone can join.
-In addition, there is a private (invitation-only) list for developers
-to coordinate their efforts. It's not even worth thinking about
-unless you (a) have a lot of free time on your hands, (b) know Unix
-internals and Mach very well, and (c) have a proper machine.
-
-
-Q6. What's a proper machine?
-
-A ``proper machine'', at the moment, means an x86 box running Mach 3.0
-(or 4.0), with FreeBSD 2.x, NetBSD 1.x, or Linux.
-
-A single-server OS is no longer required for development because by
-the time the Hurd bootstrap mechanism is finished, the Hurd will
-probably be self-hosting.
-
-Linux, FreeBSD, or NetBSD will only be required to splat the Hurd
-binaries onto a partition of some sort, and to provide a way of
-transferring files to the Hurd until the networking code is ready.
-
-
-Q7. What sort of machines will run Hurd in the future?
-
-The first thing a prospective Hurd machine needs is a Mach 3.0 port.
-According to the most recent "comp.os.mach" FAQ (which hasn't been
-updated since February 1994), the following chips have redistributable
-Mach micro-kernels and device drivers:
-
- Intel 80x86 (ISA and PS/2 buses)
- Motorola 68000 (Sun 3)
- Motorola 88000 (Omron Luna)
- DEC Vax
- DEC Pmax (DECstation 3100)
- DEC Alpha
- MIPS R4000 (DECstation 5000 et al.)
- IBM RS/6000
- Apple Macintosh
-
-IBM is planning to run WorkplaceOS (the OS/2 successor) over Mach 3.0
-on the PowerPC chip (closely related to the RS/6000), so the PowerPC
-will likely be added to this list soon. The University of Utah has
-ported Mach 4.0 to the HP700, but it is not yet stable.
-
-Sun Sparc machines have a redistributable Mach microkernel, but the
-device drivers require a SunOS 4.1.1 source license.
-
-In addition, any prospective Hurd machine needs a port of the GNU C
-library. Version 1.07.4 of the library can handle the following
-chips:
-
- Intel 80x86 (BSD, Dynix, Hurd, SCO, SysV)
- Motorola 68000 (HP BSD, NEWS, Sun 4)
- MIPS R4000 (Ultrix)
- Sun Sparc (Solaris 2, Sun 4)
- DEC Alpha (OSF/1, mostly finished)
-
-So if the next Hurd snapshot is self-hosting, we will be able to run
-it (in theory) on Intel 80x86s, Motorola 68000s, MIPS R4000s and DEC
-Alphas.
-
-People who can port the Mach micro-kernel to new architectures are
-encouraged to do so. People who can port the GNU C library to new
-chips (a much larger group) are also encouraged to do so. You can
-help out here without knowing anything about Mach or having any
-special machine. Note that once the GNU C library exists for a new
-chip, for _any_ OS, making a Hurd port later is simple (and making
-ports to other chips becomes easier as well---the effects are
-cumulative).
-
-By current indications, the other hardware requirements (RAM, disk
-space, and the like) will be about the same as those of BSD 4.4.
-
-
-Q8. What is the current development status?
-
-Please see Trent Fisher's Hurd pages for details.
-
-
-Q9. What sort of a system would we have if the Hurd was bootable
-today?
-
-Quite likely, if you already use an end-user system like Linux,
-FreeBSD, or NetBSD, you'll be disappointed with the Hurd. It will
-take some time before the OS hackers really get to work on
-applications and major enhancements.
-
-But, rest assured, Hurd development should proceed very rapidly.
-
-Of course, if you think you can help, or you just enjoy neat stuff,
-then you'll probably like the Hurd. When you actually understand a
-fraction of what's going on behind the scenes, it's very impressive.
-
-All I'm saying is that I'm not expecting all the Windows '95 users in
-the world to switch to the Hurd right away. Wait a little while,
-maybe 5-6 years (ample time for GNUStep and Guile to be in use), and
-GNU users everywhere will be very happy that the FSF proceeded with
-the Hurd. :)
-
-
-==============================
-
-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/hurd/libchannel.mdwn b/hurd/libchannel.mdwn
index 3e19fb18..d29f2684 100644
--- a/hurd/libchannel.mdwn
+++ b/hurd/libchannel.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2008, 2010 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -62,6 +63,11 @@ and *libnetwork* or similar.
So work on *libchannel* will continue, in one form or another.
+# Source
+
+[[source_repositories/incubator]], libchannel.
+
+
# Related
* [*Van Jacobson's network channels*](http://lwn.net/Articles/169961/)
diff --git a/hurd/libfuse.mdwn b/hurd/libfuse.mdwn
new file mode 100644
index 00000000..45ff97ec
--- /dev/null
+++ b/hurd/libfuse.mdwn
@@ -0,0 +1,34 @@
+[[!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 stable_URL]]
+
+`libfuse` is an Hurd-specific implementation of [FUSE](http://fuse.sourceforge.net),
+initially written by Stefan Siegl.
+
+The implementation takes advantage of the [[translators|translator]] facilities
+of Hurd: this means that applications that implement a FUSE filesystem, when
+compiled against libfuse-hurd, become translators to be set with usual [[settrans]]
+etc.
+
+
+# Status
+
+* Only part of the API is implemented
+ * lowlevel API not implemented
+ * Options handling (`fuse_parse_cmdline` and `fuse_opt_*`) not implemented
+ * CUSE lowlevel not supported (compatibility level 29)
+* Supports up to the compatibility level 25 (while current libfuse 2.9.x provides 26)
+* File I/O is quite slow.
+
+
+# Source
+
+[[source_repositories/incubator]], libfuse/master.
diff --git a/hurd/libthreads.mdwn b/hurd/libthreads.mdwn
index c8d819d4..aa429d81 100644
--- a/hurd/libthreads.mdwn
+++ b/hurd/libthreads.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -10,6 +11,10 @@ License|/fdl]]."]]"""]]
`libthreads` a.k.a. C threads.
+**Note**: since Hurd migrated to [[libpthread]] as threading library,
+the development and usage of libthreads has been discontinued.
+
+
# Internals
diff --git a/hurd/running/debian.mdwn b/hurd/running/debian.mdwn
index fcd4d49b..39c7d1a6 100644
--- a/hurd/running/debian.mdwn
+++ b/hurd/running/debian.mdwn
@@ -14,7 +14,7 @@
# Contributing
- [[Porting]] — Helping with porting packages
- * [[Patch_submission]] — How to submit patches for build failures
+ * [[Patch_submission]] — How to submit patches for build failures
- [[Creating_image_tarball]]
# Additional Information
diff --git a/hurd/running/debian/after_install.mdwn b/hurd/running/debian/after_install.mdwn
index 72ea70a9..d3d32a6f 100644
--- a/hurd/running/debian/after_install.mdwn
+++ b/hurd/running/debian/after_install.mdwn
@@ -14,4 +14,4 @@ you. See [[GRUB]]'s page for this.
# Setup `apt-get`
Installing packages without having a network connection is described
-[[Distrib/DebianAptOffline]].
+[[DebianAptOffline]].
diff --git a/hurd/running/debian/faq/dev_random.mdwn b/hurd/running/debian/faq/dev_random.mdwn
deleted file mode 100644
index 3b5fdffe..00000000
--- a/hurd/running/debian/faq/dev_random.mdwn
+++ /dev/null
@@ -1,17 +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="/dev/random"]]
-
-There is no random device by default as no secure implementation has been
-finished yet. An easy (but very insecure) work-around is to copy a binary file
-like `/bin/bash` to `/dev/random` and `/dev/urandom`. A slightly more secure
-alternative is installing the `random-egd` from the `debian-ports` repository.
-
diff --git a/hurd/running/debian/faq/hurd_console.mdwn b/hurd/running/debian/faq/hurd_console.mdwn
deleted file mode 100644
index c4a619a1..00000000
--- a/hurd/running/debian/faq/hurd_console.mdwn
+++ /dev/null
@@ -1,12 +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]]."]]"""]]
-
-Edit `/etc/default/hurd-console` to configure the Hurd console and enable it on
-bootup. See [[console]] for further information about the Hurd console.
diff --git a/hurd/running/debian/faq/kernel_logs.mdwn b/hurd/running/debian/faq/kernel_logs.mdwn
deleted file mode 100644
index ff14ce5f..00000000
--- a/hurd/running/debian/faq/kernel_logs.mdwn
+++ /dev/null
@@ -1,13 +0,0 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
-
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
-
-The kernel logs are written to `/dev/klog`. Run `cat /dev/klog > foo` as root
-and hit `ctrl+c` after a few seconds to catch the logs. You can do this only
-once and do not do this in single-user mode (where `ctrl+c` does not work).
diff --git a/hurd/running/debian/faq/sata_disk_drives.mdwn b/hurd/running/debian/faq/sata_disk_drives.mdwn
deleted file mode 100644
index dad10cb9..00000000
--- a/hurd/running/debian/faq/sata_disk_drives.mdwn
+++ /dev/null
@@ -1,11 +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]]."]]"""]]
-
-GNU Mach does not support SATA disk drives (/dev/sda etc. in GNU/Linux) natively, so using device:sd0s1 will not work, 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/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn b/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn
deleted file mode 100644
index 1a3c46e1..00000000
--- a/hurd/running/debian/faq/sshd_only_works_for_root_logins.mdwn
+++ /dev/null
@@ -1,20 +0,0 @@
-[[!meta copyright="Copyright © 2007, 2008, 2010 Free Software Foundation,
-Inc."]]
-
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled
-[[GNU Free Documentation License|/fdl]]."]]"""]]
-
-This isssue has been fixed in the Debian hurd / libc0.3 packages as of 2010-11.
-Retire this item sometime after 2011.
-
----
-
-Privilege seperation does not work with Hurd currently. You need to explicitely
-set `PrivilegeSeparation` to `no` in `/etc/ssh/sshd_options`, just commenting out
-the entry will not work as it is on by default. Also make sure you have
-`/dev/random`, see below.
diff --git a/hurd/running/debian/qemu_image.mdwn b/hurd/running/debian/qemu_image.mdwn
index de1027b7..cf8e6a0c 100644
--- a/hurd/running/debian/qemu_image.mdwn
+++ b/hurd/running/debian/qemu_image.mdwn
@@ -17,6 +17,11 @@ Usage:
$ tar -xz < debian-hurd.img.tar.gz
$ qemu -m 512 -net nic,model=rtl8139 -net user -drive cache=writeback,index=0,media=disk,file=$(echo debian-hurd-*.img)
+If you have troubles extracting the image, you can use
+the gz version <http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.gz>,
+the zip version <http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.zip>,
+or even the plain version <http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img> (3GiB!)
+
See the discussion about [[hurd/running/qemu/writeback_caching]].
Just in case you were wondering: the *root* password is *root*.
diff --git a/hurd/translator.mdwn b/hurd/translator.mdwn
index e0baf130..d4eaf950 100644
--- a/hurd/translator.mdwn
+++ b/hurd/translator.mdwn
@@ -107,7 +107,6 @@ The [[concept|concepts]] of translators creates its own problems, too:
# Translators Being Under Development
* [[random]]
-* [[emailfs]] -- email as a filesystem
* [[cvsfs]]
* [[tmpfs]]
* [[procfs]]
@@ -115,6 +114,7 @@ The [[concept|concepts]] of translators creates its own problems, too:
* [[netio]]
* [[tarfs]]
* [[gopherfs]]
+* [[smbfs]]
* ...
# Translators (only) in Hurdextras
@@ -123,23 +123,25 @@ The [[concept|concepts]] of translators creates its own problems, too:
* [jfs](http://www.nongnu.org/hurdextras/#jfs)
* [httpfs](http://www.nongnu.org/hurdextras/#httpfs)
-* [gopherfs](http://www.nongnu.org/hurdextras/#cvsfs)
-* [memfs](http://www.nongnu.org/hurdextras/#gopherfs)
+* [memfs](http://www.nongnu.org/hurdextras/#memfs)
* [notice](http://www.nongnu.org/hurdextras/#notice)
* [pith](http://www.nongnu.org/hurdextras/#pith)
* [pptop](http://www.nongnu.org/hurdextras/#pptop)
* [run](http://www.nongnu.org/hurdextras/#run)
-* [smbfs](http://www.nongnu.org/hurdextras/#smbfs)
-* [xmlfs](http://www.nongnu.org/hurdextras/#xmlfs)
-* [mboxfs](http://www.nongnu.org/hurdextras/#mboxfs)
+* [[xmlfs]]
+* [[mboxfs]]
+
+Some of the above could be moved from hurdextras to [[source_repositories/incubator]],
+see the [[status page|open_issues/hurdextras]].
# Translator Wishlists
- * [[wishlist_1]]
- * [[wishlist_2]]
* [[open_issues/network_file_system_by_just_forwarding_RPCs]]
* [[libguestfs]]
+ * [[devfs]]
+ * [[emailfs]] -- email as a filesystem
+ * [[general wishlist of stuff not listed above|wishlist]]
# Internally
diff --git a/hurd/translator/cvsfs.mdwn b/hurd/translator/cvsfs.mdwn
index f5f1a9e0..11c9c01f 100644
--- a/hurd/translator/cvsfs.mdwn
+++ b/hurd/translator/cvsfs.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]]."]]"""]]
## Setting up cvsfs on GNU/Hurd - A step by step process
@@ -21,10 +22,9 @@ would be to check out the whole tree and deleting it after using.
## Step by Step process in installing cvsfs
-Download and prepare the source files from the CVS repositiory and build them.
+Download and prepare the source files from the [[source_repositories/incubator]]
+repository, branch `cvsfs/master`; then build them:
- $ cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/hurdextras co cvsfs
- $ cd cvsfs/
$ autoreconf -i
$ ./configure
$ make
@@ -35,10 +35,10 @@ Set up the translator and start grazing.
$ mkdir -p cvsfs_test
$ settrans -a cvsfs_test /hurd/cvsfs cvs.sourceforge.net /cvsroot/projectname modulename
-Example to mount the cvsfs module on hurdextras to a local directory.
+Example to mount the memfs module on hurdextras to a local directory.
$ mkdir cvs.d
- $ settrans -ac cvs.d/cvsfs /hurd/cvsfs cvs.savannah.nongnu.org sources/hurdextras cvsfs
+ $ settrans -ac cvs.d/cvsfs /hurd/cvsfs cvs.savannah.nongnu.org sources/hurdextras memfs
Now change to that directory and start using ls, emacs, and whatever you feel
like. :-)
@@ -50,3 +50,8 @@ Happy Hacking.
* <http://www.nongnu.org/hurdextras/>
* <http://cvs.sv.nongnu.org/viewcvs/*checkout*/cvsfs/README?root=hurdextras>
+
+### Old version at Berlios
+
+A read-only version has been written by Stefan Siegl and was available at
+[Berlios](http://cvs.berlios.de/cgi-bin/viewcvs.cgi/cvsfs4hurd/cvsfs/).
diff --git a/hurd/translator/examples.mdwn b/hurd/translator/examples.mdwn
index ee766fbf..867d4935 100644
--- a/hurd/translator/examples.mdwn
+++ b/hurd/translator/examples.mdwn
@@ -1,16 +1,18 @@
-[[!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]]."]]"""]]
## Setting up translators - HowTo
-Translators can be got from hurd-extras <http://www.nongnu.org/hurdextras/>
+Additional translators can be got from [[source_repositories/incubator]],
+or [hurd-extras](http://www.nongnu.org/hurdextras/).
cvs -z3 -d:pserver:anonymous@cvs.savannah.nongnu.org:/sources/hurdextras co <modulename>
@@ -36,7 +38,7 @@ or
ftp$ cd ftp.fr.debian.org
ftp/ftp.fr.debian.org $ ls
-* tarfs translator (needs uatime fix, 2010-08-25 → [git repo](http://github.com/giselher/tarfs))
+* [[tarfs]] translator
You can use tarfs to mount (almost) any tar file (currently broken, 2010-08-25):
@@ -52,14 +54,14 @@ You can even use it to create new tar files:
This is not as fast as `tar czvf newfile.tar.gz all my files`, but at least it's more original. ;)
-* cvsfs translator
+* [[cvsfs]] translator
<!-- Prevent ikiwiki / Markdown rendering bug. -->
$ settrans -ac cvsfs_testing /hurd/cvsfs cvs.savannah.nongnu.org /sources/hurdextras
$ cd cvsfs_testing
-* pfinet translator -- configuring your network interface
+* [[pfinet]] translator -- configuring your network interface
<!-- Prevent ikiwiki / Markdown rendering bug. -->
@@ -77,17 +79,17 @@ This is not as fast as `tar czvf newfile.tar.gz all my files`, but at least it's
$ settrans -ac /cdrom /hurd/iso9660fs /dev/<cdrom device file>
-* ext2fs translator -- 'mounting' an ext2fs partition
+* [[ext2fs]] translator -- 'mounting' an ext2fs partition
<!-- Prevent ikiwiki / Markdown rendering bug. -->
$ settrans -ac /linux /hurd/ext2fs /dev/<partition device file>
-* unionfs translator
+* [[unionfs]] translator
To join "foo/" "bar/" and "baz/" in the directory "quux/", just do:
$ settrans -capfg quux/ /hurd/unionfs foo/ bar/ baz/
-If you want to join even quux/ contents in the union itself, add -u as a translator argument.
-You can add filesystems at run-time with the fsysopts command.
+If you want to join even quux/ contents in the union itself, add `-u` as a translator argument.
+You can add filesystems at run-time with the `fsysopts` command.
diff --git a/hurd/translator/ext2fs.mdwn b/hurd/translator/ext2fs.mdwn
index b276ff0c..a89b40b1 100644
--- a/hurd/translator/ext2fs.mdwn
+++ b/hurd/translator/ext2fs.mdwn
@@ -169,6 +169,8 @@ small backend stores, like floppy devices.
breaks performance on the hurd
<braunr> and 30 seems like a reasonable amount (better than 5 at least)
+That would be a nice improvement, but only after writeback throttling is implemented.
+
# Documentation
diff --git a/hurd/translator/ext2fs/page_cache.mdwn b/hurd/translator/ext2fs/page_cache.mdwn
index e8a964ed..4a849f78 100644
--- a/hurd/translator/ext2fs/page_cache.mdwn
+++ b/hurd/translator/ext2fs/page_cache.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!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
@@ -29,3 +29,7 @@ This is not at all specific to ext2fs, so should be integrated elsewhere.
memory?
<youpi> Tekk_: yes
<Tekk_> awesome. I was worried :)
+
+Actually, ext2fs doesn't contain its page cache (the virtual and physical
+memory counters do not take the cache size into account). But it must allocate
+descriptors for the cached content.
diff --git a/hurd/translator/fatfs.mdwn b/hurd/translator/fatfs.mdwn
index 006fac0b..b987b359 100644
--- a/hurd/translator/fatfs.mdwn
+++ b/hurd/translator/fatfs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -11,3 +11,5 @@ is included in the section entitled
The current `fatfs` translator is read-only, and it has a severe bug:
[[!GNU_Savannah_bug 25961]].
+
+ * [[open_issues/VFAT_Test_Suite]]
diff --git a/hurd/translator/gopherfs.mdwn b/hurd/translator/gopherfs.mdwn
index 6c32430f..db89a136 100644
--- a/hurd/translator/gopherfs.mdwn
+++ b/hurd/translator/gopherfs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -13,4 +13,4 @@ License|/fdl]]."]]"""]]
# Source
-incubator, gopherfs/master
+[[source_repositories/incubator]], gopherfs/master
diff --git a/hurd/translator/hello.mdwn b/hurd/translator/hello.mdwn
index bd56cd76..b5ff6984 100644
--- a/hurd/translator/hello.mdwn
+++ b/hurd/translator/hello.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -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]]."]]"""]]
-The *hello* translator is an example of a simple [[libtrivfs]]-based one-node
+The `hello` translator is an example of a simple [[libtrivfs]]-based one-node
[[translator]]. It is shipped as part of the [[Hurd source code
-repository|source_repositories]], and exists in a single-threaded and a
-multi-threaded variant.
+repository|source_repositories]], and exists in a single-threaded (`hello.c`)
+and a multi-threaded (`hello-mt.c`) variant.
diff --git a/hurd/translator/mboxfs.mdwn b/hurd/translator/mboxfs.mdwn
index e357294f..a448e806 100644
--- a/hurd/translator/mboxfs.mdwn
+++ b/hurd/translator/mboxfs.mdwn
@@ -1,11 +1,20 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+`mboxfs` is a translator meant to help people sorting emails.
+It parses mailboxes in order to create a directory hierarchy representing
+the contents of the mailbox.
+Thus, you can sort emails per recipient, senders, date, and much more.
+It supports attachments (put in a separate *attach* directory).
+
+
+# Source
<http://www.nongnu.org/hurdextras/#mboxfs>
diff --git a/hurd/translator/netio.mdwn b/hurd/translator/netio.mdwn
index aca9cd69..44c35cf1 100644
--- a/hurd/translator/netio.mdwn
+++ b/hurd/translator/netio.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -14,4 +14,4 @@ filesystem.
# Source
-incubator, netio/master
+[[source_repositories/incubator]], netio/master
diff --git a/hurd/translator/nfs.mdwn b/hurd/translator/nfs.mdwn
index 81372204..ee960c04 100644
--- a/hurd/translator/nfs.mdwn
+++ b/hurd/translator/nfs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!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
@@ -10,7 +10,7 @@ License|/fdl]]."]]"""]]
Translator acting as a NFS client.
-Only NFSv2/v3 is currentl supported.
+Only NFSv2/v3 is currently supported.
[[!tag open_issue_hurd]]There are a few unmerged changes on a former GSoC
project's topic-branch.
diff --git a/hurd/translator/pfinet/ipv6.mdwn b/hurd/translator/pfinet/ipv6.mdwn
index 824cc733..81826e00 100644
--- a/hurd/translator/pfinet/ipv6.mdwn
+++ b/hurd/translator/pfinet/ipv6.mdwn
@@ -54,25 +54,12 @@ Quite the same, but with static IPv6 address assignment:
# Missing Functionality
-Amongst other things, support for [[IOCTL]]s is missing.
-
-
-## IRC, freenode, #hurd, 2012-12-10
-
[[!tag open_issue_hurd]]
- <braunr> looks like pfinet -G option doesn't work
- <braunr> if someone is interested in fixing this (it concerns static IPv6
- routing)
- <braunr> youpi: have you ever successfully used pfinet with global
- statically configured ipv6 addresses ?
- <youpi> never tried
- <braunr> ok
- <braunr> i'd like to set this up on my VMs but it looks bugged :/
- <braunr> i can't manage to set correctly set the gateway
+Amongst other things, support for [[IOCTL]]s is missing.
-### IRC, freenode, #hurd, 2012-12-12
+## IRC, freenode, #hurd, 2012-12-12
<braunr> hm, pfinet seems not to support ipv6 well at all :(
<pinotree> braunr: really?
@@ -136,6 +123,8 @@ Amongst other things, support for [[IOCTL]]s is missing.
<youpi> ok, enabling ALLMULTI was enough to fix it
<youpi> you can ping6 2001:910:1059:2:5054:00ff:fe12:3456 :)
+Indeed, IPv6 now works properly, and the very machine hosting this wiki
+(darnassus.sceen.net) can be reached with that protocol.
## IRC, freenode, #hurd, 2013-01-13
diff --git a/hurd/translator/procfs.mdwn b/hurd/translator/procfs.mdwn
index cccce0b7..0228d4d4 100644
--- a/hurd/translator/procfs.mdwn
+++ b/hurd/translator/procfs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012 Free Software
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2011, 2012, 2013 Free Software
Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -37,7 +37,6 @@ Testing it is as simple as this:
$ git clone git://git.savannah.gnu.org/hurd/procfs.git
$ cd procfs/
- $ git checkout master
$ make
$ settrans -ca proc procfs --compatible
$ ls -l proc/
diff --git a/hurd/running/debian/faq/2_gib_partition_limit.mdwn b/hurd/translator/smbfs.mdwn
index 195191cb..85a28a2b 100644
--- a/hurd/running/debian/faq/2_gib_partition_limit.mdwn
+++ b/hurd/translator/smbfs.mdwn
@@ -1,13 +1,16 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
-[[!meta title="2 GiB Partition Limit"]]
+`smbfs` is a virtual filesystem allowing you to mount Samba shares.
-The 2 GiB limit has been removed in Debian GNU/Hurd.
+
+# Source
+
+[[source_repositories/incubator]], smbfs/master
diff --git a/hurd/translator/tarfs.mdwn b/hurd/translator/tarfs.mdwn
index 2e37d9cf..3eb7b1ed 100644
--- a/hurd/translator/tarfs.mdwn
+++ b/hurd/translator/tarfs.mdwn
@@ -37,4 +37,4 @@ stores.
# Source
-incubator, tarfs/master
+[[source_repositories/incubator]], tarfs/master
diff --git a/hurd/translator/tmpfs.mdwn b/hurd/translator/tmpfs.mdwn
index 626fad86..3d5cb74e 100644
--- a/hurd/translator/tmpfs.mdwn
+++ b/hurd/translator/tmpfs.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2011 Free Software Foundation,
-Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 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
@@ -20,5 +20,6 @@ system|ext2fs]] on it, having a real `tmpfs` is better, as it need not deal
with the additional block-level indirection layer that `ext2` (or any other
disk-based file system) imposes.
-However, `tmpfs` is not working correctly at the moment, see the [[discussion]]
-sub-pages. There is a [[!FF_project 271]][[!tag bounty]] on this task.
+`tmpfs` generally works, although it requires root permissions for file content;
+see the [[discussion]] sub-pages for the past and current issues.
+There is a [[!FF_project 271]][[!tag bounty]] on this task.
diff --git a/hurd/translator/tmpfs/discussion.mdwn b/hurd/translator/tmpfs/discussion.mdwn
index bdee0f78..20aba837 100644
--- a/hurd/translator/tmpfs/discussion.mdwn
+++ b/hurd/translator/tmpfs/discussion.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -18,8 +19,6 @@ License|/fdl]]."]]"""]]
* [[!GNU_Savannah_bug 26751]]
- * [[!GNU_Savannah_bug 32755]]
-
# [[Maksym_Planeta]]
@@ -150,6 +149,9 @@ License|/fdl]]."]]"""]]
<braunr> and what does it mean in this situation ?
<mcsim> I've run fsx as long as possible several times. It runs quite long
but it breaks in different ways.
+
+[[open_issues/file_system_exerciser]].
+
<mcsim> MACH_SEND_INVALID_DEST
<mcsim> this means that kernel tries to call rpc with pager 0x0
<mcsim> this is invalid destiantion
diff --git a/hurd/translator/unionfs.mdwn b/hurd/translator/unionfs.mdwn
index 2b692cf9..2fcd1fad 100644
--- a/hurd/translator/unionfs.mdwn
+++ b/hurd/translator/unionfs.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2008, 2009, 2010 Free Software Foundation,
+[[!meta copyright="Copyright © 2008, 2009, 2010, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -6,8 +6,10 @@ 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 stable_URL]]
# `unionfs`
@@ -154,7 +156,8 @@ the *mountee* at 0.
* [FUSE page about
`unionfs`](http://sourceforge.net/apps/mediawiki/fuse/index.php?title=UnionFileSystems)
- * [Linux' overlay file system proposal,
- 2010-09-20](http://thread.gmane.org/gmane.linux.kernel/1038413)
+ * Linux' overlay file system proposals:
+ [2010-09-20](http://thread.gmane.org/gmane.linux.kernel/1038413),
+ [2013-03-12](http://lkml.indiana.edu/hypermail/linux/kernel/1303.1/02231.html).
How is this different?
diff --git a/hurd/translator/wishlist.mdwn b/hurd/translator/wishlist.mdwn
new file mode 100644
index 00000000..5b473a2d
--- /dev/null
+++ b/hurd/translator/wishlist.mdwn
@@ -0,0 +1,316 @@
+[[!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]]."]]"""]]
+
+## Introduction
+
+The idea behind file system translators is a powerful concept which hasn't recieved much attention in the mainstream computing world. So here is a list of interesting translators people dream up. We are sure there are many more ideas floating around out there, so add them to the list!
+
+The [ferris project](http://witme.sourceforge.net/libferris.web/features.html) has some great ideas and code in the area of userspace dynamic filesystems, as has the [FUSE project](http://fuse.sourceforge.net/).
+
+## File Finder (uses find, grep, a combination or a custom command (htdig, mp3 info)
+ * Files found will be available under one directory and then can be used like a normal directory
+ * usefull to generate Albums, Share only resulting files over the et, etc..
+ * The filefinder can be scheduled or can be connected over some ipc like dbus to the VFS system if any to keep a watch for new files.
+
+## GNOKII, BitPim and openobex as translators
+ * grep through your SMSs!
+ * share your addressbook!
+ * "Attach" that funny SMS/MMS to your email.
+ * "svn commit" your joke collection :-D
+
+## Real Language Translator [[br]]
+
+ $ cat /usr/translator/de-en/usr/share/doc/something.txt
+
+this should take `/usr/share/doc/something.txt`, submit it to google's website and bring back results.
+
+## Mozilla Bookmarks = del.ici.ous
+
+Need more explanation? ;-)
+
+## <http://hnb.sf.net>
+ * having a directory structure for a file can allow to "svn commit" the hnb document in a more "node-safe" manner, thus allowing multiple people to work on the same hnb document.
+ * This must be fairly easy as HNB can already export to XML and XMLfs already exists.
+
+## DavFS
+
+Just setup a 'WebDav share' as a directory. The implementation of the protocol is already available in nautilus and konqueror.
+
+## Compiled form of your project
+ * you have your project in /somedir/project with source in /somedir/project/src .. /somedir/project/bin should always have the compiled version.. is it possible?
+ * The source has to have a MakeFile.
+ * creating /somedir/project/bin-somearch should aotomatically crosscompile
+ * Seems feasible for a small project.
+
+## Report generation FrameWork - an idea to be hugged by app developers..not kernel developers.
+ * You have financial data in some Spreadsheet like format in /yourFinance directory
+ * You add report templates to /yourFinance/repTemplates
+ * Once you save data in /yourFinance the next cat /yourFinance/reports/areportname will give you an uptodate report.
+ * This will be usefull for any purpose including serving by static page web servers, sharing over samba/nfs/ftp etc.!
+ * The advantage is any save to the spreadsheet will update the report.. not just from one software.
+
+## SVN (Subversion)
+ * like [[cvsfs]]. /svndir/version/version-no should automatically have subversion
+ * I think it is nice to write a generalised version control system framework library which will help in writing version control translators and other tools easily.
+
+## Flexi-acls
+ * First of all - Can this be done? : A translator bound to a directory must be able to access the contents of the directory which would have been accessible in the absence of the translator..
+ * This will enable to write translators that can implement custom "Access Control Lists". Just imagine having advanced ACLs even if underlying FileSystem is dumb! Imagine changing the type of ACLs implemented with Just two commands - one to unattach previous translator and the next to attach a different ACL translator! The ACLs themselves may be stored in a different directory
+
+## The translator manager!
+ * Some translators will need to be inserted automatically - like for eg: hardware drivers ..
+ * Each hardware translator will pubish its capabilities.
+ * The "top" translator will query the capabilities of different hardware and match capabilities with the "slave" translators. That is it's only Job.
+ * The control is then handed over to the slave translator.
+ * The ranking not only looks who can handle the "most" capabilites of the hardware. If it finds that multiple translators can handle the same hardware, It will use other parameters to choose between them.. like may be the size in memory? The revision date? Stability (inferred from version number)? And to go to the extreme, the profiling data of the driver ;-P
+ * Advantage : The best driver wins!
+
+### An example -- skip it if you understood the above :-)
+ * You have a driver that can handle VGA + SVGA + Super3d acceleration + Particle graphics + Works for nvidea card.
+ * You have a driver that can handle SVGA + VGA .
+ * You have a driver that can handle VGA.
+ * Case 1: Your card: A VGA card with some extra fonts..
+ * First the VGA driver will be quireied .. ok can handle essential capability.
+ * Next SVGA driver: can handle but has extra module.. unnecassary weight .
+ * The Nvidia driver: can handle , but again unnecassary weight : ruled out.
+ * Winner : VGA driver:
+ * Case 2: Your card An SVGA card:
+ * First the VGA driver will be quireied .. ok can handle one essential capability.
+ * Next SVGA driver: can handle essential and one extra capability no extra weight..
+ * The Nvidia driver: can handle , but unnecassary weight : ruled out.
+ * Winner : SVGA driver..
+ * Case 3 : You have an VGA .. but no VGA driver .. then the SVGA driver would win.
+
+## Sound Server
+ * /ahsa - stands for Advanced HURD sound architecture :-) Just a temporary name .. for fun.
+ * /ahsa/out - directory wich will hold "plug"s where apllications come and join the server .. see below.
+ * /ahsa/out/mixer - main mixer
+ * /ahsa/out/nextfree - the file when "cat"ed gives the number of the next free plug
+ * /ahsa/plugins/ - info about available plugins
+ * /ahsa/out/[1..n]/ - dynamically generated directories for applications to plug on..
+ * /ahsa/out/[1..n]/data this is where you should do a "cat somerawsoundfile>/ahsa/out/`cat /ahsa/nextfree`/data"
+ * /ahsa/out/[1..n]/plugins - the plugin stack .. volume is also a plugin..
+ * /ahsa/out/[1..n]/plugins/[1..m]/ - echo "plugin param1 param2 param3" > /ahsa/out/[1..n]/plugins/`cat /ahsa/out/[1..n]/plugins/nextfree`/add
+ * /ahsa/out/[1..n]/plugins/[1..m]/params/{param1.. paramn}
+ * /ahsa/out/[1..n]/data.out - can be catted to get data processed through the server
+ * /ahsa/in - similar to /ahsa/out .. with except for an extra file to choose input devices.
+ * /ahsa/devs/{1..n} - devices detected .. can be dynamic .. there are usb soundcards and and midi devices.
+ * /ahsa/out/[1..n]/plugins/[1..m]/0/params/dev
+ * Dont get tempted for :/ahsa/out/[1..n]/params/{rate, channels, and other stuff}
+ * that goes into /ahsa/out/[1..n]/plugins/0/params if /ahsa/out/[1..n]/plugins/0/detected == "headerless audio"
+ * There are a lot more things I can continue about the "sound server" .. The Ideas simply dont seem to exhaust..
+ * Some features/advantages
+ * set output's translator plugin as ordinary text -- have text to speech conversion done by sound server!
+ * Create and apply plugin presets by simply copying directories!
+ * Me getting dizzy thinking of the zillion more advantages.
+ * If you are really doing some ordinary output , all you need to do is "cat" data into next free "plug" and everything will be autodetected including the format of the data and sent to the final sound "merge"r
+ * Dizzy ...
+
+## /usr/share/menu !!!! extension for package management idea
+ * cat mymenuitem.menu >> /usr/share/menu/menu
+ * cat /usr/share/menu/debian/kde ... :-)
+
+## Spam/Malware Control
+ * `/usr/antimalware/` - put your mail here.. it will automatically be scanned. when finished it will vanish from here ...
+ * `/usr/antimalware/clean` - ... and pop out from here
+ * `/usr/antimalware/malware` - ... or here.
+
+## NetDevice
+ * !JustImagine(tm)... settrans -ac /netdevices /hurd/netdevfs - [ host | net ]
+ * One can access device files remotely
+ * This could be acheived by allowing translators talk to one another over a network
+ * This will need translators to catch and handle ioctls (if there is such a thing in HURD).
+ * The device server which will listen to requests from the translators can be run even on a Linux machine!!!
+ * !JustImagine(tm)... accessing the crwriter/webcam on that GNU/Linux machine on the network using cdrecord of your local hurd machine!
+ * !JustImagine(tm)... running GNU/HURD on a minimalistic GNU/Linux(but with all the drivers) through a specially modified and optimised Qemu. The device server runs on the host machine, and the client translators access over the virtual network created by Qemu. You got most of the drivers for free!
+
+## Emacs File VFS
+ * I came to know from my Emacs loving friend that there are lots of VFS handlers in Emacs.. I was wondering if there can be translator which can tap into these Emacs VFS handlers.
+
+## Audiocdfs
+
+A translator which produces a directory of \*.wav or \*.ogg files when you have an audio CD in the drive.
+
+## CDDB
+
+Of course it would be a lot nicer if the above translator didn't name its files something worthless like track001.ogg. So we would want a translator which would hook up with a database on the web and produce meaningful file names.
+
+## Crypto
+
+A cryptographic/steganographic seem like a nice match with the concept of user-land file systems. I like the idea of something like `settrans -a /secure stegfs --mpeg file001.mpg`
+
+## Revision control
+
+All of the empty space on your drive is now being wasted. Why not have a revision control translator which tracks changes to your documents? See also [this guy](http://www.linuxjournal.com/article.php?sid=5976). And then you'd do something like `cd /time-machine/2003/sept/14/` to see what your system looked like on the 14th of septempber 2003.
+
+## ROM
+
+How about a translator which makes it look like you can write to read only media (like CDs), or change files which I don't have permission to change. This translator would make it seem like you could copy files to places where you normally couldn't. Think about combining this translator with the ftp translator and the tar and gzip translators. (`cd /ftp/gnu.org/gnome.tar.gz/writes\_allowed; make install`). It could be that [[unionfs]] does this very thing.
+
+## Super\_FIFO
+
+It's like a named pipe which is smart enough to start a process everytime something new tries to read from it. For example, let's say I have a script that reads in a JPEG image and spits out a smaller thumbnail \*.jpg to STDOUT. With a standard fifo (`mknod -p fifo`) this would almost works (`script big.jpg > fifo`). But what if there are two processes trying to read the fifo at once? Ick. And of course the standard way only works once without rerunning the command. I'm not quite sure what the syntax should look like, but I'm sure someone out there has a great idea waiting to happen.
+
+## Perl
+
+Perl is a wonderful language for hacking together something useful in a short amount of time. No concept is complete without being able to use it in a perl one-liner. And that goes for Hurd translators too. Right?
+
+ #!/usr/bin/perl
+ use Hurd::translator;
+
+ #file named "two" can produce an endless supply of twos, etc. (a la /dev/zero)
+ my $i=0;
+ for $filename ([zero one two three four])
+ {
+ $libtrivfsread_codehash{$filename}=
+ sub{ $num_bytes=shift; my $data=$i; return chr($data) x $num_bytes; };
+ #that's a hash of references to closures
+ $i++;
+ }
+ translator_startup();
+
+A Perl translator has been started by [John Edwin Tobey](http://john-edwin-tobey.org/Hurd/) (pith).
+
+## Source code
+
+Here's a crazy thought. How about a translator for source code. You have a C source file like `hello.c` which is your normal everyday file. But there's a translator sitting underneath, so when you `cd hello.c` you get a directory with files like `main()` which represent the subroutines in `hello.c`. And of course you should be able to edit/remove those and have it modify the original source.
+
+## Libraries
+
+Here's an [idea](http://www.circlemud.org/~jelson/software/fusd/docs/node13.html) from the people making [userspace drivers in Linux](http://www.circlemud.org/~jelson/software/fusd/):
+
+* "One particularly interesting application of FUSD that we've found very useful is as a way to let regular user-space libraries export device file APIs. For example, imagine you had a library which factored large composite numbers. Typically, it might have a C interface--say, a function called `int *factorize(int bignum)`. With FUSD, it's possible to create a device file interface--say, a device called `/dev/factorize` to which clients can `write(2)` a big number, then `read(2)` back its factors.
+
+* This may sound strange, but device file APIs have at least three advantages
+ over a typical library API. First, it becomes much more language
+ independent--any language that can make [[system call]]s can access the
+ factorization library. Second, the factorization code is running in a
+ different address space; if it crashes, it won't crash or corrupt the
+ caller. Third, and most interestingly, it is possible to use `select(2)` to
+ wait for the factorization to complete. `select(2)` would make it easy for a
+ client to factor a large number while remaining responsive to other events
+ that might happen in the meantime. In other words, FUSD allows normal
+ user-space libraries to integrate seamlessly with UNIX's existing,
+ POSIX-standard event notification interface: `select(2)`."
+
+## Mail
+
+Am I off my rocker, or does an IMAP/POP translator sound like a good idea? It would make your remote mail servers look like local ones. Or what about a translator that makes a mbox format mail spool look like a directory. Can anyone think of a good use for an SMTP translator?
+
+*Definitely: Copy my email in there to send it.* -- [[ArneBab|community/weblogs/ArneBab]]
+
+## UUEncode
+
+How about a UUEncode translator for those places you can only store ASCII. Combine this with a NNTP translator and store your data in someone's Usenet archive. Or since, (as far as I know), there are no size limitations on file names in the Hurd, why not have a filesystem translator whose underlying store is a file name. (Now ls becomes cat).
+
+## Computation
+
+This is from the revenge of the command-line department. Make a directory translator whose contents are a result of the computation specified in the directory name. Here's an example...
+
+ $ settrans -a /comp /hurd/computationfs
+ $ cd "/comp/3+4"
+ $ ls -l
+ total 0
+ -rw-r--r-- 1 nobody users 0 Oct 16 11:41 7
+ $
+ $ cd "/comp/sqrt(2)"
+ $ ls -l
+ total 0
+ -rw-r--r-- 1 nobody users 0 Oct 16 11:42 1.4142135623731
+ $
+
+...etc. Now think about your favorite GUI HTML editor and using File-&gt;Open on the following directory name, ``"/comp/for i in $( find / -name *.html ); do ln -s $i `basename $i`;done"`` Which would produce a directory listing with soft links to all of the \*.html files on your system. You could have all of the comforts of the shell from within that little File-&gt;Open dialog box.
+
+## Other
+
+Just found Wolfgang J�hrling's translator [wishlist](http://www.8ung.at/shell/trans.html).
+
+## Bochs
+
+A translator which works with [Bochs](http://bochs.sourceforge.net/) disk images would be nice.
+
+## Rollover
+
+A translator that uses a circular buffer to store log files. The translated node only contains the last N (mega,kilo)bytes.
+
+## Birthday
+
+A translator that provides an interface into the birthday program.
+
+You can cat your calendar, eg. bd/calendar/today bd/calendar/this-week or bd/calendar/this-month.
+
+And you could write new events into files located in bd/events/DATE/event-name.
+
+DATE is of the format the birthday expects DD/MM/YYYY.
+
+The contents of the file are any or none of the following birthday options: ann (An anniversary), bd (A birthday), ev (Some other event), wN (Warn N days in advance of date), toDATE (Event lasts until this DATE), forDAYS (Event runs for DAYS).
+
+You can optionally just edit the bd/birthdays file if you want to edit the configuration file by hand. It might make sense to write changes from bd/birthdays into ~/.birthdays.
+
+ $ settrans -c bd /hurd/birthday -f ~/.birthdays
+ $ ls bd/
+ birthdays calendar events
+ $ find bd -print
+ bd
+ bd/calendar
+ bd/calendar/daily
+ bd/calendar/this-week
+ bd/calendar/this-month
+ bd/events
+ bd/birthdays
+ $
+
+## LVM
+
+A translator to access block devices from Linux's [Logical Volume Management](http://www.tldp.org/HOWTO/LVM-HOWTO/) would be an useful addition.
+
+ # settrans -cap /dev/VolumeGroup0 /hurd/lvm /dev/PhysicalVolume0 /dev/PhysicalVolume1 ...
+ # ls /dev/VolumeGroup0/
+ home
+ var
+ # settrans -cap /home /hurd/ext2fs /dev/VolumeGroup0/home
+ # settrans -cap /var /hurd/ext2fs /dev/VolumeGroup0/var
+
+Probably both [LVM2](http://sourceware.org/lvm2/) and the [Device-mapper](http://sourceware.org/dm/) need to be ported.
+
+## bridging translator
+
+A [bridging](http://bridge.sourceforge.net/faq.html) translator could improve the Hurd's networking facilities.
+
+ # settrans -cap /dev/br0 /hurd/bridge -i eth0 -i eth1 ...
+ # settrans -cap /servers/socket/2 /hurd/pfinet -i /dev/br0 -a ... -g ... -m ...
+
+Perhaps Linux's bridging code and [utilities](http://bridge.sourceforge.net/) can be ported (or glued in) or code from one of the BSDs.
+
+## SSH translator
+
+Presenting remote file systems through SSH similar to what gnome-vfs does.
+
+## Crontab translator
+
+Presenting a user's crontab in a filesystem where cron entries are files.
+
+## globlink
+
+Firmlink to a file according to a filename matching pattern. When a file goes away, the next file that is matched is automatically linked to.
+
+ $ settrans -ac libfoo.so /hurd/globlink '/lib/libfoo*'
+
+## alphabetfs
+
+Organize a large group of files by their first letter. Present one subdirectory for each letter in the alphabet.
+
+## fsysoptsctl
+
+Send an fsysopts command to a set of translators. When you have a directory full of translators and you want to send each of them the same runtime option, this translator can do it for you.
+
+ $ settrans -ac all /hurd/fsysoptsctl '/tmp/mystuff/*'
+ $ fsysopts all --update
diff --git a/hurd/translator/wishlist_1.mdwn b/hurd/translator/wishlist_1.mdwn
deleted file mode 100644
index 36290883..00000000
--- a/hurd/translator/wishlist_1.mdwn
+++ /dev/null
@@ -1,129 +0,0 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009 Free Software Foundation,
-Inc."]]
-
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-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]]."]]"""]]
-
-* [[devfs]]
-
-* FUSE(fuse.sourceforge.net/) compatilbility library. : just modify FUSE apps a and compile little to work as translator :-)
-
-* File Finder. (uses find, grep, a combination or a custom command (htdig, mp3 info)
- * Files found will be available under one directory and then can be used like a normal directory
- * usefull to generate Albums, Share only resulting files over the et, etc..
- * The filefinder can be scheduled or can be connected over some ipc like dbus to the VFS system if any to keep a watch for new files.
-
-* GNOKII, BitPim and openobex as translators
- * grep through your SMSs!
- * share your addressbook!
- * "Attach" that funny SMS/MMS to your email.
- * "svn commit" your joke collection :-D
-
-* Real Language Translator [[br]]
- * cat /usr/translator/de-en/usr/share/doc/something.txt should take /usr/share/doc/something.txt , submit it to google's website and bring back results.
-
-* Mozilla Bookmarks = del.ici.ous
- * Need more explanation ? ;-)
-
-* <http://hnb.sf.net>
- * having a directory structure for a file can allow to "svn commit" the hnb document in a more "node-safe" manner, thus allowing multiple people to work on the same hnb document.
- * This must be fairly easy as HNB can already export to XML and XMLfs already exists.
-
-* DavFS
- * Just setup a 'WebDav share' as a directory. The implimentation of the protocol is already available in nautilus and konqueror.
-
-* Compiled form of your project
- * you have your project in /somedir/project with source in /somedir/project/src .. /somedir/project/bin should always have the compiled version.. is it possible?
- * The source has to have a MakeFile.
- * creating /somedir/project/bin-somearch should aotomatically crosscompile
- * Seems feasible for a small project.
-
-* Report generation FrameWork - an idea to be hugged by app developers..not kernel developers.
- * You have financial data in some Spreadsheet like format in /yourFinance directory
- * You add report templates to /yourFinance/repTemplates
- * Once you save data in /yourFinance the next cat /yourFinance/reports/areportname will give you an uptodate report.
- * This will be usefull for any purpose including serving by static page web servers, sharing over samba/nfs/ftp etc.!
- * The advantage is any save to the spreadsheet will update the report.. not just from one software.
-
-* SVN (Subversion suite)
- * like [[cvsfs]]. /svndir/version/version-no should automatically have subversion
- * I think it is nice to write a generalised version control system framework library which will help in writing version control translators and other tools easily.
-
-* Flexi-acls
- * First of all - Can this be done? : A translator bound to a directory must be able to access the contents of the directory which would have been accessible in the absence of the translator..
- * This will enable to wirte translators that can implement custom "Access Control Lists". Just imagine having advanced ACLs even if underlying FileSystem is dumb! Imagine changing the type of ACLs implemented with Just two commands - one to unattach previous translator and the next to attach a different ACL translator! The ACLs themselves may be stored in a different directory
-
-* The translator manager!
- * Some translators will need to be inserted automatically - like for eg: hardware drivers ..
- * Each hardware translator will pubish its capabilities.
- * The "top" translator will query the capabilities of different hardware and match capabilities with the "slave" translators. That is it's only Job.
- * The control is then handed over to the slave translator.
- * The ranking not only looks who can handle the "most" capabilites of the hardware. If it finds that multiple translators can handle the same hardware, It will use other parameters to choose between them.. like may be the size in memory? The revision date? Stability (inferred from version number)? And to go to the extreme, the profiling data of the driver ;-P
- * Advantage : The best driver wins!
-
-* An eg. Skip it if you understood the above :-):
- * You have a driver that can handle VGA + SVGA + Super3d acceleration + Particle graphics + Works for nvidea card.
- * You have a driver that can handle SVGA + VGA .
- * You have a driver that can handle VGA.
- * Case 1: Your card: A VGA card with some extra fonts..
- * First the VGA driver will be quireied .. ok can handle essential capability.
- * Next SVGA driver: can handle but has extra module.. unnecassary weight .
- * The Nvidia driver: can handle , but again unnecassary weight : ruled out.
- * Winner : VGA driver:
- * Case 2: Your card An SVGA card:
- * First the VGA driver will be quireied .. ok can handle one essential capability.
- * Next SVGA driver: can handle essential and one extra capability no extra weight..
- * The Nvidia driver: can handle , but unnecassary weight : ruled out.
- * Winner : SVGA driver..
- * Case 3 : You have an VGA .. but no VGA driver .. then the SVGA driver would win.
-
-* Sound Server
- * /ahsa - stands for Advanced HURD sound architecture :-) Just a temporary name .. for fun.
- * /ahsa/out - directory wich will hold "plug"s where apllications come and join the server .. see below.
- * /ahsa/out/mixer - main mixer
- * /ahsa/out/nextfree - the file when "cat"ed gives the number of the next free plug
- * /ahsa/plugins/ - info about available plugins
- * /ahsa/out/[1..n]/ - dynamically generated directories for applications to plug on..
- * /ahsa/out/[1..n]/data this is where you should do a "cat somerawsoundfile>/ahsa/out/`cat /ahsa/nextfree`/data"
- * /ahsa/out/[1..n]/plugins - the plugin stack .. volume is also a plugin..
- * /ahsa/out/[1..n]/plugins/[1..m]/ - echo "plugin param1 param2 param3" > /ahsa/out/[1..n]/plugins/`cat /ahsa/out/[1..n]/plugins/nextfree`/add
- * /ahsa/out/[1..n]/plugins/[1..m]/params/{param1.. paramn}
- * /ahsa/out/[1..n]/data.out - can be catted to get data processed through the server
- * /ahsa/in - similar to /ahsa/out .. with except for an extra file to choose input devices.
- * /ahsa/devs/{1..n} - devices detected .. can be dynamic .. there are usb soundcards and and midi devices.
- * /ahsa/out/[1..n]/plugins/[1..m]/0/params/dev
- * Dont get tempted for :/ahsa/out/[1..n]/params/{rate, channels, and other stuff}
- * that goes into /ahsa/out/[1..n]/plugins/0/params if /ahsa/out/[1..n]/plugins/0/detected == "headerless audio"
- * There are a lot more things I can continue about the "sound server" .. The Ideas simply dont seem to exhaust..
- * Some features/advantages
- * set output's translator plugin as ordinary text -- have text to speech conversion done by sound server!
- * Create and apply plugin presets by simply copying directories!
- * Me getting dizzy thinking of the zillion more advantages.
- * If you are really doing some ordinary output , all you need to do is "cat" data into next free "plug" and everything will be autodetected including the format of the data and sent to the final sound "merge"r
- * Dizzy ...
-
-* /usr/share/menu !!!! extension for package management idea ..
- * cat mymenuitem.menu >> /usr/share/menu/menu
- * cat /usr/share/menu/debian/kde ... :-)
-
-* Spam/Malware Control
- * /usr/antimalware/ - put your mail here.. it will automatically be scanned. when finished it will vanish from here ..
- * /usr/antimalware/clean - ... and pop out from here
- * /usr/antimalware/malware - or here.
-
-* NetDevice
- * !JustImagine(tm)... settrans -ac /netdevices /hurd/netdevfs - [ host | net ]
- * One can access device files remotely
- * This could be acheived by allowing translators talk to one another over a network
- * This will need translators to catch and handle ioctls (if there is such a thing in HURD).
- * The device server which will listen to requests from the translators can be run even on a Linux machine!!!
- * !JustImagine(tm)... accessing the crwriter/webcam on that GNU/Linux machine on the network using cdrecord of your local hurd machine!
- * !JustImagine(tm)... running GNU/HURD on a minimalistic GNU/Linux(but with all the drivers) through a specially modified and optimised Qemu. The device server runs on the host machine, and the client translators access over the virtual network created by Qemu. You got most of the drivers for free!
-
-* Emacs File VFS
- * I came to know from my Emacs loving friend that there are lots of VFS handlers in Emacs.. I was wondering if there can be translator which can tap into these Emacs VFS handlers.
diff --git a/hurd/translator/wishlist_2.mdwn b/hurd/translator/wishlist_2.mdwn
deleted file mode 100644
index 77f39644..00000000
--- a/hurd/translator/wishlist_2.mdwn
+++ /dev/null
@@ -1,201 +0,0 @@
-## <a name="Introduction"> Introduction </a>
-
-The idea behind file system translators is a powerful concept which hasn't recieved much attention in the mainstream computing world. So here is a list of interesting translators I've been able to dream up. I'm sure there are many more ideas floating around out there, so add them to the list!
-
-The [ferris project](http://witme.sourceforge.net/libferris.web/features.html) has some great ideas and code in the area of userspace dynamic filesystems, as has the [FUSE project](http://fuse.sourceforge.net/).
-
-## <a name="Audio_cdfs"> Audio\_cdfs </a>
-
-A translator which produces a directory of \*.wav files when you have an audio CD in the drive.
-
-## <a name="Ogg"> Ogg </a>
-
-This translator could be a sub-directory of the Audio\_cdfs translator and it would translate the \*.wav files into Ogg Vorbis/MP3 format.
-
-## <a name="CDDB"> </a> CDDB
-
-Of course it would be a lot nicer if the above two translators didn't name their files something worthless like track001.ogg. So we would want a translator which would hook up with a database on the web and produce meaningful file names.
-
-## <a name="Crypto"> Crypto </a>
-
-A cryptographic/steganographic seem like a nice match with the concept of user-land file systems. I like the idea of something like `settrans -a /secure stegfs --mpeg file001.mpg`
-
-## <a name="Revision_control"> Revision control </a>
-
-All of the empty space on your drive is now being wasted. Why not have a revision control translator which tracks changes to your documents? See also [this guy](http://www.linuxjournal.com/article.php?sid=5976). And then you'd do something like `cd /time-machine/2003/sept/14/` to see what your system looked like on the 14th of septempber 2003.
-
-## <a name="CVSFS"> </a> CVSFS
-
-See [cvsFS for Linux](http://cvsfs.sourceforge.net/). This provides a package which presents the CVS contents as mountable file system. It allows to view the versioned files as like they were ordinary files on a disk. There is also a possibility to check in/out some files for editing. A read-only version has been written by Stefan Siegl and is available at [Berlios](http://cvs.berlios.de/cgi-bin/viewcvs.cgi/cvsfs4hurd/cvsfs/).
-
-## <a name="tar_and_gzip"> tar and gzip </a>
-
-Rumor has it that they are on the way. Actually, a tar + gzip/bzip2 translator does exist (although it hasn't been used much...) : see [the Hurdextras project](http://savannah.nongnu.org/projects/hurdextras/) on Savannah.
-
-## <a name="ROM"> </a> ROM
-
-How about a translator which makes it look like you can write to read only media (like CDs), or change files which I don't have permission to change. This translator would make it seem like you could copy files to places where you normally couldn't. Think about combining this translator with the ftp translator and the tar and gzip translators. (cd /ftp/gnu.org/gnome.tar.gz/writes\_allowed; make install). It could be that unionfs does this very thing.
-
-## <a name="Super_FIFO"> Super\_FIFO </a>
-
-It's like a named pipe which is smart enough to start a process everytime something new tries to read from it. For example, let's say I have a script that reads in a JPEG image and spits out a smaller thumbnail \*.jpg to STDOUT. With a standard fifo (`mknod -p fifo`) this would almost works (`script big.jpg > fifo`). But what if there are two processes trying to read the fifo at once? Ick. And of course the standard way only works once without rerunning the command. I'm not quite sure what the syntax should look like, but I'm sure someone out there has a great idea waiting to happen.
-
-## <a name="Perl"> Perl </a>
-
-Perl is a wonderful language for hacking together something useful in a short amount of time. No concept is complete without being able to use it in a perl one-liner. And that goes for Hurd translators too. Right?
-
- #!/usr/bin/perl
- use Hurd::translator;
-
- #file named "two" can produce an endless supply of twos, etc. (a la /dev/zero)
- my $i=0;
- for $filename ([zero one two three four])
- {
- $libtrivfsread_codehash{$filename}=
- sub{ $num_bytes=shift; my $data=$i; return chr($data) x $num_bytes; };
- #that's a hash of references to closures
- $i++;
- }
- translator_startup();
-
-A Perl translator has been started by [John Edwin Tobey](http://john-edwin-tobey.org/Hurd/) (pith).
-
-## <a name="Source_code"> Source code </a>
-
-Here's a crazy thought. How about a translator for source code. You have a C source file like `hello.c` which is your normal everyday file. But there's a translator sitting underneath, so when you `cd hello.c` you get a directory with files like `main()` which represent the subroutines in `hello.c`. And of course you should be able to edit/remove those and have it modify the original source.
-
-## <a name="Libraries"> Libraries </a>
-
-Here's an [idea](http://www.circlemud.org/~jelson/software/fusd/docs/node13.html) from the people making [userspace drivers in Linux](http://www.circlemud.org/~jelson/software/fusd/):
-
-* "One particularly interesting application of FUSD that we've found very useful is as a way to let regular user-space libraries export device file APIs. For example, imagine you had a library which factored large composite numbers. Typically, it might have a C interface--say, a function called `int *factorize(int bignum)`. With FUSD, it's possible to create a device file interface--say, a device called `/dev/factorize` to which clients can `write(2)` a big number, then `read(2)` back its factors.
-
-* This may sound strange, but device file APIs have at least three advantages
- over a typical library API. First, it becomes much more language
- independent--any language that can make [[system call]]s can access the
- factorization library. Second, the factorization code is running in a
- different address space; if it crashes, it won't crash or corrupt the
- caller. Third, and most interestingly, it is possible to use `select(2)` to
- wait for the factorization to complete. `select(2)` would make it easy for a
- client to factor a large number while remaining responsive to other events
- that might happen in the meantime. In other words, FUSD allows normal
- user-space libraries to integrate seamlessly with UNIX's existing,
- POSIX-standard event notification interface: `select(2)`."
-
-## <a name="Mail"> Mail </a>
-
-Am I off my rocker, or does an IMAP/POP translator sound like a good idea? It would make your remote mail servers look like local ones. Or what about a translator that makes a mbox format mail spool look like a directory. Can anyone think of a good use for an SMTP translator?
-
-*Definitely: Copy my email in there to send it.* -- [[ArneBab|community/weblogs/ArneBab]]
-
-## <a name="UUEncode"> </a> UUEncode
-
-How about a UUEncode translator for those places you can only store ASCII. Combine this with a NNTP translator and store your data in someone's Usenet archive. Or since, (as far as I know), there are no size limitations on file names in the Hurd, why not have a filesystem translator whose underlying store is a file name. (Now ls becomes cat).
-
-## <a name="Computation"> Computation </a>
-
-This is from the revenge of the command-line department. Make a directory translator whose contents are a result of the computation specified in the directory name. Here's an example...
-
- $ settrans -a /comp /hurd/computationfs
- $ cd "/comp/3+4"
- $ ls -l
- total 0
- -rw-r--r-- 1 nobody users 0 Oct 16 11:41 7
- $
- $ cd "/comp/sqrt(2)"
- $ ls -l
- total 0
- -rw-r--r-- 1 nobody users 0 Oct 16 11:42 1.4142135623731
- $
-
-...etc. Now think about your favorite GUI HTML editor and using File-&gt;Open on the following directory name, ``"/comp/for i in $( find / -name *.html ); do ln -s $i `basename $i`;done"`` Which would produce a directory listing with soft links to all of the \*.html files on your system. You could have all of the comforts of the shell from within that little File-&gt;Open dialog box.
-
-## <a name="Other"> Other </a>
-
-Just found Wolfgang J�hrling's translator [wishlist](http://www.8ung.at/shell/trans.html).
-
-## <a name="Bochs"> Bochs </a>
-
-A translator which works with [Bochs](http://bochs.sourceforge.net/) disk images would be nice.
-
-## <a name="Rollover"> Rollover </a>
-
-A translator that uses a circular buffer to store log files. The translated node only contains the last N (mega,kilo)bytes.
-
-## <a name="Birthday"> Birthday </a>
-
-A translator that provides an interface into the birthday program.
-
-You can cat your calendar, eg. bd/calendar/today bd/calendar/this-week or bd/calendar/this-month.
-
-And you could write new events into files located in bd/events/DATE/event-name.
-
-DATE is of the format the birthday expects DD/MM/YYYY.
-
-The contents of the file are any or none of the following birthday options: ann (An anniversary), bd (A birthday), ev (Some other event), wN (Warn N days in advance of date), toDATE (Event lasts until this DATE), forDAYS (Event runs for DAYS).
-
-You can optionally just edit the bd/birthdays file if you want to edit the configuration file by hand. It might make sense to write changes from bd/birthdays into ~/.birthdays.
-
- $ settrans -c bd /hurd/birthday -f ~/.birthdays
- $ ls bd/
- birthdays calendar events
- $ find bd -print
- bd
- bd/calendar
- bd/calendar/daily
- bd/calendar/this-week
- bd/calendar/this-month
- bd/events
- bd/birthdays
- $
-
-## <a name="LVM"> </a> LVM
-
-A translator to access block devices from Linux's [Logical Volume Management](http://www.tldp.org/HOWTO/LVM-HOWTO/) would be an useful addition.
-
- # settrans -cap /dev/VolumeGroup0 /hurd/lvm /dev/PhysicalVolume0 /dev/PhysicalVolume1 ...
- # ls /dev/VolumeGroup0/
- home
- var
- # settrans -cap /home /hurd/ext2fs /dev/VolumeGroup0/home
- # settrans -cap /var /hurd/ext2fs /dev/VolumeGroup0/var
-
-Probably both [LVM2](http://sourceware.org/lvm2/) and the [Device-mapper](http://sourceware.org/dm/) need to be ported.
-
-## <a name="bridging_translator"> bridging translator </a>
-
-A [bridging](http://bridge.sourceforge.net/faq.html) translator could improve the Hurd's networking facilities.
-
- # settrans -cap /dev/br0 /hurd/bridge -i eth0 -i eth1 ...
- # settrans -cap /servers/socket/2 /hurd/pfinet -i /dev/br0 -a ... -g ... -m ...
-
-Perhaps Linux's bridging code and [utilities](http://bridge.sourceforge.net/) can be ported (or glued in) or code from one of the BSDs.
-
-## <a name="SSH_translator"> </a> SSH translator
-
-Presenting remote file systems through SSH similar to what gnome-vfs does.
-
-## <a name="SMB_translator"> </a> SMB translator
-
-Presenting remote file systems through Samba similar to what gnome-vfs does. Guiseppe Scrivano has worked on this and smbfs is available at [hurdextras](http://savannah.nongnu.org/cgi-bin/viewcvs/hurdextras/smbfs/).
-
-## <a name="Crontab_translator"> Crontab translator </a>
-
-Presenting a user's crontab in a filesystem where cron entries are files.
-
-## <a name="globlink"> globlink </a>
-
-Firmlink to a file according to a filename matching pattern. When a file goes away, the next file that is matched is automatically linked to.
-
- $ settrans -ac libfoo.so /hurd/globlink '/lib/libfoo*'
-
-## <a name="alphabetfs"> alphabetfs </a>
-
-Organize a large group of files by their first letter. Present one subdirectory for each letter in the alphabet.
-
-## <a name="fsysoptsctl"> fsysoptsctl </a>
-
-Send an fsysopts command to a set of translators. When you have a directory full of translators and you want to send each of them the same runtime option, this translator can do it for you.
-
- $ settrans -ac all /hurd/fsysoptsctl '/tmp/mystuff/*'
- $ fsysopts all --update
diff --git a/hurd/translator/xmlfs.mdwn b/hurd/translator/xmlfs.mdwn
index 769c43ce..a4de1668 100644
--- a/hurd/translator/xmlfs.mdwn
+++ b/hurd/translator/xmlfs.mdwn
@@ -1,11 +1,17 @@
-[[!meta copyright="Copyright © 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+`xmlfs` is a translator that provides access to XML documents through the
+filesystem.
+
+
+# Source
<http://www.nongnu.org/hurdextras/#xmlfs>
diff --git a/lttng.mdwn b/lttng.mdwn
index 840312c4..72ae35c4 100644
--- a/lttng.mdwn
+++ b/lttng.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -12,10 +12,19 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_hurd open_issue_gnumach]]
+
# Overview
+ * <http://lttng.org/>
+
* {{$toupin_lttng_2011}}
+ * <http://www.efficios.com/projects>
+
+ * [[!wikipedia Relativistic_programming]]
+
+ * <http://wiki.cs.pdx.edu/rp/>
+
# Related
diff --git a/microkernel/mach/gnumach/boot_trace.mdwn b/microkernel/mach/gnumach/boot_trace.mdwn
index 1badf712..7b729c23 100644
--- a/microkernel/mach/gnumach/boot_trace.mdwn
+++ b/microkernel/mach/gnumach/boot_trace.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2007, 2008, 2011 Free Software Foundation,
+[[!meta copyright="Copyright © 2007, 2008, 2011, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -114,7 +114,7 @@ License|/fdl]]."]]"""]]
>>>> kern/time\_stamp.c: timestamp\_init
->>>> kern/mach\_clock.c: mapable\_time\_init
+>>>> kern/mach\_clock.c: [[mapable\_time\_init|interface/device/time]]
>>>> i386/i386at/model\_dep.c: machine\_init
diff --git a/hurd/running/debian/faq/xserver-common.mdwn b/microkernel/mach/gnumach/interface/device.mdwn
index d1b17f31..c8ab50e9 100644
--- a/hurd/running/debian/faq/xserver-common.mdwn
+++ b/microkernel/mach/gnumach/interface/device.mdwn
@@ -1,12 +1,16 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
-You need to run `dpkg-reconfigure x11-common` and select `Anybody` for
-starting X as there is no way to detect console users currently.
+[[!meta title="Devices"]]
+
+/!\ Incomplete.
+
+[[!map pages="microkernel/mach/gnumach/interface/device/* and !microkernel/mach/gnumach/interface/device/*/*"
+show=title]]
diff --git a/microkernel/mach/gnumach/interface/device/time.mdwn b/microkernel/mach/gnumach/interface/device/time.mdwn
new file mode 100644
index 00000000..d1e9a488
--- /dev/null
+++ b/microkernel/mach/gnumach/interface/device/time.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]]."]]"""]]
+
+The *mapped-time interface*, that is, a `mmap`able read-only memory page
+containing a `struct mapped_time_value`. See the [[reference_manual]].
+
+Typically available as `/dev/time`, [[hurd/translator/storeio]].
+
+Using that, [[hurd/libshouldbeinlibc]]'s `<maptime.h>` provides `maptime_map`
+and `maptime_read`, see the [[hurd/reference_manual]]. Candidate for
+replacement with [[open_issues/vDSO]] code?
diff --git a/news/2010-09.mdwn b/news/2010-09.mdwn
index a35e1b3e..fa0e1db1 100644
--- a/news/2010-09.mdwn
+++ b/news/2010-09.mdwn
@@ -97,9 +97,9 @@ While already working in that area, Samuel Thibault applied some further fixes
to our two threading libraries, and among others, he also sent a related glibc
patch to [fix signal-catching
functions](http://sourceware.org/ml/libc-alpha/2010-09/msg00015.html). And
-then, there is still the project about [[converting the Hurd's libraries and
+then, there is still the project about converting the Hurd's libraries and
servers to using libpthread instead of Mach's cthreads
-(libthreads)|community/gsoc/project_ideas/pthreads]]; likely such signalling
+(libthreads); likely such signalling
system moderizations could be done [alongside of
that](http://lists.gnu.org/archive/html/bug-hurd/2010-09/msg00021.html).
diff --git a/open_issues/address_space_memory_mapping_entries.mdwn b/open_issues/address_space_memory_mapping_entries.mdwn
index caf447dd..8ed69345 100644
--- a/open_issues/address_space_memory_mapping_entries.mdwn
+++ b/open_issues/address_space_memory_mapping_entries.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -17,3 +17,5 @@ IRC, freenode, #hurd, 2011-05-07
linked list
<braunr> a bare linked list
<braunr> which makes faults and page cache lookups even slower
+
+A red-black tree was added to VM maps to speed up lookups.
diff --git a/open_issues/alarm_setitimer.mdwn b/open_issues/alarm_setitimer.mdwn
index 5999808c..a1c8a7d3 100644
--- a/open_issues/alarm_setitimer.mdwn
+++ b/open_issues/alarm_setitimer.mdwn
@@ -22,6 +22,7 @@ for a signal, while on GNU/Hurd it gets a new alarm and exits.
[[alrm.c]]
+This issue was recently fixed (around January 2013).
# IRC, freenode, #hurd, 2012-07-29
diff --git a/open_issues/anatomy_of_a_hurd_system.mdwn b/open_issues/anatomy_of_a_hurd_system.mdwn
index 8119cdd5..677e4625 100644
--- a/open_issues/anatomy_of_a_hurd_system.mdwn
+++ b/open_issues/anatomy_of_a_hurd_system.mdwn
@@ -174,6 +174,9 @@ Need more stuff like that.
<abique> is it M:N ?
<youpi> libthreads, actually
<youpi> yes
+
+Actually, the Hurd has never used an M:N model. Both libthreads (cthreads) and libpthread use an 1:1 model.
+
<abique> nice
<abique> is the task scheduler in the kernel ?
<youpi> the kernel thread scheduler, yes, of course
diff --git a/open_issues/benefits_of_a_native_hurd_implementation.mdwn b/open_issues/benefits_of_a_native_hurd_implementation.mdwn
index afdcfb73..dfd41837 100644
--- a/open_issues/benefits_of_a_native_hurd_implementation.mdwn
+++ b/open_issues/benefits_of_a_native_hurd_implementation.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -120,6 +121,12 @@ IRC, #hurd, 2010-12-28
[...]
<braunr> kilobug: right, a monolithick kernel is less folt-tolerant than a
well designed/implemented microkernel based os
+
+It turns out that it is perfectly possible to isolate services running in the
+same address space, as it was done in projects such as Singularity, the idea
+being that the code is verified through static analysis when installed (but
+this requires a language other than C).
+
<kilobug> braunr: well, the Hurd is buggy nowadays, but things like an
ext2fs translator doing a segfault and being restarted is a
fault-tolerance that would be almost impossible to have in Linux
diff --git a/open_issues/clock_gettime.mdwn b/open_issues/clock_gettime.mdwn
index b2fbf3e0..5ba6b418 100644
--- a/open_issues/clock_gettime.mdwn
+++ b/open_issues/clock_gettime.mdwn
@@ -14,7 +14,9 @@ License|/fdl]]."]]"""]]
Missing `clock_gettime(CLOCK_MONOTONIC)` (e.g. for iceweasel)
-It could be a mere matter of extending the mappable clock: add it to
+It could be a mere matter of extending the
+[[mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]]:
+add it to
`mapped_time_value_t` in gnumach, handle it in `gnumach/kern/mach_clock.c`, and
make `clock_gettime` use it.
@@ -193,3 +195,6 @@ In context of [[select]].
that blocked on something or just waiting to be continued?
<pinotree> blocked on me needing to learn more the proper way to do
"atomic" update of the struct with time :)
+
+
+# Candidate for [[vDSO]] code?
diff --git a/open_issues/dde.mdwn b/open_issues/dde.mdwn
index b25e53d7..f0f7cae0 100644
--- a/open_issues/dde.mdwn
+++ b/open_issues/dde.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010, 2011, 2012 Free Software Foundation,
+[[!meta copyright="Copyright © 2010, 2011, 2012, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -393,6 +393,9 @@ After the microkernel devroom at [[community/meetings/FOSDEM_2013]].
we'd have to update 100times per second
<youpi> so ZhengDa preferred to make jiffies a macro which calls a function
which reads the mapped time
+
+[[Mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]].
+
<youpi> however, that break any use of the work "jiffies", e.g. structure
members & such
<youpi> actually it's not only after headers that the #include has to be
diff --git a/open_issues/debugging.mdwn b/open_issues/debugging.mdwn
index b2d49b26..107acbf6 100644
--- a/open_issues/debugging.mdwn
+++ b/open_issues/debugging.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -23,6 +24,8 @@ We have debugging infrastructure. For example:
# To Do
+ * [[glibc]]'s sotruss
+
* [[ltrace]]
* [[latrace]]
diff --git a/open_issues/file_system_exerciser.mdwn b/open_issues/file_system_exerciser.mdwn
index c51863b9..f8cca6a1 100644
--- a/open_issues/file_system_exerciser.mdwn
+++ b/open_issues/file_system_exerciser.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -10,20 +11,21 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_hurd]]
-Test our file system implementations with the File System Exerciser.
-
- * <http://codemonkey.org.uk/projects/fsx/>
+Test our file system implementations with the [File System
+Exerciser](http://codemonkey.org.uk/projects/fsx/). See [[tmpfs
+discussion|hurd/translator/tmpfs/discussion]], and on [[Maksym_Planeta]].
# Alternatives
-
## fs_mark
-
### IRC, freenode, #hurd, 2012-04-30
<pinotree> mcsim: http://sourceforge.net/projects/fsmark/
<pinotree> mcsim: just saw it in debian's NEW queue and from the
description it seemed like something it could be helpful for you
<pinotree> (and in general to test fs'es)
+
+
+## [[VFAT_Test_Suite]]
diff --git a/open_issues/gcc.mdwn b/open_issues/gcc.mdwn
index 66fad780..f86b5345 100644
--- a/open_issues/gcc.mdwn
+++ b/open_issues/gcc.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Free Software
-Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 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
@@ -37,8 +37,8 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
-Last reviewed up to the [[Git mirror's be3860ba8df48cca3253da4f02fd2d42d856ce80
-(2012-12-10) sources|source_repositories/gcc]].
+Last reviewed up to the [[Git mirror's 71cfadefb994de9249449fb7e71be012b6264a3f
+(2013-02-17) sources|source_repositories/gcc]].
<http://gcc.gnu.org/install/configure.html> has documentation for the
`configure` switches.
@@ -330,8 +330,8 @@ Last reviewed up to the [[Git mirror's be3860ba8df48cca3253da4f02fd2d42d856ce80
# Build
Here's a log of a GCC build run; this is from our [[Git repository's
-a1d48e100791bc67ff355e0931a604e767c827b7 (2012-12-10;
-be3860ba8df48cca3253da4f02fd2d42d856ce80 (2012-12-10))
+06a4535f69cf9613943fd12f97fe94e471dedcce (2013-02-18;
+71cfadefb994de9249449fb7e71be012b6264a3f (2013-02-17))
sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
@@ -344,12 +344,14 @@ sources|source_repositories/gcc]], run on kepler.SCHWINGE and coulomb.SCHWINGE.
Different hosts may default to different shells and compiler versions; thus
harmonized.
+We're stuck with GCC 4.6 until there are Debian *gnat-4.7* packages avaible.
+
This takes up around 3.5 GiB, and needs roughly 3.25 h on kepler.SCHWINGE and
14.25 h on coulomb.SCHWINGE.
<!--
- $ (make && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && make -k RUNTESTFLAGS=-v check 2>&1 | tee log_test
+ $ (make && touch .go-install) 2>&1 | tee log_build_ && test -f .go-install && (make install && touch .go-test) 2>&1 | tee log_install && test -f .go-test && make -k check 2>&1 | tee log_test
-->
@@ -565,6 +567,7 @@ coulomb.SCHWINGE:
$ export LC_ALL=C
+ [reboot]
$ make -k check-fixincludes 2>&1 | tee log_test_1_check-fixincludes
[...]
$ make -k -C gcc check-ada 2>&1 | tee log_test_2_gcc_check-ada
@@ -584,10 +587,10 @@ coulomb.SCHWINGE:
$ make -k check-target 2>&1 | tee log_test_4_check-target
[...]
-This needs roughly 7 h on kepler.SCHWINGE and 4 h (`check-fixincludes`,
-`gcc/check-ada`) + 12.5 h (`gcc/check-c`) + 4.25 h (`gcc/check-c++`) + 5.5 h
+This needs roughly 7 h on kepler.SCHWINGE and 3.5 h (`check-fixincludes`,
+`gcc/check-ada`) + 13 h (`gcc/check-c`) + 4.25 h (`gcc/check-c++`) + 5.75 h
(`gcc/check-fortran`, `gcc/check-java`, `gcc/check-lto`, `gcc/check-objc`) +
-9 h (`check-intl`, [...], `check-lto-plugin`, `check-target`) = 35.25 h on
+9.25 h (`check-intl`, [...], `check-lto-plugin`, `check-target`) = 35.75 h on
coulomb.SCHWINGE.
@@ -626,6 +629,9 @@ coulomb.SCHWINGE.
They used to PASS.
+ * What is `gcc/testsuite/gcc.test-framework/test-framework.exp` and should we
+ define `CHECK_TEST_FRAMEWORK` to run these tests?
+
* TODO
diff --git a/open_issues/gdb.mdwn b/open_issues/gdb.mdwn
index c4433438..6b9cd135 100644
--- a/open_issues/gdb.mdwn
+++ b/open_issues/gdb.mdwn
@@ -33,8 +33,8 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
-Last reviewed up to the [[Git mirror's 00e1c4298d2b6fe040a9a970e98349602b12ddbf
-(2013-02-06) sources|source_repositories/gdb]].
+Last reviewed up to the [[Git mirror's 6b25dae901ddedb3f330803542d3eac73cdcae4b
+(2013-03-13) sources|source_repositories/gdb]].
* Globally
@@ -71,7 +71,7 @@ Last reviewed up to the [[Git mirror's 00e1c4298d2b6fe040a9a970e98349602b12ddbf
Here's a log of a GDB build run; this is from our [[Git
repository|source_repositories/gdb]]'s `tschwinge/Ferry_Tagscherer` branch,
-commit 00e1c4298d2b6fe040a9a970e98349602b12ddbf (2013-02-06), run on
+commit 6b25dae901ddedb3f330803542d3eac73cdcae4b (2013-03-13), run on
kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
@@ -87,7 +87,7 @@ There are several occurences of *error: dereferencing type-punned pointer will
break strict-aliasing rules* in the MIG-generated stub files; thus no `-Werror`
until that is resolved ([[strict_aliasing]]).
-This takes up around 210 MiB and needs roughly 7 min on kepler.SCHWINGE and 23
+This takes up around 210 MiB and needs roughly 9 min on kepler.SCHWINGE and 25
min on coulomb.SCHWINGE.
<!--
@@ -107,7 +107,7 @@ formats and more emulation vectors.
* Why do we specify `-D_GNU_SOURCE`, and GNU/Linux doesn't?
- * GNU/Linux: `gdb/symfile-mem.c` for vDSO.
+ * GNU/Linux: `gdb/symfile-mem.c` for [[vDSO]].
* GNU/Linux: `gdb/i386-nat.c` for hardware breakpoints, etc. -- we should
probably use that, too. Related to Samuel's Hurd GDB patch?
@@ -143,7 +143,7 @@ formats and more emulation vectors.
gnu-nat.c:2864:5: warning: format '%d' expects argument of type 'int', but argument 2 has type 'mach_port_t' [-Wformat]
- * fe19822761b4635f392875a186e48af446b40f41..7a63e9515491f21eaf07301df87d389def20e317):
+ * fe19822761b4635f392875a186e48af446b40f41..7a63e9515491f21eaf07301df87d389def20e317:
`-Wmissing-prototypes`
@@ -185,6 +185,15 @@ formats and more emulation vectors.
* Why does GNU/Linux have an additional `-ldl -rdynamic` when linking `gdb`?
+ * 00e1c4298d2b6fe040a9a970e98349602b12ddbf..6b25dae901ddedb3f330803542d3eac73cdcae4b:
+
+ +../../Ferry_Tagscherer/gdb/gnu-nat.c: In function 'info_port_rights':
+ +../../Ferry_Tagscherer/gdb/gnu-nat.c:3058:11: warning: passing argument 1 of 'parse_to_comma_and_eval' from incompatible pointer type [enabled by default]
+ +In file included from ../../Ferry_Tagscherer/gdb/breakpoint.h:23:0,
+ + from ../../Ferry_Tagscherer/gdb/inferior.h:37,
+ + from ../../Ferry_Tagscherer/gdb/gnu-nat.c:56:
+ +../../Ferry_Tagscherer/gdb/value.h:729:22: note: expected 'const char **' but argument is of type 'char **'
+
# Install
@@ -207,7 +216,7 @@ min on coulomb.SCHWINGE.
$ make -k check 2>&1 | tee log_test
[...]
-This needs roughly 14 min on kepler.SCHWINGE and 120 min on coulomb.SCHWINGE.
+This needs roughly 14 min on kepler.SCHWINGE and 70 min on coulomb.SCHWINGE.
When running `make -k check 2>&1 | tee log_test`, at the end of the testsuite
the `tee` process does not terminate if there are still stray leftover
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index 325801bf..0df40ae5 100644
--- a/open_issues/glibc.mdwn
+++ b/open_issues/glibc.mdwn
@@ -1028,7 +1028,8 @@ Last reviewed up to the [[Git mirror's d3bd58cf0a027016544949ffd27300ac5fb01bb8
adcd5c15d2a37794d021104160b425ff61f88219 -- `Always fill output buffer
in XPG strerror function`. Change needed for
`sysdeps/mach/xpg-strerror.c`?
- * a91710475294c66d0005bdaae0919d36ef8ce3d2 -- sotruss. Does it work?
+ * a91710475294c66d0005bdaae0919d36ef8ce3d2 -- sotruss ([[debugging]],
+ [[profiling]]). Does it work?
* b1ebd700c5295a449f8d114740f0d1fb6e6b2eb5 +
80e2212d8e59933a1641f029ebd360526ff0e074 +
4997db742946d08be4378cf91221f558f928bc73 -- `Don't document si_code
diff --git a/open_issues/glibc_madvise_vs_static_linking.mdwn b/open_issues/glibc_madvise_vs_static_linking.mdwn
index ab633b0f..4af41931 100644
--- a/open_issues/glibc_madvise_vs_static_linking.mdwn
+++ b/open_issues/glibc_madvise_vs_static_linking.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010, 2011, 2012 Free Software Foundation,
+[[!meta copyright="Copyright © 2010, 2011, 2012, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -29,7 +29,8 @@ no-op in glibc, avoiding the link-time warning.
GCC c5db973fdab3db3e13db575e5650c0bcfd3630f4 (2011-10-17) makes use of this.
As we now export the symbol (and `MADV_DONTNEED`, too), GCC will no longer
`munmap` pages, but will keep them mapped for later re-use. This may increase
-memory usage.
+memory usage. The discussion in [[!message-id
+"20120720162519.734e02eb@spoyarek"]] touches related topics.
2011-07: This is what Samuel has [done for Debian
glibc](http://anonscm.debian.org/viewvc/pkg-glibc/glibc-package/trunk/debian/patches/hurd-i386/local-madvise_warn.diff).
diff --git a/open_issues/gnat.mdwn b/open_issues/gnat.mdwn
index 2d17e275..e3005ee4 100644
--- a/open_issues/gnat.mdwn
+++ b/open_issues/gnat.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 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
@@ -25,11 +26,6 @@ There is a [[!FF_project 259]][[!tag bounty]] on this task.
First, make the language functional, have its test suite pass without errors.
-## Original [[community/GSoC]] Task Description
-
-[[!inline pages=community/gsoc/project_ideas/gnat feeds=no]]
-
-
## Debian GCC
There has a patch been added for GNU/kFreeBSD:
diff --git a/open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.mdwn b/open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.mdwn
index b1eaf9a5..c38d029e 100644
--- a/open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.mdwn
+++ b/open_issues/hurd_file_name_lookup_retry_FS_RETRY_MAGIC.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,14 +9,38 @@ 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, #hurd, 2009-08-25
+[[!tag open_issue_glibc open_issue_hurd]]
- <cfhammar> also I fixed (what I think is) a bug in hurd_file_name_lookup_retry when opening FDs with FS_RETRY_MAGIC
- <cfhammar> it didn't actually reopen the FD, rather it just (effectively) duped it
- <scolobb> cfhammar: That's great! I think I had some problems because of not being able to truly reopen a port to a file.
- <antrik> cfhammar: what is the difference, and why do you consider it a bug?...
- <cfhammar> antrik: for one thing you can't change open modes, and it doesn't reset the file cursor
+
+# IRC, freenode, #hurd, 2009-08-25
+
+ <cfhammar> also I fixed (what I think is) a bug in
+ hurd_file_name_lookup_retry when opening FDs with FS_RETRY_MAGIC
+ <cfhammar> it didn't actually reopen the FD, rather it just (effectively)
+ duped it
+ <scolobb> cfhammar: That's great! I think I had some problems because of
+ not being able to truly reopen a port to a file.
+ <antrik> cfhammar: what is the difference, and why do you consider it a
+ bug?...
+ <cfhammar> antrik: for one thing you can't change open modes, and it
+ doesn't reset the file cursor
<cfhammar> (which I actually needed, though I could have done it manually)
<cfhammar> antrik: and also it isn't consistant with linux
- <cfhammar> you can trigger the bug from the shell: cat /dev/fd/3 3>> /tmp/foo
- <antrik> cfhammar: I can't say that I understand the test case... but I can at least confirm that it behaves differently on Hurd and on Linux :-)
+ <cfhammar> you can trigger the bug from the shell: cat /dev/fd/3 3>>
+ /tmp/foo
+ <antrik> cfhammar: I can't say that I understand the test case... but I can
+ at least confirm that it behaves differently on Hurd and on Linux :-)
+
+
+## 2013-02-17
+
+GNU/Linux:
+
+ $ cat /dev/fd/3 3>> /tmp/foo
+ $ ls -l /tmp/foo
+ -rw-rw-r-- 1 thomas thomas 0 Feb 17 12:01 /tmp/foo
+
+GNU/Hurd:
+
+ $ cat /dev/fd/3 3>> /tmp/foo
+ cat: /dev/fd/3: Bad file descriptor
diff --git a/open_issues/implementing_hurd_on_top_of_another_system.mdwn b/open_issues/implementing_hurd_on_top_of_another_system.mdwn
index 220c69cc..cf3db0ab 100644
--- a/open_issues/implementing_hurd_on_top_of_another_system.mdwn
+++ b/open_issues/implementing_hurd_on_top_of_another_system.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010, 2011, 2012 Free Software Foundation,
+[[!meta copyright="Copyright © 2010, 2011, 2012, 2013 Free Software Foundation,
Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
@@ -358,8 +358,9 @@ Continue reading about the [[benefits_of_a_native_Hurd_implementation]].
<peo-xaci> what you talked about above "the user space system call code is
loaded as a virtual shared library"
<braunr> let's call it vdso
- <braunr> i have to leave in a few minutes
- <braunr> keep going, i'll read later
+
+[[vDSO]]
+
<peo-xaci> thanks, I looked it up on Wikipedia and understand immediately
:P
<peo-xaci> so VDSOs are provided by the kernel, not a regular library file,
diff --git a/open_issues/latrace.mdwn b/open_issues/latrace.mdwn
index b5a2928c..f5b7521e 100644
--- a/open_issues/latrace.mdwn
+++ b/open_issues/latrace.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -9,3 +9,8 @@ is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]
Check whether <http://people.redhat.com/jolsa/latrace/> works.
+
+
+# See Also
+
+ * [[debugging]], [[profiling]]
diff --git a/open_issues/libpthread.mdwn b/open_issues/libpthread.mdwn
index acc03efd..28532320 100644
--- a/open_issues/libpthread.mdwn
+++ b/open_issues/libpthread.mdwn
@@ -17,13 +17,7 @@ License|/fdl]]."]]"""]]
# cthreads -> pthreads
Get rid of cthreads; switch to pthreads.
-
-There is a [[!FF_project 275]][[!tag bounty]] on this task.
-
-
-## Original [[community/GSoC]] Task Description
-
-[[!inline pages=community/gsoc/project_ideas/pthreads feeds=no]]
+Most of the issues raised on this page has been resolved, a few remain.
## IRC, freenode, #hurd, 2012-04-26
diff --git a/open_issues/libpthread_CLOCK_MONOTONIC.mdwn b/open_issues/libpthread_CLOCK_MONOTONIC.mdwn
index 5a99778b..37ee548b 100644
--- a/open_issues/libpthread_CLOCK_MONOTONIC.mdwn
+++ b/open_issues/libpthread_CLOCK_MONOTONIC.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+[[!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
@@ -25,6 +25,9 @@ License|/fdl]]."]]"""]]
<youpi> that's unfortunate, but that's what nptl actually does
<pinotree> this way we could add inside hurdtime.c the mapped time stuff
too
+
+[[Mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]].
+
<pinotree> most probably a noobish question, but why does rt link to
pthread?
<youpi> no idea :)
diff --git a/open_issues/llvm.mdwn b/open_issues/llvm.mdwn
index 56b4513e..2a4b4ed5 100644
--- a/open_issues/llvm.mdwn
+++ b/open_issues/llvm.mdwn
@@ -47,10 +47,10 @@ git log --reverse --topo-order --pretty=fuller --stat=$COLUMNS,$COLUMNS -w -p -C
-->
Last reviewed up to the [[Git mirror's sources|source_repositories/llvm]]: llvm
-e68542e67e5c0f8d4bbdae0dde6ccd24525a18e3 (2013-02-13), clang
-2cbd427ec533f022f612fed0dd93ef5fa214478a (2013-02-12), compiler-rt
-c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite
-f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
+6f7becfe23f38e8c28e9422d883263974058aeed (2013-03-24), clang
+495cfa46300979642acde8d93a1f21c9291dac98 (2013-03-23), compiler-rt
+a06fe9183fbffb78798a444da9bc3040fdd444aa (2013-03-23), test-suite
+5a05572d268568fb15b48f374f9fc9f882adecd2 (2013-03-23).
* <http://anonscm.debian.org/viewvc/pkg-llvm/llvm/trunk/debian/patches/>.
@@ -69,12 +69,22 @@ f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
* [low] Linuxisms
+ * In some CMake files (`CMakeLists.txt`, for example).
+
* `test/`, `unittests`, `tools/clang/test/`, `tools/clang/unittests/` not
yet examined.
* In clang's `test/Driver/` a lot of testing can be generalized from
*Linux* to *GNU environment*, adding GNU/Hurd testing, too.
+ * LLVM commit 98fbe27ac8f0766ea94b89b8c03418131b72bea4 `Support for
+ HiPE-compatible code emission`
+
+ Only relevant for `CallingConv::HiPE`.
+
+ + assert(ST->isTargetLinux() &&
+ + "HiPE prologue is only supported on Linux operating systems.");
+
* `compiler-rt` and `test-suite` not yet examined.
* `/proc` usage
@@ -92,11 +102,11 @@ f621d1a62904df136cbaf4e4e63cbf9e9c45fd10 (2013-02-08).
Here's a log of a LLVM build run; this is from our [[Git repository's
sources|source_repositories/llvm]], llvm
-829831c561ca75cb81cbe217dee25b52dbe0e2f0 (2013-02-13), clang
-6b02a96cdeecb9cc2070a5a5684d62bb32ba40d6 (2013-02-13), compiler-rt
-c242446f7a7c6a0c1f1bf9ad403d6dac6f215f1c (2013-02-12), test-suite
-f8647dbb30c3ee173c038aff10f815b0ba856793 (2013-02-09), run on kepler.SCHWINGE
-and coulomb.SCHWINGE.
+dc218fb6ae3241f4b66e9bf2c9d6352efecc0a14 (2013-03-24), clang
+744290b5ecd48bddb4a6cf96d68cdc4a57e24e36 (2013-03-24), compiler-rt
+a06fe9183fbffb78798a444da9bc3040fdd444aa (2013-03-23), test-suite
+1821ab0ef1c73430705356fdfde3769460092382 (2013-03-24), run on
+kepler.SCHWINGE and coulomb.SCHWINGE.
$ export LC_ALL=C
$ (cd ../Horace_Silver/ && ln -sfn ../../../clang/tschwinge/Hank_Mobley tools/clang)
@@ -118,8 +128,8 @@ for the corresponding GNU/Linux build). Using `--enable-debug-symbols
the corresponding GNU/Linux build). Also there is a separate
`--enable-debug-runtime`.
-This takes up around 3 GiB, and needs roughly 1.25 h on kepler.SCHWINGE and
-4.25 h on coulomb.SCHWINGE.
+This takes up around 3.2 GiB, and needs roughly 1.5 h on kepler.SCHWINGE and
+5.25 h on coulomb.SCHWINGE.
Configuring without `--enable-optimized` even crashes mighty darnassus,
probably because of too-big files when linking. Configuring with
@@ -164,7 +174,7 @@ TODO
$ make VERBOSE=1 install 2>&1 | tee log_install
-This takes up around 350 MiB, and needs roughly 1 min on kepler.SCHWINGE and 12
+This takes up around 400 MiB, and needs roughly 1 min on kepler.SCHWINGE and 12
min on coulomb.SCHWINGE.
@@ -183,8 +193,8 @@ TODO
`LIT_ARGS=-v` is default for `VERBOSE=1`, but we want only one worker thread,
for stable order and usable test output log.
-This needs roughly 10 min (`check-all`) + 145 min (test-suite) = 155 min on
-kepler.SCHWINGE and 40 min (`check-all`) + 80 min (test-suite) = 120 min on
+This needs roughly 10 min (`check-all`) + 150 min (test-suite) = 160 min on
+kepler.SCHWINGE and 45 min (`check-all`) + 165 min (test-suite) = 210 min on
coulomb.SCHWINGE.
@@ -227,6 +237,59 @@ coulomb.SCHWINGE.
[...]
int x;
+ #include <stdio.h>
+ #include <unistd.h>
+
+ int main(int argc, char *argv[])
+ {
+ while (argc > 0)
+ {
+ int err;
+ char *f = argv[argc -1];
+
+ err = access(f, F_OK);
+ if (err < 0)
+ printf("%s: %m\n", f);
+
+ argc--;
+ }
+
+ return 0;
+ }
+
+ $ ./a.out /dev/fd/0 < /dev/null
+ $ cat < /dev/null | ./a.out /dev/fd/0
+ /dev/fd/0: (ipc/mig) bad request message ID
+
+ `file_check_access` fails with `MIG_BAD_ID`, meaning this RPC is not
+ implemented.
+
+ The difference is that the former directly refers to the `/dev/null`
+ instance, whereas the latter goes through an intermediate pflocal instance.
+
+ Similarly:
+
+ $ stat /dev/fd/0 < /dev/null
+ File: `/dev/fd/0'
+ Size: 0 Blocks: 0 IO Block: 1048576 character special file
+ Device: 17h/23d Inode: 342820 Links: 1 Device type: 0,0
+ Access: (0666/crw-rw-rw-) Uid: ( 0/ root) Gid: ( 0/ root)
+ Access: 2012-11-27 16:03:19.000000000 +0100
+ Modify: 2012-11-27 16:03:19.000000000 +0100
+ Change: 2012-11-27 16:03:19.000000000 +0100
+ Birth: -
+ $ cat < /dev/null | stat /dev/fd/0
+ File: `/dev/fd/0'
+ Size: 0 Blocks: 0 IO Block: 65536 fifo
+ Device: 9h/9d Inode: 0 Links: 0
+ Access: (0000/p---------) Uid: ( 0/ root) Gid: ( 0/ root)
+ Access: 1970-01-01 01:00:00.000000000 +0100
+ Modify: 1970-01-01 01:00:00.000000000 +0100
+ Change: 1970-01-01 01:00:00.000000000 +0100
+ Birth: -
+
+ `io_stat_request` fills in these values.
+
* `Clang :: Tooling/clang-check-builtin-headers.cpp`
Fails: `fatal error: 'stddef.h' file not found`; succeeds when ran
diff --git a/open_issues/ltrace.mdwn b/open_issues/ltrace.mdwn
index cf0df759..615d2d86 100644
--- a/open_issues/ltrace.mdwn
+++ b/open_issues/ltrace.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -10,10 +10,18 @@ License|/fdl]]."]]"""]]
[[!tag open_issue_glibc]]
-IRC, unknown channel, unknown date.
+<http://www.ltrace.org/>
+
+
+# IRC, unknown channel, unknown date.
<youpi> it'd be good to have ltrace eventually
<youpi> rpctrace has too many issues to be usable
<youpi> (and a lot of them are hard to fix iirc)
<youpi> ltrace traces library calls
<youpi> in principle it should just work at the dynamic linker stage, so should be portable
+
+
+# See Also
+
+ * [[debugging]], [[profiling]]
diff --git a/open_issues/multiprocessing.mdwn b/open_issues/multiprocessing.mdwn
index 562ccd83..0ac7f195 100644
--- a/open_issues/multiprocessing.mdwn
+++ b/open_issues/multiprocessing.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -54,12 +55,6 @@ IRC, freenode, #hurd, 2011-07-26
< braunr> thread migration already takes into account smt, cores, and numa
< braunr> it's hard to do something better
< braunr> (here, thread migration means being dispatched on another cpu)
- < braunr> some systems like dragonflybsd go as far as to pin threads on one
- processor for their entire lifetime
- < braunr> in order to have rcu-like locking almost everywhere
- < braunr> (you could argue it's less efficient since in the worst case
- everything runs on the same cpu, but it's very unlikely, and in practice
- most patterns are well balanced)
debian-hurd list
diff --git a/open_issues/performance/io_system/read-ahead.mdwn b/open_issues/performance/io_system/read-ahead.mdwn
index 4034e940..768dca93 100644
--- a/open_issues/performance/io_system/read-ahead.mdwn
+++ b/open_issues/performance/io_system/read-ahead.mdwn
@@ -1323,6 +1323,9 @@ License|/fdl]]."]]"""]]
<antrik> well, in theory, specific kernel drivers can expose their own
device_map() -- but IIRC the only one that does (besides mem of course)
is maptime -- which is not a real driver either...
+
+[[Mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]].
+
<braunr> oh btw, i didn't know you had a blog :)
<antrik> well, it would be possible to replace the device interface by
specific interfaces for the generic pseudo devices... I'm not sure how
@@ -1870,6 +1873,9 @@ License|/fdl]]."]]"""]]
<braunr> mcsim: does it work fine without the large storage patch ?
<mcsim> braunr: looks fine, but TBH I can't even run such things like fsx,
because even without my changes it failed mightily at once.
+
+[[file_system_exerciser]].
+
<braunr> mcsim: right, well, that will be part of another task :)
diff --git a/open_issues/profiling.mdwn b/open_issues/profiling.mdwn
index 7e3c7350..26e6c97c 100644
--- a/open_issues/profiling.mdwn
+++ b/open_issues/profiling.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2010, 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -17,6 +18,12 @@ done for [[performance analysis|performance]] reasons.
Should be working, but some issues have been reported, regarding GCC spec
files. Should be possible to fix (if not yet done) easily.
+ * [[glibc]]'s sotruss
+
+ * [[ltrace]]
+
+ * [[latrace]]
+
* [[community/gsoc/project_ideas/dtrace]]
Have a look at this, integrate it into the main trees.
diff --git a/open_issues/time.mdwn b/open_issues/time.mdwn
index cc3951c3..becb88b0 100644
--- a/open_issues/time.mdwn
+++ b/open_issues/time.mdwn
@@ -52,7 +52,7 @@ GNU time's *elapsed* value is off by some factor.
user 0m0.000s
sys 0m0.010s
-As above; also here all the running time should be attriuted to *user* time.
+As above; also here all the running time should be attributed to *user* time.
This is probably a [[!taglink open_issue_gnumach]].
@@ -69,74 +69,15 @@ While testing some [[performance/IPC_virtual_copy]] performance issues:
<tschwinge> And I can confirm that with dd if=/dev/zero of=/dev/null bs=4k
running, a parallel sleep 10 takes about 20 s (on strauss).
+# 2013-03-30/31
-# IRC, OFTC, #debian-hurd, 2013-03-30
-
- <clopez> /usr/bin/time seems broken on hurd. It reports weird things. Ex:
- <clopez> # /usr/bin/time sleep 1
- <clopez> 0.00user 0.00system 4:37:46elapsed 0%CPU (0avgtext+0avgdata
- 0maxresident)k
- <clopez> 0inputs+0outputs (0major+0minor)pagefaults 0swaps
- <pinotree> o_O
- <pinotree> indeed, let's see what that time does
- <pinotree> seems like only the elapsed time, %E
- <clopez> not only the time, but also the other variables (pagefaults, cpu
- used, etc) are wrong. For example compare the output of
- <clopez> /usr/bin/time openssl speed ecdhp521
- <clopez> on linux and hurd
- <pinotree> most probably they are not implemented yet
- <pinotree> they are all 0
- <clopez> yes
- <clopez> should i report a bug to pkg time?
- <pinotree> not sure
- <pinotree> at least, there's this difference between eg amd64 and hurd-i386
- in configure's output:
- <pinotree> -checking for wait3 that fills in rusage... yes
- <pinotree> +checking for wait3 that fills in rusage... no
- <clopez> found this:
- https://www.gnu.org/software/hurd/open_issues/time.html
- <pinotree> seems related, yes
- <pinotree> clopez: apparently all the ways to get the HZ define, either
- directly or with CLOCKS_PER_SEC or CLK_TCK, so it gets defined as HZ
- <pinotree> ... as 60, i mean (instead of 1000000)
- <pinotree> $ ./time sleep 1
- <pinotree> 0.00user 0.00system 0:01.01elapsed 0PU (0avgtext+0avgdata
- 0maxresident)k
- <pinotree> :)
- <clopez> what it was?
- <pinotree> i added the check for time.h, and included in the no-wait3 case
- in resuse.c
- <pinotree> (omg, the last release of gnu time was in 1997)
- <clopez> lol
- <pinotree> hm not yet fixed
- <pinotree> oh minor typo
- <pinotree> clopez: http://paste.debian.net/246004/
- <pinotree> i will update the wiki page (on the hurd site) and send the
- patch tomorrow
- <clopez> nice
- <pinotree> yw, thanks again
- <clopez> i dropped the patch on debian/patches of pkg time.. rebuilt it
- both on linux and hurd
- <clopez> and works as expected in both cases
- <clopez> i think you should forward the patch to the mantainer of pkg time
- <pinotree> is there anyone maintaining gnu time?
- <clopez> http://packages.qa.debian.org/t/time.html
- <clopez> Maintainers for time are Bob Proulx <bob@proulx.com>.
- <pinotree> that's the debian maintainer, yes, which is what i implied
- earlier with "send the patch"
- <clopez> i guess that filling a bug against time with this patch attached
- should be enough
- <pinotree> yeah
- <clopez> wow... not only you fixed the elapsed time but also the other
- variables :)
- <clopez> /usr/bin/time openssl speed ecdhp521
- <clopez> now it reports cpu used and pagefaults :)
- <pinotree> does it?
- <clopez> 10.00user 0.01system 0:10.11elapsed 99%CPU (0avgtext+0avgdata
- 0maxresident)k
- <clopez> 0inputs+0outputs (67major+656minor)pagefaults 0swaps
-
-
-# IRC, OFTC, #debian-hurd, 2013-03-31
-
- <pinotree> clopez: #704283
+Investigating time's `configure`, a difference of the output between Linux and
+Hurd shows:
+
+ -checking for wait3 that fills in rusage... yes
+ +checking for wait3 that fills in rusage... no
+
+This causes a different code path in `resuse.c` to be used; such code path does
+not get a define for `HZ`, which is then defined with a fallback value of 60.
+
+[[!debbug 704283]] has been filed with a fix for this no-wait3 case.
diff --git a/open_issues/vdso.mdwn b/open_issues/vdso.mdwn
new file mode 100644
index 00000000..2b2d2805
--- /dev/null
+++ b/open_issues/vdso.mdwn
@@ -0,0 +1,48 @@
+[[!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 open_issue_glibc open_issue_gnumach open_issue_hurd]]
+
+Evaluate whether or not usage of vDSOs (virtual dynamically linked shared
+objects; [[!wikipedia vDSO]]) can be useful in a GNU Hurd system.
+
+Explanation and example for the Linux kernel: [Creating a vDSO: the Colonel's
+Other
+Chicken](http://www.linuxjournal.com/content/creating-vdso-colonels-other-chicken),
+Matt Davis, 2012-02-06. The *Resources* given are also worth reading.
+Basically, this is useful for exporting data from the kernel (generally, or
+given a process context ([[Unix]]), or task/thread context, and so on).
+
+On a GNU Hurd system, parts of the data that makes up a process context doesn't
+actually live inside the kernel, but instead is directly held in glibc. For
+example `sysdeps/mach/hurd/getpid.c:__getpid` does a mere `return _hurd_pid`.
+For this reason, vDSOs might not be as useful on GNU Hurd as they are with the
+Linux kernel. Or, put another way, as GNU Hurd system doesn't have many
+[[system_call]]s, also there aren't many that could be replaced.
+
+Generally only *real* [[system_call]]s should be candidates for implementation
+with vDSO code, because otherwise that'd break the ([[RPC]]) system's inherent
+[[/virtualization]] capabilities.
+
+Having vDSO code might be useful for:
+
+ * `mach_*_self`: `mach_host_self`, `mach_task_self`, `mach_thread_self`?
+
+ * [[mapped-time_interface|master/microkernel/mach/gnumach/interface/device/time]]
+
+ Every application can then use that via the regular
+ `gettimeofday`/`clock_gettime` and similar calls instead of using the
+ special [[hurd/libshouldbeinlibc]]'s `<maptime.h>` interface.
+
+ Can implement [[`clock_gettime` stuff|clock_gettime]] more easily that way,
+ for example for nanosecond precision?
+
+ Now, the [[mapped-time_interface]] is virtualizable -- the question is
+ whether there is a way so that we can make a compromise here?
diff --git a/open_issues/vfat_test_suite.mdwn b/open_issues/vfat_test_suite.mdwn
new file mode 100644
index 00000000..e06f07e3
--- /dev/null
+++ b/open_issues/vfat_test_suite.mdwn
@@ -0,0 +1,20 @@
+[[!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 open_issue_hurd]]
+
+As referenced in Linux kernel's `Documentation/filesystems/vfat.txt`, on
+<http://web.archive.org/web/*/http://bmrc.berkeley.edu/people/chaffee/vfat.html>
+one can find a VFAT Test Suite. Run it on our [[hurd/translator/fatfs]].
+
+
+# See Also
+
+ * [[File_System_Exerciser]]
diff --git a/open_issues/visudo.mdwn b/open_issues/visudo.mdwn
new file mode 100644
index 00000000..e9892e33
--- /dev/null
+++ b/open_issues/visudo.mdwn
@@ -0,0 +1,22 @@
+[[!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="visudo: /etc/sudoers is busy, try again later"]]
+
+[[!tag open_issue_hurd]]
+
+visudo does not work:
+
+ /etc/sudoers is busy, try again later
+
+Apparently there is some locking that sudo does which does not
+work. Uninvestigated for now.
+
+One can just edit the /etc/sudoers file and take care of correctness by hand.
diff --git a/sandbox.mdwn b/sandbox.mdwn
index b90e8160..bb5939c8 100644
--- a/sandbox.mdwn
+++ b/sandbox.mdwn
@@ -40,3 +40,5 @@ Bulleted list
---
UTF-8 testing: © Queensrÿche ¿ Ø ß ®
+
+So, let's see how it behaves ...
diff --git a/shortcuts.mdwn b/shortcuts.mdwn
index c211bd30..c59c8895 100644
--- a/shortcuts.mdwn
+++ b/shortcuts.mdwn
@@ -96,7 +96,7 @@ ikiwiki will include your shortcut in the standard underlay.
## Notmuch'n'Gmane.
- * [[!shortcut name=message-id url="http://thread.gmane.org/%s" desc="""`id:"%s"`"""]]
+ * [[!shortcut name=message-id url="http://news.gmane.org/find-root.php?message_id=%3c%s%3e" desc="""`id:"%s"`"""]]
## sourceware
diff --git a/sidebar.mdwn b/sidebar.mdwn
index 7143329d..e8b69a93 100644
--- a/sidebar.mdwn
+++ b/sidebar.mdwn
@@ -1,5 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008, 2009, 2010, 2011, 2012 Free Software
-Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 2009, 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
@@ -21,6 +21,7 @@ Welcome to... [[!img /logo/boxes-redrawn.png link=/logo]] ... the GNU Hurd!
* [[Public_Hurd_Boxen]]
* [[QEMU Images|hurd/running/qemu]]
* [[Getting Help]]
+ * [[Project Ideas|community/gsoc/project_ideas]]
* [[Open Issues]]
* **[[Documentation]]**
* [[FAQ]]
diff --git a/source_repositories/incubator.mdwn b/source_repositories/incubator.mdwn
index 51f64c17..6d61a9e7 100644
--- a/source_repositories/incubator.mdwn
+++ b/source_repositories/incubator.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -10,3 +10,37 @@ License|/fdl]]."]]"""]]
There is a repository for *this*, and *that*, and *everything* -- the
*incubator*: <http://git.savannah.gnu.org/cgit/hurd/incubator.git/>.
+
+As the `README` file in the `master` branch says, the development of the
+various software happens in separate branches.
+
+## Handling branches with `git-new-workdir`
+
+`git-new-workdir` is a contrib script provided with the git distribution
+(on Debian systems, in `/usr/share/doc/git/contrib/workdir/git-new-workdir`);
+it allows to create a new subrepository of a git repository, tracking one of
+its branches, usually as a subdirectory of the current repository.
+
+The advantage of using it for `incubator` is that only one clone is needed,
+and it can be possible to work simultaneously on many branches (instead of
+only on the current branch of that clone).
+
+Let's start checking out the `incubator` repository:
+
+ $ git clone git://git.savannah.gnu.org/hurd/incubator.git
+ $ cd incubator/
+
+Assuming we now want to follow the development of the `tarfs/master` branch:
+we follow this branch:
+
+ $ git branch -t tarfs/master origin/tarfs/master
+
+Then now setup a local subrepository `tarfs` following it; we will create it
+as subdirectory of `incubator` (first parameter for `git-new-workdir`) for
+simplicity, but can be created anywhere else:
+
+ $ git-new-workdir . tarfs tarfs/master
+
+After this, a new `tarfs` subdirectory appears, which represents the
+`tarfs/master` branch. You can normally work on this new repository as usual.
+
diff --git a/system_call.mdwn b/system_call.mdwn
index 197889cb..f180a79b 100644
--- a/system_call.mdwn
+++ b/system_call.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2010 Free Software Foundation, Inc."]]
+[[!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
@@ -14,6 +14,7 @@ kinds of functionality from the operating system kernel.
A [[microkernel]]-based system typically won't offer a lot of system calls --
apart from one central one, and that is *send message* -- but instead [[RPC]]s
will be used instead.
+See [[GNU Mach's system calls|microkernel/mach/gnumach/interface/syscall]].
In the [[GNU Hurd|hurd]], a lot of what is traditionlly considered to be a UNIX
system call is implemented (primarily by means of [[RPC]]) inside [[glibc]].
diff --git a/toolchain/logs b/toolchain/logs
-Subproject 9dc02241b1a742d5ebf3ba2fdfa5039bf2b2931
+Subproject 17ecfe30c4c1cb2c5833bc58f0ec355ec38b107
diff --git a/unsorted/GNUstep.mdwn b/unsorted/GNUstep.mdwn
deleted file mode 100644
index 95b2a622..00000000
--- a/unsorted/GNUstep.mdwn
+++ /dev/null
@@ -1,64 +0,0 @@
-# <a name="Setting_up_GNUstep_on_the_Hurd"> </a> Setting up GNUstep on the Hurd
-
-GNUstep is not available on the Debian distribution for GNU/Hurd, but it can be built manually. This is, how to do it.
-
-#### <a name="Prerequisites"> Prerequisites </a>
-
-This packages should already be installed (Debian package names in brackets): ffcall (libffcall1, libffcall1-dev), libffi (libffi4), libffi4-dev, openssl (openssl), libtiff (libtiff4), libpng (libpng12-0, libpng3), libjpg (libjpeg62), libxml (libxml1, libxml2, libxml2-dev &amp; dependencies), xslt (libxslt1.1, libxslt1-dev &amp; dependencies), ssl (libssl0.9.8, libssl-dev), libungif4-dev libungif4g, aspell (libaspell15, libaspell-dev, aspell &amp; apspell-[for your language, e. g. en]) windowmaker (wmaker), Objective-C-Compiler (gobjc and depending packages)
-
-#### <a name="Getting_the_sources"> Getting the sources </a>
-
-To do an up-to-date-installation, download the daily snapshot from GNUstep into one new directory and unzip/untar them:
-
- wget ftp://ftp.gnustep.org/pub/daily-snapshots/core.current.tar.bz2
-
-#### <a name="Building_GNUstep"> </a> Building GNUstep
-
-Everything needed for the GNUstep base system is included into the expanded tarball. This is how to build it:
-
-Do the following installation as root!
-
- cd core/make
- ./configure
- make && make install
- cd ..
- . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh (see the dot at the begin!)
- cd ../base
- ./configure
- Edit the file Headers/Additions/GNUstepBase/config.h and add "#define BROKEN_SO_REUSEADDR 1" somewhere
- make && make install
- cd ../gui
- ./configure
- make && make install
- cd ../back
- make && make install
-
-Now, you've built the GNUstep base system. When you want to start a GNUstep application later or want to build one, open a bash shell and enter this command:
-
- . /usr/GNUstep/System/Library/Makefiles/GNUstep.sh
-
-This sets some necessary environment variables.
-
-#### <a name="Building_GNUstep_apps"> </a> Building GNUstep apps
-
-You can find some GNUstep applications here: <http://www.gnustep.org/experience/apps.html>
-
-and here: [http://mediawiki.gnustep.org/index.php/Main\_Page](http://mediawiki.gnustep.org/index.php/Main_Page)
-
-#### <a name="Known_problems"> Known problems </a>
-
-##### <a name="GNUMail"> </a> GNUMail
-
-After starting GNUMail, you can only once get mails from a pop3-server. If you want to fetch mails again, you have to restart it.
-
-##### <a name="GWorkspace_0_8"> GWorkspace 0.8 </a>
-
-GWorkspace 0.8 expects a /etc/mtab file. If you want to use it, you must manually make this file.
-
-Example for a /etc/mtab file:
-
- /dev/hd0s1 / ext2 rw 1 1
-
-----
-
--- Thomas Schlesinger - 03 Mar 2006
diff --git a/unsorted/KernelCousinDebianHurd.mdwn b/unsorted/KernelCousinDebianHurd.mdwn
deleted file mode 100644
index 1ff8a698..00000000
--- a/unsorted/KernelCousinDebianHurd.mdwn
+++ /dev/null
@@ -1,3 +0,0 @@
-[Kernel Traffic](http://www.kerneltraffic.org/) publishes newsletters that track the technical developments of various projects of the Free and Open Source world. [Newsletters for the Hurd development](http://www.kerneltraffic.org/debian-hurd/archives.html) were published, but not anymore.
-
-Updated status. -- [[Main/OgnyanKulev]] - 18 Sep 2004
diff --git a/unsorted/PosixThreads.mdwn b/unsorted/PosixThreads.mdwn
deleted file mode 100644
index f031b56f..00000000
--- a/unsorted/PosixThreads.mdwn
+++ /dev/null
@@ -1,21 +0,0 @@
-## <a name="POSIX_Threads_for_the_Hurd"> </a> POSIX Threads for the Hurd
-
-One of the features the Hurd has been lacking up til now is support for POSIX threads, pthreads. It has been the show stopper for porting many useful applications and has sometimes been pointed out as one of the bigger problems with the GNU operating system.
-
-In 2002 however, all this came to an end when Neal Walfield implemented libpthreads for his work on L4 and decided to also make it work on GNUmach.
-
-Information on the library can be found on Neals web site.
-
-* <http://web.walfield.org/pub/people/neal/hurd/libpthread/>
-
-## <a name="Previous_Attempts"> Previous Attempts </a>
-
-Plans to implement pthreads for the Hurd has existed since, at least, 1999. Mark Kettenis [1] began work that was supposed to be useful on Linux as well. His work was continued by Igor Khavikine [2], who implemented most of it. Igor could however not continue his work so it was picked up by Jeroen Dekkers [3] and Ryan Golbeck. Their work can be found on Savannah, <http://savannah.gnu.org/projects/pthreads/>.
-
-1. <http://sources.redhat.com/ml/libc-hacker/1999-08/msg00117.html>
-2. <http://lists.debian.org/debian-hurd/2001/debian-hurd-200102/msg00283.html>
-3. <http://mail.gnu.org/pipermail/l4-hurd/2001-October/000310.html>
-
-----
-
-Initial version -- [[Main/JoachimNilsson]] - 03 Nov 2002
diff --git a/unsorted/changelogs.html b/unsorted/changelogs.html
deleted file mode 100644
index 299ef281..00000000
--- a/unsorted/changelogs.html
+++ /dev/null
@@ -1,107 +0,0 @@
-[[meta copyright="Copyright © 2001, 2002, 2006, 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]]."]]"""]]
-
-<H3>ChangeLogs</H3>
-<P>
-As the Hurd sources are kept and maintained in a CVS repository that
-is accessible via the web, you can follow the progress of development
-closely. We maintain ChangeLogs, in which we record every change to
-the source code at the time it is committed. The links below lead you
-directly to the ChangeLog files in the Hurd and its associated packages.
-<P>
-If you want to follow the development of the Hurd closely, we suggest
-that you subscribe to the <A
-HREF="http://lists.gnu.org/mailman/listinfo/commit-hurd/">commit-hurd mailing
-list</A> to which notifications about changes to the Hurd source code
-are sent. The <A HREF="/software/hurd/download.html">complete source
-code</A> is also available, of course.
-</P>
-<H4>The Hurd</H4>
-<P>
-The Hurd source tree contains many independent parts, and therefore
-has one ChangeLog for each directory. There is one <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ChangeLog">ChangeLog
-in the main directory</A>, and one in each of the following
-subdirectories:
-</P>
-<UL>
-<LI>Translators and other servers:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/auth/ChangeLog">auth</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/exec/ChangeLog">exec</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ext2fs/ChangeLog">ext2fs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ftpfs/ChangeLog">ftpfs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/hostmux/ChangeLog">hostmux</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/init/ChangeLog">init</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/isofs/ChangeLog">isofs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/mach-defpager/ChangeLog">mach-defpager</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/nfs/ChangeLog">nfs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/nfsd/ChangeLog">nfsd</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/pfinet/ChangeLog">pfinet</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/pflocal/ChangeLog">pflocal</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/proc/ChangeLog">proc</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/storeio/ChangeLog">storeio</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/term/ChangeLog">term</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/tmpfs/ChangeLog">tmpfs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/trans/ChangeLog">trans</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ufs/ChangeLog">ufs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/usermux/ChangeLog">usermux</A>
-<LI>Utilities:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/benchmarks/ChangeLog">benchmarks</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/boot/ChangeLog">boot</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/bsdfsck/ChangeLog">bsdfsck</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/fstests/ChangeLog">fstests</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/sutils/ChangeLog">sutils</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ufs-fsck/ChangeLog">ufs-fsck</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/ufs-utils/ChangeLog">ufs-utils</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/utils/ChangeLog">utils</A>
-<LI>Boot code and system programs:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/login/ChangeLog">login</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/config/ChangeLog">config</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/daemons/ChangeLog">daemons</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/serverboot/ChangeLog">serverboot</A>
-<LI>Release scripts and packaging:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/debian/ChangeLog">debian</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/release/ChangeLog">release</A>
-<LI>Documentation:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/doc/ChangeLog">doc</A>
-<LI>Interface definitions:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/hurd/ChangeLog">hurd</A>
-<LI>Support libraries:
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libdiskfs/ChangeLog">libdiskfs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libfshelp/ChangeLog">libfshelp</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libftpconn/ChangeLog">libftpconn</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libhurdbugaddr/ChangeLog">libhurdbugaddr</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libihash/ChangeLog">libihash</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libiohelp/ChangeLog">libiohelp</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libnetfs/ChangeLog">libnetfs</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libpager/ChangeLog">libpager</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libpipe/ChangeLog">libpipe</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libports/ChangeLog">libports</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libps/ChangeLog">libps</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libshouldbeinlibc/ChangeLog">libshouldbeinlibc</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libstore/ChangeLog">libstore</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libthreads/ChangeLog">libthreads</A>,
-<A HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/hurd/libtrivfs/ChangeLog">libtrivfs</A>
-</UL>
-<H4>GNU&nbsp;Mach</H4>
-The <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/gnumach/ChangeLog">GNU
-Mach ChangeLog</A> covers all changes to GNU&nbsp;Mach and <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/gnumach/ChangeLog?rev=1.128.2">GNU
-Mach 1 branch ChangeLog</A> those on the <SAMP>gnumach-1-branch</SAMP>.
-Changes before March 1997 are listed in <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/gnumach/ChangeLog.0">ChangeLog.0</A>
-and <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/gnumach/ChangeLog.00">ChangeLog.00</A>.
-<H4>MIG</H4>
-The <A
-HREF="http://cvs.savannah.gnu.org/viewcvs/~checkout~/hurd/mig/ChangeLog">MIG ChangeLog</A>
-covers all changes to MIG.
diff --git a/user/musial.mdwn b/user/musial.mdwn
index dee4588a..bcdaea2c 100644
--- a/user/musial.mdwn
+++ b/user/musial.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!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
@@ -8,8 +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]]."]]"""]]
-Robert Musial - Cleveland, OH
+~musial (Robert Musial) - Cleveland, OH
-musial/at/gnu/dot/org
+email: musial@gnu.org
-http://musial.sollux.net
+Join the FSF! - http://www.fsf.org/register_form?referrer=9143