Question

The following is an excerpt from the U-Boot help for bootm command:

bootm [addr [arg ...]]

- boot application image stored in memory
    passing arguments 'arg ...'; when booting a Linux kernel,
    'arg' can be the address of an initrd image
    When booting a Linux kernel which requires a flat device-tree
    a third argument is required which is the address of the
    device-tree blob. To boot that kernel without an initrd image,
    use a '-' for the second argument. If you do not pass a third
    a bd_info struct will be passed instead

As I can see in the above bootm [addr] should work fine, arg is optional.
So something like bootm 0x1000000 should work.
I tftp the linux kernel uImage to 0x1000000, and then want to use the above command.
Is it not possible?

It works fine when i use bootm 0x1000000 - 0x3000000, where third argument is address of dtb.
But when i try to boot without dtb, it stops at "Uncompressing kernel image"

Was it helpful?

Solution

The kernel that you are using might support only a device tree blob (dtb) based bootup. You would have to make sure that the kernel configurations are set to support legacy boot. It is essential to make sure that your u-boot supports legacy boot too. Like sawdust mentioned, it is always helpful to give SoC, kernel, u-boot info.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top