#1108605 hurd: fails to setup console and stdin/out/err

Package:
hurd
Source:
hurd
Submitter:
Martin-Éric Racine
Date:
2026-02-08 10:33:04 UTC
Severity:
normal
Tags:
#1108605#5
Date:
2025-07-01 09:07:56 UTC
From:
To:
(Reading database ... 39803 files and directories currently installed.)
Preparing to unpack .../hurd-dev_1%3a0.9.git20250622-2_hurd-i386.deb ...
Unpacking hurd-dev (1:0.9.git20250622-2) over (1:0.9.git20250622-1) ...
Preparing to unpack .../hurd-libs0.3_1%3a0.9.git20250622-2_hurd-i386.deb ...
Unpacking hurd-libs0.3:hurd-i386 (1:0.9.git20250622-2) over (1:0.9.git20250622-1) ...
Setting up hurd-libs0.3:hurd-i386 (1:0.9.git20250622-2) ...
(Reading database ... 39803 files and directories currently installed.)
Preparing to unpack .../hurd_1%3a0.9.git20250622-2_hurd-i386.deb ...
Unpacking hurd (1:0.9.git20250622-2) over (1:0.9.git20250622-1) ...
Setting up hurd (1:0.9.git20250622-2) ...
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal (+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi /hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core crash.
Creating device nodes: fdln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 fdX stdsettrans: console: Device or resource busy
ln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y cdX netdde ethX pseudo-root rtc loopX ttyX ptyp ptyq lprX comX random urandom kbd mouse shm.
(Reading database ... 39804 files and directories currently installed.)
Preparing to unpack .../python3-minimal_3.13.5-1_hurd-i386.deb ...
Unpacking python3-minimal (3.13.5-1) over (3.13.4-1) ...
Setting up python3-minimal (3.13.5-1) ...

#1108605#10
Date:
2025-07-01 09:38:03 UTC
From:
To:
Hello,

Martin-Éric Racine, le mar. 01 juil. 2025 12:07:56 +0300, a ecrit:

This is because

cmd ln -f -s fd/0 stdin

does not take care of the case when /dev/stdin already exist. This
doesn't have any consequence, but could be fixed by checking whether the
symlink already exists.

This is more surpring since -K is passed, so st() is supposed to check
that the translator is already set up. That needs some more
investigation in the MAKEDEV script.

Samuel

#1108605#15
Date:
2025-07-03 09:43:53 UTC
From:
To:
ti 1.7.2025 klo 12.38 Samuel Thibault (sthibault@debian.org) kirjoitti:

Agreed.

Preparing to unpack .../hurd_1%3a0.9.git20250622-3+b1_hurd-i386.deb ...
Unpacking hurd (1:0.9.git20250622-3+b1) over (1:0.9.git20250622-2) ...
Setting up hurd (1:0.9.git20250622-3+b1) ...
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fdln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 fdX stdsettrans: console: Device or resource busy
ln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX netdde ethX pseudo-root rtc loopX
ttyX ptyp ptyq lprX comX random urandom kbd mouse shm.
(Reading database ... 39849 files and directories currently installed.)
Preparing to unpack .../gnumach-common_2%3a1.8+git20250702-1_hurd-i386.deb ...

Martin-Éric

#1108605#20
Date:
2025-07-03 09:48:11 UTC
From:
To:
Martin-Éric Racine, le jeu. 03 juil. 2025 12:43:53 +0300, a ecrit:

? There is no difference that I can see.

#1108605#25
Date:
2025-08-22 10:47:21 UTC
From:
To:
ti 1.7.2025 klo 12.38 Samuel Thibault (sthibault@debian.org) kirjoitti:

$ ls -al stdin stdout stderr
lrwxrwxrwx 1 root root 4 2025-05-01 21:11 stderr -> fd/2
lrwxrwxrwx 1 root root 4 2025-05-01 21:11 stdin -> fd/0
lrwxrwxrwx 1 root root 4 2025-05-01 21:11 stdout -> fd/1

It really should ship with a script to normalize this as needed.

$ sudo LC_ALL=C dpkg-reconfigure hurd
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fdln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 fdX stdsettrans: console: Device or resource busy
ln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX ucdX/sbin/MAKEDEV: ucd0: Invalid
device name: must supply a device number
 netdde ethX pseudo-root rtc loopX ttyX ptyp ptyq lprX comX random
urandom kbd mouse shm.

Martin-Éric

#1108605#30
Date:
2025-08-22 11:25:19 UTC
From:
To:
Martin-Éric Racine, le ven. 22 août 2025 13:47:21 +0300, a ecrit:

Sure, it "just" needs somebody to take care of it.

"could" above doesn't mean that I plan to take the time to fix it.

Contribution is always welcome.

Samuel

#1108605#35
Date:
2025-08-23 09:52:32 UTC
From:
To:
Hello,

Le 22/08/2025 à 13:25, Samuel Thibault a écrit :

Attached is a patch for this.

I don't understand what is meant here.


Cheers,

#1108605#42
Date:
2025-08-23 10:37:06 UTC
From:
To:
la 23.8.2025 klo 12.52 Stéphane Glondu (glondu@debian.org) kirjoitti:

That patch merely skips the linking if the std devices exist under the
old structure. It doesn't update them to what the linking would
produce.

It means that if the structure of std devices is not what's expected
nowadays, such as in the above case, one should be able to
dpkg-reconfigure or run a script to update it.

Martin-Éric

#1108605#47
Date:
2025-08-23 10:55:53 UTC
From:
To:
Le 23/08/2025 à 12:37, Martin-Éric Racine a écrit :

Ah, OK. Then isn't simply adding -T to ln enough?

Attached is an updated patch.

Cheers,

#1108605#52
Date:
2025-08-23 20:26:23 UTC
From:
To:
Stéphane Glondu, le sam. 23 août 2025 12:55:53 +0200, a ecrit:

It seems to be doing it, applied, thanks!

#1108605#59
Date:
2025-10-18 10:02:22 UTC
From:
To:
Hello again,

la 23.8.2025 klo 23.26 Samuel Thibault (sthibault@debian.org) kirjoitti:

Setting up hurd (1:0.9.git20250801-5) ...
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fdln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 fdX stdsettrans: console: Device or resource busy
ln: failed to access 'stdin/0': Not a directory
ln: failed to access 'stdout/1': Not a directory
ln: failed to access 'stderr/2': Not a directory
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX ucdX/sbin/MAKEDEV: ucd0: Invalid
device name: must supply a device number
 netdde ethX pseudo-root rtc loopX ttyX ptyp ptyq lprX comX random
urandom kbd mouse shm.
(Reading database ... 47540 files and directories currently installed.)

Martin-Éric

#1108605#64
Date:
2025-10-18 12:04:49 UTC
From:
To:
Martin-Éric Racine, le sam. 18 oct. 2025 13:02:22 +0300, a ecrit:

When a newer upstream snapshot will be taken.

Samuel

#1108605#69
Date:
2025-11-01 13:48:48 UTC
From:
To:
la 18.10.2025 klo 15.04 Samuel Thibault (sthibault@debian.org) kirjoitti:

Setting up hurd (1:0.9.git20251029-1) ...
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fd fdX stdsettrans: console: Device or resource busy
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX ucdX/sbin/MAKEDEV: ucd0: Invalid
device name: must supply a device number
 netdde ethX pseudo-root rtc loopX ttyX ptyp ptyq lprX comX random
urandom kbd mouse shm.
(Reading database ... 47552 files and directories currently installed.)

Martin-Éric

#1108605#74
Date:
2025-11-01 20:09:17 UTC
From:
To:
Martin-Éric Racine, le sam. 01 nov. 2025 15:48:48 +0200, a ecrit:

Some shell expansion was indeed wrong for ucd0, will be fixed in next
upload.

Samuel

#1108605#79
Date:
2025-11-04 06:58:02 UTC
From:
To:
la 1.11.2025 klo 22.09 Samuel Thibault (sthibault@debian.org) kirjoitti:

Setting up hurd (1:0.9.git20251029-2) ...
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fd fdX stdsettrans: console: Device or resource busy
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX ucdX netdde ethX pseudo-root rtc
loopX ttyX ptyp ptyq lprX comX random urandom kbd mouse shm.
(Reading database ... 47565 files and directories currently installed.)

That only leaves the console and w.

Btw, I don't know if the snapshot included other fixes, but this Hurd
seems to boot a tad faster than the Trixie snapshot. Hurray! :)

