[yocto] BBB doesn't boot

Stefan Stanacar sstncr at gmail.com
Wed Apr 16 12:04:41 PDT 2014


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" <wmills at ti.com> wrote:

>
> On 04/15/2014 11:31 PM, Khem Raj wrote:
>
>> On Tue, Apr 15, 2014 at 6:20 PM, Denys Dmytriyenko <denis at 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 at yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/yocto/attachments/20140416/139e1384/attachment.html>


More information about the yocto mailing list