Skip to content

uboot: possible inconsistency with hardcoded values for kernel load addr and dtb load addr vs. variables? #8

@pdscomp

Description

@pdscomp

Do you know why mainline ubootis hardcoding values for the kernel load and boot (and the device tree load?):

bootcmd=fatload usb 0:1 43000000 zImage; fatload usb 0:1 43800000 elegoo-centauri-carbon1.dtb; bootz 43000000 - 43800000

in theory it should be using ${kernel_addr_r} and ${fdt_addr_r}. However those are defined incorrectly in Mainline uBoot since the DSP reserves that address space:

  dsp42000000    reg 0x42000000 0x00100000   no-map

and

=> printenv kernel_addr_r
kernel_addr_r=0x41000000
=> printenv fdt_addr_r
fdt_addr_r=0x41800000

It doesn't seem to be negatively affecting anything but it might be an easy fix?

It sounds like the ideal steps to boot this way would be essentially:

=> usb start
=> fatload usb 0:1 ${kernel_addr_r} zImage
=> fatload usb 0:1 ${fdt_addr_r} elegoo-centauri-carbon1.dtb
=> bootz ${kernel_addr_r} - ${fdt_addr_r}

If those variables were set to 43000000 and 43800000 respectively.

For reference the bootcmd we are using:

bootcmd=fatload usb 0:1 43000000 zImage; fatload usb 0:1 43800000 elegoo-centauri-carbon1.dtb; bootz 43000000 - 43800000

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions