Heads up: new uboot coming today

Paul Mather paul at gromit.dlib.vt.edu
Wed Aug 2 02:15:44 UTC 2017


On Jul 27, 2017, at 10:40 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:

> On Thu, 27 Jul 2017 10:16:58 -0400
> Paul Mather <paul at gromit.dlib.vt.edu <mailto:paul at gromit.dlib.vt.edu>> wrote:
> 
>> On Jul 27, 2017, at 1:49 AM, Emmanuel Vadot <manu at bidouilliste.com> wrote:
>> 
>>> On Wed, 26 Jul 2017 20:45:06 -0400
>>> Paul Mather <paul at gromit.dlib.vt.edu> wrote:
>>> 
>>>> On Jul 24, 2017, at 10:43 AM, Warner Losh <imp at bsdimp.com> wrote:
>>>> 
>>>>> Barring any last minute unforeseen issues, I'll be committing the upgrade
>>>>> of the master uboot port to 2017.07 today, thanks to the hard work of
>>>>> Emmanuel Vadot. It fixes a few minor things, but also marks the move to the
>>>>> freebsd github u-boot repo from my private repo.
>>>> [[...]]
>>>>> ALLWINNER, BBB and iMX6 based boards are on u-boot-master. It should be
>>>>> fine, but if there's issues with the new uboot, please let me know. Others
>>>>> will come as soon as we can update those parts (the arm64 boards, and rPi
>>>>> being the main stragglers).
>>>> 
>>>> 
>>>> I updated my u-boot-beaglebone port to u-boot-beaglebone-2017.07.00 today.  I then copied the MLO and U-BOOT.IMG files to the /boot/msdos partition of my BBB (as directed by the port README) and performed a reboot.  Alas, the system would not boot up.  It appears it cannot locate a DTB file:
>>>> 
>>>> =====8<=====
>>>> [[...]]
>>>> Rebooting...
>>>> 
>>>> U-Boot SPL 2017.07 (Jul 26 2017 - 22:56:32)
>>>> Trying to boot from MMC1
>>>> *** Warning - bad CRC, using default environment
>>>> 
>>>> reading u-boot.img
>>>> reading u-boot.img
>>>> 
>>>> 
>>>> U-Boot 2017.07 (Jul 26 2017 - 22:56:32 +0000)
>>>> 
>>>> CPU  : AM335X-GP rev 2.0
>>>> I2C:   ready
>>>> DRAM:  512 MiB
>>>> No match for driver 'omap_hsmmc'
>>>> No match for driver 'omap_hsmmc'
>>>> Some drivers were not found
>>>> MMC:   OMAP SD/MMC: 0, OMAP SD/MMC: 1
>>>> *** Warning - bad CRC, using default environment
>>>> 
>>>> <ethaddr> not set. Validating first E-fuse MAC
>>>> Net:   cpsw, usb_ether
>>>> Press SPACE to abort autoboot in 2 seconds
>>>> switch to partitions #0, OK
>>>> mmc0 is current device
>>>> SD/MMC found on device 0
>>>> reading boot.scr
>>>> ** Unable to read file boot.scr **
>>>> reading uEnv.txt
>>>> ** Unable to read file uEnv.txt **
>>>> switch to partitions #0, OK
>>>> mmc0 is current device
>>>> Scanning mmc 0:1...
>>>> Found FreeBSD U-Boot Loader (bin)
>>>> reading ubldr.bin
>>>> 223912 bytes read in 22 ms (9.7 MiB/s)
>>>> ## Starting application at 0x82000000 ...
>>>> Consoles: U-Boot console
>>>> Compatible U-Boot API signature found @0x9df2ec58
>>>> 
>>>> FreeBSD/armv6 U-Boot loader, Revision 1.2
>>>> (root at releng2.nyi.freebsd.org, Fri Aug 12 13:23:34 UTC 2016)
>>>> 
>>>> DRAM: 512MB
>>>> Number of U-Boot devices: 3
>>>> 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=0x5cf800 data=0x4b8e8+0x147f18 syms=[0x4+0x944f0+0x4+0x9499c]
>>>> 
>>>> Hit [Enter] to boot immediately, or any other key for command prompt.
>>>> 
>>>> 
>>>> Type '?' for a list of commands, 'help' for more detailed help.
>>>> loader> boot -s
>>>> Booting...
>>>> No valid device tree blob found!
>>>> No device tree blob found!
>>>> 
>>>> loader>
>>>> =====>8=====
>>>> 
>>>> Is there some other file I need to copy to /boot/msdos when updating U-Boot?  Here is what I have right now (note, I moved the old, working MLO and U-BOOT.IMG files into uboot.old):
>>>> 
>>>> =====8<=====
>>>> root at beaglebone:/boot/msdos # ls -alR
>>>> total 950
>>>> drwxr-xr-x  1 root  wheel   16384 Dec 31  1979 .
>>>> drwxr-xr-x  9 root  wheel    1024 Jul 23 19:33 ..
>>>> -rwxr-xr-x  1 root  wheel   75884 Jul 26 20:09 MLO
>>>> -rwxr-xr-x  1 root  wheel    1083 Aug 13  2016 README
>>>> -rwxr-xr-x  1 root  wheel  376600 Jul 26 20:09 U-BOOT.IMG
>>>> -rwxr-xr-x  1 root  wheel  272013 Aug 13  2016 UBLDR
>>>> -rwxr-xr-x  1 root  wheel  223912 Aug 13  2016 UBLDR.BIN
>>>> drwxr-xr-x  1 root  wheel     512 Jul 26 20:11 uboot.old
>>>> 
>>>> ./uboot.old:
>>>> total 462
>>>> drwxr-xr-x  1 root  wheel     512 Jul 26 20:11 .
>>>> drwxr-xr-x  1 root  wheel   16384 Dec 31  1979 ..
>>>> -rwxr-xr-x  1 root  wheel   78928 Aug 13  2016 MLO
>>>> -rwxr-xr-x  1 root  wheel  376740 Aug 13  2016 U-BOOT.IMG
>>>> root at beaglebone:/boot/msdos #
>>>> =====>8=====
>>>> 
>>>> Note, the kernel boots via the old U-Boot.  Any help is appreciated.
>>>> 
>>>> Cheers,
>>>> 
>>>> Paul.
>>>> 
>>>> _______________________________________________
>>>> freebsd-arm at freebsd.org mailing list
>>>> https://lists.freebsd.org/mailman/listinfo/freebsd-arm
>>>> To unsubscribe, send any mail to "freebsd-arm-unsubscribe at freebsd.org"
>>> 
>>> Hello Paul,
>>> 
>>> This is not really a u-boot problem but more a DTB one, we've switched
>>> to the upstream dts for beaglebone a while ago and I guess that you
>>> don't have the right one in /boot/dtb/
>>> U-Boot is setting a variable for the dtb to load named fdtfile and now
>>> it's using the upstream name (am335x-boneblack.dtb) while before the
>>> file was named beaglebone-black.dtb.
>>> Rebuilding a kernel should fix this.
>> 
>> 
>> Thank you for the help.  I forgot to mention in my original post that I am running 11-STABLE on my BeagleBoneBlack.  There, /usr/src/sys/modules/dtb/am335x/Makefile still references the old names whereas HEAD references the new ones (creating links for the old ones):
>> 
>> =====8<=====
>> root at chumby:/build/src # cat head/sys/modules/dtb/am335x/Makefile
>> # $FreeBSD: head/sys/modules/dtb/am335x/Makefile 312969 2017-01-29 22:06:52Z gonzo $
>> # All the dts files for am335x systems we support.
>> DTS=    \
>>        am335x-bone.dts \
>>        am335x-boneblack.dts \
>>        am335x-bonegreen.dts \
>>        ufw.dts
>> 
>> LINKS= \
>>        ${DTBDIR}/am335x-bone.dtb ${DTBDIR}/beaglebone.dtb \
>>        ${DTBDIR}/am335x-boneblack.dtb ${DTBDIR}/beaglebone-black.dtb
>> 
>> .include <bsd.dtb.mk>
>> root at chumby:/build/src # cat releng_11/sys/modules/dtb/am335x/Makefile
>> # $FreeBSD: stable/11/sys/modules/dtb/am335x/Makefile 312756 2017-01-25 14:49:42Z loos $
>> # All the dts files for am335x systems we support.
>> DTS=    \
>>        beaglebone.dts \
>>        beaglebone-black.dts \
>>        ufw.dts
>> 
>> .include <bsd.dtb.mk>
>> root at chumby:/build/src #
>> =====>8=====
>> 
>> Am I correct in thinking that creating symlinks in /boot/dtb for am335x-bone.dts and am335x-boneblack.dts to their respective old names should fix my booting problem, then?
> 
> Yes.


Thank you.  I put the .dtb symlinks in place and that fixed the problem.  My BBB now boots properly using the new U-Boot.

Cheers,

Paul.


More information about the freebsd-arm mailing list