Can't boot Marvel Sheevaplug from USB

James Butler sweetnavelorange at gmail.com
Wed Sep 16 00:37:22 UTC 2009


> 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.
>

Sounds similar to:

http://www.freebsd.org/cgi/query-pr.cgi?pr=138798

Apparently Scott Long is working on a fix.

-James Butler


More information about the freebsd-questions mailing list