RPI2 boot failure with recent changes to u-boot

Emmanuel Vadot manu at bidouilliste.com
Mon Dec 18 20:21:21 UTC 2017


On Mon, 18 Dec 2017 12:10:07 -0600
Karl Denninger <karl at denninger.net> wrote:

> 
> 
> On 12/18/2017 12:02, Ian Lepore wrote:
> > On Mon, 2017-12-18 at 11:52 -0600, Karl Denninger wrote:
> >> On 12/18/2017 11:25, Karl Denninger wrote:
> >>> On 12/18/2017 10:31, Ian Lepore wrote:
> >>>> On Mon, 2017-12-18 at 10:24 -0600, Karl Denninger wrote:
> >>>>> [...]
> >> Back and forth with Ian a bit, added the dtb file declaration to
> >> config.txt in the dos partition (and it's load address) and now the
> >> kernel comes up but the disk device is missing, and thus the mount
> >> fails.....
> >>
> >> Hit [Enter] to boot immediately, or any other key for command prompt.
> >> Booting [/boot/kernel/kernel]...
> >> Using DTB provided by U-Boot at address 0x100.
> >> Kernel entry at 0x1200180...
> >> Kernel args: (null)
> >> Copyright (c) 1992-2017 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.1-STABLE #0 r326933M: Mon Dec 18 11:14:31 CST 2017
> >>    
> >> freebsd at NewFS.denninger.net:/pics/Crochet-work/obj/arm.armv6/pics/CrossBuild/src/sys/RPI2
> >> arm
> >> FreeBSD clang version 5.0.0 (tags/RELEASE_500/final 312559) (based on
> >> LLVM 5.0.0svn)
> >> VT: init without driver.
> >> CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000)
> >> CPU Features:
> >>   Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
> >>   PXN, LPAE, Coherent Walk
> >> Optional instructions:
> >>   SDIV/UDIV, UMULL, SMULL, SIMD(ext)
> >> LoUU:2 LoC:3 LoUIS:2
> >> Cache level 1:
> >>  32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
> >>  32KB/32B 2-way instruction cache Read-Alloc
> >> Cache level 2:
> >>  512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
> >> real memory  = 994045952 (947 MB)
> >> avail memory = 961916928 (917 MB)
> >> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> >> random: entropy device external interface
> >> kbd0 at kbdmux0
> >> ofwbus0: 
> >> simplebus0:  mem 0x3f000000-0x3fffffff
> >> on ofwbus0
> >> local_intc0:  mem 0x40000000-0x400000ff on
> >> simplebus0
> >> intc0:  mem 0xb200-0xb3ff irq 4 on simplebus0
> >> generic_timer0:  irq 0,1,2,3 on ofwbus0
> >> Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
> >> Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
> >> bcmwd0:  mem 0x10001c-0x100027 on simplebus0
> >> gpio0:  mem 0x200000-0x2000af irq 5,6,7,8
> >> on simplebus0
> >> gpio0: read-only pins: 46,48-53.
> >> gpio0: reserved pins: 48-53.
> >> gpiobus0:  on gpio0
> >> gpioc0:  on gpio0
> >> iichb0:  mem 0x205000-0x20501f irq 9 on
> >> simplebus0
> >> iichb1:  mem 0x804000-0x80401f irq 10 on
> >> simplebus0
> >> spi0:  mem 0x204000-0x20401f irq 11 on
> >> simplebus0
> >> spibus0:  on spi0
> >> bcm_dma0:  mem 0x7000-0x7fff,0xe05000-0xe05fff
> >> irq 12,13,14,15,16,17,18,19,20,21,22,23,24 on simplebus0
> >> mbox0:  mem 0xb880-0xb8bf irq 25 on simplebus0
> >> sdhci_bcm0:  mem 0x300000-0x3000ff irq
> >> 26 on simplebus0
> > Right here is where it turns strange, because the next line after
> > sdhci_bcm0: should be this one:
> >
> > mmc0: <MMC/SD bus> on sdhci_bcm0
> >
> > The only thing I can think of that would cause it to be missing is if
> > "device mmc" is missing from the kernel config.  It's also available as
> > a module, so you could try interrupting ubldr to get the prompt and do
> > "load mmc".
> >
> > If that's not the problem, maybe the output from "boot -v" will have
> > more clues.
> >
> > -- Ian
> 
> load mmc from the loader> prompt does nothing.
> 
> "boot -v" returns:
> 
> loader> boot -v
> Booting...
> Using DTB provided by U-Boot at address 0x100.
> Kernel entry at 0x1200180...
> Kernel args: -v
> Copyright (c) 1992-2017 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.1-STABLE #0 r326933M: Mon Dec 18 11:14:31 CST 2017
>    
> freebsd at NewFS.denninger.net:/pics/Crochet-work/obj/arm.armv6/pics/CrossBuild/src/sys/RPI2
> arm
> FreeBSD clang version 5.0.0 (tags/RELEASE_500/final 312559) (based on
> LLVM 5.0.0svn)
> VT: init without driver.
> Preloaded elf kernel "/boot/kernel/kernel" at 0xc09ee000.
> CPU: ARM Cortex-A7 r0p5 (ECO: 0x00000000)
> CPU Features:
>   Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
>   PXN, LPAE, Coherent Walk
> Optional instructions:
>   SDIV/UDIV, UMULL, SMULL, SIMD(ext)
> LoUU:2 LoC:3 LoUIS:2
> Cache level 1:
>  32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
>  32KB/32B 2-way instruction cache Read-Alloc
> Cache level 2:
>  512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
> real memory  = 994045952 (947 MB)
> avail memory = 961916928 (917 MB)
> Physical memory chunk(s):
>   0x00001000 - 0x3b3fffff,   947 MB ( 242687 pages)
> Excluded memory regions:
>   0x01200000 - 0x01b53fff,     9 MB (   2388 pages) NoAlloc
>   0x3b400000 - 0x3fffffff,    76 MB (  19456 pages) NoAlloc NoDump
> Static device mappings:
>   0x3f000000 - 0x3fffffff mapped at VA 0xfef00000
> FreeBSD/SMP: Multiprocessor System Detected: 4 CPUs
> ULE: setup cpu 0
> ULE: setup cpu 1
> ULE: setup cpu 2
> ULE: setup cpu 3
> random: entropy device external interface
> snd_unit_init() u=0x00ff8000 [512] d=0x00007c00 [32] c=0x000003ff [1024]
> feeder_register: snd_unit=-1 snd_maxautovchans=16 latency=5
> feeder_rate_min=1 feeder_rate_max=2016000 feeder_rate_round=25
> crypto: <crypto core>
> null: <full device, null device, zero device>
> openfirm: <Open Firmware control device>
> kbd0 at kbdmux0
> mem: <memory>
> nfslock: pseudo-device
> random: harvesting attach, 8 bytes (4 bits) from nexus0
> ofwbus0: <Open Firmware Device Tree>
> simplebus0: <Flattened device tree simple bus> mem 0x3f000000-0x3fffffff
> on ofwbus0
> simplebus0: Malformed reg property on <vc_mem>
> random: harvesting attach, 8 bytes (4 bits) from simplebus0
> random: harvesting attach, 8 bytes (4 bits) from ofwbus0
> local_intc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on
> simplebus0
> random: harvesting attach, 8 bytes (4 bits) from local_intc0
> intc0: <BCM2835 Interrupt Controller> mem 0xb200-0xb3ff irq 4 on simplebus0
> random: harvesting attach, 8 bytes (4 bits) from intc0
> generic_timer0: <ARMv7 Generic Timer> irq 0,1,2,3 on ofwbus0
> Timecounter "ARM MPCore Timecounter" frequency 19200000 Hz quality 1000
> Event timer "ARM MPCore Eventtimer" frequency 19200000 Hz quality 1000
> random: harvesting attach, 8 bytes (4 bits) from generic_timer0
> bcmwd0: <BCM2708/2835 Watchdog> mem 0x10001c-0x100027 on simplebus0
> random: harvesting attach, 8 bytes (4 bits) from bcmwd0
> gpio0: <BCM2708/2835 GPIO controller> mem 0x200000-0x2000af irq 5,6,7,8
> on simplebus0
> gpio0: read-only pins: 46,48-53.
> gpio0: reserved pins: 48-53.
> gpiobus0: <OFW GPIO bus> on gpio0
> random: harvesting attach, 8 bytes (4 bits) from gpiobus0
> gpioc0: <GPIO controller> on gpio0
> random: harvesting attach, 8 bytes (4 bits) from gpioc0
> random: harvesting attach, 8 bytes (4 bits) from gpio0
> iichb0: <BCM2708/2835 BSC controller> mem 0x205000-0x20501f irq 9 on
> simplebus0
> random: harvesting attach, 8 bytes (4 bits) from iichb0
> iichb1: <BCM2708/2835 BSC controller> mem 0x804000-0x80401f irq 10 on
> simplebus0
> random: harvesting attach, 8 bytes (4 bits) from iichb1
> spi0: <BCM2708/2835 SPI controller> mem 0x204000-0x20401f irq 11 on
> simplebus0
> spibus0: <OFW SPI bus> on spi0
> random: harvesting attach, 8 bytes (4 bits) from spibus0
> random: harvesting attach, 8 bytes (4 bits) from spi0
> bcm_dma0: <BCM2835 DMA Controller> mem 0x7000-0x7fff,0xe05000-0xe05fff
> irq 12,13,14,15,16,17,18,19,20,21,22,23,24 on simplebus0
> random: harvesting attach, 8 bytes (4 bits) from bcm_dma0
> mbox0: <BCM2835 VideoCore Mailbox> mem 0xb880-0xb8bf irq 25 on simplebus0
> random: harvesting attach, 8 bytes (4 bits) from mbox0
> sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x300000-0x3000ff irq
> 26 on simplebus0
> sdhci_bcm0: SDHCI frequency: 250MHz
> sdhci_bcm0-slot0: 250MHz HS 4bits VDD: 3.3V VCCQ: 3.3V DRV: B PIO removable
> sdhci_bcm0-slot0: ============== REGISTER DUMP ==============
> sdhci_bcm0-slot0: Sys addr: 0x00000000 | Version:  0x00009902
> sdhci_bcm0-slot0: Blk size: 0x00007200 | Blk cnt:  0x00000000
> sdhci_bcm0-slot0: Argument: 0x00000000 | Trn mode: 0x00000000
> sdhci_bcm0-slot0: Present:  0x01ff0000 | Host ctl: 0x00000002
> sdhci_bcm0-slot0: Power:    0x0000000f | Blk gap:  0x00000000
> sdhci_bcm0-slot0: Wake-up:  0x00000000 | Clock:    0x00000307
> sdhci_bcm0-slot0: Timeout:  0x0000000e | Int stat: 0x00000000
> sdhci_bcm0-slot0: Int enab: 0x027f003b | Sig enab: 0x00000000
> sdhci_bcm0-slot0: AC12 err: 0x00000000 | Host ctl2:0x00000000
> sdhci_bcm0-slot0: Caps:     0x00000000 | Caps2:    0x00000000
> sdhci_bcm0-slot0: Max curr: 0x00000001 | ADMA err: 0x00000000
> sdhci_bcm0-slot0: ADMA addr:0x00000000 | Slot int: 0x00000000
> sdhci_bcm0-slot0: ===========================================
> random: harvesting attach, 8 bytes (4 bits) from sdhci_bcm0
> uart0: <PrimeCell UART (PL011)> mem 0x201000-0x201fff irq 27 on simplebus0
> uart0: console (115200,n,8,1)
> uart0: fast interrupt
> uart0: PPS capture mode: DCDinvalid
> random: harvesting attach, 8 bytes (4 bits) from uart0
> vchiq0: <BCM2835 VCHIQ> mem 0xb800-0xb84f irq 28 on simplebus0
> vchiq: local ver 8 (min 3), remote ver 8.
> pcm0: <VCHIQ audio> on vchiq0
> random: harvesting attach, 8 bytes (4 bits) from pcm0
> random: harvesting attach, 8 bytes (4 bits) from vchiq0
> bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem
> 0x980000-0x99ffff irq 29 on simplebus0
> usbus0 on bcm283x_dwcotg0
> bcm283x_dwcotg0: usbpf: Attached
> random: harvesting attach, 8 bytes (4 bits) from usbus0
> random: harvesting attach, 8 bytes (4 bits) from bcm283x_dwcotg0
> cpulist0: <Open Firmware CPU Group> on ofwbus0
> cpu0: <Open Firmware CPU> on cpulist0
> bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
> random: harvesting attach, 8 bytes (4 bits) from cpufreq0
> random: harvesting attach, 8 bytes (4 bits) from bcm2835_cpufreq0
> random: harvesting attach, 8 bytes (4 bits) from cpu0
> cpu1: <Open Firmware CPU> on cpulist0
> random: harvesting attach, 8 bytes (4 bits) from cpu1
> cpu2: <Open Firmware CPU> on cpulist0
> random: harvesting attach, 8 bytes (4 bits) from cpu2
> cpu3: <Open Firmware CPU> on cpulist0
> random: harvesting attach, 8 bytes (4 bits) from cpu3
> random: harvesting attach, 8 bytes (4 bits) from cpulist0
> fb0: <BCM2835 VT framebuffer driver> on ofwbus0
> fbd0 on fb0
> VT: initialize with new VT driver "fb".
> random: harvesting attach, 8 bytes (4 bits) from fbd0
> fb0: 656x416(656x416 at 0,0) 24bpp
> fb0: fbswap: 1, pitch 1968, base 0x3eb33000, screen_size 818688
> random: harvesting attach, 8 bytes (4 bits) from fb0
> ofwbus0: <rpi_ft5406> compat rpi,rpi-ft5406 (no driver attached)
> gpioled0: <GPIO LEDs> on ofwbus0
> random: harvesting attach, 8 bytes (4 bits) from gpioled0
> ofwbus0: <regulator> compat broadcom,bcm2835-power-mgr (no driver attached)
> ofwbus0: <chosen> compat simple_bus (no driver attached)
> cryptosoft0: <software crypto>
> crypto: assign cryptosoft0 driver id 0, flags 100663296
> crypto: cryptosoft0 registers alg 1 flags 0 maxoplen 0
> crypto: cryptosoft0 registers alg 2 flags 0 maxoplen 0
> crypto: cryptosoft0 registers alg 3 flags 0 maxoplen 0
> crypto: cryptosoft0 registers alg 4 flags 0 maxoplen 0
> Tdwuhub0: 1 port with 1 removable, self poweredcbcm28rrt, H ,
> random: harvesting attach, 8 bytes (4 bits) from uhub0
> ugen0.2: <vendor 0x0424 product 0x9514> at usbus0
> uhub1 on uhub0
> uhub1: <vendor 0x0424 product 0x9514, class 9/0, rev 2.00/2.00, addr 2>
> on usbus0
> uhub1: MTT enabled
> Root mount waiting for: usbus0
> uhub1: 5 ports with 4 removable, self powered
> random: harvesting attach, 8 bytes (4 bits) from uhub1
> Root mount waiting for: usbus0
> ugen0.3: <vendor 0x0424 product 0xec00> at usbus0
> smsc0 on uhub1
> smsc0: <vendor 0x0424 product 0xec00, rev 2.00/2.00, addr 3> on usbus0
> random: harvesting attach, 8 bytes (4 bits) from smsc0
> mountroot: waiting for device /dev/mmcsd0s2a...
> smsc0: chip 0xec00, rev. 0002
> miibus0: <MII bus> on smsc0
> ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
> ukphy0: OUI 0x00800f, model 0x000c, rev. 3
> ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
> random: harvesting attach, 8 bytes (4 bits) from ukphy0
> random: harvesting attach, 8 bytes (4 bits) from miibus0
> ue0: <USB Ethernet> on smsc0
> ue0: bpf attached
> ue0: Ethernet address: b8:27:eb:be:e6:f8
> Mounting from ufs:/dev/mmcsd0s2a failed with error 19.
> Trying to mount root from ufs:mmcsd0s2 []...
> mountroot: waiting for device mmcsd0s2...
> Mounting from ufs:mmcsd0s2 failed with error 19.
> 
> Loader variables:
>   vfs.root.mountfrom=ufs:/dev/mmcsd0s2a
>   vfs.root.mountfrom.options=ro
> 
> The device is just.... gone.
> 
> The rpi2.dts file was updated when I updated the source (if that's
> involved here), so that should be current....
> 
> -- 
> Karl Denninger
> karl at denninger.net <mailto:karl at denninger.net>
> /The Market Ticker/
> /[S/MIME encrypted email preferred]/

 Hello,

 I've just fixed the issues in r326951.
 Sorry for the breakage.

 Now the only problem is that the growfs bug was mfc'ed and I don't
want to mfc my workaround, as Ian said when I commited it it was wrong
doing so.
 I'll see what I can find.

 Cheers,

-- 
Emmanuel Vadot <manu at bidouilliste.com>


More information about the freebsd-arm mailing list