| Summary: | In 3.10.x linux kernel, uImage can't be compiled by default. | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] BSPs | Reporter: | Robert Berger <pokylinux> |
| Component: | bsps-meta-yocto | Assignee: | Bruce Ashfield <bruce.ashfield> |
| Status: | VERIFIED OBSOLETE | QA Contact: | Lucian Musat <georgex.l.musat> |
| Severity: | minor | ||
| Priority: | Medium+ | CC: | alexandru.c.georgescu, bluelightning, sjolley.yp.pm |
| Version: | 1.5 | ||
| Target Milestone: | 1.6.1 | ||
| Hardware: | Beagleboard | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | No (bug/feature does not impact docs) | |
|
Description
Robert Berger
2013-09-09 21:15:55 UTC
I just tried to build a mainline 3.10.11 uImage: Kernel: arch/arm/boot/Image is ready AS arch/arm/boot/compressed/head.o GZIP arch/arm/boot/compressed/piggy.gzip CC arch/arm/boot/compressed/misc.o CC arch/arm/boot/compressed/decompress.o CC arch/arm/boot/compressed/string.o SHIPPED arch/arm/boot/compressed/hyp-stub.S SHIPPED arch/arm/boot/compressed/lib1funcs.S SHIPPED arch/arm/boot/compressed/ashldi3.S AS arch/arm/boot/compressed/hyp-stub.o AS arch/arm/boot/compressed/lib1funcs.o AS arch/arm/boot/compressed/ashldi3.o AS arch/arm/boot/compressed/piggy.gzip.o LD arch/arm/boot/compressed/vmlinux OBJCOPY arch/arm/boot/zImage Kernel: arch/arm/boot/zImage is ready UIMAGE arch/arm/boot/uImage Image Name: Linux-3.10.11-stable-student Created: Mon Sep 9 21:44:34 2013 Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 4009904 Bytes = 3915.92 kB = 3.82 MB Load Address: 80008000 Entry Point: 80008000 with some minor configurations it also runs: root@generic-armv7a:~# uname -a Linux generic-armv7a 3.10.11-stable-student #2 SMP Tue Sep 10 00:56:38 EEST 2013 armv7l GNU/Linux uImage requires a LOADDADDR to be set in the most recent kernels, something which is not currently set in machine configs and passed to the yocto kernel build by default. Note: we didn't say there's a problem with the uImage, but given that zImage works fine, doesn't require us to encode the load address into the machine configuration .. there's not reason to force ourselves to use it. Other BSP layers are obviously still free to build uImage, we just decided to go with zImage for this reference. Yes something like:
UBOOT_ENTRYPOINT = "0x80008000"
UBOOT_LOADADDRESS = "0x80008000"
KERNEL_EXTRA_ARGS += "LOADADDR=${UBOOT_ENTRYPOINT}"
I believe the whole reason behind uImage is just that it seems more robust against download errors compared to zImage due to chechsums and stuff in the u-boot header.
But I understood you decided to use zImage.
On second thought, I'll re-open this bugzilla as a documentation item. Since we should make sure that the load and entry point details are captured. So we no longer support the beagleboard in meta-yocto-bsp; I've checked the beaglebone configuration and these values are set there already. Thus I'm marking this as obsolete. Verified on 7d80f8e9468253496a7097685aac8f468940a9c5. Beaglebone configuration present. |