[yocto] [meta-raspberrypi][PATCH v2] u-boot: Simplify boot script

Jonathan Liu net147 at gmail.com
Fri Nov 4 15:20:19 PDT 2016

On 5 November 2016 at 08:56, Jonathan Liu <net147 at gmail.com> wrote:
> Hi Paul,
> On 5 November 2016 at 06:12, Paul Barker <paul at paulbarker.me.uk> wrote:
>> On Sat,  5 Nov 2016 00:47:34 +1100
>> Jonathan Liu <net147 at gmail.com> wrote:
>>> A patch is added to check if the firmware loaded a device tree blob
>>> into memory and set the fdt_addr_r variable if it is found. The U-Boot
>>> script will then read the command line arguments generated by the
>>> firmware from the device tree and boot the kernel with the command
>>> line arguments and the loaded device tree.
>>> This allows things like MAC address, board revision and serial number
>>> to be correctly configured and options in config.txt to be used.
>>> Signed-off-by: Jonathan Liu <net147 at gmail.com>
>>> ---
>>> Changes in v2:
>>>  - Instead of setting device_tree_address to 0x100 in config.txt, patch
>>>    U-Boot to detect the device tree blob address if it was loaded.
>> I've tested this on the HW I have access to but I'm still running into
>> problems.
>> RaspberryPi B+: Fails with "Could not find a valid device tree"
>> message. I need to debug this further.

To debug booting with device tree:
1. Build image without U-Boot (alternatively you can manually type in
the U-Boot script commands you had previously for Raspberry Pi 1 at
the U-Boot prompt after interrupting auto-boot)
2. Add dtdebug=on to config.txt
3. Boot
4. Copy vcdbg and libelftoolchain.so to Raspberry Pi 1 and run
"LD_LIBRARY_PATH=. ./vcdbg log msg"

>> RaspberryPi 3: Boots successfully. However "earlyprintk" is missing
>> from the bootargs so we miss kernel messages which may be useful for
>> debug.
> You can do one of the following:
> - Add CMDLINE_append = " earlyprintk" to local.conf or distro conf
> - Modify cmdline.txt on the SD card boot partition and add earlyprintk
> I didn't want to make any assumptions.

More information about the yocto mailing list