IRC channel logs

2023-07-25.log

back to list of logs

<Guest25>why do you need a settrans utility?
<Guest25>why cannot translators just install themself?
<Guest25>settrans makes sense for installing passive translators
<Guest25>but what about active translators
<Guest25>?
<Guest25>also how do I know a file is a translator?
<luckyluke>Guest25: there is showtrans
<Guest25>how does that work?
<Guest25>root@hurd:~/hurd/caccadisk# settrans -a ./cacca ./rumpusbdisk
<Guest25>Kernel is already driving a SATA device, skipping probing rump USB disks
<Guest25>root@hurd:~/hurd/caccadisk# showtrans cacca
<Guest25>root@hurd:~/hurd/caccadisk# file cacca
<Guest25>cacca: character special (0/0)
<Guest25>not clear to me
<Guest25>root@hurd:~/hurd/caccadisk# ./rumpusbdisk
<Guest25>./rumpusbdisk: must be started as a translator
<Guest25>why?
<Guest25>I would have expected to tell me what it is doing with a nice verbose output and install itself
<luckyluke>showtrans just checks the passive record on disk
<Guest25>I think its a bug --> Kernel is already driving a SATA device, skipping probing rump USB disks
<luckyluke>no, you can't use user and kernel space drivers for the same device
<Guest25>USB vs SATA
<luckyluke>I think currently the only translator able to auto-start itself is /hurd/storeio (check the -d option)
<luckyluke>ah, maybe there is some shared resource that is acquired too coarsely
<Guest25>yes
<Guest25>I think so
<Guest25>from the source
<luckyluke>e.g. pci resources
<Guest25>no i think its a bug
<Guest25>      if (! device_open (device_master, D_READ, "sd0", &device)
<Guest25>       || ! device_open (device_master, D_READ, "sd1", &device)
<Guest25>       || ! device_open (device_master, D_READ, "sd2", &device)
<Guest25>       || ! device_open (device_master, D_READ, "sd3", &device))
<Guest25>        {
<Guest25>          device_close (device);
<Guest25>          mach_port_deallocate (mach_task_self (), device);
<Guest25>          fprintf(stderr, "Kernel is already driving a SATA device, skipping probing " RUMP_TYPE_STRING " disks\n");
<Guest25>          fflush(stderr);
<Guest25>          disabled = 1;
<Guest25>          return;
<Guest25>        }
<Guest25>this shoudn't be riun if  RUMP_TYPE_STRING == USB,  or at least there is a problem with naming
<Guest25>sd* is already taken by the gnumach sata, while netbsd usb uses sd* too
<luckyluke>or it should replace SATA -> USB
<Guest25>gnumach is not driving usb
<Guest25>ok, maybe replace SATA -> USB after fixing the name collison?
<luckyluke>do you have /dev/sdX nodes?
<Guest25>yep
<luckyluke>ah yes also that, sdX is for both...
<Guest25>yes, so you cannot run sata with gnumahc and rumpusb
<Guest25>because of that
<luckyluke>you could just adapt the tranlator argument
<luckyluke>e.g. $ showtrans /dev/wd0
<luckyluke>/hurd/storeio @/dev/disk:wd0
<luckyluke>could be $ showtrans /dev/usb0
<luckyluke>/hurd/storeio @/dev/disk:sd0
<luckyluke>I don't know if it works, but could be sometihng along these lines
<Guest25>@/dev/disk should be @/dev/usbdisk
<Guest25>since it is a different translator
<Guest25>then yes it might work, after removing the check
<Guest25>ok, I crashed everything
<Guest25>kernel trap
<Guest25>probably another bug
<Guest25>settrans -ap doesn't create the node if it doesn't exist
<Guest25>it's over jim, it doesnt' boot anymore
<Guest25>stuck at DHCPREQUEST
<Guest25>maybe due to fs corruption
<Guest25>how do i force a single user boot?
<Guest25>to fsck the whole thing?
<Guest25>did it using the installer cdrom
<Guest25>root@hurd:/dev# showtrans rumpusbdisk
<Guest25>I find a nice way to panic gnumavh
<Guest25>I think this works after removing the check in rumpusbdisk : settrans -ap usb0 /hurd/storeio @/dev/rumpusbdisk:sd0
<Guest25>to crash gnumach, just do settrans -ap NOT_EXISTING_FILE /hurd/rumpusbdisk
<Guest25>it totally goes nuts
<Guest25>cool, usb in the hurd work
<Guest25>of course just mass storage, you'd have to make hurd specific drivers for literally most of the other stuff
<Guest25>and an Hurd USB core api for those hurd specific drivers to run on top of rump host controller drivers
<Guest25>but umass works nicely :)
<Guest25>so funny, crashes GNUMACH, kills your FS,100%hit, try yourself -> settrans -ap NOT_EXISTING_FILE /hurd/rumpusbdisk
<Guest25>damo22 I think I found a couple of bugs in your new rumpusbdisk translator
<Guest25>one is easy to fix