summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hurd/translator/unionfs.mdwn3
-rw-r--r--microkernel/mach/gnumach/ports.mdwn13
-rw-r--r--news/2009-06-30.mdwn14
-rw-r--r--news/2009-07-30.mdwn26
-rw-r--r--open_issues/crash_server.mdwn152
-rw-r--r--open_issues/device_drivers_and_io_systems.mdwn24
-rw-r--r--open_issues/time.mdwn55
-rw-r--r--open_issues/user-space_device_drivers.mdwn55
-rw-r--r--open_issues/xen_crash_copy-size_le_page_size.mdwn65
-rw-r--r--public_hurd_boxen.mdwn8
-rw-r--r--public_hurd_boxen/bddebian.mdwn1
-rw-r--r--public_hurd_boxen/domu_console.mdwn8
-rw-r--r--user/scolobb.mdwn59
13 files changed, 423 insertions, 60 deletions
diff --git a/hurd/translator/unionfs.mdwn b/hurd/translator/unionfs.mdwn
index 6f845102..9f1fa169 100644
--- a/hurd/translator/unionfs.mdwn
+++ b/hurd/translator/unionfs.mdwn
@@ -23,3 +23,6 @@ is included in the section entitled
# External Links
* [*Unioning file systems for Linux*](http://valerieaurora.org/union/)
+
+ * [FUSE page about
+ `unionfs`](http://sourceforge.net/apps/mediawiki/fuse/index.php?title=UnionFileSystems)
diff --git a/microkernel/mach/gnumach/ports.mdwn b/microkernel/mach/gnumach/ports.mdwn
index a29b8651..afc91d7a 100644
--- a/microkernel/mach/gnumach/ports.mdwn
+++ b/microkernel/mach/gnumach/ports.mdwn
@@ -1,4 +1,5 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!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
@@ -9,7 +10,13 @@ is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]
* x86. This is the main port.
+
+ * [[Xen]]
+
* [PowerPC](http://www.pjbruin.dds.nl/hurd/). Is not in a usable state.
- * Alpha. Was once started, but isn't in a usable state either.
- * [[Xen]]
+ * Alpha: [project I](http://savannah.nongnu.org/projects/hurd-alpha), and
+ [project II](http://savannah.nongnu.org/projects/gnumach-alpha). Was once
+ started, but isn't in a usable state either.
+
+ * MIPS. Status completely unknown.
diff --git a/news/2009-06-30.mdwn b/news/2009-06-30.mdwn
index 3175bd3a..92bc8a20 100644
--- a/news/2009-06-30.mdwn
+++ b/news/2009-06-30.mdwn
@@ -8,14 +8,14 @@ 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]]."]]"""]]
-A month of the Hurd: *Git migration*, *stand-alone libpthread*, *debian packages* and
-*updated status*.
+A month of the Hurd: *Git migration*, *stand-alone libpthread* and *updated
+status*.
[[!if test="included()" then="""[[!toggle id=full_news
text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]"""
else="[[!paste id=full_news]]"]]
[[!cut id="full_news" text="""
-> Thomas Schwinge [finished
+> This month Thomas Schwinge [finished
> migrating](http://lists.gnu.org/archive/html/bug-hurd/2009-06/msg00147.html)
> the main Hurd, GNU Mach, MIG, libpthread and unionfs to Git. You can find
> the new repositories at <http://git.savannah.gnu.org/cgit/hurd/>.
@@ -24,10 +24,6 @@ else="[[!paste id=full_news]]"]]
> stand-alone](http://lists.gnu.org/archive/html/bug-hurd/2009-06/msg00166.html)
> by separating its build system from the Hurd's.
-> Additionally Samuel Thibault uploaded a new version of the Hurd
-> [[Debian_package|hurd/running/debian]] which improves stability.
-
-> Last but not least Olaf Buddenhagen wrote a usability report about his experience
-> with two years of using the [[GNU Hurd for everyday work|hurd/status]].
-
+> Additionally, Olaf Buddenhagen wrote a usability report about his experience
+> with the [[GNU Hurd for everyday work|hurd/status]].
"""]]
diff --git a/news/2009-07-30.mdwn b/news/2009-07-30.mdwn
deleted file mode 100644
index 29d9e472..00000000
--- a/news/2009-07-30.mdwn
+++ /dev/null
@@ -1,26 +0,0 @@
-[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
-
-[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
-id="license" text="Permission is granted to copy, distribute and/or modify this
-document under the terms of the GNU Free Documentation License, Version 1.2 or
-any later version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
-is included in the section entitled [[GNU Free Documentation
-License|/fdl]]."]]"""]]
-
-A month of the Hurd: *unionfs* and *bug fixes*.
-[[!if test="included()" then="""[[!toggle id=full_news
-text="Details."]][[!toggleable id=full_news text="[[!paste id=full_news]]"]]"""
-else="[[!paste id=full_news]]"]]
-
-[[!cut id="full_news" text="""
-> [[Sergiu_Ivanov|user/scolobb]] implemented much of the
-> core functionality of [[union_mounts|hurd/translator/unionmount]] which will allow combining
-> the filesystem trees from translators with the filesystem trees the underlying node.
-
-> Also Zhen Da fixed a bug in Mach's
-> [BPF](http://en.wikipedia.org/wiki/Berkeley_Packet_Filter)
-> implementation and added fixes and
-> improvements for rpctrace which should help further debugging.
-
-"""]]
diff --git a/open_issues/crash_server.mdwn b/open_issues/crash_server.mdwn
new file mode 100644
index 00000000..71f495cc
--- /dev/null
+++ b/open_issues/crash_server.mdwn
@@ -0,0 +1,152 @@
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_hurd]]
+
+Given an `a.out` executable that only does `raise (SIGABRT)`, invoking that
+one...
+
+ * ... against `crash-dump-core` will...
+
+ * ... not overwrite existing `core` files.
+
+ Is this reasonable? Linux does overwrite them, for example.
+
+ * ... show big variances in running-time behavior:
+
+ $ TIMEFORMAT='real %R user %U system %S'
+ $ rm -f core; time env CRASHSERVER=/servers/crash-dump-core ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.350 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 21:59 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-dump-core ./a.out; ls -l core
+ Aborted (core dumped)
+ real 22.771 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 21:59 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-dump-core ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.367 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:00 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-dump-core ./a.out; ls -l core
+ Aborted (core dumped)
+ real 5.789 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:00 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-dump-core ./a.out; ls -l core
+ Aborted (core dumped)
+ real 22.664 user 0.010 system 0.000
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:01 core
+
+ * ... produce a huge `core` file:
+
+ $ du -hs core
+ 17M core
+
+ On Linux, the `core` file occupies 76 KiB of disk space, which seems
+ much more reasonable.
+
+ * ... produce an invalid `core` file:
+
+ $ gdb a.out core
+ warning: core file may not match specified executable file.
+ [New Thread 76651]
+
+ warning: Wrong size fpregset in core file.
+ Reading symbols from /lib/libc.so.0.3...[...]
+ Core was generated by `./a.out'.
+ Program terminated with signal 6, Aborted.
+
+ warning: Wrong size fpregset in core file.
+ #0 0x00000000 in ?? ()
+ (gdb) bt
+ #0 0x00000000 in ?? ()
+ Cannot access memory at address 0x17
+
+ [[!tag open_issue_gdb]] Probably the `crash` server code and [[GDB]] are
+ out of sync.
+
+ * ... against `crash-suspend` will...
+
+ * ... not work at all:
+
+ $ CRASHSERVER=/servers/crash-suspend ./a.out
+ $ [returns to the shell and doesn't suspended]
+
+ * ... show big variances in running-time behavior:
+
+ $ TIMEFORMAT='real %R user %U system %S'
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.381 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:04 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.332 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:04 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 21.228 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:04 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.323 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:05 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 22.279 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:05 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.362 user 0.000 system 0.000
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:08 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 21.110 user 0.000 system 0.000
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:08 core
+ $ rm -f core; time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted (core dumped)
+ real 1.350 user 0.000 system 0.020
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:08 core
+
+ * ... can reliably crash GNU Mach:
+
+ This happens if a `core` file is already present (and won't get
+ overwritten; see above). I reproduced this three times.
+
+ $ TIMEFORMAT='real %R user %U system %S'
+ $ time env CRASHSERVER=/servers/crash-suspend ./a.out; ls -l core
+ Aborted
+ real 2.856 user 0.000 system 0.010
+ -rw------- 1 tschwinge tschwinge 17031168 Jul 7 22:08 core
+
+ panic: zalloc: zone kalloc.8192 exhausted
+ Kernel Breakpoint trap, eip 0x20020a77
+ Stopped at 0x20020a76: int $3
+ db> trace
+ 0x20020a76(2006aba8,4d0f7e9c,200209b0,0,0)
+ 0x20020a4d(2006b094,2006ae40,2000,20016803,4a5f4114)
+ 0x2002bca5(49a03564,1,0,9,1000)
+ 0x20022f4c(2000,4a5f45d4,4a84879c,49a46564,4ac43e78)
+ 0x20021e65(4ac43e78,4a5f45d4,4a5f4114,0,0)
+ 0x2005309d(2106ba9c,3,38,28,1783)
+ Bad frame pointer: 0x2106ba78
+
+ $ addr2line -i -f -e /boot/gnumach-xen 0x20020a76 0x20020a4d 0x2002bca5 0x20022f4c 0x20021e65 0x2005309d
+ Debugger
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/debug.c:105
+ panic
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/debug.c:148
+ zalloc
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/zalloc.c:470
+ kalloc
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/kalloc.c:185
+ ipc_kobject_server
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/ipc_kobject.c:76
+ mach_msg_trap
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/ipc/mach_msg.c:1367
diff --git a/open_issues/device_drivers_and_io_systems.mdwn b/open_issues/device_drivers_and_io_systems.mdwn
index 57a96cd0..f84ddce8 100644
--- a/open_issues/device_drivers_and_io_systems.mdwn
+++ b/open_issues/device_drivers_and_io_systems.mdwn
@@ -15,6 +15,8 @@ in general.
Also see [[user-space device drivers]].
+[[!toc levels=2]]
+
# Documentation
@@ -63,7 +65,27 @@ Also see [[user-space device drivers]].
2004, Joshua Levasseur, Volkmar Uhlig, Jan Stoess, Stefan Götz
-# Projects
+# External Projects
* [Building Linux Device Drivers on
FreeBSD](http://info.iet.unipi.it/~luigi/FreeBSD/linux_bsd_kld.html)
+
+ * [Project UDI](http://www.projectudi.org/), a multi-company effort to define
+ a Uniform Driver Interface
+
+ * [The Free Software Movement and
+ UDI](http://www.gnu.org/philosophy/udi.html)
+
+ * [OSKit](http://www.cs.utah.edu/flux/oskit/)
+
+ * [Unofficial OSKit source](http://www.nongnu.org/oskit/) on Savannah
+
+ * [[microkernel/Mach]]-like
+
+ It might be possible to integrate these systems' device drivers, as they're
+ expected to mostly be using the same interfaces as the current in-kernel
+ Mach drivers are.
+
+ * OSF Mach
+
+ * Darwin
diff --git a/open_issues/time.mdwn b/open_issues/time.mdwn
new file mode 100644
index 00000000..eda5b635
--- /dev/null
+++ b/open_issues/time.mdwn
@@ -0,0 +1,55 @@
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_porting]]
+
+Neither the `time` executable from the GNU time package work completely
+correctly, nor does the GNU Bash built-in one.
+
+ tschwinge@flubber:~ $ \time sleep 2
+ 0.00user 0.00system 9:38:00elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
+ 0inputs+0outputs (0major+0minor)pagefaults 0swaps
+ tschwinge@flubber:~ $ \time sleep 4
+ 0.00user 0.00system 18:50:25elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
+ 0inputs+0outputs (0major+0minor)pagefaults 0swaps
+ tschwinge@flubber:~ $ \time sleep 6
+ 0.00user 0.00system 28:00:53elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
+ 0inputs+0outputs (0major+0minor)pagefaults 0swaps
+ tschwinge@flubber:~ $ time sleep 2
+
+ real 0m2.093s
+ user 0m0.000s
+ sys 0m0.011s
+ tschwinge@flubber:~ $ time sleep 4
+
+ real 0m4.083s
+ user 0m0.000s
+ sys 0m0.010s
+ tschwinge@flubber:~ $ time sleep 6
+
+ real 0m6.164s
+ user 0m0.000s
+ sys 0m0.010s
+
+GNU time's *elapsed* value is off by some factor.
+
+ $ \time factor 1111111111111111111
+ 1111111111111111111: 1111111111111111111
+ 0.00user 0.00system 52:39:24elapsed 0%CPU (0avgtext+0avgdata 0maxresident)k
+ 0inputs+0outputs (0major+0minor)pagefaults 0swaps
+ $ time factor 1111111111111111111
+ 1111111111111111111: 1111111111111111111
+
+ real 0m11.424s
+ user 0m0.000s
+ sys 0m0.010s
+
+As above; also here all the running time should be attriuted to *user* time.
+This is probably a [[!taglink open_issue_gnumach]].
diff --git a/open_issues/user-space_device_drivers.mdwn b/open_issues/user-space_device_drivers.mdwn
index 154a525c..43795705 100644
--- a/open_issues/user-space_device_drivers.mdwn
+++ b/open_issues/user-space_device_drivers.mdwn
@@ -14,6 +14,57 @@ This is a collection of resources concerning *user-space device drivers*.
Also see [[device drivers and IO systems]].
+[[!toc levels=2]]
+
+
+# Issues
+
+## IRQs
+
+ * Can be modeled using [[RPC]]s.
+
+ * Security considerations: IRQ sharing.
+
+ * *Omega0* paper defines an interface.
+
+## DMA
+
+ * Security considerations.
+
+ * I/O MMU.
+
+## I/O Ports
+
+ * Security considerations.
+
+## PCI and other buses
+
+ * Security considerations: sharing.
+
+## Latency of doing RPCs
+
+ * [[GNU Mach|microkernel/mach/gnumach]] is said to have a high overhead when
+ doing RPC calls.
+
+
+# Plan
+
+ * Examine what other systems are doing.
+
+ * L4
+
+ * Hurd on L4: deva, fabrica
+
+ * Minix 3
+
+ * Start with a simple driver and implement the needed infrastructure (see
+ *Issues* above) as needed.
+
+ * <http://savannah.nongnu.org/projects/user-drivers/>
+
+ Some (unfinished?) code written by Robert Millan in 2003: PC keyboard
+ and parallel port drivers, using `libtrivfs`.
+
# Documentation
@@ -92,8 +143,8 @@ Also see [[device drivers and IO systems]].
Ganapathy, Arini Balakrishnan, Michael M. Swift, Somesh Jha
-# Projects
+# External Projects
* <http://ertos.nicta.com.au/research/drivers/uldd/>
- * <http://savannah.nongnu.org/projects/user-drivers>
+ * <http://gelato.unsw.edu.au/IA64wiki/UserLevelDrivers>
diff --git a/open_issues/xen_crash_copy-size_le_page_size.mdwn b/open_issues/xen_crash_copy-size_le_page_size.mdwn
new file mode 100644
index 00000000..09287274
--- /dev/null
+++ b/open_issues/xen_crash_copy-size_le_page_size.mdwn
@@ -0,0 +1,65 @@
+[[!meta copyright="Copyright © 2009 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_gnumach]]
+
+`/dev/hd2` is 2 GiB in size (backed by LVM), unformatted.
+
+ # mkfs.ext2 -o hurd /dev/hd2
+ mke2fs 1.41.7 (29-June-2009)
+ hd2 count 1
+ re-open, hd2 count 2
+ ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/hd2 is mounted.
+ re-open, hd2 count 3
+ re-open, hd2 count 4
+ re-open, hd2 count 5
+ Filesystem label=
+ OS type: Hurd
+ Block size=4096 (log=2)
+ Fragment size=4096 (log=2)
+ 131072 inodes, 524288 blocks
+ 26214 blocks (5.00%) reserved for the super user
+ First data block=0
+ Maximum filesystem blocks=536870912
+ 16 block groups
+ 32768 blocks per group, 32768 fragments per group
+ 8192 inodes per group
+ Superblock backups stored on blocks:
+ 32768, 98304, 163840, 229376, 294912
+
+ Assertion `copy->size <= PAGE_SIZE' failed in file "../gnumach-1-branch-Xen-branch/xen/block.c", line 536
+ Kernel Breakpoint trap, eip 0x20020a77
+ Stopped at 0x20020a76: int $3
+ db> trace
+ 0x20020a76(2006abc1,2006ba03,2006782c,218,2e2be8d4)
+ 0x20020ace(2006ba03,2006782c,218,2e3629a0,32000)
+ 0x2003e9d5(2de04764,2e2be0b8,12,0,3fff80)
+ 0x200476e6(2de5ad54,2e2db010,2e30a9a0,2de3a854,2de5ad44)
+ 0x20021ed4(2de5ad44,2e2bb2e0,2e2bb2a0,0,0)
+ 0x2005309d(129b8f0,3,38,28,e)
+ 0x20006838(129b8f0,3,38,28,e)
+ >>>>> user space <<<<<
+
+
+ $ addr2line -i -f -e /boot/gnumach-xen 0x20020a76 0x20020ace 0x2003e9d5 0x200476e6 0x20021ed4 0x2005309d 0x20006838
+ Debugger
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/debug.c:105
+ Assert
+ ??:0
+ device_write
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/xen/block.c:537
+ _Xdevice_write
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/device/device.server.c:253
+ ipc_kobject_server
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/kern/ipc_kobject.c:201
+ mach_msg_trap
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/ipc/mach_msg.c:1367
+ mach_call_call
+ /home/tschwinge/tmp/gnumach/gnumach-1-branch-Xen-branch.build/../gnumach-1-branch-Xen-branch/i386/i386/locore.S:1083
diff --git a/public_hurd_boxen.mdwn b/public_hurd_boxen.mdwn
index 217a4ff2..a36737c5 100644
--- a/public_hurd_boxen.mdwn
+++ b/public_hurd_boxen.mdwn
@@ -19,6 +19,7 @@ Here are some Hurd boxes that users have made available to the public:
"[[bddebian]]","[[foobar|zenhost]]","Debian GNU/Hurd","Celeron 2.2 GHz; 160 MiB","Xen domU on zenhost; web server"
"[[bddebian]]","gnubber","Debian GNU/Hurd","PII 733 MHz; 384 MiB"
"[[bddebian]]","goober","Debian GNU/Hurd","?"
+"[[bddebian]]","[[grubber|zenhost]]","Debian GNU/Hurd","Celeron 2.2 GHz; 222 MiB","Xen domU on zenhost; for experimental stuff"
"[[bddebian]]","[[zenhost]]","Debian GNU/Linux","Celeron 2.2 GHz","Xen dom0 for several hosts"
"""]]
@@ -56,14 +57,17 @@ connecting from:
HostName goober.bddebian.com
Port 2255
+ Host grubber.bddebian.com grubber
+ HostName grubber.bddebian.com
+
Host zenhost.bddebian.com zenhost
HostName zenhost.bddebian.com
Port 2260
- Host blubber.bddebian.com blubber foobar.bddebian.com foobar
+ Host blubber.bddebian.com blubber foobar.bddebian.com foobar grubber.bddebian.com grubber
ProxyCommand ssh zenhost socat - TCP4:%h:%p
- Host *.bddebian.com blubber clubber flubber foobar gnubber goober zenhost
+ Host *.bddebian.com blubber clubber flubber foobar gnubber goober grubber zenhost
CheckHostIP no
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
diff --git a/public_hurd_boxen/bddebian.mdwn b/public_hurd_boxen/bddebian.mdwn
index 980cd894..7799220f 100644
--- a/public_hurd_boxen/bddebian.mdwn
+++ b/public_hurd_boxen/bddebian.mdwn
@@ -14,5 +14,6 @@ License|/fdl]]."]]"""]]
* blubber: 192.168.10.61
* flubber: 192.168.10.50
* foobar: 192.168.10.62
+ * grubber: 192.168.10.63
At least anything in the .60 range can be used.
diff --git a/public_hurd_boxen/domu_console.mdwn b/public_hurd_boxen/domu_console.mdwn
index 56f6ac9c..02395e11 100644
--- a/public_hurd_boxen/domu_console.mdwn
+++ b/public_hurd_boxen/domu_console.mdwn
@@ -11,9 +11,10 @@ License|/fdl]]."]]"""]]
[[!meta title="domU console"]]
To avoid any complications with people trying to use the same console at the
-same time, please use this command for attaching to a domU's console:
+same time, please use this command for attaching to a domU's console (this
+command line will also start the domU in case that it isn't running already):
- $ sudo screen -DRRS xen-console-[domU] xm console [domU]
+ $ sudo screen -DRRS xen-console-[domU] sh -c 'xm console [domU] || xm create -c [domU]'
Otherwise, if one attaches to the same console twice, the second instance will
in fact forward input to the domU (possibly infering with what the person is
@@ -26,4 +27,5 @@ that machine's console.
/!\ TODO: How does one get the environment variables `COLUMNS` and `LINES` set
properly when using `xm console`? This is relevant for everything using
-`(n)curses` -- for interactive console applications.
+`(n)curses` -- for interactive console applications. Using `export COLUMNS=143
+LINES=44` does work, but is a manual process.
diff --git a/user/scolobb.mdwn b/user/scolobb.mdwn
index 76b72864..610937ae 100644
--- a/user/scolobb.mdwn
+++ b/user/scolobb.mdwn
@@ -98,26 +98,57 @@ For documentation, see [[hurd/translator/unionmount]].
`gcc-4.3`, I got strange behaviour of pfinet and spend a week trying
to figure out the reason.
+* **Try to start the mountee during initialization of `unionfs`** *(4
+ Jul)* Initially the mountee was started at the first lookup. Now it
+ is started immediately after initialization of `unionmount`.
+
+* **Fix the patches in `--mount` option series** *(5 Jul)* The patches
+ have been reviewed by **antrik**. I corrected them and posted them
+ to the ML for final reviews.
+
+* **Orphan the mountee after starting it** *(7 Jul)* Orphaning the
+ mountee after starting it up seems to be a nice work-around for the
+ necessity of keeping a proxy node in unionmount in simple
+ use-cases. It is possible that this functionality will provided as a
+ separate patch (without inclusion in master) should it turn out that
+ orphaning the mountee is a bad idea.
+
+* **Decide which RPCs should be forwarded to the mountee and how this
+ should happen** *(10 Jul)* This is the primary requirement in being
+ able to proxy the control port of `unionmount`.
+
+* **Fix the patches the have already been commented on** *(14 Jul)*
+ The new patches I have submitted have been reviewed; also, the older
+ patches have been reviewed again, which required correcting them.
+
+* **Add the `--no-mount` option** *(14 Jul)* Using the `--no-mount`
+ and `--mount` options, the user can decide whether unionmount should
+ be completely transparent (i.e. most control-port RPCs forwarded to
+ the mountee) or not.
+
+* **Make `unionmount` go away when the mountee goes away** *(14 Jul)*
+ `unionmount` makes sense only while the mountee is running, so it
+ has to go away as soon as the mountee has been shut down for some
+ reason.
+
+* **Proxy the control port of `unionmount`** *(14 Jul)* For
+ `unionmount` to become transparent, most of the RPCs invoked on the
+ its control port should be forwarded to the mountee.
+
### TODO
(Dates in brackets show the *expected* completion date)
-* **Try to start the mountee during initialization of `unionfs`** *(4
- Jul)* Presently the mountee is started at the first lookup, although
- it is desirable to have it started during the initialization of
- `unionmount`.
-
-* **Fix the patches in ``--mount'' option series** *(4 Jul)* The
- patches have been reviewed by **antrik** so they have to be
- corrected.
+* **Create the patch for supplying the mountee with a port to the
+ underlying node of unionfs** *(17 Jul)* Such functionality should
+ make `unionmount` even more transparent.
-* **Read the relevant code of `devnode`, `eth-multiplexer`, and
- `pfinet`.** *(6 Jul)* At the moment a part of `devnode`
- functionality appears in `eth-multiplexer` and (probably) because of
- this, `devnode` cannot use `eth-multiplexer`'s pseudo master device
- port. I'll have to figure out why it happens like that.
+* **Try to make `eth-multiplexer` work with statically set instances
+ of `devnode`** *(18 Jul)* At the moment statically set `devnode`
+ translators fail to run when they try to obtain the pseudo master
+ device ports from the `eth-multiplexer`.
-* **Implement merging rules.** *(25 Jul)* I will have to make the
+* **Implement merging rules.** *(30 Jul)* I will have to make the
merging of the virtual filesystem published by `eth-multiplexer` and
the real filesystem containing static nodes possible.