From 9c54f6c2901e1e44588e9baa1d7f405bc8335482 Mon Sep 17 00:00:00 2001 From: antrik Date: Wed, 10 Sep 2008 03:49:49 +0200 Subject: Major status update for end of GSoC --- community/gsoc.mdwn | 99 +++++++++++++++++++++++++++++---------- community/gsoc/project_ideas.mdwn | 30 ++++++++---- 2 files changed, 97 insertions(+), 32 deletions(-) (limited to 'community') diff --git a/community/gsoc.mdwn b/community/gsoc.mdwn index 948a6e9c..566999ed 100644 --- a/community/gsoc.mdwn +++ b/community/gsoc.mdwn @@ -8,41 +8,92 @@ 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 GNU Hurd project has been accepted as a mentoring organization for +The GNU Hurd project has successfully participated in the [Google Summer of Code 2008](http://code.google.com/soc/2008/hurd/about.html)! -Student selection is over, and we have four slots -- quite some more than the -one we had the previous years under the GNU umbrella... Let's hope for some -good results :-) +All in all we had five students working on a diverse selection of five projects +from our [[ideas_list|gsoc/project_ideas]]. All of the projects were more or +less successful: -The selected projects are: +## Projects -* Lisp binding for Hurd translator libraries -* Network virtualization for subhurds etc. -* Usable procfs implementation -* dtrace support +* [[Sergiu_Ivanov|scolobb]] worked on namespace-based translator selection. + Although he wasn't an official (sponsored) GSoC student, he worked on his + project quite as steady as the other students (except for a two week + vacation). The project however was hampered by various misunderstandings, + wrong assumptions, and several major redesigns during the course of the work + -- which is probably more our fault than the student's. In the end, he was + able to complete nsmux (the main namespace proxy handling the magic filename + lookups, running dynamic translators on demand); however, he still works on + finishing the translator stack filtering, necessary to implement some of the + desired functionality (accessing files while skipping existing translators). -Special cheers go to Sergiu Ivanov, whom we unfortunately couldn't select -because he was impeded during the application phase, but who nevertheless is -working on his project (namespace-based translator selection) as a volunteer -with a dedication matching that of the selected students! +* [[Zheng_Da|da]] worked on network virtualization and some related topics. In + spite of many open design question in the beginning, he did a lot of good + work -- finishing not only the ethernet multiplexer and filter translators, + which form the core of his project, but also a glibc patch to allow + overriding the standard socket servers with environment variables; the + devnode translator and a pfinet patch to allow accesing network devices + through device files; support for setting the network device in promiscuous + mode in gnumach; a pfinet patch to use BPF for the packet filtering instead + of the old Mach packet filters, and also to set a proper filter rule that + really only passes the required packages to pfinet; a patch for the subhurd + boot program to allow giving arbitrary virtual devices to the subhurd; and a + proxy for the proc server, which allows running unmodified programs with a + pseudo device master port instead of the real one -- providing some of the + subhurd functionality without having to start a complete new system instance. + He is still working on fixing some remaining issues, and on allowing subhurds + to be run by normal users. -The summer session has started by the end of May, and all the students are -making good progress. We are in good hopes of seeing five successful projects -at the end of this summer :-) +* [[Flavio_Cruz|flavioc]] was working on Lisp bindings for the Hurd interfaces, + and did a great job: Not only he implemented bindings for all low-level + interfaces as well as higher-level libraries for easy creation of translators + and other hurdish programs, but also implemented a whole bunch of sample + translators based on these bindings, some of them quite useful on their own + account. He also fixed a few bugs in the Hurd he found along the way. + Presently he is doing some further improvements, like additional abstractions + and more sample translators. -## '08 SoC students and interested non-students +* [Andrei Barbu](http://csclub.uwaterloo.ca/~abarbu/hurd/) was working on + porting a kernel instrumentation framework like dtrace or SystemTap. He + implemented the necessary kernel infrastructure (and some nice general + improvements along the way), making it possible to create tracing programs by + hand; however, only at the end of the summer he realized that SystemTap is + really extremely Linux-specific (while dtrace was ruled out already at the + setout because of licensing problems), so there is no nice frontend yet. + Unfortunately he was not able to continue work beyond the official deadline + because of his PhD. -Minutes from the IRC meetings: [[25April08Minutes]], [[02May08Minutes]], [[16May08Minutes]] +* [[Madhusudan.C.S|procfs]] was working on a new procfs implementation, to + allow runnig existing programs based on Linux procfs out of the box. He + managed to implement all the necessary information bits, so the most + important procfs programs now work; and also fixed the procps program suite + to actually build on the Hurd. There are still some major bugs left, though. + Aside from fixing the remaining bugs, he now works on adding some more + information bits that are nontrivial to implement, and on fixing libgtop to + work for us as well. -## Wiki pages kept by '08 SoC students and interested non-students +## IRC meetings - * [[scolobb]] - Namespace-based translator selection - * [[da]] - Network virtualization - * [[flavioc]] - Lisp bindings - * [andrei](http://csclub.uwaterloo.ca/~abarbu/hurd/) - dtrace/systemtap port - * [[procfs]] - GNU/Linux compatible procfs pseudo filesystem +Since the selection of the students on we have had regular GSoC IRC meetings, +every Friday 19:00 UTC. + +Minutes from some of the meetings: [[25April08Minutes]], [[02May08Minutes]], [[16May08Minutes]] + +We decided to keep up the meetings after the end of official GSoC, so things +can be properly wrapped up for upstream submission; but also because the +students want to continue discussing progress with their ongoing work, +problems, future directions etc. + +I also think that regular IRC meetings are a good thing in general. + +As always, the meetings are not only for (former) GSoC students and mentors, +but open to any interested party :-) + +If someone of you is lurking around here and would like to contribute, +but feel that you could do so better under formal mentoring: Please +speak up at the meeting! :-) ## History diff --git a/community/gsoc/project_ideas.mdwn b/community/gsoc/project_ideas.mdwn index c24b93be..c3e1eff3 100644 --- a/community/gsoc/project_ideas.mdwn +++ b/community/gsoc/project_ideas.mdwn @@ -116,7 +116,7 @@ using the existing C libraries (libps, libtrivfs), but also try to work with the MiG-generated stubs directly. If you are ambitious, you could even try to write your own stubs... -Status: A student is working on Lisp bindings for GSoC 2008. +Status: Flavio Cruz has completed [[Lisp_bindings|flavioc]] for GSoC 2008! ## Virtualization Using Hurd Mechanisms @@ -195,8 +195,12 @@ Possible mentors: Olaf Buddenhagen (antrik) Exercise: Make some modification to the "boot" programm used to start subhurds. (More specific suggestions welcome... :-) ) -Status: A student is working on network virtualization (and some related bits) -for GSoC 2008. +Status: Zheng da has has implemented [[network_virtualization|da]] (an +important prerequisite for unprivileged subhurds) for GSoC 2008, along with +various other interesting bits, including a mechanism to override socket +servers; a proc proxy that allows running processes/subenvironments with a +pseudo device master port; and a mechanism to pass arbitrary virtual devices to +a subhurd. He is still working on running subhurds by normal users. ## Namspace-based Translator Selection @@ -267,6 +271,11 @@ Possible mentors: Olaf Buddenhagen (antrik) Exercise: Try to make some modification to the existing unionfs and/or firmlink translators. (More specific suggestions welcome... :-) ) +Status: Sergiu Ivanov has been working *voluntarily* on +[[namespace-based_translator_selection|scolobb]], as an inofficial GSoC 2008 +participant! Not all the desired functionality is in place yet; work is +ongoing. + ## Fix File Locking @@ -323,7 +332,8 @@ Possible mentors: Olaf Buddenhagen (antrik) Exercise: Add or fix one piece in the existing procfs translator. -Status: A student is working on procfs for GSoC 2008. +Status: Madhusudan.C.S has implemented a new, fully functional [[procfs]] for +GSoC 2008. He is still working on some outstanding issues. ## New Driver Glue Code @@ -417,8 +427,9 @@ Possible mentors: Olaf Buddenhagen (antrik) Exercise: Come up with a glibc patch that allows overriding one specific standard server using method (1). -Status: The student working on network virtualization for GSoC 2008 will -probably take a look into this too. +Status: Overriding of socket servers through environment variables has been +implemented by Zheng Da for GSoC 2008, as part of his +[[network_virtualization|da]] project. ## `dtrace` Support @@ -445,7 +456,7 @@ in their Mach-based kernel might be helpful here...) This project requires ability to evaluate possible solutions, and experience with integrating existing components as well as low-level programming. -Possible mentors: ? +Possible mentors: Samuel Thibault (youpi) Exercise: In lack of a good exercise directly related to this taks, just pick one of the kernel-related or generally low-level tasks from the bug/task @@ -453,7 +464,10 @@ trackers on savannah, and make a go at it. You might not be able to finish the task in a limited amount of time, but you should at least be able to make a detailed analysis of the issue. -Status: A student is working on dtrace (or perhaps SystemTap) for GSoC 2008. +Status: Andei Barbu was working on +[SystemTap](http://csclub.uwaterloo.ca/~abarbu/hurd/) for GSoC 2008, but it +turned out too Linux-specific. He implemented kernel probes, but there is no +nice frontend yet. ## Hurdish TCP/IP Stack -- cgit v1.2.3