From owner-freebsd-stable@FreeBSD.ORG Wed Nov 5 15:37:40 2008 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 41D251065678 for ; Wed, 5 Nov 2008 15:37:40 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from citadel.icyb.net.ua (citadel.icyb.net.ua [212.40.38.140]) by mx1.freebsd.org (Postfix) with ESMTP id 7E2778FC23 for ; Wed, 5 Nov 2008 15:37:39 +0000 (UTC) (envelope-from avg@icyb.net.ua) Received: from odyssey.starpoint.kiev.ua (alpha-e.starpoint.kiev.ua [212.40.38.101]) by citadel.icyb.net.ua (8.8.8p3/ICyb-2.3exp) with ESMTP id RAA09245 for ; Wed, 05 Nov 2008 17:24:03 +0200 (EET) (envelope-from avg@icyb.net.ua) Message-ID: <4911BA93.9030006@icyb.net.ua> Date: Wed, 05 Nov 2008 17:24:03 +0200 From: Andriy Gapon User-Agent: Thunderbird 2.0.0.17 (X11/20080929) MIME-Version: 1.0 To: FreeBSD Stable Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: ukbd attachment and root mount X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Nov 2008 15:37:40 -0000 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: on uhub2 Nov 3 15:40:54 kernel: kbd2 at ukbd0 Nov 3 15:40:54 kernel: uhid0: 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: 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: 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