Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2013 08:53:37 -0400
From:      Paul Mather <paul@gromit.dlib.vt.edu>
To:        "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org>
Subject:   umass not probed until multi-user on 11-CURRENT
Message-ID:  <62147506-E78E-4C43-A98D-4049640F361C@gromit.dlib.vt.edu>

next in thread | raw e-mail | index | archive | help
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.:

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>

# ls /dev/ufs
obj     ports   src
#


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.

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

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


Cheers,

Paul.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62147506-E78E-4C43-A98D-4049640F361C>