Discussion:
RPI2 boot failure with recent changes to u-boot
Karl Denninger
2017-12-18 16:24:33 UTC
Permalink
I recently upgraded my "u-boot" package for RPI2 to the current version
(and grabbed the "rpi-firmware" package it said it needed) and now I
have no-start on the RPI2....

U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)

DRAM:  948 MiB
RPI 2 Model B (0xa21041)
MMC:   ***@7e300000: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
227704 bytes read in 34 ms (6.4 MiB/s)
## Starting application at 0x01000000 ...

And that be all I get.

This is what I have in board/RaspberryPi2/setup.sh related to that
(which I had to change since the firmware files have been split between
the two packages)

raspberry_pi_populate_boot_partition ( ) {
    # Copy RaspberryPi 2 boot files to FAT partition
    cp ${FIRMWARE_PATH}/LICENCE.broadcom .
    cp ${FIRMWARE_PATH}/bootcode.bin .
    cp ${FIRMWARE_PATH}/config.txt .
    cp ${FIRMWARE_PATH}/fixup.dat .
    cp ${FIRMWARE_PATH}/fixup_cd.dat .
    cp ${FIRMWARE_PATH}/fixup_x.dat .
    cp ${FIRMWARE_PATH}/start.elf .
    cp ${FIRMWARE_PATH}/start_cd.elf .
    cp ${FIRMWARE_PATH}/start_x.elf .
    cp ${UBOOT_PATH}/u-boot.bin .
    cp ${UBOOT_PATH}/fixup_db.dat .
    cp ${UBOOT_PATH}/start_db.elf .
    cp ${UBOOT_PATH}/README .

    # RPi firmware loads and modify the DTB before pass it to kernel.
    freebsd_install_fdt rpi2.dts rpi2.dtb

    # Install ubldr to FAT partition
    freebsd_ubldr_copy_ubldr .
}

Any ideas on tracking this down?
--
Karl Denninger
***@denninger.net <mailto:***@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
Ian Lepore
2017-12-18 16:31:49 UTC
Permalink
Post by Karl Denninger
I recently upgraded my "u-boot" package for RPI2 to the current version
(and grabbed the "rpi-firmware" package it said it needed) and now I
have no-start on the RPI2....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
227704 bytes read in 34 ms (6.4 MiB/s)
## Starting application at 0x01000000 ...
And that be all I get.
This is what I have in board/RaspberryPi2/setup.sh related to that
(which I had to change since the firmware files have been split between
the two packages)
raspberry_pi_populate_boot_partition ( ) {
    # Copy RaspberryPi 2 boot files to FAT partition
    cp ${FIRMWARE_PATH}/LICENCE.broadcom .
    cp ${FIRMWARE_PATH}/bootcode.bin .
    cp ${FIRMWARE_PATH}/config.txt .
    cp ${FIRMWARE_PATH}/fixup.dat .
    cp ${FIRMWARE_PATH}/fixup_cd.dat .
    cp ${FIRMWARE_PATH}/fixup_x.dat .
    cp ${FIRMWARE_PATH}/start.elf .
    cp ${FIRMWARE_PATH}/start_cd.elf .
    cp ${FIRMWARE_PATH}/start_x.elf .
    cp ${UBOOT_PATH}/u-boot.bin .
    cp ${UBOOT_PATH}/fixup_db.dat .
    cp ${UBOOT_PATH}/start_db.elf .
    cp ${UBOOT_PATH}/README .
    # RPi firmware loads and modify the DTB before pass it to kernel.
    freebsd_install_fdt rpi2.dts rpi2.dtb
    # Install ubldr to FAT partition
    freebsd_ubldr_copy_ubldr .
}
Any ideas on tracking this down?
How recent is your ubldr.bin?  About a week ago in r326752 I committed
the patches from PR 224008, which affects the startup code for
ubldr.bin, so it could possibly be a fix for the problem you're seeing.

(I don't have an rpi2 to test so I can't say for sure.)

