Date: Tue, 15 Sep 2009 13:41:41 +0200 From: Maks Verver <maksverver@geocities.com> To: freebsd-questions@freebsd.org Subject: Re: Can't boot Marvel Sheevaplug from USB Message-ID: <4AAF7D75.8080805@geocities.com>
next in thread | raw e-mail | index | archive | help
Hi everyone, I'm also playing with a Sheevaplug and I'm running into the same problem as reported by Rafal Jaworowski, but I think I have a clearer picture of what goes wrong. To recap, the kernel fails to mount the root filesystem because the partition on the USB stick isn't recognized by the kernel: FreeBSD 9.0-CURRENT #4: Mon Sep 14 19:57:10 CEST 2009 -- blablabla -- ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 uhub0: 1 port with 1 removable, self powered Root mount waiting for: usbus0 ugen0.2: <vendor 0x0930> at usbus0 umass0: <vendor 0x0930 USB Flash Memory, class 0/0, rev 2.00/1.00, addr 2> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x0000 Root mount waiting for: usbus0 umass0:0:0:-1: Attached to scbus0 Trying to mount root from ufs:/dev/da0s1a ROOT MOUNT ERROR: I think the problem is that the partition is detected only after the USB bus has been scanned. If I configure a kernel to boot from the network instead, it does recognize the USB device because of the additional delay involved in booting from the network: FreeBSD 9.0-CURRENT #5: Mon Sep 14 20:45:30 CEST 2009 -- blablabla -- ugen0.1: <Marvell> at usbus0 uhub0: <Marvell EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0 uhub0: 1 port with 1 removable, self powered mge0: link state changed to UP Received DHCP Offer packet on mge0 from 130.89.1.145 via 130.89.160.4 (accepted) (no root path) Received DHCP Offer packet on mge0 from 130.89.1.144 via 130.89.160.5 (ignored) (no root path) ugen0.2: <vendor 0x0930> at usbus0 umass0: <vendor 0x0930 USB Flash Memory, class 0/0, rev 2.00/1.00, addr 2> on usbus0 umass0: SCSI over Bulk-Only; quirks = 0x0000 umass0:0:0:-1: Attached to scbus0 (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): CAM Status: SCSI Status Error (probe0:umass-sim0:0:0:0): SCSI Status: Check Condition (probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0 (probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed (probe0:umass-sim0:0:0:0): (probe0:umass-sim0:0:0:0): TEST UNIT READY. CDB: 0 0 0 0 0 0 (probe0:umass-sim0:0:0:0): UNIT ATTENTION asc:28,0 (probe0:umass-sim0:0:0:0): Not ready to ready change, medium may have changed Retrying Command (per Sense Data) (probe0:umass-sim0:0:0:0): Retrying Command pass0 at umass-sim0 bus 0 scbus0 target 0 lun 0 pass0: < USB Flash Memory 1.00> Removable Direct Access SCSI-2 device pass0: Serial Number 0612140557130 pass0: 40.000MB/s transfers GEOM: new disk da0 da0 at umass-sim0 bus 0 scbus0 target 0 lun 0 da0: < USB Flash Memory 1.00> Removable Direct Access SCSI-2 device da0: Serial Number 0612140557130 da0: 40.000MB/s transfers da0: 962MB (1971200 512 byte sectors: 64H 32S/T 962C) Of course with the kernel configured like this, the kernel wants to mount the root filesystem from NFS and I can't break into the mountroot> prompt! It seems that the kernel assumes that it only needs to wait for the USB bus to finish scanning and then expects the root partition to be available, but apparently partitions can be detected after that. Does anyone have a suggestion how to deal with this? Is there a way to insert a delay before trying to mount root? (I tried setting SCSI_DELAY to 5000 but this didn't seem to have any effect -- I didn't notice any delay. Maybe this isn't supported for the ARM architecture?) Kind regards, Maks Verver.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4AAF7D75.8080805>