summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--community/gsoc.mdwn23
-rw-r--r--community/gsoc/2012/virt/proposal.mdwn95
-rw-r--r--community/gsoc/project_ideas.mdwn1
-rw-r--r--hurd/running/debian/qemu_image.mdwn4
-rw-r--r--hurd/running/gnu/create_an_image.mdwn11
-rw-r--r--hurd/running/live_cd.mdwn4
-rw-r--r--hurd/running/qemu.mdwn9
-rw-r--r--hurd/running/qemu/babhurd_image.mdwn4
-rw-r--r--hurd/subhurd.mdwn2
-rw-r--r--news/2010-04-30.mdwn2
-rw-r--r--open_issues/fork_deadlock.mdwn65
-rw-r--r--open_issues/glibc.mdwn17
-rw-r--r--unsorted/MakeImage.mdwn2
13 files changed, 198 insertions, 41 deletions
diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn
index 6eece956..efd29841 100644
--- a/community/gsoc.mdwn
+++ b/community/gsoc.mdwn
@@ -57,13 +57,27 @@ subprojects.
-->
-# Applying for a Task
+Applications for 2012 are closed.
-<!--
+# Accepted projects
-Applications for 2011 are closed.
+## Disk I/O Performance Tuning
--->
+by Maksym Planeta
+
+See the project's
+[public page](http://www.google-melange.com/gsoc/project/google/gsoc2012/mcsim/46002).
+
+## Virtualization Using Hurd Mechanisms
+
+by Pierre Thierry
+
+See the project's
+[public page](http://www.google-melange.com/gsoc/project/google/gsoc2012/nowhereman/36001)
+and [[complete proposal|gsoc/2012/virt/proposal]].
+
+
+# Possible projects
We have a list of [[project_ideas]], and students are likewise encouraged to
submit their own project proposals. Please follow our
@@ -86,7 +100,6 @@ with Hurd development, even outside of the GSoC context. Please don't hesitate
to contact us regarding mentoring even if it's not GSoC time at the moment, or
if you aren't a student anyway.
-
# History
In 2006 and [[2007]], we participated in GSoC under the umbrella of the GNU
diff --git a/community/gsoc/2012/virt/proposal.mdwn b/community/gsoc/2012/virt/proposal.mdwn
new file mode 100644
index 00000000..d89f45d5
--- /dev/null
+++ b/community/gsoc/2012/virt/proposal.mdwn
@@ -0,0 +1,95 @@
+[[!meta title="Original proposal"]]
+
+*This is the proposal as it has been submitted to Google Summer of
+Code.*
+
+# The name of the project
+
+Virtualization Using Hurd Mechanisms
+
+# Summary
+
+The goal is to create tools that let a user create a set of servers
+that implement a Hurd environment and the necessary resources, with
+the possibility of relying on existing servers in the parent Hurd for
+some of them, instead of creating them.
+
+# Benefits
+
+This project will permit to create isolated systems but with far more
+flexibility than traditional virtualization tools, because the degree
+of isolation can be changed and possibly not only at creation time,
+and communication and sharing of subsystems can be arranged between
+isolated systems.
+
+# Deliverables
+
+D1 — User stories for the toolset, that will later serve as examples
+for the documentation
+
+D2 — Exhaustive but concise documentation of the set of needed servers
+making a working Hurd system (as much for me as for future users of
+the tool, building and linking to existing Hurd documentation)
+
+D3 — Low-level tool to create a working Hurd environment (possibly
+with strong limitations on the shape of the resources used by the
+environment, most probably on the underlying filesystem)
+
+D4 — Fake or noop servers for the documented set of needed servers, to
+be provided instead of working ones, where a feature is to be denied
+to a Hurd environnement
+
+D5 — Proxy servers, where desirable, to provide access to servers
+outside the environment (in ocaps terminology, caretakers)
+
+D6 — Extension of the low-level tool from D3 to remove its
+unreasonable limitations
+
+D7 — High-level tools to easily create environments and run programs
+in them (akin respectively to debootstrap and schroot)
+
+D8 — If possible, extensions to the D5 and D7 tools to enable dynamic
+modifications of the features and authority granted to environments
+and creation of multiple interconnected environments
+
+# Plan
+
+I intend to develop using the Scrum method, with sprints of two weeks,
+which mean that each two weeks, I will present at least one new
+working feature, working incrementally towards the full deliverable. I
+will also push my code at least once a day to a public Git hosting,
+including topic branches, so my progress can be followed easily.
+
+I intend to start from crosshurd and see how I can hook in its process
+of creation to allow being provided alternatives. Depending on how
+crosshurd is malleable to those changes, a modified crosshurd will
+either be a learning-stage prototype or the base of the
+implementation.
+
+To reuse Git terminology, once plumbing tools (i.e. tools that take
+detailed invocation information for each server) are working fine,
+I'll move on to porcelain tools, the final UI (i.e. tools that provide
+sensible default options, aliases mechanisms, etc.).
+
+# Communication
+
+I'm usually easy to reach through both email and jabber, so those and
+IRC will be my main way to inform my mentor and ask questions. I'll
+setup an ikiwiki to have a summary of the exchanges and the temporary
+documentation of the project (i.e. documentation that doesn't fit with
+the code yet).
+
+# Qualification
+
+Thansk to or because of my participation to the Hurd mailing lists,
+I've been utterly contaminated by the concept of POLA a few years
+ago. Since then, I've been longing, almost in a painful way, for a
+object-capability flavour of Debian. Having to deal in my previous day
+jobs with virtualization tools like Xen and VMWare when I knew there
+would be no need for paravirtualization or emulation to isolate
+systems in an object-capability OS only made it worst.
+
+Now most of the code I produce naturally becomes capability oriented,
+even if my underlying platform, programming language or OS, doesn't
+provide true capabilities. And creating true POLA systems and making
+it possible for others to benefit from POLA is now one of my dreams.
diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn
index 5d42b5c6..8ce10ffa 100644
--- a/community/gsoc/project_ideas.mdwn
+++ b/community/gsoc/project_ideas.mdwn
@@ -98,7 +98,6 @@ other: language_bindings, gnat, gccgo, perl_python. -->
[[!inline pages="community/gsoc/project_ideas/secure_chroot" show=0 feeds=no actions=yes]]
[[!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/libgtop" 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]]
diff --git a/hurd/running/debian/qemu_image.mdwn b/hurd/running/debian/qemu_image.mdwn
index 809bf7b1..19b371c1 100644
--- a/hurd/running/debian/qemu_image.mdwn
+++ b/hurd/running/debian/qemu_image.mdwn
@@ -1,4 +1,4 @@
-[[!meta copyright="Copyright © 2011 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2011, 2012 Free Software Foundation, Inc."]]
[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
@@ -15,7 +15,7 @@ Usage:
$ wget http://people.debian.org/~sthibault/hurd-i386/debian-hurd.img.tar.gz
$ tar -xz < debian-hurd.img.tar.gz
- $ qemu -net nic,model=rtl8139 -net user -hda debian-hurd-*.img
+ $ qemu -m 512 -net nic,model=rtl8139 -net user -hda debian-hurd-*.img
Just in case you were wondering: the *root* password is *root*.
diff --git a/hurd/running/gnu/create_an_image.mdwn b/hurd/running/gnu/create_an_image.mdwn
index c7a97a4e..8784a826 100644
--- a/hurd/running/gnu/create_an_image.mdwn
+++ b/hurd/running/gnu/create_an_image.mdwn
@@ -1,12 +1,13 @@
-[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]
+[[!meta copyright="Copyright © 2007, 2008, 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]]."]]"""]]
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
Creating a bootable qemu image from a root filesystem and bootloader
@@ -17,7 +18,7 @@ Creating a bootable qemu image from a root filesystem and bootloader
2. Use a live CD (better to have a lighter OS like system rescue CD to make the
process faster) and the image created to boot.
- qemu -cdrom /dev/cdrom -hda <imagename.img> -boot d
+ qemu -m 512 -cdrom /dev/cdrom -hda <imagename.img> -boot d
3. Once system is booted use a partition editing tool (like fdisk, cfdisk,
parted, gparted, qtparted ...) to partition the image.
@@ -64,7 +65,7 @@ Creating a bootable qemu image from a root filesystem and bootloader
11. Run qemu to boot into your brand new system
- qemu -hda <hard disk image.img> -fda grub.img -boot a
+ qemu -m 512 -hda <hard disk image.img> -fda grub.img -boot a
Happy Hacking !!
diff --git a/hurd/running/live_cd.mdwn b/hurd/running/live_cd.mdwn
index c9360594..1eb9b8e0 100644
--- a/hurd/running/live_cd.mdwn
+++ b/hurd/running/live_cd.mdwn
@@ -8,7 +8,7 @@ MiB: <http://www.superunprivileged.org/hurd/tiny-cd/>
Use it like this:
- $ qemu -cdrom hurd-tiny-cd-20060722.iso
+ $ qemu -m 512 -cdrom hurd-tiny-cd-20060722.iso
A more recent Live CD can be found at <http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz>.
@@ -16,7 +16,7 @@ It can be run with qemu via
$ wget http://teythoon.cryptobitch.de/hurd/livecd/hurd-live-install-1273300101.iso.xz
$ xz -d hurd-live-install-1273300101.iso.xz
- $ qemu -cdrom hurd-live-install-1273300101.iso
+ $ qemu -m 512 -cdrom hurd-live-install-1273300101.iso
These [[!wikipedia LiveCD]]s should be useful for those who want to try out the
Hurd before they commit to installing it on their hard disks. In addition to
diff --git a/hurd/running/qemu.mdwn b/hurd/running/qemu.mdwn
index fcf58d8a..b64c576f 100644
--- a/hurd/running/qemu.mdwn
+++ b/hurd/running/qemu.mdwn
@@ -28,7 +28,8 @@ Note that the following images are unofficial ones: they have been prepared by
volunteers and may not have been tested extensively.
* [Disk image](http://draketo.de/dateien/hurd/bab-hurd-qemu-2008-10-29.img.tar.bz2)
- with a short intro on translators. Just start it with 'qemu *disk_image.img*'.
+ with a short intro on translators. Just start it with `qemu -m 512
+ disk_image.img`.
It should work without any of the configuration below. If you want to know what you can do
with it, please have a look at [[its_wikipage|hurd/running/qemu/babhurd_image]]. And when
you use it, please [tell me your experience with it](http://draketo.de/contact)! - [[community/weblogs/ArneBab]]
@@ -272,7 +273,7 @@ This is the recommended way to work with a Command Line Interface (CLI) since al
a) with ssh (assuming you have installed openssh-server)
- $ kvm -m 1024 -net nic,model=rtl8139 -net user,hostfwd=tcp::5555-:22 -hda hd0.img &
+ $ kvm -m 512 -net nic,model=rtl8139 -net user,hostfwd=tcp::5555-:22 -hda hd0.img &
Logging in to the running Hurd:
@@ -289,7 +290,7 @@ Copying files:
b) with telnet (assuming you have installed a telnet server, like telnetd)
- $ kvm -m 1024 -net nic,model=rtl8139 -net user,hostfwd=tcp::5556-:23 -hda hurd-install.qemu &
+ $ kvm -m 512 -net nic,model=rtl8139 -net user,hostfwd=tcp::5556-:23 -hda hurd-install.qemu &
Logging in to the running Hurd:
@@ -330,7 +331,7 @@ Now it is time to start-up your QEMU Hurd system and get networking going in the
**Important:** Remember you may need to use the `-M isapc` or `-isa` flag if using an older version of the gnumach package.
- $ qemu -hda hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic -net tap
+ $ qemu -m 512 -hda hd0.img -cdrom debian-K9-hurd-i386-CD1.iso -fda floppy.img -boot a -net nic -net tap
Once you have logged in as `root` run the `pfinet` translator with values that apply to your network. Think of your QEMU client as another computer in your network.
diff --git a/hurd/running/qemu/babhurd_image.mdwn b/hurd/running/qemu/babhurd_image.mdwn
index c0952fcf..855e8f51 100644
--- a/hurd/running/qemu/babhurd_image.mdwn
+++ b/hurd/running/qemu/babhurd_image.mdwn
@@ -5,8 +5,8 @@ What this little Hurd image can do
This is the README file accompanying a
[disk\_image](http://draketo.de/dateien/hurd/bab-hurd-qemu-2008-10-29.img.tar.bz2) for
-[[running_the_GNU/Hurd_via_qemu|hurd/running/qemu]]. To run the disk image, just use *'qemu
-disk_image.img'*.
+[[running the GNU/Hurd via qemu|hurd/running/qemu]]. To run the disk image,
+just use `qemu -m 512 disk_image.img`.
You can find the custom *.bashrc* used to tell the user about it as well as this text itself
in the Mercurial repository [hurd_intro](http://bitbucket.org/ArneBab/hurd_intro).
diff --git a/hurd/subhurd.mdwn b/hurd/subhurd.mdwn
index b8e595d3..f2117ead 100644
--- a/hurd/subhurd.mdwn
+++ b/hurd/subhurd.mdwn
@@ -31,7 +31,7 @@ flexible.) Vice versa, it is also possible to use a subhurd to debug the
To run a subhurd, you need an additional partition with an installed Hurd
system. In principle, you can also use your main partition in read-only mode;
but this obviously will create severe limitations. Usually, you will want a
-complete independant system.
+complete independent system.
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
diff --git a/news/2010-04-30.mdwn b/news/2010-04-30.mdwn
index da4c0183..0b50122d 100644
--- a/news/2010-04-30.mdwn
+++ b/news/2010-04-30.mdwn
@@ -43,7 +43,7 @@ else="[[!paste id=full_news]]"]]
> Mainly thanks to *Jose Luis Alarcon Sanchez*, we now have a [new QEMU
> image](http://lists.debian.org/debian-hurd/2010/04/msg00098.html). It can be
-> run with a simple `qemu -hda debian-hurd-17042010-qemu.img`.
+> run with a simple `qemu -m 512 -hda debian-hurd-17042010-qemu.img`.
> *Thomas Schwinge* updated [our glibc maintenance
> repository](http://git.savannah.gnu.org/cgit/hurd/glibc.git/?h=tschwinge/Roger_Whittaker)
diff --git a/open_issues/fork_deadlock.mdwn b/open_issues/fork_deadlock.mdwn
new file mode 100644
index 00000000..6b90aa0a
--- /dev/null
+++ b/open_issues/fork_deadlock.mdwn
@@ -0,0 +1,65 @@
+[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag open_issue_glibc]]
+
+This started appearing when Jérémie's [[glibc]] signal patches were integrated:
+very sporadically, but still now and then, `fork` will hang, as follows, and
+typically in `/bin/sh`.
+
+From a `libtool` invocation:
+
+ #0 0x0107b13c in swtch_pri () at /build/eglibc-Q9jlik/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
+ No locals.
+ #1 0x0107c9c4 in __spin_lock_solid (lock=0x125080c) at spin-solid.c:27
+ No locals.
+ #2 0x01091427 in __spin_lock (__lock=<optimized out>) at ../mach/lock-intern.h:55
+ No locals.
+ #3 _hurd_sigstate_lock (ss=0x1250008) at hurdsig.c:172
+ No locals.
+ #4 0x011261ec in _hurd_critical_section_unlock (our_lock=<optimized out>) at ../hurd/hurd/signal.h:235
+ No locals.
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:706
+ env = {{__jmpbuf = {18784244, 19197896, 1, 16925832, 16925460, 17980399}, __mask_was_saved = 0, __saved_mask = 33}}
+ pid = 0
+ err = <optimized out>
+ __PRETTY_FUNCTION__ = "__fork"
+ ss = 0x1250008
+ threads = 0x0
+ nthreads = 0
+ stopped = 1
+ i = 6
+ [...]
+
+
+Another one in `dash`:
+
+ #0 0x0105927c in swtch_pri () at /media/erich/home/thomas/tmp/glibc/debian/eglibc-2.13/build-tree/hurd-i386-libc/mach/swtch_pri.S:2
+ No locals.
+ #1 0x0105ac44 in __spin_lock_solid (lock=0x123580c) at spin-solid.c:27
+ No locals.
+ #2 0x010701c7 in __spin_lock (__lock=<optimized out>) at ../mach/lock-intern.h:55
+ No locals.
+ #3 _hurd_sigstate_lock (ss=0x1235008) at hurdsig.c:172
+ No locals.
+ #4 0x011048f0 in _hurd_critical_section_unlock (our_lock=0x1235008) at ../hurd/hurd/signal.h:235
+ ss = 0x1235008
+ pending = <optimized out>
+ #5 __fork () at ../sysdeps/mach/hurd/fork.c:706
+ env = {{__jmpbuf = {18780148, 19087304, 134621988, 0, 16938700, 17842902}, __mask_was_saved = 0, __saved_mask = 4294967295}}
+ pid = 0
+ err = 0
+ __PRETTY_FUNCTION__ = "__fork"
+ ss = 0x1235008
+ threads = 0x0
+ nthreads = 0
+ stopped = 1
+ i = 6
+ [...]
diff --git a/open_issues/glibc.mdwn b/open_issues/glibc.mdwn
index 26fa6012..6c52cc7f 100644
--- a/open_issues/glibc.mdwn
+++ b/open_issues/glibc.mdwn
@@ -39,29 +39,12 @@ git log --reverse --pretty=fuller --stat=$COLUMNS,$COLUMNS -p -C --cc ..sourcewa
Last reviewed up to the [[Git mirror's d40c5d54cb551acba4ef1617464760c5b3d41a14
(2012-02-28) sources|source_repositories/glibc]].
- * t/dup3
-
- [[tschwinge]] is not convinced that
- 22542dcc89805af8d9bd9209129259d2737372b5 (and then also
- ff3f3a789ba08b656dbaa3901091b6410bb883f8) are correct.
-
- * 94b7cc3711b0b74c1d3ae18b9a2e019e51a8e0bf -- dup3 changes; relevant for
- `t/dup3`: hidden def. ed690b2f24bbc4d9c541fc81a7c67e6dc5678a96 -- why
- not for dup3, too? Because it is a syscall (that is always inlined)?
-
* `t/hurdsig-fixes`
hurdsig.c: In function '_hurd_internal_post_signal':
hurdsig.c:1188:26: warning: 'pending' may be used uninitialized in this function [-Wmaybe-uninitialized]
hurdsig.c:1168:12: note: 'pending' was declared here
- * `t/init-first.c`
-
- Follow up here: [[!message-id "20070722171859.GN25744@fencepost.gnu.org"]]
- or [[!message-id "87mxe4kwws.fsf@gnu.org"]]. Close [[!GNU_Savannah_bug
- 17647]]. Debian: [[!message-id "E1Qup1U-0006Zc-39@vasks.debian.org"]]
- (part of Ludo's patch; the part that is not harmful to GCC 4.4).
-
* `t/kernel-features.h_includes`
Before running `tg update`, review for additional changes:
diff --git a/unsorted/MakeImage.mdwn b/unsorted/MakeImage.mdwn
index 95b928c4..b3485771 100644
--- a/unsorted/MakeImage.mdwn
+++ b/unsorted/MakeImage.mdwn
@@ -53,7 +53,7 @@ I use this for testing OSKit...
## <a name="Booting_Qemu"> Booting Qemu </a>
- qemu -user-net -isa -boot d -cdrom grub.iso -hda gnu.img
+ qemu -m 512 -user-net -isa -boot d -cdrom grub.iso -hda gnu.img
The switch `-isa` is for current gnumach.gz on hda.