<slex>hello, i have a gcc cross compiler that targets bare-metal, could I use that to build gnumach or i could have problmes? <Pellescours>slex: you can, but you’ll also need to build mig and generate the gnumach headers <slex>yes, indeed trhe question was for that, sp i can generete the mach headers and then build the mig ***biblio_ is now known as biblio
<slex>Im building a little server (not really a translator) that waits for messages from clients. How to get its port so the clients can use it to send messages? I'm working under hurd <slex>link me to documentation too if needed, i'm not using mig for this little thing <slex>it seems i have to use mach_ports_lookup. I'm windering if there is another call or set of calls on top of it. Without using /hurd/proc <curiosa>slex: I'm in no way expert, but since noone else is interacting I throw my two cents <curiosa>client can use the bootstrap port to find their parent <curiosa>in any case the filesystem is the namespace of mach services on the hurd <curiosa>I'm not sure if I am accurate but that's how i see it <curiosa>the thing is that the way I see it one can start a parallel OS alongside the hurd on gnumach, and then clients of that OS can communicate with their parents using their own protocol. But if one wants to start a server within the hurd then it should follow a precise set of protocols <slex>yes this is how i want to do. running a server that can receive messages without using hurd <curiosa>you can pass ports right around using mach_msg <slex>yes, but I need to send a message from the client A to the Server S, and i need the server port to do that <curiosa>client A is created by Server S, right, <curiosa>slex, then why do you think that there should be even a way to do that?!? Wouldn't that be a blatant security bug? <curiosa>what you could do is having two childs of a master, one acting as a server and the other as a client? <curiosa>does mach keeps a dictionary of servers and ports? <slex>so i have to register my hello server ti the filesystems that in the Hurd works like a namespace server too, or implement my own namespace server <Pellescours>just register it and clients will look for it’s by his name to be able to get his port <slex>must register using settrans or there is also a programmatically way? <curiosa>slex: I think that the hurdish way is to use settrans, but I really don't see a reason why it should be that way if you appreciate my opinion <curiosa>another thing that I find off about the hurd are passive translators, do saving a bit of memory really warrant their complexity? <wleslie>it's not about saving memory, but about surviving a system restart <slex>I'm just learning, and my method is starting from scratch especially on what i want to do. I think at my self like I'm having only the kernel and a process to start at boot <curiosa>wleslie: you already have init scripts <wleslie>that works great if you have all the filesystems you'll need mounted at boot <slex>I meane from grub as module <curiosa>why you need that when you have a unix shell? <curiosa>linux did it great at the time regards with loadlin.com <slex>you just need to know that grub somehow rns the kernel, then in your kernel you write the code to parse the grub stuffs is what gnumach and others do, boot_script.c and bootstrap.c will help you <slex>it's how multiboot specs are <wleslie>multiboot makes life so much easier tbh. I know it's cool to hate on EFI too, but having boot drivers in a higher level language so they are portable across architectures? yes please. <wleslie>as for advertising ports, there isn't much you can do other than place it on the filesystem. and ports on the filesystem are expected to respond to at least some of the io interface. <wleslie>you could have one port that implements io as well as an additional method that returns a different kind of port <ThinkT510>they left about 5 minutes after their sadface <Pellescours>youpi: is asan available on hurd? I checked in apt but didn’t found it ***biblio_ is now known as biblio