Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2013 20:38:25 -0400
From:      Paul Mather <paul@gromit.dlib.vt.edu>
To:        Ian Lepore <ian@freebsd.org>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   Re: umass not probed until multi-user on 11-CURRENT
Message-ID:  <1B37231E-0842-47E4-9A78-6B2D0BE5F883@gromit.dlib.vt.edu>
In-Reply-To: <1382043545.1168.153.camel@revolution.hippie.lan>
References:  <62147506-E78E-4C43-A98D-4049640F361C@gromit.dlib.vt.edu> <1382043545.1168.153.camel@revolution.hippie.lan>

next in thread | previous in thread | raw e-mail | index | archive | help
On Oct 17, 2013, at 4:59 PM, Ian Lepore <ian@freebsd.org> wrote:

> On Thu, 2013-10-17 at 08:53 -0400, Paul Mather wrote:
>> I just created a new image for my BeagleBone Black using Crochet.  =
I'm using the standard BEAGLEBONE kernel config file.  The source is =
FreeBSD 11.0-CURRENT r256450.  Unlike previously, now when I boot my BBB =
it does not probe umass devices until after it goes multiuser.  This has =
created a problem because I am using an external USB hard drive for =
swap, /usr/src, /usr/obj, and /usr/ports.  Because of the new probe =
order, the devices referenced in /etc/fstab don't exist and the system =
drops into single-user.  E.g.:
>>=20
>> KDB: debugger backends: ddb
>> KDB: current backend: ddb
>> Copyright (c) 1992-2013 The FreeBSD Project.
>> Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, =
1994
>>        The Regents of the University of California. All rights =
reserved.
>> FreeBSD is a registered trademark of The FreeBSD Foundation.
>> FreeBSD 11.0-CURRENT #0 r256450: Mon Oct 14 21:19:01 EDT 2013
>>    =
pmather@builder:/usr/home/pmather/crochet-freebsd/work/obj/arm.armv6/usr/s=
rc/sys/BEAGLEBONE arm
>> FreeBSD clang version 3.3 (tags/RELEASE_33/final 183502) 20130610
>> WARNING: WITNESS option enabled, expect reduced performance.
>> CPU: Cortex A8-r3 rev 2 (Cortex-A core)
>> Supported features: ARM_ISA THUMB2 JAZELLE THUMBEE ARMv4 Security_Ext
>> WB disabled EABT branch prediction enabled
>> LoUU:2 LoC:2 LoUIS:1=20
>> Cache level 1:=20
>> 32KB/64B 4-way data cache WT WB Read-Alloc
>> 32KB/64B 4-way instruction cache Read-Alloc
>> Cache level 2:=20
>> 256KB/64B 8-way unified cache WT WB Read-Alloc Write-Alloc
>> real memory  =3D 536870912 (512 MB)
>> avail memory =3D 515653632 (491 MB)
>> Texas Instruments AM3358 Processor, Revision ES1.1
>> random device not loaded; using insecure entropy
>> random: <Software, Yarrow> initialized
>> simplebus0: <Flattened device tree simple bus> on fdtbus0
>> aintc0: <TI AINTC Interrupt Controller> mem 0x48200000-0x48200fff on =
simplebus0
>> aintc0: Revision 5.0
>> ti_scm0: <TI Control Module> mem 0x44e10000-0x44e11fff on simplebus0
>> am335x_prcm0: <AM335x Power and Clock Management> mem =
0x44e00000-0x44e012ff on simplebus0
>> am335x_prcm0: Clocks: System 24.0 MHz, CPU 550 MHz
>> am335x_dmtimer0: <AM335x DMTimer> mem =
0x44e05000-0x44e05fff,0x44e31000-0x44e31fff,0x48040000-0x48040fff,0x480420=
00-0x48042fff,0x48044000-0x48044fff,0x48046000-0x48046fff,0x48048000-0x480=
48fff,0x4804a000-0x4804afff irq 66,67,68,69,92,93,94,95 on simplebus0
>> Timecounter "AM335x Timecounter" frequency 24000000 Hz quality 1000
>> Event timer "AM335x Eventtimer0" frequency 24000000 Hz quality 1000
>> gpio0: <TI General Purpose I/O (GPIO)> mem =
0x44e07000-0x44e07fff,0x4804c000-0x4804cfff,0x481ac000-0x481acfff,0x481ae0=
00-0x481aefff irq 96,97,98,99,32,33,62,63 on simplebus0
>> gpioc0: <GPIO controller> on gpio0
>> gpiobus0: <GPIO bus> on gpio0
>> uart0: <TI UART (16550 compatible)> mem 0x44e09000-0x44e09fff irq 72 =
on simplebus0
>> uart0: console (115384,n,8,1)
>> ti_edma30: <TI EDMA Controller> mem =
0x49000000-0x490fffff,0x49800000-0x498fffff,0x49900000-0x499fffff,0x49a000=
00-0x49afffff irq 12,13,14 on simplebus0
>> ti_edma30: EDMA revision 40014c00
>> sdhci_ti0: <TI MMCHS (SDHCI 2.0)> mem 0x48060000-0x48060fff irq 64 on =
simplebus0
>> mmc0: <MMC/SD bus> on sdhci_ti0
>> sdhci_ti1: <TI MMCHS (SDHCI 2.0)> mem 0x481d8000-0x481d8fff irq 28 on =
simplebus0
>> mmc1: <MMC/SD bus> on sdhci_ti1
>> cpsw0: <3-port Switch Ethernet Subsystem> mem 0x4a100000-0x4a103fff =
irq 40,41,42,43 on simplebus0
>> cpsw0: CPSW SS Version 1.12 (0)
>> cpsw0: Initial queue size TX=3D128 RX=3D384
>> cpsw0: Ethernet address: 90:59:af:55:26:eb
>> miibus0: <MII bus> on cpsw0
>> smscphy0: <SMC LAN8710A 10/100 interface> PHY 0 on miibus0
>> smscphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>> iichb0: <TI I2C Controller> mem 0x44e0b000-0x44e0bfff irq 70 on =
simplebus0
>> iichb0: I2C revision 4.0
>> iicbus0: <OFW I2C bus> on iichb0
>> iic0: <I2C generic I/O> on iicbus0
>> am335x_pmic0: <TI TPS65217 Power Management IC> at addr 0x24 on =
iicbus0
>> am335x_pwm0: <AM335x PWM> mem =
0x48300000-0x483000ff,0x48300100-0x4830017f,0x48300180-0x483001ff,0x483002=
00-0x4830025f irq 86,58 on simplebus0
>> am335x_pwm1: <AM335x PWM> mem =
0x48302000-0x483020ff,0x48302100-0x4830217f,0x48302180-0x483021ff,0x483022=
00-0x4830225f irq 87,59 on simplebus0
>> am335x_pwm2: <AM335x PWM> mem =
0x48304000-0x483040ff,0x48304100-0x4830417f,0x48304180-0x483041ff,0x483042=
00-0x4830425f irq 88,60 on simplebus0
>> musbotg0: <TI AM33xx integrated USB OTG controller> mem =
0x47400000-0x47400fff,0x47401000-0x474012ff,0x47401300-0x474013ff,0x474014=
00-0x474017ff,0x47401800-0x47401aff,0x47401b00-0x47401bff,0x47401c00-0x474=
01fff irq 17,18,19 on simplebus0
>> musbotg0: TI AM335X USBSS v0.0.13
>> usbus0: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
>> usbus0 on musbotg0
>> usbus1: Dynamic FIFO sizing detected, assuming 16Kbytes of FIFO RAM
>> usbus1 on musbotg0
>> Timecounters tick every 10.000 msec
>> usbus0: 480Mbps High Speed USB v2.0
>> usbus1: 480Mbps High Speed USB v2.0
>> ugen0.1: <Mentor Graphics> at usbus0
>> uhub0: <Mentor Graphics OTG Root HUB, class 9/0, rev 2.00/1.00, addr =
1> on usbus0
>> ugen1.1: <Mentor Graphics> at usbus1
>> uhub1: <Mentor Graphics OTG Root HUB, class 9/0, rev 2.00/1.00, addr =
1> on usbus1
>> mmcsd0: 16GB <SDHC SU16G 8.0 SN 537448038 MFG 05/2013 by 3 SD> at =
mmc0 48.0MHz/4bit/65535-block
>> uhub0: 1 port with 1 removable, self powered
>> uhub1: 1 port with 1 removable, self powered
>> mmcsd1: 2GB <MMC MMC02G 3.10 SN 1692725048 MFG 05/1997 by 254 0x004e> =
at mmc1 48.0MHz/8bit/65535-block
>> am335x_pmic0: TPS65217C ver 1.2 powered by AC
>> random: unblocking device.
>> WARNING: WITNESS option enabled, expect reduced performance.
>> Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]...
>> warning: no time-of-day clock registered, system time will not be set =
accurately
>> Enlarging root partition
>> mmcsd0s2 resized
>> mmcsd0s2a resized
>> growfs: requested size 15GB is not larger than the current filesystem =
size 15GB
>> Setting hostuuid: de51addd-3538-11e3-8cc8-9059af5526eb.
>> Setting hostid: 0x4421ab53.
>> No suitable dump device was found.
>> Entropy harvesting: interrupts ethernet point_to_point swi.
>> swapon: /dev/da0s1a: No such file or directory
>> Starting file system checks:
>> /dev/mmcsd0s2a: FILE SYSTEM CLEAN; SKIPPING CHECKS
>> /dev/mmcsd0s2a: clean, 3670983 free (927 frags, 458757 blocks, 0.0% =
fragmentation)
>> Can't stat /dev/ufs/ports: No such file or directory
>> Can't stat /dev/ufs/src: No such file or directory
>> Can't stat /dev/ufs/obj: No such file or directory
>> Can't stat /dev/ufs/ports: No such file or directory
>> Can't stat /dev/ufs/src: No such file or directory
>> Can't stat /dev/ufs/obj: No such file or directory
>> THE FOLLOWING FILE SYSTEMS HAD AN UNEXPECTED INCONSISTENCY:
>>        ufs: /dev/ufs/src (/usr/src), ufs: /dev/ufs/ports =
(/usr/ports), ufs: /dev/ufs/obj (/usr/obj)
>> Unknown error; help!
>> ERROR: ABORTING BOOT (sending SIGTERM to parent)!
>> Oct 16 20:38:19 init: /bin/sh on /etc/rc terminated abnormally, going =
to single user mode^M
>> Enter full pathname of shell or RETURN for /bin/sh: ugen1.2: <Maxtor> =
at usbus1
>> umass0: <Maxtor OneTouch, class 0/0, rev 2.00/2.00, addr 2> on usbus1
>> umass0:  SCSI over Bulk-Only; quirks =3D 0x4100
>> umass0:0:0:-1: Attached to scbus0
>> da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
>> da0: <Maxtor OneTouch 0201> Fixed Direct Access SCSI-0 device=20
>> da0: 40.000MB/s transfers
>> da0: 286103MB (585938944 512 byte sectors: 255H 63S/T 36473C)
>> da0: quirks=3D0x2<NO_6_BYTE>
>>=20
>> # ls /dev/ufs
>> obj     ports   src
>> #
>>=20
>>=20
>> I know I could work around the problem by adding "late" to the =
/etc/fstab options for the file systems that are causing the boot to =
fail.  I'm not sure whether this also works for swap, though.
>>=20
>> Is this an expected behaviour now?  My Raspberry Pi, still running =
FreeBSD 10.0-ALPHA1 r255586 probes umass devices before the "Trying to =
mount root from ufs:/dev/mmcsd0s2a [rw,noatime]..." point, e.g.:
>>=20
>> [...]
>> ugen0.3: <vendor 0x0424> at usbus0
>> smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on =
usbus0
>> smsc0: chip 0xec00, rev. 0002
>> miibus0: <MII bus> on smsc0
>> ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
>> ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
>> ue0: <USB Ethernet> on smsc0
>> ue0: Ethernet address: b8:27:eb:7b:95:7d
>> smsc0: chip 0xec00, rev. 0002
>> Sending DHCP Discover packet from interface ue0 (b8:27:eb:7b:95:7d)
>> ugen0.4: <Seagate> at usbus0
>> umass0: <Seagate ST94811U2-RK, class 0/0, rev 2.00/2.00, addr 4> on =
usbus0
>> da0 at umass-sim0 bus 0 scbus0 target 0 lun 0
>> da0: <ST330063 1A 3.03> Fixed Direct Access SCSI-0 device=20
>> da0: 40.000MB/s transfers
>> da0: 286168MB (586072368 512 byte sectors: 255H 63S/T 36481C)
>> da0: quirks=3D0x2<NO_6_BYTE>
>> Received DHCP Offer packet on ue0 from 10.23.5.1 (accepted)
>> Received DHCP Offer packet on ue0 from 10.23.5.1 (ignored)
>> Received DHCP Offer packet on ue0 from 10.23.5.1 (ignored)
>> Sending DHCP Request packet from interface ue0 (b8:27:eb:7b:95:7d)
>> Received DHCP Ack packet on ue0 from 10.23.5.1 (accepted)
>> ue0 at 10.23.5.55 server 10.23.5.1
>> subnet mask 255.255.255.0 router 10.23.5.1 hostname pi=20
>> Adjusted interface ue0
>> Trying to mount root from ufs:/dev/mmcsd0s2a [rw,noatime]...
>> warning: no time-of-day clock registered, system time will not be set =
accurately
>>=20
>=20
> Once you've dropped into single-user mode, what's the value of sysctl
> hw.usb.no_boot_wait?  It's supposed to wait for usb enumeration before
> mounting the root filesystem, unless that tunable is set to 1.

This is the value of hw.usb.no_boot_wait when it drops into single-user =
mode:

	hw.usb.no_boot_wait: 0


Cheers,

Paul.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1B37231E-0842-47E4-9A78-6B2D0BE5F883>