[poky] Getting error in linux-yocto kernel during build.

chinmaya hoshing cahoshing at gmail.com
Thu Sep 22 01:39:22 PDT 2011


On Wed, Sep 21, 2011 at 9:40 PM, Bruce Ashfield <
bruce.ashfield at windriver.com> wrote:

> On 11-09-21 10:03 AM, chinmaya hoshing wrote:
>
>>
>> Hi ,
>>
>> I am not doing any changes to kernel, following are the thing what I did
>> :-
>>
>> 1. I cloned poky from ( git://git.yoctoproject.org/**poky<http://git.yoctoproject.org/poky>) and using
>> bernard <http://git.yoctoproject.org/**cgit/cgit.cgi/poky/log/?h=**
>> bernard <http://git.yoctoproject.org/cgit/cgit.cgi/poky/log/?h=bernard>>
>>
>> branch.
>> 2. I pull some packages from openembeded and also create my own.
>> 3. I maintained git repository for my poky source and did git commit for
>> all for my changes.
>>
>
> >>>Are you talking about committing kernel changes here ? Or changes
> >>>to layers and packages ?
>

         No I am not Commiting kernel changes here ,I am commiting packages
which are pulled in poky source

         eg-
          ${POKY_SOURCE}/
     (it contains) bitbake  LICENSE    meta-intel  README  build meta
meta-rt  README.hardware   documentation  meta-demoapps  poky-init-build-env
 scripts

         Before modifying the linux-yocto recipe the source extracted in
        ${POKY_SOURCE}/build/tmp/work/fishriver-poky-linux/linux-yocto-3.0+git1+7782fc673afd6a1c742409896ae787560d96fce8_1+c111526f70815ceff495bab07df64c0cee494d8a-r0/

     linux-fishriver-standard-build
     (it contains) : arch  block  crypto  drivers  firmware  fs  include
 init  ipc  kernel  lib  Makefile  mm  modules.builtin  modules.order
 Module.symvers  net  scripts
                     security  sound  source  System.map  usr  vmlinux
 vmlinux.o


        After modifying the linux-yocto recipe (for local server)  , I
observer  that the source instead of being extracted to the above mentioned
path in WORKDIR is being extracted in ${POKY_SOURCE} itself
        ${POKY_SOURCE}/
    (it contains): arch Documentation  Kbuild   scripts bitbake  drivers
 Kconfig  security block  firmware  kernel sound  build  fs  lib  net
 tools COPYING  include
                   MAINTAINERS  README usr CREDITS  init  Makefile
REPORTING-BUGS
 virt  crypto   ipc  meta samples

    This causes the .git folder present in kernel source to overwrite my
.git directory present in ${POKY_SOURCE} resulting in loss of my git commits


       I made following changes to linux-yocto_git.bb  as follows :-
       -   git://
git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta
      +   git://
192.168.128.11/linux-yocto-3.0.git;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta





>  4. I created a local git and ftp repo on my local machine and modify the
>> related recipes (SRC_URI ) as I don't want to waste my band width by
>> downloaing packages while building again and again.
>>
>>
>> Now I have a local the git repository for linux-yocto from
>> git://git.yoctoproject.org/**linux-yocto-3.0<http://git.yoctoproject.org/linux-yocto-3.0>
>> <git://git.yoctoproject.org/**linux-yocto-3.0<http://git.yoctoproject.org/linux-yocto-3.0>>
>> Now I modify the linux-yocto_git.bb <http://linux-yocto_git.bb> as
>>
>> follows :-
>> -
>> git://git.pokylinux.org/linux-**yocto-3.0;protocol=git;**
>> nocheckout=1;branch=$%**7BKBRANCH%7D,meta;name=**machine,meta<http://git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta>
>>  <http://git.pokylinux.org/**linux-yocto-3.0;protocol=git;**
>> nocheckout=1;branch=$%**7BKBRANCH%7D,meta;name=**machine,meta<http://git.pokylinux.org/linux-yocto-3.0;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta>
>> >
>>
>> +
>> git://192.168.128.11/linux-**yocto-3.0.git;protocol=git;**
>> nocheckout=1;branch=$%**7BKBRANCH%7D,meta;name=**machine,meta<http://192.168.128.11/linux-yocto-3.0.git;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta>
>>  <http://192.168.128.11/linux-**yocto-3.0.git;protocol=git;**
>> nocheckout=1;branch=$%**7BKBRANCH%7D,meta;name=**machine,meta<http://192.168.128.11/linux-yocto-3.0.git;protocol=git;nocheckout=1;branch=$%7BKBRANCH%7D,meta;name=machine,meta>
>> >
>>
>>
>> Every package is building fine even u-boot but, while building
>> linux-yocto I got error as "No such file or directory update-modules,
>> scripts/bitbake " ( some more dirs ).
>>
>> When I examine the source tree for poky I found out that linux-yocto
>> source is fetched in side the poky source and modifying the poky source
>> tree.
>>
>
> >>>I'm not following what you are describing here. Linux-yocto works
> largely
> >>>like any other git based recipe. It works from the copy of the repo
> >>>that is created in downloads/git2 and does a slightly different
> >>>instantiation into ${B} to ensure that all branches are local. If
> >>>you don't have the right code in in the downloaded git repo, or a
> >>>tarball created from it, you won't see it in your build.
>
>
>
>> The modification also removing the poky recipes directories like
>> recipes-multimedia recipes-sato and so on .
>>
>> I am also attaching the tree for both i.e original poky tree and after
>> pulling linux-yocto poky tree
>>
>
> >>>Can you clarify what this is showing ? missing changes you
> >>>made to the kernel ? Perhaps a diff would illustrate it better.
>
> Bruce
>
>
>>
>> Regards
>> Chinmaya
>>
>> On Wed, Sep 21, 2011 at 6:00 PM, Bruce Ashfield
>> <bruce.ashfield at gmail.com <mailto:bruce.ashfield at gmail.**com<bruce.ashfield at gmail.com>>>
>> wrote:
>>
>>    On Wed, Sep 21, 2011 at 12:49 AM, chinmaya hoshing
>>    <cahoshing at gmail.com <mailto:cahoshing at gmail.com>> wrote:
>>     > Hi ,
>>     > I have setup a git server that is clone of linux-yocto-3.0 from
>>     > git://git.yoctoproject.org/**linux-yocto-3.0<http://git.yoctoproject.org/linux-yocto-3.0>
>>    <http://git.yoctoproject.org/**linux-yocto-3.0<http://git.yoctoproject.org/linux-yocto-3.0>>
>> repository.
>>
>>
>>    That's good! So where are you pushing your changes ? To that repo ? Are
>>    you updating the SRCREV or using AUTOREV in your local layers ? I use
>>    this workflow everyday, so it does work. I just need to understand
>>    where you
>>    are putting your changes, and then we'll know why you aren't seeing
>> them
>>    on subsequent builds (or we'll have more ideas about where to look).
>>
>>    Cheers,
>>
>>    Bruce
>>
>>     > Regards
>>     > C Hoshing
>>     >
>>     > On Tue, Sep 20, 2011 at 7:24 PM, Bruce Ashfield
>>    <bruce.ashfield at gmail.com <mailto:bruce.ashfield at gmail.**com<bruce.ashfield at gmail.com>
>> >>
>>
>>     > wrote:
>>     >>
>>     >> On Tue, Sep 20, 2011 at 5:51 AM, chinmaya hoshing
>>    <cahoshing at gmail.com <mailto:cahoshing at gmail.com>>
>>
>>     >> wrote:
>>     >> > Hi ,
>>     >> > I have set up a git server for linux-yocto.
>>     >> > Following is my recipe :
>>     >> > require linux-yocto.inc
>>     >> > KMACHINE = "yocto/standard/base"
>>     >> > KMACHINE_qemux86 = "yocto/standard/common-pc/**base"
>>     >> > KMACHINE_qemux86-64 = "yocto/standard/common-pc-64/**base"
>>     >> > KMACHINE_qemuppc = "yocto/standard/qemu-ppc32"
>>     >> > KMACHINE_qemumips = "yocto/standard/mti-malta32-**be"
>>     >> > KMACHINE_qemuarm = "yocto/standard/arm-versatile-**926ejs"
>>     >> > KMACHINE_atom-pc = "yocto/standard/common-pc/**atom-pc"
>>     >> > KMACHINE_routerstationpro = "yocto/standard/**routerstationpro"
>>     >> > KMACHINE_mpc8315e-rdb = "yocto/standard/fsl-mpc8315e-**rdb"
>>     >> > KMACHINE_beagleboard = "yocto/standard/beagleboard"
>>     >> > KMACHINE_fishriver = "yocto/standard/fishriver"
>>     >> > KBRANCH = ${KMACHINE}
>>     >> > KMETA = meta
>>     >> > LINUX_VERSION ?= "3.0"
>>     >> > LINUX_VERSION_EXTENSION ?= "-yocto-${LINUX_KERNEL_TYPE}"
>>     >> > PR = "r0"
>>     >> > #PV = "${LINUX_VERSION}+git${SRCPV}"
>>     >> > #SRCREV_FORMAT = "meta_machine"
>>     >> > SRC_URI =
>>     >> >
>>     >> >
>>    "git://xxx.xxx.xxx.xx/linux-**yocto-3.0.git;protocol=git;**
>> nocheckout=1;branch=$%**7BKBRANCH%7D,meta;name=**machine,meta"
>>     >> >
>>     >> > COMPATIBLE_MACHINE =
>>     >> >
>>     >> >
>>    "(qemuarm|qemux86|qemuppc|**qemumips|qemux86-64|mpc8315e-**
>> rdb|routerstationpro|**beagleboard)"
>>     >> > # Functionality flags
>>     >> > KERNEL_REVISION_CHECKING ?= "t"
>>     >> > KERNEL_FEATURES="features/**netfilter"
>>     >> > KERNEL_FEATURES_append_**qemux86=" cfg/sound"
>>     >> > KERNEL_FEATURES_append_**qemux86-64=" cfg/sound"
>>     >> > YOCTO_KERNEL_META_DATA=t
>>     >> > # Temporary fix for oprofile and latencytop on qemux86-64
>>     >> > KERNEL_FEATURES_append_**qemux86-64=" features/profiling"
>>     >> > KERNEL_FEATURES_append_**qemux86-64=" features/latencytop"
>>     >> > # extra tasks
>>     >> > addtask kernel_link_vmlinux after do_compile before do_install
>>     >> > addtask validate_branches before do_patch after
>> do_kernel_checkout
>>     >> > addtask kernel_configcheck after do_configure before do_compile
>>     >> > require linux-tools.inc
>>     >> >
>>     >> >
>>     >> > But still I am getting the same result as before . My previous
>> git
>>     >> > commits
>>     >> > in poky source are flashed out , also the only recipe remains in
>>     >> > meta/recipe-kernel/ is linux .
>>     >>
>>     >> Just so I'm clear here. Are you still working with tarballs of the
>>     >> source, or have
>>     >> you setup a git server that is a clone of the linux-yocto-3.0 (as
>> an
>>     >> example) tree ?
>>     >>
>>     >> Where are you putting your changes in this scenario ?
>>     >>
>>     >> Bruce
>>     >>
>>     >> >
>>     >> > Regards
>>     >> > C Hoshing
>>     >> >
>>     >> > On Fri, Sep 16, 2011 at 8:52 PM, Gary Thomas
>>    <gary at mlbassoc.com <mailto:gary at mlbassoc.com>> wrote:
>>     >> >>
>>     >> >> On 2011-09-16 09:06, Richard Purdie wrote:
>>     >> >>>
>>     >> >>> On Fri, 2011-09-16 at 10:35 -0400, Bruce Ashfield wrote:
>>     >> >>>>
>>     >> >>>> On Fri, Sep 16, 2011 at 10:24 AM, Bruce Ashfield
>>     >> >>>> <bruce.ashfield at gmail.com
>>    <mailto:bruce.ashfield at gmail.**com <bruce.ashfield at gmail.com>>> wrote:
>>     >> >>>>>
>>     >> >>>>> On Fri, Sep 16, 2011 at 8:38 AM, chinmaya
>>     >> >>>>> hoshing<cahoshing at gmail.com <mailto:cahoshing at gmail.com>>
>>
>>     >> >>>>> wrote:
>>     >> >>>>>>
>>     >> >>>>>> Hi ,
>>     >> >>>>>> I am building poky-build minimal live image for fishriver
>>    machine
>>     >> >>>>>> on
>>     >> >>>>>> 64 bit
>>     >> >>>>>> host machine.
>>     >> >>>>>> As I am having limited internet band-width, so I have
>>    identified
>>     >> >>>>>> all
>>     >> >>>>>> the
>>     >> >>>>>> dependent packages and setup a Apache server on my local
>>    system so
>>     >> >>>>>> that I
>>     >> >>>>>> can redirect the SRC_URI of all the packages to my local
>>    server.
>>     >> >>>>>> I have changed the related recipes to build minimal live
>>    image,
>>     >> >>>>>> and
>>     >> >>>>>> modify
>>     >> >>>>>> bitbake.conf to add
>>    LOCAL_MIRROR="xxx.xxx.xxx.xxx/**packages" , in
>>     >> >>>>>> side
>>     >> >>>>>> packages I have tars which was present "build/download"
>>    folder.
>>     >> >>>>>> While building linux-yocto, fetch and unpack was done but
>>    during
>>     >> >>>>>> kernel
>>     >> >>>>>> checkout whatever git commits I have done previously in
>>    poky source
>>     >> >>>>>> were
>>     >> >>>>>> flashed out (lost), also the only recipe remains in
>>     >> >>>>>> meta/recipe-kernel/ is
>>     >> >>>>>> linux .
>>     >> >>>>>>
>>     >> >>>>>> Following are the changes made in
>>     >> >>>>>> meta/recipes-kernel/linux/linu**x-yocto_git.bb<http://linux-yocto_git.bb>
>>    <http://linux-yocto_git.bb>
>>
>>     >> >>>>>> #SRCREV_FORMAT = "meta_machine"
>>     >> >>>>>> SRC_URI = "${LOCAL_MIRROR}/linux-yocto-**3.0-3.0.tar.bz2"
>>     >> >>>>>> // This tar file I took from
>>     >> >>>>>>
>>     >> >>>>>>
>>     >> >>>>>>
>>    http://git.yoctoproject.org/**cgit/cgit.cgi/linux-yocto-3.0/**
>> snapshot/linux-yocto-3.0-3.0.**tar.bz2<http://git.yoctoproject.org/cgit/cgit.cgi/linux-yocto-3.0/snapshot/linux-yocto-3.0-3.0.tar.bz2>
>>     >> >>>>>> PV = "${LINUX_VERSION}"
>>     >> >>>>>> In file
>>    meta-intel/meta-fishriver/**conf/machine/fishriver.conf I
>>     >> >>>>>> modified
>>     >> >>>>>> PREFERRED_VERSION_linux-yocto = "3.0" (which was
>>     >> >>>>>> PREFERRED_VERSION_linux-yocto = "3.0+git%" )
>>     >> >>>>>>
>>     >> >>>>>> Can any one help me to find the solution that if I had to
>>    pull
>>     >> >>>>>> linux
>>     >> >>>>>> kernel
>>     >> >>>>>> source from tar file or such and not from git repository.
>>    What
>>     >> >>>>>> things
>>     >> >>>>>> I have
>>     >> >>>>>> to do.
>>     >> >>>>>
>>     >> >>>>> The linux-yocto recipes are designed from the ground up to
>>    work on a
>>     >> >>>>> git
>>     >> >>>>> based repository, and there's really no way to get around
>>    that fact
>>     >> >>>>> (and no
>>     >> >>>>> plans to make any changes in this area).
>>     >> >>>>
>>     >> >>>> Thinking further about this, if the tgz actually was just a
>>    tarball
>>     >> >>>> of
>>     >> >>>> the git
>>     >> >>>> repositories (including the git blobs), it could work.
>>     >> >>>
>>     >> >>> This is exactly what we use behind the scenes for mirroring
>>    the git
>>     >> >>> repositories so this should work. It should be possible to
>>    use our
>>     >> >>> existing PREMIRROR code to avoid having to rewrite
>>    individual recipes
>>     >> >>> though.
>>     >> >>>
>>     >> >>> It will firstly unpack the tarball, then access whether the
>>    revisions
>>     >> >>> it
>>     >> >>> needs are present. If they're not, it will then (and only
>>    then) try
>>     >> >>> and
>>     >> >>> fetch them over the network. If the tarball is complete it will
>>     >> >>> therefore not touch the network. If its incomplete it will
>>    only fetch
>>     >> >>> the different (delta).
>>     >> >>
>>     >> >> This does work as advertised - I use it exclusively. I have a
>>    local
>>     >> >> package cache which I use with PREMIRROR and I set
>>    BB_NO_NETWORK to
>>     >> >> prove/protect that no network access is required.
>>     >> >>
>>     >> >> --
>>     >> >> ------------------------------**------------------------------
>>     >> >> Gary Thomas | Consulting for the
>>     >> >> MLB Associates | Embedded world
>>     >> >> ------------------------------**------------------------------
>>     >> >> ______________________________**_________________
>>     >> >> poky mailing list
>>     >> >> poky at yoctoproject.org <mailto:poky at yoctoproject.org>
>>
>>     >> >> https://lists.yoctoproject.**org/listinfo/poky<https://lists.yoctoproject.org/listinfo/poky>
>>     >> >
>>     >> >
>>     >> > ______________________________**_________________
>>     >> > poky mailing list
>>     >> > poky at yoctoproject.org <mailto:poky at yoctoproject.org>
>>
>>     >> > https://lists.yoctoproject.**org/listinfo/poky<https://lists.yoctoproject.org/listinfo/poky>
>>     >> >
>>     >> >
>>     >>
>>     >>
>>     >>
>>     >> --
>>     >> "Thou shalt not follow the NULL pointer, for chaos and madness
>> await
>>     >> thee at its end"
>>     >
>>     >
>>
>>
>>
>>    --
>>    "Thou shalt not follow the NULL pointer, for chaos and madness await
>>    thee at its end"
>>
>>
>>
>>
>> ______________________________**_________________
>> poky mailing list
>> poky at yoctoproject.org
>> https://lists.yoctoproject.**org/listinfo/poky<https://lists.yoctoproject.org/listinfo/poky>
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/poky/attachments/20110922/64f48109/attachment.html>


More information about the poky mailing list