Date: Mon, 18 Dec 2017 10:35:48 -0700 From: Ian Lepore <ian@freebsd.org> To: Karl Denninger <karl@denninger.net>, "freebsd-arm@freebsd.org" <freebsd-arm@freebsd.org> Subject: Re: RPI2 boot failure with recent changes to u-boot Message-ID: <1513618548.95072.62.camel@freebsd.org> In-Reply-To: <401bad68-a6f4-ff9f-49e5-431c9441dde7@denninger.net> References: <20ad35ef-2166-c429-fad6-21fedef1ff0e@denninger.net> <1513614709.95072.48.camel@freebsd.org> <401bad68-a6f4-ff9f-49e5-431c9441dde7@denninger.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 2017-12-18 at 11:25 -0600, Karl Denninger wrote: > On 12/18/2017 10:31, Ian Lepore wrote: > > > > On Mon, 2017-12-18 at 10:24 -0600, Karl Denninger wrote: > > > > > > 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: sdhci@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? > > > > > 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: sdhci@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 freebsd@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? > On my rpi-b, the dtb file is set in config.txt, which looks like this for booting on 12-current: root@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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1513618548.95072.62.camel>