Martin-Éric

#1108605#84
Date:
2025-11-05 22:46:01 UTC
From:
To:
Martin-Éric Racine, le mar. 04 nov. 2025 08:58:02 +0200, a ecrit:

I'm not getting those.

Samuel

#1108605#89
Date:
2026-02-08 09:39:54 UTC
From:
To:
to 6.11.2025 klo 0.46 Samuel Thibault (sthibault@debian.org) kirjoitti:

Setting up hurd (1:0.9.git20251029-3+b1) ...
update-alternatives: warning: forcing reinstallation of alternative
/usr/bin/w-hurd because link group w is broken
update-alternatives: warning: not replacing /usr/bin/w with a link
Restarting Hurd console multiplexer: hurd-console.
Setting up translators: /hurd/exec /hurd/proxy-defpager /hurd/pflocal
(+link) inet (+link) inet6 (+link) /hurd/pci-arbiter /hurd/acpi
/hurd/shutdown /hurd/password crash-kill crash-suspend crash-dump-core
crash.
Creating device nodes: fd fdX stdsettrans: console: Device or resource busy
 vcs hdX hdXsY hdXs1Y sdX sdXsY sdXs1Y rumpdisk wdX wdXsY wdXs1Y
rumpusbdisk udX udXsY udXs1Y cdX ucdX netdde ethX pseudo-root rtc
loopX ttyX ptyp ptyq lprX comX random urandom kbd mouse shm.

This host was installed using crosshurd. I wonder whether it might
have something to do with it? I also get "resources busy" during boot
when initscripts try to change shm permissions.

Martin-Éric

#1108605#94
Date:
2026-02-08 10:31:02 UTC
From:
To:
su 8.2.2026 klo 11.39 Martin-Éric Racine (martin-eric.racine@iki.fi) kirjoitti:

Here's a screenshot of the exact boot messages.

Martin-Éric