https://bugzilla.yoctoproject.org/show_bug.cgi?id=6165
Link to the two kernels at the end of the first comment. On Apr 16, 2014 6:57 PM, "William Mills" <wmi...@ti.com> wrote: > > On 04/15/2014 11:31 PM, Khem Raj wrote: > >> On Tue, Apr 15, 2014 at 6:20 PM, Denys Dmytriyenko <de...@denix.org> >> wrote: >> >>> On Tue, Apr 15, 2014 at 09:12:30PM -0400, Denys Dmytriyenko wrote: >>> >>>> On Wed, Apr 16, 2014 at 12:36:58AM +0100, Richard Purdie wrote: >>>> >>>>> On Tue, 2014-04-15 at 15:43 -0400, Denys Dmytriyenko wrote: >>>>> >>>>>> I don't yet know what is going on, but building in the same directory >>>>>> with >>>>>> sources (B = S) makes it work regarless of the path length: >>>>>> >>>>>> /OE/RAM/poky-111111111111111111111111111111 >>>>>> 111111111111111111111111111111111111111111111111111111111111 >>>>>> 111111111111111/222222222222222222222222222222 >>>>>> 22222222222222222222222222222222222222/333333333333333333333333333333 >>>>>> 3333333333333333333333/tmp/work/beaglebone-poky-linux- >>>>>> gnueabi/linux-yocto/3.14+gitAUTOINC+928d7b2dda_0143c6ebb4-r0/linux >>>>>> >>>>>> So, I just commented out setting kernel-specific B in linux-yocto.inc >>>>>> and any >>>>>> kernel now boots with long path: >>>>>> >>>>>> #B = "${WORKDIR}/linux-${PACKAGE_ARCH}-${LINUX_KERNEL_TYPE}-build" >>>>>> >>>>>> I'm copying Richard and Bruce directly to see if they may have a >>>>>> quick insight >>>>>> and/or accept it as a workaround for the release. I'll keep digging >>>>>> further, >>>>>> but if anyone cares to verify the above workaround works for them, I >>>>>> would >>>>>> appreciate. Thanks! >>>>>> >>>>> >>>>> I'm travelling and don't have hardware so I'm limited in what I can >>>>> look >>>>> at right now. I suspect this workaround "works" because it makes the >>>>> "beaglebone-standard-build" extra characters on the path. I have a >>>>> feeling your -1111111 test above may have reused sstate or something >>>>> like that and given misleading results. I'd be interested in the >>>>> vmlinux >>>>> file from the build above to see if the poky-111111 pathnames are in >>>>> there (they get stripped out when you create the zImage). >>>>> >>>> >>>> Nope, I was fooled by sstate once, so this time I tested with >>>> cleansstate and >>>> compared timestamps of the kernel when it boots - it is definitely the >>>> new >>>> one. And to make sure 'beaglebone-standard-build' extra suffix doesn't >>>> affect >>>> it, I increased the path length even further - that extra level with >>>> 333 is >>>> there to over-compensate, as it was failing before even with just 111 >>>> and 222 >>>> levels only... Looks like Gary was also able to verify it. >>>> >>>> But, you are right about vmlinux - it doesn't have those paths in there >>>> any >>>> more! I've seen them there when building with B != S, but they are gone >>>> when >>>> building with B = S. Wondering why. You can check it for yourself: >>>> >>>> http://arago-project.org/files/short-term/misc/vmlinux- >>>> 3.14.0-yocto-standard >>>> >>> >>> And, as a follow up, all those long paths in vmlinux when built with B >>> != S >>> point to sources. Here are few examples: >>> >>> B != S strings: >>> >>> /OE/RAM/poky/tmp/work/beaglebone-poky-linux-gnueabi/ >>> linux-yocto/3.14+gitAUTOINC+928d7b2dda_0143c6ebb4-r0/linux/init/main.c >>> earlycon >>> 4Malformed early option '%s' >>> 3Starting init: %s exists but couldn't execute it (error %d) >>> ... >>> 6Trying to unpack rootfs image as initramfs... >>> /OE/RAM/poky/tmp/work/beaglebone-poky-linux-gnueabi/ >>> linux-yocto/3.14+gitAUTOINC+928d7b2dda_0143c6ebb4-r0/ >>> linux/init/initramfs.c >>> 6rootfs image is not initramfs (%s); looks like an initrd >>> TRAILER!!! >>> ... >>> %lu.%02lu BogoMIPS (lpj=%lu) >>> /OE/RAM/poky/tmp/work/beaglebone-poky-linux-gnueabi/ >>> linux-yocto/3.14+gitAUTOINC+928d7b2dda_0143c6ebb4-r0/ >>> linux/arch/arm/vfp/vfpmodule.c >>> 6VFP support v0.3: >>> >>> >>> B = S same strings: >>> >>> init/main.c >>> earlycon >>> 4Malformed early option '%s' >>> 3Starting init: %s exists but couldn't execute it (error %d) >>> ... >>> 6Trying to unpack rootfs image as initramfs... >>> init/initramfs.c >>> 6rootfs image is not initramfs (%s); looks like an initrd >>> TRAILER!!! >>> ... >>> %lu.%02lu BogoMIPS (lpj=%lu) >>> arch/arm/vfp/vfpmodule.c >>> 6VFP support v0.3: >>> >>> >>> So, that explains why B = S works regardless of the location, as it >>> doesn't >>> embed full path to source files... >>> >>> >> seemingly there could be rodata segment overflow issue. Can you do the >> kernel build with say linker from dora build >> and see if it still fails. >> >> > It would be interesting to see if the rodata segment (or segment it > contributes to) between working and non-working versions were crossing > some magic power of 2 value. > > Are there two images published from the same build machines with just > the path difference? I would like to see one that was just under the > wire and one just a bit too long. Denys, you have that? > -- > _______________________________________________ > yocto mailing list > yocto@yoctoproject.org > https://lists.yoctoproject.org/listinfo/yocto >
-- _______________________________________________ yocto mailing list yocto@yoctoproject.org https://lists.yoctoproject.org/listinfo/yocto