IRC channel logs

2025-04-18.log

back to list of logs

<ZhaoM>morning
<sneek>ZhaoM, you have 1 message!
<sneek>ZhaoM, gnucode says: that gplv3+ is probably the more preferable license.
<ZhaoM>gnucode: ok thanks
<damo22>preferable for what?
<ZhaoM>damo22: asking me or gnucode? :)
<damo22>both
<damo22>i mean, one of the reasons we have gplv2+ is because there is some existing gplv2-only code linked, so might be preferable to stick with 2+
<damo22>until we switch
<ZhaoM>yeah that's why I ask if gplv2+ is preferable
<ZhaoM>I realized the gplv2-only code
<damo22>but still preferable for which repo?
<ZhaoM>because I'm trying to implement rumpfs
<ZhaoM>hurd repo
<damo22>check the existing licence version and use that
<ZhaoM>which one is 'the existing license version'
<damo22>it should be in the COPYING file
<ZhaoM>got it
<ZhaoM>it's gplv2+
<ZhaoM>I will try to implement the rumpfs on this link https://github.com/ChenW12/hurd/tree/rumpfs
<ZhaoM>I haven't done much there is only a prototype :)
<damo22>github is not ideal for sharing free software but its better than nothing
<ZhaoM>any alternatives recommendations?
<damo22>eg self hosted git, or something like codeberg?
<ZhaoM>codeberg seems good to me
<ZhaoM>I will transfer to it
<ZhaoM>Done! https://codeberg.org/zhml/hurd/src/branch/rumpfs
<damo22>hmm do you really need all those stubs?
<damo22>i think rumpfs would implement almost everything for the filesystem itself?
<damo22>there should be an example of how to use rumpfs in rumpkernel/
<damo22>its been ages, but i think i remember seeing something in there
<ZhaoM>those stubs are needed to use libdiskfs
<ZhaoM>I have't go more in depth in rump
<damo22>try to find out what the api is for using rumpfs
<ZhaoM>I tried to follow the 'Get Started' on Github but I always had some compilation issues :|
<damo22>i dont know what that is
<ZhaoM>so I have just implemented a prototype to make sure rumpfs can compile first
<ZhaoM>This is what I tried to follow https://github.com/rumpkernel/wiki/wiki/Tutorial:-Getting-started#building
<damo22>thats not our repo
<damo22>we dont use rumpkernel from github
<ZhaoM>oh really?
<ZhaoM>I didn't know that
<ZhaoM>thanks for pointing it out :)
<damo22>we use the one on salsa.debian.org
<damo22>it has debian patches
<ZhaoM>found it!
<damo22>but you dont need to compile rump
<ZhaoM>I used the one from github as it's the first one given by search engines :/
<damo22>we already have the libraries installed
<ZhaoM>yes I saw that
<ZhaoM>rump package
<damo22>rumpkernel package
<damo22>librump*.deb
<damo22>the source tree is good to help you know how to use rump
<damo22>but you shouldnt need to compile anything there unless something is missing
<ZhaoM>got it
<damo22>you can write a test program with int main() { rump_init(); return 0; }
<damo22>etc
<damo22>i think your approach is the wrong way around, you need to start by seeing what api to use to attach to a filesystem from rump, with a simple program that opens a block device
<damo22>you may find you dont need anything else
<damo22>just a little bit of glue code to make it into a translator
<damo22>eg, check the source code for netbsd's "mount" command there will be an option to use rump
<azert>On netbsd pooka implemented libp2k as a shim from rump to puffs
<azert>I’m sure Hurd would need something similar
<azert> https://www.netbsd.org/docs/puffs/rump.html
<azert>ZhaoM: https://www.13thmonkey.org/documentation/NetBSD/rump.pdf
<azert>I’d start with tmpfs as a stub on the Hurd side
<azert>Since the hard part is caching I guess that’s an option to get decent performances
<azert>Otherwise, the good part is that rump is currently used on netbsd for unsafe things like external drives
<azert>So it’s production ready
<ZhaoM>sneek later tell azert It seems to me our fs.defs is something like puffs
<sneek>Got it.
<azert>ZhaoM: then why not just porting puffs to the Hurd?
<sneek>azert, you have 1 message!
<sneek>azert, ZhaoM says: It seems to me our fs.defs is something like puffs
<azert>If it’s really the same, then it would be better to act at that layer since it will provide the most code reuse
<ZhaoM>I mean from the perspective of the functionality
<ZhaoM>I haven't read the source code
<azert>Ok, but I think you need to chose which layer to port
<azert>And puffs seems like a good candidate to me
<azert>performancewise, a tmpfs using a rump kernel as a back storage might be more promising
<azert>Although one have to think about data loss risks
<azert>Implementing puffs will gives us fuse for free
<ZhaoM>sneek later tell azert I see. If we can port puffs, we can directly have libp2k and use rumpfs
<sneek>Got it.
<ZhaoM>Of course it will need to be in userspace instead of as a kernel component, we are microkernel system
<ZhaoM>them it seems what I have done is indeed wrong
<damo22>ZhaoM: i dont know if you need puffs just look into the source of mount on netbsd and check what is needed to mount a filesystem with rump
<damo22>it may be very simple
<ZhaoM>so if my understand is correct, 'mount -o rump' is the command https://man.netbsd.org/NetBSD-10.1/mount.8#DESCRIPTION
<ZhaoM>so this command will run ``rump_<fstype>''
<damo22>yeah but check the source what that actually does
<ZhaoM>yeah I can see puffs
<ZhaoM> https://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/puffs/rump_ffs/rump_ffs.c?only_with_tag=MAIN
<ZhaoM> https://cvsweb.netbsd.org/bsdweb.cgi/src/usr.sbin/puffs/rump_ffs/rump_ffs.c?rev=1.7;content-type=text%2Fplain;only_with_tag=MAIN
<damo22>thats not it
<damo22>look in sbin/mount
<damo22>it may be easier with ctags and vim
<damo22>ah youre right
<damo22>it calls that
<damo22>rump_%s
<damo22>theres your exampes
<damo22>examples*
<damo22>it should be trivial then to port that to hurd if instead of taking parameters you make it run on a translator node
<damo22>but first you can try using the main() examples as is
<damo22>almost
<ZhaoM>ok
<gnucode>well, I still can't seem to get the hurd-console to start
<gnucode>I updated my T43 hurd machine today.
<gnucode>sudo console -d vga -d pc_mouse --repeat=mouse -d pc_kbd --repeat=kbd -d generic_speaker -c /dev/vcs
<gnucode>console: Starting driver vga failed:  Invalid argument
<gnucode>That must mean that I put in the command incorrectly somehow...
<gnucode> https://darnassus.sceen.net/~hurd-web/hurd/console/
<gnucode>but that seems like the right command...