[[!meta copyright="Copyright © 2011, 2012, 2013 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_documentation open_issue_hurd]] # IRC, freenode, #hurd, 2011-08-10 < braunr> youpi: aren't sub-hurds actually called "neighbor hurds" ? < youpi> no idea < braunr> i also don't understand the recursive property < youpi> a user can run a subhurd < neal> braunr: What don't you understand? < youpi> a user in a subhurd can run a subhurd < youpi> etc < braunr> i'm not sure it's really recursive < neal> youpi: At some point it was observed that you don't strictly require any resources from the "parent" Hurd. < neal> youpi: i.e., you could have two Hurds running "directly" on Mach < youpi> sure < neal> youpi: Hence neighbor rather than sub < youpi> but you need to be root for that < youpi> or else your subhurd can't do much < neal> you need to have been authorized to use the required resouces < youpi> which is about the same :) < neal> depends how they are delegated < youpi> that's still asking root for something < neal> if you say so < youpi> which is most probably not the default < braunr> well, either you depend on the parent to do things on your behalf, or you directly have some privileged ports < braunr> i'd agree with youpi that it's pretty much having root access at some point < youpi> and usually you don't have privileged ports by default :) < braunr> but we don't need to restrict the presentation to user only sub hurds < braunr> people don't mind switching to root on their desktops < braunr> which is one of the reasons they ask "what does the hurd really bring me today ?" < braunr> but being able to run truely separate hurds or recursive hurds is something nice most OSes can't do easily < youpi> switching to root becomes a *pain* when you have to do it 1 every two commands < braunr> yes sure, but some people might just say you're clumsy :x < neal> The question is: can I start a sub-hurd from within another hurd that survives the parent's hurd exiting? The answer is yes. The reason is that the sub-hurd can be constructed in such a way that it does not rely on the parent. In this case, the parent does not necessarily subjugate the sub-hurd. Hence the name. < braunr> but that's out of the scope of the discussion < antrik> using the traditional, root only mechanism, neighbour-hurd is indeed a more appropriate term. apart from the initial terminal being proxied to the parent system by the boot program, they are really equal < antrik> with zhengda's work on non-root subhurds, you rely on various proxies in the parent system to access privileged resources; so subhurd is indeed a more appropriate term in this case < antrik> (not only non-root subhurds in fact... when using any of the proxies, such as the network multiplexer -- even if still running as root...) < youpi> antrik: you could still give a com0 port as terminal < antrik> I don't think that's actually supported in the boot program... but it doesn't really matter, as you don't really need the terminal anyways -- you can always log in through the network # IRC, freenode, #hurd, 2012-07-31 subhurd seems like bsd jail (tried none of them) gg0: nope. BSD jails are mostly chroot AIUI. subhurd is quite different gg0: you actually boot a completely new system instance complete with all the Hurd servers, UNIX daemons etc. jails are between subhhurds and chroots :p i suppose there is nothing against making the root server of the subhurd use a file instead of a raw disk, is there ? well, I said jails cos afaik are more isolated from real system than chroots yes maybe comparing subhurd to virtual machines would be more appropriated then they're not VMs either say chroot -> jail -> subhurd -> vm ? unless you consider the microkernel to be a hypervisor, with its own architecture, which some actually do gg0: something like that, yes [system-in-system evolution] a subhurd is an operating system instance i think the closest analogy you can get is openvz yeah, I'd also consider it closest. but it's still quite different: with OpenVZ, the kernel facilities are only logically isolated; but they use the same kernel code. with subhurds, most of the system facilities are independent # IRC, freenode, #hurd, 2012-08-03 hm... are Mach task IDs exposed to userspace? antrik: ids ? antrik: what do you call a mach task id ? task have numeric IDs in the kernel I wonder whether these are ever exposed to userspace i'm not sure i don't remember the had numeric IDs they* well, perhaps I'm making things up... but I believe I saw such IDs in the debugger and/or in error messages probably their address or creation time orpc_sample braunr: well, any unique ID would do antrik: yes but i was wondering what kdb would actually show I just realised that it would be useful for debugging accross subhurds or kernel/userspace if some kind of unique task IDs could be shown in ps output yes this requires some thought though ps shouldn't show that there should be mach specific commands i suppose but then, gdb and other tools wouldn't have access to subhurd tasks either why shouldn't ps show that? I don't think it's any more sensitive information than all the other stuff ps shows... it doesn't feel right i would want my system instances to be truely isolated and use special "cross instance" facilities when necessary that's completely orthogonal to what I'm talking about like eth-multiplexer you seem to be talking about security or privacy we discussed such options when zhengda worked on rootless subhurd no, I'm talking about convenient debugging right i don't think it'zs orthogonal here if we increase separation, it becomes less convenient for debugging purposes you would *not* use the isolation options ok so you propose two modes of operations BTW, as an isolated subhurd relies on the parent, it makes no sense to hide subhurd tasks from the parent hurd -- only hide parent hurd task from the subhurd agreed so even with an isolated subhurd global task IDs would still be useful # IRC, freenode, #hurd, 2012-08-06 antrik: if i'm right, the root file system executable is read from the parent, right ? braunr: probably... I'm not sure about that part antrik: i've installed the same packages in both the main and subhurds to be sure and to have the right binary and debugging symbols in gdb anyway # IRC, freenode, #hurd, 2013-01-19 what is the hurd equivalent of a freebsd jail? zacts: i'd say subhurds what advantages would a subhurd have over a freebsd jail? basically that is it virtually guarantees a mistake can't compromise the main system ah ok in theory, subhurds can run without root privileges (but there are currently a few things that prevent it) ## IRC, freenode, #hurd, 2011-06-07 would hurd jails be more powerful than FreeBSD jails? how so? not more powerful easier to develop safer perhaps more powerful too, but that entirely depends on the features you want inside # IRC, freenode, #hurd, 2013-10-04 hm, looks like we broke subhurds again freezes after starting exec o_O looks like some translator refuses to start teythoon: we need better error reporting first :) [[open_issues/subhurd_error_messages]]. and better visibility in general teythoon: it may be that the subhurd i'm using is a bit od old one weird thing about subhurds is that they actually use the ext2fs and linker from the host so it's better if the subhurd and the host uses the same bootstrap protocol :) braunr: isn't boot --boot-root=DIR there to specify which root translator and linker to use? teythoon: yes but you don't want your root file system mounted from the host when starting your subhurd you can mount it r/o just fine, no? ideally, we'd have a userspace version of grub reading the files from the disk, as it's done when booting hm right ## IRC, freenode, #hurd, 2013-10-07 braunr: btw, did you straighten out your subhurd issue? teythoon: no i haven't