ukbd attachment and root mount

Andriy Gapon avg at icyb.net.ua
Wed Nov 5 07:37:40 PST 2008


System is FreeBSD 7.1-BETA2 amd64.

Looking through my dmesg I see that relative order of ukbd attachment
and root mounting is not deterministic. Sometime keyboard is attached
first, sometimes root filesystem is mounted first. Quite more often root
is mounted first, though.
Example (with GENERIC kernel):
Nov  3 15:40:54  kernel: Trying to mount root from ufs:/dev/mirror/bootgm
Nov  3 15:40:54  kernel: GEOM_LABEL: Label ufs/bootfs removed.
Nov  3 15:40:54  kernel: GEOM_LABEL: Label for provider mirror/bootgm is
ufs/bootfs.
Nov  3 15:40:54  kernel: GEOM_LABEL: Label ufs/bootfs removed.
Nov  3 15:40:54  kernel: ukbd0: <CHESEN USB Keyboard, class 0/0, rev
1.10/1.10, addr 3> on uhub2
Nov  3 15:40:54  kernel: kbd2 at ukbd0
Nov  3 15:40:54  kernel: uhid0: <CHESEN USB Keyboard, class 0/0, rev
1.10/1.10, addr 3> on uhub2

Another (with custom kernel, zfs root):
Nov  4 17:54:03 odyssey kernel: Trying to mount root from zfs:tank/root
Nov  4 17:54:03 odyssey kernel: ukbd0: <CHESEN USB Keyboard, class 0/0,
rev 1.10/1.10, addr 3> on uhub2
Nov  4 17:54:03 odyssey kernel: kbd2 at ukbd0
Nov  4 17:54:03 odyssey kernel: kbd2: ukbd0, generic (0), config:0x0,
flags:0x3d0000
Nov  4 17:54:03 odyssey kernel: uhid0: <CHESEN USB Keyboard, class 0/0,
rev 1.10/1.10, addr 3> on uhub2

I have a legacy-free system (no PS/2 ports, only USB) and I wanted to
try a kernel without atkbd and psm (with ums, ukbd, kbdmux), but was
bitten hard when I made a mistake and kernel could not find/mount root
filesystem.

So I stuck at mountroot prompt without a keyboard to enter anything.
This was repeatable about 10 times after which I resorted to live cd.

Since then I put back atkbdc into my kernel. I guess BIOS or USB
hardware emulate AT or PS/2 keyboard, so the USB keyboard works before
the driver attaches. I guess I need such emulation e.g. for loader or
boot0 configuration. But I guess I don't have to have atkbd driver in
kernel.

I wonder why behavior is non-deterministic, why ukbd is "99%" attached
after mount root, and what can be done about this.

-- 
Andriy Gapon


More information about the freebsd-stable mailing list