[yocto] Wrong ENTRYPOINT and LOADADDRESS in uImage
Martin Jansa
martin.jansa at gmail.com
Thu Aug 23 02:32:02 PDT 2012
On Thu, Aug 23, 2012 at 11:24:20AM +0200, Markus Hubig wrote:
> Hi @all,
>
> I have a customized Yocto-Linux Recipe in my BSP, and now I'm seeing that
> the UBOOT_ENTRYPOINT and UBOOT_LOADADDRESS settings in my ${MACHINE}.conf
> is not honored in the resulting uImage.
You need newer oe-core with this commit and KEEPUIMAGE set to "no"
commit 72a7049526ee107005bd39c7bdd814ed71345829
Author: Koen Kooi <koen at dominion.thruhere.net>
Date: Mon Jul 23 13:45:30 2012 -0700
kernel bbclass: Recreate uImage only when KEEPUIMAGE != "yes"
The intent of the uImage code in this class includes the following
1) be able to specify custom load addresses without needing to patch the kernel
2) add better information to the uImage description field
The current state is a NOP anyway, the kernel will always build a uImage when you tell it to 'make uImage'.
weakly Set KEEPUIMAGE to 'yes' in default-distrovars.inc which preserve the
current OE-Core behavior. Machines which are being ported from oe.dev and need to
regenerate uImage can set this to be empty
Signed-off-by: Koen Kooi <koen at dominion.thruhere.net>
Signed-off-by: Khem Raj <raj.khem at gmail.com>
Signed-off-by: Saul Wold <sgw at linux.intel.com>
>
> The relevant part of kernel.bbclass is in kernel_do_deploy():
>
> | if test "x${KERNEL_IMAGETYPE}" = "xuImage" ; then
> |
> | if test -e arch/${ARCH}/boot/uImage ; then
> | cp arch/${ARCH}/boot/uImage ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
> |
> | elif test -e arch/${ARCH}/boot/compressed/vmlinux ; then
> | ${OBJCOPY} -O binary -R .note -R .comment -S \
> | arch/${ARCH}/boot/compressed/vmlinux linux.bin
> | uboot-mkimage -A ${ARCH} -O linux -T kernel -C none \
> | -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} \
> | -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin \
> | ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
> | rm -f linux.bin
> |
> | else
> | ${OBJCOPY} -O binary -R .note -R .comment -S vmlinux linux.bin
> | rm -f linux.bin.gz
> | gzip -9 linux.bin
> | uboot-mkimage -A ${ARCH} -O linux -T kernel -C gzip \
> | -a ${UBOOT_ENTRYPOINT} -e ${UBOOT_ENTRYPOINT} \
> | -n "${DISTRO_NAME}/${PV}/${MACHINE}" -d linux.bin.gz \
> | ${DEPLOYDIR}/${KERNEL_IMAGE_BASE_NAME}.bin
> | rm -f linux.bin.gz
> | fi
> | fi
>
> As you can easily see, if there is an "arch/${ARCH}/boot/uImage" present,
> uboot-mkimage is not used to set the ENTRYPOINT and LOADADDRESS. So I'm
> wondering who is setting these entries instead, and how do I adjust them?
>
> Cheers, Markus
>
> --
> Human beings were created by water to transport it uphill.
> _______________________________________________
> yocto mailing list
> yocto at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
--
Martin 'JaMa' Jansa jabber: Martin.Jansa at gmail.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20120823/c8ce73e6/attachment.pgp>
More information about the yocto
mailing list