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>