-- Ian
Karl Denninger
2017-12-18 17:25:01 UTC
Permalink
Post by Karl Denninger
I recently upgraded my "u-boot" package for RPI2 to the current version
(and grabbed the "rpi-firmware" package it said it needed) and now I
have no-start on the RPI2....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
227704 bytes read in 34 ms (6.4 MiB/s)
## Starting application at 0x01000000 ...
And that be all I get.
This is what I have in board/RaspberryPi2/setup.sh related to that
(which I had to change since the firmware files have been split between
the two packages)
raspberry_pi_populate_boot_partition ( ) {
    # Copy RaspberryPi 2 boot files to FAT partition
    cp ${FIRMWARE_PATH}/LICENCE.broadcom .
    cp ${FIRMWARE_PATH}/bootcode.bin .
    cp ${FIRMWARE_PATH}/config.txt .
    cp ${FIRMWARE_PATH}/fixup.dat .
    cp ${FIRMWARE_PATH}/fixup_cd.dat .
    cp ${FIRMWARE_PATH}/fixup_x.dat .
    cp ${FIRMWARE_PATH}/start.elf .
    cp ${FIRMWARE_PATH}/start_cd.elf .
    cp ${FIRMWARE_PATH}/start_x.elf .
    cp ${UBOOT_PATH}/u-boot.bin .
    cp ${UBOOT_PATH}/fixup_db.dat .
    cp ${UBOOT_PATH}/start_db.elf .
    cp ${UBOOT_PATH}/README .
    # RPi firmware loads and modify the DTB before pass it to kernel.
    freebsd_install_fdt rpi2.dts rpi2.dtb
    # Install ubldr to FAT partition
    freebsd_ubldr_copy_ubldr .
}
Any ideas on tracking this down?
How recent is your ubldr.bin?  About a week ago in r326752 I committed
the patches from PR 224008, which affects the startup code for
ubldr.bin, so it could possibly be a fix for the problem you're seeing.
(I don't have an rpi2 to test so I can't say for sure.)
-- Ian
I updated the 11.x source tree I use to build this and now I get
further.....

U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)

DRAM:  948 MiB
RPI 2 Model B (0xa21041)
MMC:   ***@7e300000: 0
reading uboot.env

** Unable to read "uboot.env" from mmc0:1 **
Using default environment

In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
235040 bytes read in 33 ms (6.8 MiB/s)
## Starting application at 0x01000000 ...
Consoles: U-Boot console
Compatible U-Boot API signature found @0x3af5d988

FreeBSD/armv6 U-Boot loader, Revision 1.2
(Mon Dec 18 11:14:37 CST 2017 ***@NewFS.denninger.net)

DRAM: 948MB
Number of U-Boot devices: 1
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>... good.
Booting from disk0s2a:
/boot/kernel/kernel text=0x617118 data=0x54300+0x17fbc0
syms=[0x4+0x67d30+0x4+0x9480c]

Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
No valid device tree blob found!

Type '?' for a list of commands, 'help' for more detailed help.
loader>


Am  I missing a line in config.txt that needs to be there or did
something else odd happen that the dtb is missing?
--
Karl Denninger
***@denninger.net <mailto:***@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
Ian Lepore
2017-12-18 17:35:48 UTC
Permalink
Post by Karl Denninger
Post by Ian Lepore
Post by Karl Denninger
I recently upgraded my "u-boot" package for RPI2 to the current version
(and grabbed the "rpi-firmware" package it said it needed) and now I
have no-start on the RPI2....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
227704 bytes read in 34 ms (6.4 MiB/s)
## Starting application at 0x01000000 ...
And that be all I get.
This is what I have in board/RaspberryPi2/setup.sh related to that
(which I had to change since the firmware files have been split between
the two packages)
raspberry_pi_populate_boot_partition ( ) {
    # Copy RaspberryPi 2 boot files to FAT partition
    cp ${FIRMWARE_PATH}/LICENCE.broadcom .
    cp ${FIRMWARE_PATH}/bootcode.bin .
    cp ${FIRMWARE_PATH}/config.txt .
    cp ${FIRMWARE_PATH}/fixup.dat .
    cp ${FIRMWARE_PATH}/fixup_cd.dat .
    cp ${FIRMWARE_PATH}/fixup_x.dat .
    cp ${FIRMWARE_PATH}/start.elf .
    cp ${FIRMWARE_PATH}/start_cd.elf .
    cp ${FIRMWARE_PATH}/start_x.elf .
    cp ${UBOOT_PATH}/u-boot.bin .
    cp ${UBOOT_PATH}/fixup_db.dat .
    cp ${UBOOT_PATH}/start_db.elf .
    cp ${UBOOT_PATH}/README .
    # RPi firmware loads and modify the DTB before pass it to kernel.
    freebsd_install_fdt rpi2.dts rpi2.dtb
    # Install ubldr to FAT partition
    freebsd_ubldr_copy_ubldr .
}
Any ideas on tracking this down?
How recent is your ubldr.bin?  About a week ago in r326752 I committed
the patches from PR 224008, which affects the startup code for
ubldr.bin, so it could possibly be a fix for the problem you're seeing.
(I don't have an rpi2 to test so I can't say for sure.)
-- Ian
I updated the 11.x source tree I use to build this and now I get
further.....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
235040 bytes read in 33 ms (6.8 MiB/s)
## Starting application at 0x01000000 ...
Consoles: U-Boot console
FreeBSD/armv6 U-Boot loader, Revision 1.2
DRAM: 948MB
Number of U-Boot devices: 1
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>... good.
/boot/kernel/kernel text=0x617118 data=0x54300+0x17fbc0
syms=[0x4+0x67d30+0x4+0x9480c]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
No valid device tree blob found!
Type '?' for a list of commands, 'help' for more detailed help.
loader>
Am  I missing a line in config.txt that needs to be there or did
something else odd happen that the dtb is missing?
On my rpi-b, the dtb file is set in config.txt, which looks like this
for booting on 12-current:

***@rpi:~ # cat /mnt/config.txt 
gpu_mem=32
device_tree=bcm2835-rpi-b-rev2.dtb
device_tree_address=0x100
disable_commandline_tags=1
kernel=u-boot.img

I think 11-stable still uses the old freebsd-specifc rpi2.dtb, maybe
the firmware update changed your config.txt to use the new name?

-- Ian
Karl Denninger
2017-12-18 17:52:10 UTC
Permalink
Post by Karl Denninger
Post by Karl Denninger
I recently upgraded my "u-boot" package for RPI2 to the current version
(and grabbed the "rpi-firmware" package it said it needed) and now I
have no-start on the RPI2....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
227704 bytes read in 34 ms (6.4 MiB/s)
## Starting application at 0x01000000 ...
And that be all I get.
This is what I have in board/RaspberryPi2/setup.sh related to that
(which I had to change since the firmware files have been split between
the two packages)
raspberry_pi_populate_boot_partition ( ) {
    # Copy RaspberryPi 2 boot files to FAT partition
    cp ${FIRMWARE_PATH}/LICENCE.broadcom .
    cp ${FIRMWARE_PATH}/bootcode.bin .
    cp ${FIRMWARE_PATH}/config.txt .
    cp ${FIRMWARE_PATH}/fixup.dat .
    cp ${FIRMWARE_PATH}/fixup_cd.dat .
    cp ${FIRMWARE_PATH}/fixup_x.dat .
    cp ${FIRMWARE_PATH}/start.elf .
    cp ${FIRMWARE_PATH}/start_cd.elf .
    cp ${FIRMWARE_PATH}/start_x.elf .
    cp ${UBOOT_PATH}/u-boot.bin .
    cp ${UBOOT_PATH}/fixup_db.dat .
    cp ${UBOOT_PATH}/start_db.elf .
    cp ${UBOOT_PATH}/README .
    # RPi firmware loads and modify the DTB before pass it to kernel.
    freebsd_install_fdt rpi2.dts rpi2.dtb
    # Install ubldr to FAT partition
    freebsd_ubldr_copy_ubldr .
}
Any ideas on tracking this down?
How recent is your ubldr.bin?  About a week ago in r326752 I committed
the patches from PR 224008, which affects the startup code for
ubldr.bin, so it could possibly be a fix for the problem you're seeing.
(I don't have an rpi2 to test so I can't say for sure.)
-- Ian
I updated the 11.x source tree I use to build this and now I get
further.....
U-Boot 2017.09 (Dec 12 2017 - 18:48:47 +0000)
DRAM:  948 MiB
RPI 2 Model B (0xa21041)
reading uboot.env
** Unable to read "uboot.env" from mmc0:1 **
Using default environment
In:    serial
Out:   vidconsole
Err:   vidconsole
Net:   No ethernet found.
starting USB...
USB0:   Core Release: 2.80a
scanning bus 0 for devices... 3 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found FreeBSD U-Boot Loader (bin)
reading ubldr.bin
235040 bytes read in 33 ms (6.8 MiB/s)
## Starting application at 0x01000000 ...
Consoles: U-Boot console
FreeBSD/armv6 U-Boot loader, Revision 1.2
DRAM: 948MB
Number of U-Boot devices: 1
U-Boot env: loaderdev not set, will probe all devices.
Found U-Boot device: disk
  Probing all disk devices...
  Checking unit=0 slice=<auto> partition=<auto>... good.
