[yocto] A simpler way of creating an using a local kernel repository - BeagleBone example
Bob Feretich
bob.feretich at rafresearch.com
Tue May 6 19:48:50 PDT 2014
On 5/6/2014 3:45 PM, Gary Thomas wrote:
> On 2014-05-06 16:31, Bob Feretich wrote:
>> I have had problems getting good download performance when accessing
>> the kernels at kernel.org. Since I expect to build the kernel several
>> times, I decided to create a copy of the
>> kernel repository locally and use that for my builds.
>>
>> There are instructions on how to create a local repository in the
>> Yocto manuals, but those are more complex than I needed. (I don't
>> plan on checking anything into the repository.)
>>
>> The below is a simpler way of creating and using the repository.
>> I'm publishing this because my search though the Yocto/OE/Angstrom
>> yielded only the more complicated or incomplete methods.
>>
>> // First set up local kernel repository
>> mkdir ~/ksrc3-8
>> cd ~/ksrc3-8
>> git clone --bare
>> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
>> stable-work-bare.git
>>
>> // Then modify the kernel recipe to use the local repository instead
>> of the the one at kernel.org.
>> // The beaglebone recipe for the 3.8 kernel is at...
>> setup-scripts/sources/meta-beagleboard/common-bsp/recipes-kernel/linux/linux-mainline_3.8.bb
>>
>>
>> // Replace the file's SRC_URI with one that points to your local
>> repository.
>> #SRC_URI =
>> "git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git;branch=linux-3.8.y"
>> SRC_URI =
>> "git:///home/Bob/ksrc3-8/stable-work-bare.git;branch=linux-3.8.y"
>
> IMO a much simpler (and certainly less invasive) way is to just
> use your own local source mirrors. Add these lines to your local.conf:
> SOURCE_MIRROR_URL = "file:///some-mirror-directory/"
> INHERIT += "own-mirrors "
> BB_GENERATE_MIRROR_TARBALLS ?= "1"
>
> Once the git repository has been downloaded, it will be packed up in a
> tarball, e.g.
> git2_git.kernel.org.pub.scm.linux.kernel.git.stable.linux-stable.git.tar.gz
> If you then put this file into your SOURCE_MIRROR, the next time
> bitbake will
> fetch from there [first]. It's even smart enough that if you need a
> revision
> which is not in the tarball, it will update the git repository and
> rebuild the
> tarball, which you can then move to your mirror.
Better!
Questions:
Is INHERIT += "own-mirrors "
coded as you state it, or am I supposed to substitute something for
"own-mirrors " ?
Where does BB_GENERATE_MIRROR_TARBALLS ?= "1"
put the tarball?
Does do_rm_work remove them?
Regards,
Bob
>
> Fast access, no messing with source recipes!
>
More information about the yocto
mailing list