Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2013 14:59:05 -0600
From:      Ian Lepore <ian@FreeBSD.org>
To:        Paul Mather <paul@gromit.dlib.vt.edu>
Cc:        "freebsd-arm@freebsd.org" <freebsd-arm@FreeBSD.org>
Subject:   Re: umass not probed until multi-user on 11-CURRENT
Message-ID:  <1382043545.1168.153.camel@revolution.hippie.lan>
In-Reply-To: <62147506-E78E-4C43-A98D-4049640F361C@gromit.dlib.vt.edu>
References:  <62147506-E78E-4C43-A98D-4049640F361C@gromit.dlib.vt.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
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.:
> 
> 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/src/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 
> Cache level 1: 
>  32KB/64B 4-way data cache WT WB Read-Alloc
>  32KB/64B 4-way instruction cache Read-Alloc
> Cache level 2: 
>  256KB/64B 8-way unified cache WT WB Read-Alloc Write-Alloc
> real memory  = 536870912 (512 MB)
> avail memory = 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,0x48042000-0x48042fff,0x48044000-0x48044fff,0x48046000-0x48046fff,0x48048000-0x48048fff,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,0x481ae000-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,0x49a00000-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=128 RX=384
> 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,0x48300200-0x4830025f irq 86,58 on simplebus0
> am335x_pwm1: <AM335x PWM> mem 0x48302000-0x483020ff,0x48302100-0x4830217f,0x48302180-0x483021ff,0x48302200-0x4830225f irq 87,59 on simplebus0
> am335x_pwm2: <AM335x PWM> mem 0x48304000-0x483040ff,0x48304100-0x4830417f,0x48304180-0x483041ff,0x48304200-0x4830425f irq 88,60 on simplebus0
> musbotg0: <TI AM33xx integrated USB OTG controller> mem 0x47400000-0x47400fff,0x47401000-0x474012ff,0x47401300-0x474013ff,0x47401400-0x474017ff,0x47401800-0x47401aff,0x47401b00-0x47401bff,0x47401c00-0x47401fff 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 = 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 
> da0: 40.000MB/s transfers
> da0: 286103MB (585938944 512 byte sectors: 255H 63S/T 36473C)
> da0: quirks=0x2<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 
> da0: 40.000MB/s transfers
> da0: 286168MB (586072368 512 byte sectors: 255H 63S/T 36481C)
> da0: quirks=0x2<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 
> 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
> 

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.

-- Ian





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1382043545.1168.153.camel>