/boot/kernel/kernel text=0x617118 data=0x54300+0x17fbc0
syms=[0x4+0x67d30+0x4+0x9480c]
Hit [Enter] to boot immediately, or any other key for command prompt.
Booting [/boot/kernel/kernel]...
No valid device tree blob found!
Type '?' for a list of commands, 'help' for more detailed help.
loader>
Am  I missing a line in config.txt that needs to be there or did
something else odd happen that the dtb is missing?
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
   
***@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: <Open Firmware Device Tree>
simplebus0: <Flattened device tree simple bus> mem 0x3f000000-0x3fffffff
on ofwbus0
local_intc0: <BCM2836 Interrupt Controller> mem 0x40000000-0x400000ff on
simplebus0
intc0: <BCM2835 Interrupt Controller> mem 0xb200-0xb3ff irq 4 on simplebus0
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
bcmwd0: <BCM2708/2835 Watchdog> mem 0x10001c-0x100027 on simplebus0
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
gpioc0: <GPIO controller> on gpio0
iichb0: <BCM2708/2835 BSC controller> mem 0x205000-0x20501f irq 9 on
simplebus0
iichb1: <BCM2708/2835 BSC controller> mem 0x804000-0x80401f irq 10 on
simplebus0
spi0: <BCM2708/2835 SPI controller> mem 0x204000-0x20401f irq 11 on
simplebus0
spibus0: <OFW SPI bus> on 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
mbox0: <BCM2835 VideoCore Mailbox> mem 0xb880-0xb8bf irq 25 on simplebus0
sdhci_bcm0: <Broadcom 2708 SDHCI controller> mem 0x300000-0x3000ff irq
26 on simplebus0
uart0: <PrimeCell UART (PL011)> mem 0x201000-0x201fff irq 27 on simplebus0
uart0: console (115200,n,8,1)
vchiq0: <BCM2835 VCHIQ> mem 0xb800-0xb84f irq 28 on simplebus0
vchiq: local ver 8 (min 3), remote ver 8.
pcm0: <VCHIQ audio> on vchiq0
bcm283x_dwcotg0: <DWC OTG 2.0 integrated USB controller (bcm283x)> mem
0x980000-0x99ffff irq 29 on simplebus0
usbus0 on bcm283x_dwcotg0
cpulist0: <Open Firmware CPU Group> on ofwbus0
cpu0: <Open Firmware CPU> on cpulist0
bcm2835_cpufreq0: <CPU Frequency Control> on cpu0
cpu1: <Open Firmware CPU> on cpulist0
cpu2: <Open Firmware CPU> on cpulist0
cpu3: <Open Firmware CPU> on cpulist0
fb0: <BCM2835 VT framebuffer driver> on ofwbus0
fbd0 on fb0
VT: initialize with new VT driver "fb".
fb0: 656x416(***@0,0) 24bpp
fb0: fbswap: 1, pitch 1968, base 0x3eb33000, screen_size 818688
gpioled0: <GPIO LEDs> on ofwbus0
cryptosoft0: <software crypto>
Timecounters tick every 1.000 msec
iicbus0: <OFW I2C bus> on iichb0
iic0: <I2C generic I/O> on iicbus0
iicbus1: <OFW I2C bus> on iichb1
iic1: <I2C generic I/O> on iicbus1
usbus0: 480Mbps High Speed USB v2.0
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
ugen0.1: <DWCOTG OTG Root HUB> at usbus0
uhub0: <DWCOTG OTG Root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus0
Release APs
Trying to mount root from ufs:/dev/mmcsd0s2a [ro]...
Root mount waiting for: usbus0
uhub0: 1 port with 1 removable, self powered
Root mount waiting for: usbus0
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
uhub1: 5 ports with 4 removable, self powered
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
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:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: <USB Ethernet> on smsc0
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

Manual root filesystem specification:
  <fstype>:<device> [options]
      Mount <device> using filesystem <fstype>
      and with the specified (optional) option list.

    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)

  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
  <empty line>    Abort manual input

mountroot> ?

List of GEOM managed disk devices:


