IRC channel logs

2023-07-20.log

back to list of logs

<gnucode>solid_black and damo22 just curious. ya'll said in this new bootstrap proposal that you are not big scheme/lisp fans.
<gnucode>May I ask why?
<gnucode>I know the guix people would love it if your REPL was using guile.
<damo22>i think we already have C why introduce another language? also my lisp knowledge is very weak
<damo22>also it needs to execute like a simple shell, not a programming language
<damo22>a linear sequence of steps
<damo22>its entire purpose is to specify the boot sequence
<gnucode>I'm really not qualified to have an opinion...but I just like guile. :) And it sounds like it might be a bit of work creating and maintaining a simple shell for early boot up.
<gnucode>but the lisp path might be more work. no idea.
<damo22>it may be nice to be in guile, if you wanted to bootstrap the system from scratch, like have the bootstrap shell download sources and compile hurd before booting it lol
<damo22>but you would need a huge ramdisk or something
<gnucode>I know that the guix people would like it, because their early boot process uses guile I think. Well duh...that's what the shepherd is. >)
<gnucode>:)
<gnucode> https://www.mail-archive.com/bug-hurd@gnu.org/msg26347.html
<damo22>solid_black: you might find this branch useful http://git.zammit.org/hurd-sv.git/log/?h=feat-simplify-bootstrap
<solid_black>hi!
<solid_black>damo22: yes, that looks about right
<solid_black>although:
<solid_black>1. I'm not sure whether the task itself should be wiring its memory, or if the bootstrap task should do it
<solid_black>2. why do you request startup notifications if you then never do anything in S_startup_dosync?
<solid_black>same for essential tasks actaully, that should probably be done by the bootstrap task and not the translator itself (but we'll see)
<solid_black>3. don't mach_print, just fprintf (stderr, "")
<solid_black>4. please always verify the return result of mach_port_deallocate (and similar functions), typically like this: err = mach_port_deallocate (...); assert_perror_backtrace (err);
<solid_black>this helps catch nasty bugs
<solid_black>5. I wonder why both acpi and pci have their own pcifs_startup / acpifs_startup; can't they use netfs_startup?
<damo22>1. no idea, 2. rumpdisk needed it, but these might not 3. ACK, 4.ACK, 5. i think they couldnt use the netfs_startup before but might be able to now
<damo22>but this should get you booting with your bootstrap translator (without rumpdisk)
<damo22>rumpdisk seems to use the device_* rpcs from libmachdev to expose its device
<damo22>whereas pci and acpi dont use them for anything except device_open to pass their port to the next translator
<damo22>i think my latest patch for io ports will work
<damo22>but i need to rebuild glibc and libpciaccess and gnumach
<damo22>why does libhurduser need to be in glibc?
<damo22>its quite annoying to add an rpc