Date: Wed, 05 Nov 2008 17:24:03 +0200 From: Andriy Gapon <avg@icyb.net.ua> To: FreeBSD Stable <freebsd-stable@freebsd.org> Subject: ukbd attachment and root mount Message-ID: <4911BA93.9030006@icyb.net.ua>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4911BA93.9030006>