mountroot>
--
Karl Denninger
***@denninger.net <mailto:***@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
Ian Lepore
2017-12-18 18:02:15 UTC
Permalink
Post by Karl Denninger
[...]
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
   
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)
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
 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
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
Post by Karl Denninger
uart0: <PrimeCell UART (PL011)> mem 0x201000-0x201fff irq 27 on simplebus0
uart0: console (115200,n,8,1)
vchiq0: mem 0xb800-0xb84f irq 28 on simplebus0
vchiq: local ver 8 (min 3), remote ver 8.
pcm0: on vchiq0
bcm283x_dwcotg0: mem
0x980000-0x99ffff irq 29 on simplebus0
usbus0 on bcm283x_dwcotg0
cpulist0: on ofwbus0
cpu0: on cpulist0
bcm2835_cpufreq0: on cpu0
cpu1: on cpulist0
cpu2: on cpulist0
cpu3: on cpulist0
fb0: on ofwbus0
fbd0 on fb0
VT: initialize with new VT driver "fb".
fb0: fbswap: 1, pitch 1968, base 0x3eb33000, screen_size 818688
gpioled0: on ofwbus0
Timecounters tick every 1.000 msec
iicbus0: on iichb0
iic0: on iicbus0
iicbus1: on iichb1
iic1: on iicbus1
usbus0: 480Mbps High Speed USB v2.0
bcm2835_cpufreq0: ARM 600MHz, Core 250MHz, SDRAM 400MHz, Turbo OFF
ugen0.1: at usbus0
uhub0: on usbus0
Release APs
Trying to mount root from ufs:/dev/mmcsd0s2a [ro]...
Root mount waiting for: usbus0
uhub0: 1 port with 1 removable, self powered
Root mount waiting for: usbus0
ugen0.2: at usbus0
uhub1 on uhub0
on usbus0
uhub1: MTT enabled
uhub1: 5 ports with 4 removable, self powered
Root mount waiting for: usbus0
ugen0.3: at usbus0
smsc0 on uhub1
smsc0: on usbus0
mountroot: waiting for device /dev/mmcsd0s2a...
smsc0: chip 0xec00, rev. 0002
miibus0: on smsc0
ukphy0: PHY 1 on miibus0
ukphy0:  none, 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ue0: on smsc0
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.
  vfs.root.mountfrom=ufs:/dev/mmcsd0s2a
  vfs.root.mountfrom.options=ro
  : [options]
      Mount using filesystem
      and with the specified (optional) option list.
    eg. ufs:/dev/da0s1a
        zfs:tank
        cd9660:/dev/cd0 ro
          (which is equivalent to: mount -t cd9660 -o ro /dev/cd0 /)
  ?               List valid disk boot devices
  .               Yield 1 second (for background tasks)
      Abort manual input
mountroot> ?
mountroot>
Karl Denninger
2017-12-18 18:10:07 UTC
Permalink
Post by Ian Lepore
Post by Karl Denninger
[...]
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
   
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)
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
 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
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
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
   
***@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(***@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
***@denninger.net <mailto:***@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
Emmanuel Vadot
2017-12-18 20:21:15 UTC
Permalink
On Mon, 18 Dec 2017 12:10:07 -0600
Post by Karl Denninger
Post by Ian Lepore
Post by Karl Denninger
[...]
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
   
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)
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
 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
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
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.
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
   
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)
  Multiprocessing, Thumb2, Security, Virtualization, Generic Timer, VMSAv7,
  PXN, LPAE, Coherent Walk
  SDIV/UDIV, UMULL, SMULL, SIMD(ext)
LoUU:2 LoC:3 LoUIS:2
 32KB/64B 4-way data cache WB Read-Alloc Write-Alloc
 32KB/32B 2-way instruction cache Read-Alloc
 512KB/64B 8-way unified cache WB Read-Alloc Write-Alloc
real memory  = 994045952 (947 MB)
avail memory = 961916928 (917 MB)
  0x00001000 - 0x3b3fffff,   947 MB ( 242687 pages)
  0x01200000 - 0x01b53fff,     9 MB (   2388 pages) NoAlloc
  0x3b400000 - 0x3fffffff,    76 MB (  19456 pages) NoAlloc NoDump
  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: 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.
  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
/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 <***@bidouilliste.com>
Karl Denninger
2017-12-18 21:19:59 UTC
Permalink
Post by Emmanuel Vadot
On Mon, 18 Dec 2017 12:10:07 -0600
......
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: 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.
  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
/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,
The boot problem is fixed by r326951; it can find the sd card now.

Onward....
--
Karl Denninger
***@denninger.net <mailto:***@denninger.net>
/The Market Ticker/
/[S/MIME encrypted email preferred]/
Loading...