On 2014-05-06 20:48, Bob Feretich wrote:

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 
" ?

This line is used as written.


Where does      BB_GENERATE_MIRROR_TARBALLS ?= "1"
put the tarball?

In your downloads directory.


Does do_rm_work remove them?

No (since that only touches files in tmp/work/...)

--
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to