This provides support for the /dev/ud* nodes
that pass through to /dev/usbdisk, and enables
usb disk support in the installer.

UNTESTED

---
 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