Turns out this is a phantom error. Instead of building mkimage, I had accidentally added it to my git master branch, but deleted it from my local copy. I didn't see it for the longest time, but the whole project compiled correctly as soon as I removed the binary from the git repo.
Woops. -Max On Tue, Nov 5, 2013 at 12:46 PM, Maxwell Bottiger < sleepyli...@jive-turkey.net> wrote: > Ok. so, I should backtrack a bit, just so I understand the issue > completely. This is my first time putting together a bitbake recipe, and > the kernel is a complex little beastie. > > BTW, I'm building for an Atmel ARM cpu. Sorry didn't mention that in my > first message. > > So, when I was building my kernel by hand, here's what I was doing: > make ARCH=arm at91sam9x5ek_defconfig > make ARCH=arm menuconfig > make ARCH=arm > ./mkimage -A arm -O linux -C none -T kernel -a 20008000 -e 20008000 -n > linux-2.6 -d arch/arm/boot/zImage uImage-2.6.39-at91sam9x5ek.bin > > I took the .config file that I'd been using and placed it in depconfig, > then added a line to my bb file to include that configuration. So, that's > good I think. > > When the compile is complete, I should have an arm zImage, and mkimage > should run against that. So, my understanding would be that mkimage should > be an x86 executable, and the kernel should be an arm, and mkimage should > generate a uImage kernel. So, the complaint from do_package that the > executables are different architectures makes sense. > > Bruce, I think what you're recommending I do is remove mkImage after the > compile and image creation are complete but before packaging takes place, > as that's where the QA is complaining. (Which makes a lot of sense) I > just want to list the details so I'm sure I understand the problem > completely. > > To this end I've added a do_install_append to the end of my recipe to > remove the mkImage file. I tried it a couple of different times, but it > looks like I'm seeing the same error message each time. I think the issue > is I just don't understand the bb process well enough. Maybe I'm trying to > delete the file at the wrong stage, or maybe there's something system > specific I don't know about. I copied the guts of this recipe from a > linux-yocto-custom_3.6 bb file, which compiled cleanly for this chip. I'll > list the bb recipe below. Any advice is greatly appreciated. > > linux-yocto-custom_2.6.39.bb > ------------------------------------- > inherit kernel > require recipes-kernel/linux/linux-yocto.inc > > LICENSE = "GPLv2" > LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" > #DEFAULT_PREFERENCE = "-1" > > > LINUX_VERSION = "2.6.39" > LINUX_VERSION_EXTENSION ?= "-custom" > KBRANCH = "master" > META = "meta" > > > SRC_URI = > "git:///home/blah/blah/blah/linux-2.6.39;protocol=file;branch=master" > SRC_URI += "file://defconfig" > #SRC_URI += "file://extra-cflags-override.patch" > > KERNEL_EXTRA_ARGS="LOADADDR=0x2000000 V=1 KCFLAGS=-mno-unaligned-access" > > > UBOOT_ENTRYPOINT="2000000" > > SRCREV="master" > > > PV = "${LINUX_VERSION}" > > PR = "r1" > > S = "${WORKDIR}/git" > EXTRA_OEMAKE = "${PARALLEL_MAKE}" > > KERNEL_IMAGETYPE = "uImage" > > > # Override COMPATIBLE_MACHINE to include your machine in a bbappend > # file. Leaving it empty here ensures an early explicit build failure. > #COMPATIBLE_MACHINE = "(xo1-mvs)" > COMPATIBLE_MACHINE = "(sama5d3xek|at91sam9x5ek)" > > # clean up after module installation > do_install_append() { > rm -f mkimage > > } > > > On Mon, Nov 4, 2013 at 11:28 PM, Bruce Ashfield < > bruce.ashfi...@windriver.com> wrote: > >> On 13-11-04 8:41 PM, Maxwell Bottiger wrote: >> >>> I'm building a custom kernel, and I think I'm nearly there. I'm seeing >>> an error when running mkimage. bitbake is complaining about an >>> architecure mismatch, but I don't know which files it is comparing, or >>> if the mismatch really matters (32bit x86 vs 64bit x86 or whatever) >>> >>> Here's the error string: >>> >>> WARNING: File '/usr/src/kernel/mkimage' from linux-yocto-custom was >>> already stripped, this will prevent future debugging! >>> >>> ERROR: QA Issue: Architecture did not match (40 to 3) on >>> /work/at91sam9x5ek-poky-linux-gnueabi/linux-yocto-custom/2. >>> 6.39-r1/packages-split/kernel-dev/usr/src/kernel/mkimage >>> >> >> The obvious answer is .. it is mkimage that it is complaining about. You >> are packaging mkimage (which is likely an x86 elf file) into your >> kernel-dev package (which is your target arch, likely powerpc or ARM). >> Hence the QA error. >> >> In your kernel recipe, you can remove the file before packaging >> (i.e. in the do_install_append) or inhibit the QA check for your recipe. >> >> What exactly does your kernel recipe look like ? What is building mkimage >> and then getting it installed into /usr/src/kernel ? >> >> My suggestion is to track that down, versus inhibiting the QA check. >> >> Bruce >> >> >>> ERROR: QA run found fatal errors. Please consider fixing them. >>> >>> ERROR: Function failed: do_package_qa >>> >>> ERROR: Logfile of failure stored in: >>> /home/sleepylight/workspace/yocto/poky/build-atmel/tmp/ >>> work/at91sam9x5ek-poky-linux-gnueabi/linux-yocto-custom/2. >>> 6.39-r1/temp/log.do_package.11527 >>> >>> ERROR: Task 18 >>> (/home/sleepylight/workspace/yocto/poky/meta-atmel/recipes-kernel/linux/ >>> linux-yocto-custom_2.6.39.bb >>> <http://linux-yocto-custom_2.6.39.bb>, do_package) failed with exit >>> code '1' >>> >>> >>> >>> I'm building on a 64 bit linux platform, I don't know if that makes a >>> difference. >>> >>> Thanks all. I'm nearly there! >>> >>> -Max >>> >>> >>> _______________________________________________ >>> yocto mailing list >>> yocto@yoctoproject.org >>> https://lists.yoctoproject.org/listinfo/yocto >>> >>> >> >
_______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto