From 31733b3eec44aafa94202eab8cc0e322e7827e98 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Wed, 6 Jul 2016 23:46:36 +0200 Subject: Add more tricks for chroots --- hurd/running/chroot.mdwn | 2 ++ 1 file changed, 2 insertions(+) (limited to 'hurd') diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn index 699f05a1..4bda626f 100644 --- a/hurd/running/chroot.mdwn +++ b/hurd/running/chroot.mdwn @@ -45,3 +45,5 @@ programs inside the chroot need to be able to access them: # settrans chroot/tmp /hurd/firmlink /tmp # settrans -c chroot/var/lib/dbus /hurd/firmlink /var/lib/dbus # settrans -c chroot/run/dbus /hurd/firmlink /run/dbus + # settrans -kp chroot/proc /hurd/firmlink /proc + # settrans -c $CHROOT/$HOME/.dbus /hurd/firmlink /$HOME/.dbus -- cgit v1.2.3 From 32e9a8ab6b914f7ca88e150178823f6799ab3b72 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 28 Aug 2016 22:08:26 +0200 Subject: Complete commit 1f6eff (Drop -no-kvm-irqchip) we don't have the issue without it any more, and it actually seems to pose other problems --- hurd/running/qemu.mdwn | 16 +--------------- open_issues/libpthread.mdwn | 2 +- 2 files changed, 2 insertions(+), 16 deletions(-) (limited to 'hurd') diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn index ef89ec12..369ceab6 100644 --- a/hurd/running/qemu.mdwn +++ b/hurd/running/qemu.mdwn @@ -95,21 +95,7 @@ Check that the kvm module is loaded: More info on kvm at: http://www.linux-kvm.org/page/FAQ -If your machine supports hardware acceleration, you should really use the kvm variant of qemu, as it speeds things quite a lot. Note however that kvm tends to make assumptions when accelerating things in the linux kernel, you may need some -no-kvm-something option. At the moment in Debian you need to pass - - -no-kvm-irqchip - -to the command line, see below, if you are running Linux kernels 2.6.37 or 2.6.38 else IRQs may hang sooner or later. The kvm irq problems will be solved in kernel 2.6.39. - -IRC, freenode, #hurd, 2012-08-29: - - youpi: do you remember which linux versions require the - -no-kvm-irqchip option ? - your page indicates 2.6.37-38, but i'm seeing weird things on - 2.6.32 - looks like a good thing to use that option all the time actually - seems like kvm -h says: -no-kvm-irqchip and man kvm says: - -machine kernel_irqchip=off +If your machine supports hardware acceleration, you should really use the kvm variant of qemu, as it speeds things quite a lot. # HAP/EPT/NPT acceleration diff --git a/open_issues/libpthread.mdwn b/open_issues/libpthread.mdwn index 0294b008..274e7e32 100644 --- a/open_issues/libpthread.mdwn +++ b/open_issues/libpthread.mdwn @@ -1061,7 +1061,7 @@ Most of the issues raised on this page has been resolved, a few remain. kvm -m 1024 -net nic,model=rtl8139 -net user,hostfwd=tcp::5562-:22 -drive cache=writeback,index=0,media=disk,file=hurd-experimental.img -vnc :6 - -cdrom isos/netinst_2012-07-15.iso -no-kvm-irqchip + -cdrom isos/netinst_2012-07-15.iso what is the file system type where your disk image is stored ? ext3 and how much physical memory on the host ? -- cgit v1.2.3 From 4ca8da2cf6b6048351ef44cda9a098d5c29a5b25 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 4 Sep 2016 18:09:15 +0200 Subject: more details about buildds --- hurd/running/chroot.mdwn | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'hurd') diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn index 4bda626f..ddba6217 100644 --- a/hurd/running/chroot.mdwn +++ b/hurd/running/chroot.mdwn @@ -40,10 +40,18 @@ socket creation will actually happen in the root filesystem. To make things work correctly the programs inside the chroot need to be able to access them: - # settrans -kp chroot/servers /hurd/firmlink /servers - # settrans -kp chroot/dev /hurd/firmlink /dev - # settrans chroot/tmp /hurd/firmlink /tmp - # settrans -c chroot/var/lib/dbus /hurd/firmlink /var/lib/dbus - # settrans -c chroot/run/dbus /hurd/firmlink /run/dbus - # settrans -kp chroot/proc /hurd/firmlink /proc + # CHROOT=$PWD/chroot + # settrans -kp $CHROOT/servers /hurd/firmlink /servers + # settrans -kp $CHROOT/dev /hurd/firmlink /dev + # settrans $CHROOT/tmp /hurd/firmlink /tmp + # settrans -c $CHROOT/var/lib/dbus /hurd/firmlink /var/lib/dbus + # settrans -c $CHROOT/run/dbus /hurd/firmlink /run/dbus + # settrans -kp $CHROOT/proc /hurd/firmlink /proc # settrans -c $CHROOT/$HOME/.dbus /hurd/firmlink /$HOME/.dbus + +# Buildds + +Debian build daemons use a specialized script instead of debootstrap: + + # mkdir ~/chroots + # /usr/share/sbuild/create-chroot sid -- cgit v1.2.3 From ae50505561cd9b00b7ef1d61c47cb9eb0c52c480 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 4 Sep 2016 18:10:21 +0200 Subject: more details about buildds --- hurd/running/chroot.mdwn | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'hurd') diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn index ddba6217..c5022c0a 100644 --- a/hurd/running/chroot.mdwn +++ b/hurd/running/chroot.mdwn @@ -55,3 +55,7 @@ Debian build daemons use a specialized script instead of debootstrap: # mkdir ~/chroots # /usr/share/sbuild/create-chroot sid + +They also use sbuild to start the build: + + # sbuild foo_1.2.3-1 -- cgit v1.2.3 From 836271112c114d53c724e988a6b6526fac6ab2ae Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 17 Sep 2016 20:47:28 +0200 Subject: Use symbolic name --- hurd/running/chroot.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/running/chroot.mdwn b/hurd/running/chroot.mdwn index c5022c0a..66ecc24c 100644 --- a/hurd/running/chroot.mdwn +++ b/hurd/running/chroot.mdwn @@ -54,7 +54,7 @@ programs inside the chroot need to be able to access them: Debian build daemons use a specialized script instead of debootstrap: # mkdir ~/chroots - # /usr/share/sbuild/create-chroot sid + # /usr/share/sbuild/create-chroot unstable They also use sbuild to start the build: -- cgit v1.2.3 From 4783879860edac5ecf458f305e4872a05f01ef58 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 12 Oct 2016 10:16:15 +0200 Subject: Update URLs to local git repositories --- community/gsoc/project_ideas/object_lookups.mdwn | 14 +++++++------- hurd/translator/mtab/discussion.mdwn | 6 +++--- open_issues/automatically_checking_port_deallocation.mdwn | 2 +- open_issues/robustness.mdwn | 4 ++-- open_issues/virtualization/fakeroot.mdwn | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) (limited to 'hurd') diff --git a/community/gsoc/project_ideas/object_lookups.mdwn b/community/gsoc/project_ideas/object_lookups.mdwn index d67dbe20..43bed087 100644 --- a/community/gsoc/project_ideas/object_lookups.mdwn +++ b/community/gsoc/project_ideas/object_lookups.mdwn @@ -265,7 +265,7 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. let me push it somewhere, so I can show you the patches ok braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/shortlog/refs/heads/feature-protected-payload-1 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/shortlog/refs/heads/feature-protected-payload-1 teythoon: where should i look at ? the last commit hm @@ -290,7 +290,7 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. right, I can see how that could work mach_reply_port(); mach_port_set_payload(); mach_msg(); braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-2 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-2 I think I found the right spot teythoon: looks better indeed :) braunr: yes, thanks for the hint :) @@ -378,11 +378,11 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. no, no deb ok braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-3 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-3 - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/log/refs/heads/feature-protected-payload-1 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/log/refs/heads/feature-protected-payload-1 braunr: in particular, - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 ## IRC, freenode, #hurd, 2013-11-27 @@ -396,13 +396,13 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. sure ok first, please look at this - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 in line 165, the msgh_local_port is restored b/c later some intrans function might use this for the object (re-)lookup yes ok - http://darnassus.sceen.net/gitweb/teythoon/mig.git/commitdiff/64b7d34f90a41d017a9e1e8179c0533a97012f6f + http://darnassus.sceen.net/cgit/teythoon/mig.git/commitdiff/64b7d34f90a41d017a9e1e8179c0533a97012f6f makes sense this makes mig payload aware we'd specify another intrans function that takes a label and diff --git a/hurd/translator/mtab/discussion.mdwn b/hurd/translator/mtab/discussion.mdwn index 715884ce..952c0825 100644 --- a/hurd/translator/mtab/discussion.mdwn +++ b/hurd/translator/mtab/discussion.mdwn @@ -1107,7 +1107,7 @@ In context of [[open_issues/mig_portable_rpc_declarations]]. ok only send-once rights have their own names btw, I'll push my work to darnassus from now on, - e.g. http://darnassus.sceen.net/gitweb/?p=teythoon/hurd.git;a=shortlog;h=refs/heads/feature-mtab-translator-v3-wip + e.g. http://darnassus.sceen.net/cgit/?p=teythoon/hurd.git;a=shortlog;h=refs/heads/feature-mtab-translator-v3-wip ### IRC, freenode, #hurd, 2013-11-20 @@ -2518,7 +2518,7 @@ Fixed in 2013-10-05 procfs commit c87688a05a8b49479ee10127470cc60acebead4a? push that work in a branch somewhere for review please right, thanks braunr: - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators + http://darnassus.sceen.net/cgit/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators ### IRC, freenode, #hurd, 2014-01-04 @@ -2539,7 +2539,7 @@ Fixed in 2013-10-05 procfs commit c87688a05a8b49479ee10127470cc60acebead4a? ! where are they again ? - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators + http://darnassus.sceen.net/cgit/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators ok they are reasonably straight-forward but cause this funny issue, after the first reboot with the diff --git a/open_issues/automatically_checking_port_deallocation.mdwn b/open_issues/automatically_checking_port_deallocation.mdwn index 6aeaf207..e8a4389e 100644 --- a/open_issues/automatically_checking_port_deallocation.mdwn +++ b/open_issues/automatically_checking_port_deallocation.mdwn @@ -29,4 +29,4 @@ a recompilation of the code that contains the port leak. Currently, it is a prototype. If you are looking for a port leak, I'd love you to try it though: -[[http://darnassus.sceen.net/gitweb/teythoon/portseal.git]] +[[http://darnassus.sceen.net/cgit/teythoon/portseal.git]] diff --git a/open_issues/robustness.mdwn b/open_issues/robustness.mdwn index 4b0cdc9b..3ba9bb3d 100644 --- a/open_issues/robustness.mdwn +++ b/open_issues/robustness.mdwn @@ -138,7 +138,7 @@ License|/fdl]]."]]"""]] < teythoon> I came across some paper about process reincarnation and created a little prototype a while back: - < teythoon> http://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/ + < teythoon> http://darnassus.sceen.net/cgit/teythoon/reincarnation.git/ < teythoon> and I looked into restarting the exec server in case it dies. the exec server is an easy target since it has no state of its own < teythoon> the only problem is that there is no exec server around to @@ -166,7 +166,7 @@ License|/fdl]]."]]"""]] < teythoon> braunr: the server can store a checkpoint using the reincarnation_checkpoint procedure < teythoon> - http://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defshttp://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defs + http://darnassus.sceen.net/cgit/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defshttp://darnassus.sceen.net/cgit/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defs < teythoon> uh >,< sorry, pasted twice < braunr> oh ok diff --git a/open_issues/virtualization/fakeroot.mdwn b/open_issues/virtualization/fakeroot.mdwn index 441d5c13..b8604ff7 100644 --- a/open_issues/virtualization/fakeroot.mdwn +++ b/open_issues/virtualization/fakeroot.mdwn @@ -480,7 +480,7 @@ License|/fdl]]."]]"""]] that must be new then might be, yes - http://darnassus.sceen.net/gitweb/teythoon/packaging/hurd.git/blame/HEAD:/debian/patches/libports_stability.patch + http://darnassus.sceen.net/cgit/teythoon/packaging/hurd.git/blame/HEAD:/debian/patches/libports_stability.patch antrik: debian currently disables both the global and thread timeouts in libports my work on thread destruction consists in part in reenabling -- cgit v1.2.3 From f4cef8f2cd3c61e50c72bdc770c8d4f4a6c20563 Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Mon, 7 Nov 2016 00:46:26 +0100 Subject: Update the subhurd howto. --- hurd/subhurd.mdwn | 68 ++++++++++++++++++++++++------------------------------- 1 file changed, 29 insertions(+), 39 deletions(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index e50ea0d5..13756339 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -19,7 +19,8 @@ attach to them with gdb from the parent when the instance of gdb stops the server but requires its use. (Note: it is possible to use [[debugging/gdb/noninvasive_debugging]], but this is less flexible.) Vice versa, it is also possible to use a subhurd to debug the -*main* Hurd system, for example, the latter's root file system. +*main* Hurd system, for example, the latter's root file system, but that +requires a privileged subhurd. [[!toc levels=2]] @@ -60,53 +61,40 @@ run the `native-install` step from a chroot or already in a subhurd.) ## Booting -To boot the subhurd, you need a boot script. For historical reasons, usually -`/boot/servers.boot` is used. (Originally, this was also used to boot the main -Hurd, using "serverboot". Nowadays, this isn't used for the main boot anymore, -as GRUB can directly load all the necessary modules.) +If you are using a recent version of the Hurd (>= 0.9), then you can +simply boot the subhurd as an unprivileged user by issuing -However, the canonical `/boot/servers.boot` file is no longer distributed with -[[Debian_GNU/Hurd|running/debian]]. Here is a slightly adopted version: - - # Boot script file for booting GNU Hurd. Each line specifies a file to be - # loaded by the boot loader (the first word), and actions to be done with it. - - # First, the bootstrap filesystem. It needs several ports as arguments, - # as well as the user flags from the boot loader. - /hurd/ext2fs.static --bootflags=${boot-args} --host-priv-port=${host-port} --device-master-port=${device-port} --exec-server-task=${exec-task} -Tdevice ${root-device} $(task-create) $(task-resume) - - # Now the exec server; to load the dynamically-linked exec server program, - # we have the boot loader in fact load and run ld.so, which in turn - # loads and runs /hurd/exec. This task is created, and its task port saved - # in ${exec-task} to be passed to the fs above, but it is left suspended; - # the fs will resume the exec task once it is ready. - /lib/ld.so.1 /hurd/exec $(exec-task=task-create) - - ## default pager - #/dev/sd0b $(add-paging-file) - -/!\ It's very important not to introduce spurious line breaks, so be very -careful when copying! All the options following `ext2fs.static` have to be on -a single line. - -Now actually booting the subhurd is a simple matter of issuing (as root): - - boot servers.boot /dev/hd0s6 + boot /dev/hd0s6 (Replace `hd0s6` by the name of your partition for the subhurd.) /!\ The partition must be unmounted (or mounted read-only) before you boot from it! -(In theory it shouldn't be neccessary to run the subhurd as user `root`, but in -practice [that doesn't work at the -moment](http://savannah.gnu.org/bugs/?17341).) +## Networking You can provide the subhurd with a network card by passing a `-f` option to `boot`. For instance, if you have a second network card `/dev/eth1` in your host hurd, pass `-f eth0=/dev/eth1` to make it appear as device eth0 in the subhurd. +If you don't have a second network card, you can setup the eth-multiplexer +to share one network card. To do so, install the multiplexer + + settrans /dev/eth0m /hurd/eth-multiplexer --interface=/dev/eth0 + +Then configure your main Hurd system to use a virtual network +interface (e.g. `/dev/eth0m/0`) instead. On Debian/Hurd, this can be +accomplished using + + ifdown /dev/eth0 + sed -i -e s#/dev/eth0#/dev/eth0m/0# /etc/network/interfaces + ifup /dev/eth0m/0 + +You can now pass `-f eth0=/dev/eth0m/1` to `boot`. + +## Booting and shutting down + Now the subhurd should boot just like a normal Hurd started directly from GRUB, finally presenting a login prompt. The `boot` program serves as proxy for the subhurd, so you can control it from the terminal where you issued the boot @@ -114,9 +102,9 @@ command. To exit the subhurd, issue `halt` or `reboot`. This should exit it cleanly, but for some reason it doesn't always work; sometimes it will output various -errors and then hang. If that happens, you need to kill the subhurd processes -manually from a different terminal. - +errors and then hang. If that happens, you need to kill the `boot` process +manually from a different terminal. If the `boot` process dies, the +proc server will kill all tasks belonging to the Subhurd. ## Using @@ -132,7 +120,7 @@ If you want to access the subhurd processes from the outside, e.g. for [[debugging_purposes|debugging/subhurd]] (or to get rid of a subhurd that didn't exit cleanly...), you need to find out how main Hurd [[PID]]s correspond to subhurd processes: the subhurd processes appear in the main Hurd (e.g. if doing -`ps -e`) as unknown processes, and vice versa, but the [[PID]]s are different! To +`ps -e`) as unknown processes, but the [[PID]]s are different! To find out which process is which, you can simply compare the order -- while the numbers are different, the order should usually match. Often it also helps to look at the number of threads (e.g. using `ps -l`), as many servers have very @@ -510,6 +498,8 @@ Roland's tutorial about [[running_a_subhurd]]. ## Debugging the *Main* Hurd System +Note: This only works with privileged subhurds. + A subhurd can be used for debugging the *main* Hurd system. This works as long as the subhurd doesn't use any services provided by the main Hurd. For example, if you already have a subhurd running at the time it happens, you can -- cgit v1.2.3 From 51b6821a1c0b805cdd9b09aff95e93a9c65d323e Mon Sep 17 00:00:00 2001 From: Justus Winter Date: Wed, 12 Oct 2016 10:16:15 +0200 Subject: Update URLs to local git repositories --- community/gsoc/project_ideas/object_lookups.mdwn | 14 +++++++------- hurd/translator/mtab/discussion.mdwn | 6 +++--- open_issues/automatically_checking_port_deallocation.mdwn | 2 +- open_issues/robustness.mdwn | 4 ++-- open_issues/virtualization/fakeroot.mdwn | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) (limited to 'hurd') diff --git a/community/gsoc/project_ideas/object_lookups.mdwn b/community/gsoc/project_ideas/object_lookups.mdwn index d67dbe20..43bed087 100644 --- a/community/gsoc/project_ideas/object_lookups.mdwn +++ b/community/gsoc/project_ideas/object_lookups.mdwn @@ -265,7 +265,7 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. let me push it somewhere, so I can show you the patches ok braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/shortlog/refs/heads/feature-protected-payload-1 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/shortlog/refs/heads/feature-protected-payload-1 teythoon: where should i look at ? the last commit hm @@ -290,7 +290,7 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. right, I can see how that could work mach_reply_port(); mach_port_set_payload(); mach_msg(); braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-2 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-2 I think I found the right spot teythoon: looks better indeed :) braunr: yes, thanks for the hint :) @@ -378,11 +378,11 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. no, no deb ok braunr: - http://darnassus.sceen.net/gitweb/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-3 + http://darnassus.sceen.net/cgit/teythoon/gnumach.git/log/refs/heads/feature-protected-payload-3 - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/log/refs/heads/feature-protected-payload-1 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/log/refs/heads/feature-protected-payload-1 braunr: in particular, - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 ## IRC, freenode, #hurd, 2013-11-27 @@ -396,13 +396,13 @@ In context of [[!message-id "20130918081345.GA13789@dalaran.sceen.net"]]. sure ok first, please look at this - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 + http://darnassus.sceen.net/cgit/teythoon/hurd.git/blob/refs/heads/feature-protected-payload-1:/libports/manage-multithread.c#l161 in line 165, the msgh_local_port is restored b/c later some intrans function might use this for the object (re-)lookup yes ok - http://darnassus.sceen.net/gitweb/teythoon/mig.git/commitdiff/64b7d34f90a41d017a9e1e8179c0533a97012f6f + http://darnassus.sceen.net/cgit/teythoon/mig.git/commitdiff/64b7d34f90a41d017a9e1e8179c0533a97012f6f makes sense this makes mig payload aware we'd specify another intrans function that takes a label and diff --git a/hurd/translator/mtab/discussion.mdwn b/hurd/translator/mtab/discussion.mdwn index 715884ce..952c0825 100644 --- a/hurd/translator/mtab/discussion.mdwn +++ b/hurd/translator/mtab/discussion.mdwn @@ -1107,7 +1107,7 @@ In context of [[open_issues/mig_portable_rpc_declarations]]. ok only send-once rights have their own names btw, I'll push my work to darnassus from now on, - e.g. http://darnassus.sceen.net/gitweb/?p=teythoon/hurd.git;a=shortlog;h=refs/heads/feature-mtab-translator-v3-wip + e.g. http://darnassus.sceen.net/cgit/?p=teythoon/hurd.git;a=shortlog;h=refs/heads/feature-mtab-translator-v3-wip ### IRC, freenode, #hurd, 2013-11-20 @@ -2518,7 +2518,7 @@ Fixed in 2013-10-05 procfs commit c87688a05a8b49479ee10127470cc60acebead4a? push that work in a branch somewhere for review please right, thanks braunr: - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators + http://darnassus.sceen.net/cgit/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators ### IRC, freenode, #hurd, 2014-01-04 @@ -2539,7 +2539,7 @@ Fixed in 2013-10-05 procfs commit c87688a05a8b49479ee10127470cc60acebead4a? ! where are they again ? - http://darnassus.sceen.net/gitweb/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators + http://darnassus.sceen.net/cgit/teythoon/hurd.git/shortlog/refs/heads/feature-translatorslist-detect-passive-translators ok they are reasonably straight-forward but cause this funny issue, after the first reboot with the diff --git a/open_issues/automatically_checking_port_deallocation.mdwn b/open_issues/automatically_checking_port_deallocation.mdwn index 6aeaf207..e8a4389e 100644 --- a/open_issues/automatically_checking_port_deallocation.mdwn +++ b/open_issues/automatically_checking_port_deallocation.mdwn @@ -29,4 +29,4 @@ a recompilation of the code that contains the port leak. Currently, it is a prototype. If you are looking for a port leak, I'd love you to try it though: -[[http://darnassus.sceen.net/gitweb/teythoon/portseal.git]] +[[http://darnassus.sceen.net/cgit/teythoon/portseal.git]] diff --git a/open_issues/robustness.mdwn b/open_issues/robustness.mdwn index 4b0cdc9b..3ba9bb3d 100644 --- a/open_issues/robustness.mdwn +++ b/open_issues/robustness.mdwn @@ -138,7 +138,7 @@ License|/fdl]]."]]"""]] < teythoon> I came across some paper about process reincarnation and created a little prototype a while back: - < teythoon> http://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/ + < teythoon> http://darnassus.sceen.net/cgit/teythoon/reincarnation.git/ < teythoon> and I looked into restarting the exec server in case it dies. the exec server is an easy target since it has no state of its own < teythoon> the only problem is that there is no exec server around to @@ -166,7 +166,7 @@ License|/fdl]]."]]"""]] < teythoon> braunr: the server can store a checkpoint using the reincarnation_checkpoint procedure < teythoon> - http://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defshttp://darnassus.sceen.net/gitweb/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defs + http://darnassus.sceen.net/cgit/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defshttp://darnassus.sceen.net/cgit/teythoon/reincarnation.git/blame/HEAD:/reincarnation.defs < teythoon> uh >,< sorry, pasted twice < braunr> oh ok diff --git a/open_issues/virtualization/fakeroot.mdwn b/open_issues/virtualization/fakeroot.mdwn index 441d5c13..b8604ff7 100644 --- a/open_issues/virtualization/fakeroot.mdwn +++ b/open_issues/virtualization/fakeroot.mdwn @@ -480,7 +480,7 @@ License|/fdl]]."]]"""]] that must be new then might be, yes - http://darnassus.sceen.net/gitweb/teythoon/packaging/hurd.git/blame/HEAD:/debian/patches/libports_stability.patch + http://darnassus.sceen.net/cgit/teythoon/packaging/hurd.git/blame/HEAD:/debian/patches/libports_stability.patch antrik: debian currently disables both the global and thread timeouts in libports my work on thread destruction consists in part in reenabling -- cgit v1.2.3 From c5236a88a298f37e62974db4b3f449fc412c1990 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 12 Nov 2016 00:59:02 +0100 Subject: Comment on Darwin confusions --- hurd/porting/guidelines.mdwn | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'hurd') diff --git a/hurd/porting/guidelines.mdwn b/hurd/porting/guidelines.mdwn index a76ffc8f..46a2bf22 100644 --- a/hurd/porting/guidelines.mdwn +++ b/hurd/porting/guidelines.mdwn @@ -181,6 +181,19 @@ Fixed code: Replace with `getrlimit(RLIMIT_NOFILE,...)` +## ifdef __MACH__ + +Some applications put Apple Darwin-specific code inside `#ifdef __MACH__` +guards. Such guard is clearly not enough, since not only Apple uses Mach as a +kernel. This should be replaced by `#if defined(__MACH__) && defined(__APPLE__)` + +## `mach/clock.h` + +Some applications unconditionally use Darwin-specific functions coming +from `mach/clock.h` to get the clock. This is unnecessarily unportable, +`clock_gettime` can simply be used instead, and the ifdef __MACH__ guard for the `mach/clock.h` +inclusion be fixed as explained above. + ## GNU specific `#define` If you need to include specific code for GNU/Hurd using `#if` ... `#endif`, then you can use the `__GNU__` symbol to do so. But think (at least) thrice! before doing so. In most situations, this is completely unnecessary and will create more problems than it may solve. Better ask on the mailing list how to do it right if you can't think of a better solution. -- cgit v1.2.3 From 005d86e6a9561d9eaae8705e3207bd1b6332ba54 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 20 Nov 2016 19:59:22 +0100 Subject: create /dev/eth0m if needed --- hurd/subhurd.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 13756339..78aa20ec 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -81,7 +81,7 @@ subhurd. If you don't have a second network card, you can setup the eth-multiplexer to share one network card. To do so, install the multiplexer - settrans /dev/eth0m /hurd/eth-multiplexer --interface=/dev/eth0 + settrans -c /dev/eth0m /hurd/eth-multiplexer --interface=/dev/eth0 Then configure your main Hurd system to use a virtual network interface (e.g. `/dev/eth0m/0`) instead. On Debian/Hurd, this can be -- cgit v1.2.3 From 7d5e7a5b5f84269081bc2d257c0d1cc144babf24 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 20 Nov 2016 23:04:04 +0100 Subject: Document using debootstrap instead of crosshurd --- hurd/subhurd.mdwn | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 78aa20ec..859be377 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -38,10 +38,11 @@ The system for the subhurd is a normal Hurd installation, which could just as well run standalone. You can use any of the various possible installation methods, or reuse an existing installation if you already have several. If using [[Debian_GNU/Hurd|running/debian]], the easiest is probably to use -[[running/debian/crosshurd]], which you can run directly from your main Hurd to -set up another Hurd on a different partition, without ever rebooting. (You can -run the `native-install` step from a chroot or already in a subhurd.) +debootstrap as root: + mke2fs /dev/hd3s4 + settrans -ca mnt /hurd/ext2fs /dev/hd3s4 + debootstrap sid mnt/ http://httpredir.debian.org/debian ### IRC, freenode, #hurd, 2013-09-15 @@ -66,7 +67,7 @@ simply boot the subhurd as an unprivileged user by issuing boot /dev/hd0s6 -(Replace `hd0s6` by the name of your partition for the subhurd.) +(Replace `hd0s6` by the name of your partition or backing file for the subhurd.) /!\ The partition must be unmounted (or mounted read-only) before you boot from it! -- cgit v1.2.3 From 835b2a7da15bc268365fc78f61acf894f4327428 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 20 Nov 2016 23:07:31 +0100 Subject: use coherent partition names --- hurd/subhurd.mdwn | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 859be377..820e493f 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -40,9 +40,10 @@ methods, or reuse an existing installation if you already have several. If using [[Debian_GNU/Hurd|running/debian]], the easiest is probably to use debootstrap as root: - mke2fs /dev/hd3s4 - settrans -ca mnt /hurd/ext2fs /dev/hd3s4 + mke2fs /dev/hd0s6 + settrans -ca mnt /hurd/ext2fs /dev/hd0s6 debootstrap sid mnt/ http://httpredir.debian.org/debian + settrans -ga mnt ### IRC, freenode, #hurd, 2013-09-15 -- cgit v1.2.3 From 25f0dafbf8e506da8adf93be324409c42119cd04 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sun, 20 Nov 2016 23:13:21 +0100 Subject: there are sometimes remnants after debootstrap --- hurd/subhurd.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index 820e493f..f8e1c321 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -43,7 +43,7 @@ debootstrap as root: mke2fs /dev/hd0s6 settrans -ca mnt /hurd/ext2fs /dev/hd0s6 debootstrap sid mnt/ http://httpredir.debian.org/debian - settrans -ga mnt + settrans -fga mnt ### IRC, freenode, #hurd, 2013-09-15 -- cgit v1.2.3 From 45e529318e9963a4df0a900bd7b5bd29a6412183 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 21 Nov 2016 00:22:17 +0100 Subject: note that /dev/eth0 should be used to get it working --- hurd/subhurd.mdwn | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'hurd') diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn index f8e1c321..c9fe15d2 100644 --- a/hurd/subhurd.mdwn +++ b/hurd/subhurd.mdwn @@ -113,7 +113,7 @@ proc server will kill all tasks belonging to the Subhurd. In the subhurd, you can do basically all the same things as in the main Hurd. You can even set up networking: Just invoke `settrans` on the -`/servers/socket/2` as usual inside the subhurd, only using a different local +`/servers/socket/2` as usual inside the subhurd, using `/dev/eth0`, only using a different local IP than in the main Hurd. This way, the subhurd will be able to communicate to the outside world with its own IP -- allowing for example to do `apt-get` inside the subhurd, or to `ssh` directly into the subhurd. -- cgit v1.2.3