[[!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]]."]]"""]] # IRC, freenode, #hurd, 2012-07-19 well, I really actively started last week, so I'm ironing my various use cases and above all I'm taking my barings in Hurd's code I'm currently reading boot/ and pfinet/ sorry for asking but can you describe brielfy what you mean to achieve i know it sounds weird but the project description is a bit vague for me OK the main goal is to be able to easily spawn a subhurd that's connected in some way to its host ok mainly connected by network, possibly sharing resources like FS is it similar in spirit with something like linux containers ? IIRC about them, yes ok that will do for me then Yes, so not complete virtualization, but instaed limitied to several components. lxc with more runtime features to increase/decrease the level of isolation at first it would be static, at creation time only ok, i clearly understand the proposal now :) what kind of help could you need in the near future ? (except permanent access to youpi's brain?) Yes, that's my question, too -- what can we do to "get this thing going". by monday or tuesday I should be clear on what I understand or not in the code I'm still a bit up to my elbows in it at that point I'll be happy to be able to pop a lot of questions about it so you'll be ready for the next meeting yeah Please do as soon as there are questions that you cannot resolve in a reasonably short amount of time. So often a quick hint from someone else already helps to ge un-stuck. OK There is no problem with asking for help given this huge and convoluted code-base, where often design decisions are not obvious, too. I will Good. :-) nowhere_man: hm... what you said so far doesn't sound any different than the work zhengda already did on boot years ago... (although none of it ever got upstream IIRC :-( ) antrik: wasn't aware of it, is there some code published? There are bits and pieces, but certainly there is enough work left to be done, to put it all together. yes, his git repository should be up somewhere. it's quite convoluted though, as he worked on several things, and also wasn't very experienced with revision control in the beginning nowhere_man: http://www.gnu.org/software/hurd/community/gsoc/2008.html nowhere_man: http://www.gnu.org/software/hurd/user/zhengda.html Second section of the latter one. well, my understanding of the proposal (and more or less what I was driving at in the project idea, which is rather vague admittedly) is something lighter than a real subhurd... rather some kind of thin subenvironment that doesn't actually boot a complete system instance with various daemons etc. nowhere_man: It is certainly valid for you to use pre-existing code/patches, by the way. BTW, regarding the "full subhurd" thing, the missing pieces are mostly virtual device implementations (that and some tough bug(s) remaining in zhengda's modified boot...) cool, I'll take a look in any case, getting a picture of the work zhengda did is, is definitely the first thing to do :-) nowhere_man: I'll also try to locate some bits and stuff from his verious repositories (I just fond a Subverision one; will convert to Git). tschwinge: I'm pretty sure zhengda's git repository was converted from the SVN one... antrik: Thanks for reminding us about this -- I failed to remember all that. (which was in turn converted from CVS...) antrik: OK, will have a lot. Yeah, found a CVS tree, too. ;-) BTW, zhengda's work more exactly was about subhurd without root privileges. but that lays a lot of the groundwork for all kinds of more flexible subhurd usage (but it's still quite a different thing that thing subenvironments, so don't get confused...) err... thin subenvironments # IRC, freenode, #hurd, 2012-07-27 bddebian: I'm actually not progressing much while reading the source, I'm jumping all over the place to grasp the various types and functions used where I start would there be a few starting points that could help me? nowhere_man: So what exactly is your status; what are you doing, what do you need help with? We surely can provide help, but need to know where. I'm starting from the source of boot/ and pfinet/ and as soon as I encounter something that I don't understand, I find its definition I'm kind of doing a depth-first search of what I need to understand in the source code I'm wondering if there are a few places in the source code that I should start reading before anything else well, I'll have to go in a few minutes I'll continue my DFS ;-) # IRC, freenode, #hurd, 2012-08-02 well, I made a leap forward in understanding the code, when I stopped my DFS in hindsight, I'd say my way of approaching the code was probably one of the worst possible oh OK, so at least you learned something, which is good. So, what's the new approach? And what are you working on at the moment ? I just remembered SICP, the idea of wishful thinking when you code, and didn't bother with the fine details behind what I'm reading like, I don't really get what happens when a Mach port is allocated, but I know approximately what a Mach port is So originally you worked on investigating all that, every line of code? almost, yeah nowhereman: again, feel free to ask Yes indeed -- that's too complex for a single person to tackle at one time. and quickly don't loose time Not even braunr and I have looked up all these things. (Speaking for Richard here, but I'm quite sure he'll agree. Perhaps he has in fact looked up all the Mach things, though.) nowhereman: ufc? BTW, last week I wanted to push my description of how the tool could be used, the use cases ufs but flubber is not online nowhereman: Oh, why ufs specifically? don't waste time on ufs really nowhereman: Yes, flubber is down. But you can push directly to the Savannah repository. nowhereman: Please immediatelly tell us if you're stuck on something, like flubber not being available. We may not be able to help immediatelly, but we're the at least aware of issues. and we may be able to help immediately :) As we're not sitting in a lab next to each other, we can't tell otherwise what's going on. We may in fact even be able to tell you immediatelly to use Savannah instead of flubber, indeed. nowhereman: So, back to ufs -- which you don't specifically need to look at, I think -- ext2fs is what everyone uses. But even there you shouldn't really need to know many details/internals. OK, I was looking into it has it appears in hurd.boot Ah, OK. Yeah, that's just an example/template, and should use ext2fs nowadays. in fact, as far as FS are concerned, I suppose I will merely need to know how to pass a port to the host's FS to some proxy FS in the subhurd mmmh, Savannah only mentions a hurd.git Exactly that is the abstraction level you need, yes. I'm looking at http://savannah.gnu.org/git/?group=hurd Yeah, that's a known shortcoming -- look here instead: http://git.savannah.gnu.org/cgit/hurd Here is some more up-to-date stuff on subhurds: http://www.gnu.org/software/hurd/hurd/subhurd.html nowhereman: You know how to tell git to add a new remote to your web pages checkout and such stuff? yeah, no problem with that have you prepared any question to ask us ? the only I have now is if you can tell me where to look in the code about passing Mach ports you don't pass ports, you pass rights http://www.gnu.org/software/hurd/gnumach-doc/index.html is the best location to have a look at http://www.gnu.org/software/hurd/gnumach-doc/Exchanging-Port-Rights.html#Exchanging-Port-Rights i suppose the mig doc will help too, as you may be using a higher level interface to exchange rights be careful about user references on port rights deallocate releases a reference, it doesn't immediately destroy a resource portinfo -v can help monitoring a task's rights nowhereman: so what are you planning to do now ? during the next week documenting what I understand from the boot process and where things can be changed to fit my various use cases do you expect that to take the whole week ? and doing some first modifications to servers for the simplest cases ok well i hope you're able to really start working on it soon, and won't face weird issues in the meantime i'm a bit disappointed that you don't have more questions my feeling is you either did understand everything (except passing port rights), or you didn't attempt to seriously understand the code or you don't dare ask questions this is something that must change or these meetings won't be as useful as they could be Yes. But also please don't wait for the meetings, but ask questions throughout the week, too.