I wanted to move things along for usb, I didn't realise the driver is actually 
broken on master.

I'll have another go at separating the stack.

Damien

Sent from Proton Mail Android


-------- Original Message --------
On 30/6/25 8:14 am, Samuel Thibault <samuel.thiba...@gnu.org> wrote:

>  Hello,
>  
>  Damien Zammit, le ven. 27 juin 2025 06:41:53 +0000, a ecrit:
>  > This provides support for the /dev/ud* nodes
>  > that pass through to /dev/usbdisk, and enables
>  > usb disk support in the installer.
>  >
>  > UNTESTED
>  
>  Please do test changes.
>  
>  Writing changes that look reasonable is not what would consume me time.
>  What consumes time is actually testing things and check that they go
>  alright. I tried your change and immediately got
>  
>  [   1.0000000] Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
>  [   1.0000000]     2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 
> 2013,
>  [   1.0000000]     2014, 2015, 2016, 2017, 2018, 2019, 2020, 2021, 2022, 
> 2023,
>  [   1.0000000]     2024
>  [   1.0000000]     The NetBSD Foundation, Inc.  All rights reserved.
>  [   1.0000000] Copyright (c) 1982, 1986, 1989, 1991, 1993
>  [   1.0000000]     The Regents of the University of California.  All rights 
> reserved.
>  
>  [   1.0000000] NetBSD 10.99.12 (RUMP-ROAST)
>  [   1.0000000] total memory = unlimited (host limit)
>  [   1.0000000] entropy: ready
>  [   1.0000000] timecounter: Timecounters tick every 10.000 msec
>  [   1.0000040] timecounter: Timecounter "clockinterrupt" frequency 100 Hz 
> quality 0
>  [   1.0000050] cpu0 at thinair0: rump virtual cpu
>  [   1.0000050] root file system type: rumpfs
>  [   1.0000050] kern.module.path=/stand/amd64/10.99.12/modules
>  [   1.0000050] mainbus0 (root)
>  [   1.0000050] pci0 at mainbus0 bus 0
>  [   1.0000050] pci0: i/o space, memory space enabled, rd/line, rd/mult, 
> wr/inv ok
>  [   1.0000050] vendor 8086 product 1237 (host bridge, revision 0x02) at pci0 
> dev 0 function 0 not configured
>  [   1.0000050] vendor 8086 product 7000 (ISA bridge) at pci0 dev 1 function 
> 0 not configured
>  [   1.0000050] vendor 8086 product 7010 (IDE mass storage, interface 0x80) 
> at pci0 dev 1 function 1 not configured
>  [   1.0000050] uhci0 at pci0 dev 1 function 2: vendor 8086 product 7020 
> (rev. 0x01)
>  irq handler [11]: new delivery port ffffffffde276910 entry ffffffffde72bc40
>  /hurd/crash: /hurd/rumpusbdisk(1156) crashed, signal {no:11, code:2, 
> error:2}, exception {1, code:2, subcode:40}, PCs: {
>  0xd1fc2 0x34c979 0x8826c 0x5098b3,
>  0xbaaec 0x32d74e 0xd0a52 0xd1b2a 0xca85b 0x3065b7 0x306625 0xea242 0xbb6a2 
> 0xea2c0,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4e59ff 0x4e1cb4 0x83588,
>  0xbaaec 0x1a08c9 0x4ed524 0x4e51be 0x4e1cb4 0x83588,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee80d 0x4e5663 0x4e1cb4 0x83588,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4e59ff 0x4e1cb4 0x83588, DUP, DUP,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x47ee96 0x4e1cb4 0x83588,
>  0xbaaec 0x15f1c7 0x15e81c 0x4eeaba 0x4de7c1 0x4deb3b 0x4cba33 0x4e1cb4 
> 0x83588,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x4e047c 0x4e1cb4 0x83588,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x4ab95a 0x4e1cb4 0x83588,
>  0xbaaec 0x1a08c9 0x1b93d3 0x4ed4c1 0x4e5eb8 0x53ebd6 0x4e1cb4 0x83588,
>  0xbaaec 0x15e006 0x15e9e3 0x4ee9ad 0x4de7ed 0x48000b 0x4e1cb4 0x83588, DUP,
>  0x4ede44 0x42a3bd 0x5092f1 0xbb6a2 0x7981d 0x50931b
>  }, killing task.
>  
>  And lost network access.
>  
>  Possibly the network access loss is due to the share irq.
>  
>  I however just don't have time to investigate problems that people throw
>  at me.
>  
>  Do. test. your. changes.
>  
>  Samuel
>  
>  > ---
>  >  debian/hurd-udeb.install.in        |  1 +
>  >  debian/hurd-udeb.lintian-overrides |  2 ++
>  >  debian/local/setup-translators     |  4 ++++
>  >  debian/rules                       |  2 +-
>  >  sutils/MAKEDEV.sh                  | 15 +++++++++++++--
>  >  5 files changed, 21 insertions(+), 3 deletions(-)
>  >
>  > diff --git a/debian/hurd-udeb.install.in b/debian/hurd-udeb.install.in
>  > index e0ad63c62..bede194e1 100644
>  > --- a/debian/hurd-udeb.install.in
>  > +++ b/debian/hurd-udeb.install.in
>  > @@ -59,6 +59,7 @@ hurd/procfs
>  >  hurd/proxy-defpager
>  >  hurd/random
>  >  hurd/rumpdisk
>  > +hurd/rumpusbdisk
>  >  hurd/shutdown
>  >  hurd/storeio
>  >  hurd/streamio
>  > diff --git a/debian/hurd-udeb.lintian-overrides 
> b/debian/hurd-udeb.lintian-overrides
>  > index 7f499ee90..1caa33752 100644
>  > --- a/debian/hurd-udeb.lintian-overrides
>  > +++ b/debian/hurd-udeb.lintian-overrides
>  > @@ -2,3 +2,5 @@ non-standard-toplevel-dir [hurd/]
>  >  non-standard-toplevel-dir [servers/]
>  >  package-contains-empty-directory [servers/]
>  >  hurd-udeb udeb: embedded-library zlib [boot/ext2fs.static]
>  > +hurd-udeb udeb: embedded-library librump [hurd/rumpdisk]
>  > +hurd-udeb udeb: embedded-library librump [hurd/rumpusbdisk]
>  > diff --git a/debian/local/setup-translators 
> b/debian/local/setup-translators
>  > index ad10aea8a..1e12c4d97 100755
>  > --- a/debian/local/setup-translators
>  > +++ b/debian/local/setup-translators
>  > @@ -143,6 +143,10 @@ md rumpdisk
>  >  md wdX 012345
>  >  md wdXsY 012345 123456789
>  >  md wdXs1Y 012345 0123456
>  > +md rumpusbdisk
>  > +md udX 012345
>  > +md udXsY 012345 123456789
>  > +md udXs1Y 012345 0123456
>  >  md cdX 01
>  >  md netdde
>  >  md ethX 0123
>  > diff --git a/debian/rules b/debian/rules
>  > index a24179cba..658e8cc2f 100755
>  > --- a/debian/rules
>  > +++ b/debian/rules
>  > @@ -29,7 +29,7 @@ TRANSLATORS_PROF = auth exec ext2fs pci-arbiter pfinet 
> lwip pflocal proc procfs
>  >
>  >  CONFIGURE_ARGS = --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
>  >  ifeq (,$(filter stage1 stage2,$(DEB_BUILD_PROFILES)))
>  > -CONFIGURE_ARGS += --disable-profile 
> --enable-static-progs='ext2fs,iso9660fs,rumpdisk,pci-arbiter,acpi,startup,proc,auth,pfinet,pflocal'
>  > +CONFIGURE_ARGS += --disable-profile 
> --enable-static-progs='ext2fs,iso9660fs,rumpdisk,rumpusbdisk,pci-arbiter,acpi,startup,proc,auth,pfinet,pflocal'
>  >  else
>  >  CONFIGURE_ARGS += \
>  >             --disable-ncursesw \
>  > diff --git a/sutils/MAKEDEV.sh b/sutils/MAKEDEV.sh
>  > index de31c1bef..a67ff7a4b 100644
>  > --- a/sutils/MAKEDEV.sh
>  > +++ b/sutils/MAKEDEV.sh
>  > @@ -185,7 +185,11 @@ mkdev() {
>  >    st $I root 660 c /hurd/rumpdisk
>  >    cmd ln -f -s rumpdisk disk
>  >    ;;
>  > -      [hrscw]d*)
>  > +      rumpusbdisk)
>  > +  st $I root 660 c /hurd/rumpusbdisk
>  > +  cmd ln -f -s rumpusbdisk usbdisk
>  > +  ;;
>  > +      [hrscwu]d*)
>  >    local sliceno=
>  >          local n="${I#?d}"
>  >    local major="${n%%[!0-9]*}"
>  > @@ -220,16 +224,23 @@ mkdev() {
>  >      lose "$I: Invalid slice or partition syntax"
>  >      ;;
>  >    esac
>  > +
>  > +  dev=${I%s[0-9]*}
>  > +
>  >    case "$I" in
>  >    wd*|cd*)
>  >      USE_PARTSTORE=1
>  >      MASTER=@/dev/disk:
>  >      ;;
>  > +  ud*)
>  > +    USE_PARTSTORE=1
>  > +    MASTER=@/dev/usbdisk:
>  > +    dev=${dev/u/s}
>  > +    ;;
>  >    esac
>  >
>  >    # The device name passed all syntax checks, so finally use it!
>  >    if [ "$USE_PARTSTORE" ] && [ -z "$rest" ] && [ "$sliceno" ]; then
>  > -    local dev=${I%s[0-9]*}
>  >      st $I root 640 b /hurd/storeio -T typed 
> part:$sliceno:device:$MASTER$dev
>  >    else
>  >      st $I root 640 b /hurd/storeio $MASTER$I
>  > --
>  > 2.45.2
>  >
>  >
>  >
>

Reply via email to