Bug 6410 - omap3_beagle has uimage error load address error
Summary: omap3_beagle has uimage error load address error
Status: RESOLVED WORKSFORME
Alias: None
Product: buildroot
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: PC Linux
: P5 normal
Target Milestone: ---
Assignee: unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-08-01 19:42 UTC by Hans Stimer
Modified: 2013-08-02 08:31 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:


Attachments
.config file used for make (38.08 KB, application/octet-stream)
2013-08-01 19:42 UTC, Hans Stimer
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hans Stimer 2013-08-01 19:42:42 UTC
Created attachment 5000 [details]
.config file used for make

Version of buildroot: head as of 31/7/2013.

When specifying

  BR2_TARGET_UBOOT_BOARDNAME="omap3_beagle"

make produces this error:

  Kernel: arch/arm/boot/Image is ready
  Kernel: arch/arm/boot/zImage is ready
multiple (or no) load addresses: 
This is incompatible with uImages
Specify LOADADDR on the commandline to build an uImage
make[2]: *** [arch/arm/boot/uImage] Error 1
make[1]: *** [uImage] Error 2
Comment 1 Hans Stimer 2013-08-01 21:19:34 UTC
I tried with the 2013.05 version and I get the same error.
Comment 2 Thomas Petazzoni 2013-08-02 08:31:23 UTC
Well, BR2_TARGET_UBOOT_BOARDNAME="omap3_beagle" is a U-Boot option, while the build error you have is from the kernel.

Since a few kernel versions, ARM has moved to multiplatform kernel, and the load address is no longer known by the kernel sources themselves, and must be passed as a LOADADDR environment variable when generating a kernel uImage.

Buildroot has support for that, in the form of the BR2_LINUX_KERNEL_UIMAGE_LOADADDR:

config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
        string "load address (for 3.7+ multi-platform image)"
        depends on BR2_arm || BR2_armeb
        depends on BR2_LINUX_KERNEL_UIMAGE || BR2_LINUX_KERNEL_APPENDED_UIMAGE
        help
          If your ARM system's Linux kernel is configured with the new (3.7+)
          multi-architecture support (CONFIG_ARCH_MULTIPLATFORM=y in your
          kernel config), then it is necessary to specify a kernel load address
          when building the uImage. This should be a hexadecimal string
          beginning with 0x, for example: 0x00008000.

          If unsure, let this option empty.

You simply need to use this option. For your OMAP3 BeagleBoard, I suggest you to use 0x80008000.