[opensuse-kernel] How to bisect suse kernel efficiently?
Hi, I've just found the beaglebone black had been broken between 3.16.3 and 3.16.4 and not booted anymore. Until then, I just utilized OBS and osc build --local to build the kernel for arm architecture with needed patches/configs. But now I wonder whether there is more effective way to avoid rebuilds? Usually, changes affect only couple of modules, but building with OBS requires to wait until whole kernel is rebuilt. If there is a way to pack the modules into the RPM after they were built with conventional make? Since my target is tiny arm board I need a simple way to deploy the kernel on it, and I think RPM is perfectly right one. But RPM building force me to rebuild everything from scratch every time. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Sun, Oct 12, 2014 at 12:50:01PM +0400, Matwey V. Kornilov wrote:
Until then, I just utilized OBS and osc build --local to build the kernel for arm architecture with needed patches/configs. But now I wonder whether there is more effective way to avoid rebuilds? Usually, changes affect only couple of modules, but building with OBS requires to wait until whole kernel is rebuilt.
There are ways to speed up the process. Use --ccache for build, this will keep all the built objects and just copy them instead of compiling, if you use --jobs 32 or something high like that, the parallelism should help as well. If you can identify which patches probably touched the driver or functionatlity it uses, look at the patches between .3 and .4 in git://git.kernel.org/pub/scm/linux/kernel/git/stable/stable-queue.git and run only a few iterations instead of full bisection of the whole patchset. You can also reuse the OBS chroot environment and revert/apply the patches directly to the sources and then run the kernel build manually (the exact command is in the log), then copy the resulting .ko into your system and try it. Depends if the ccache approach is faster than the manual one. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
13.10.2014 01:57, David Sterba пишет:
Use --ccache for build, this will keep all the built objects and just copy them instead of compiling, if you use --jobs 32 or something high like that, the parallelism should help as well.
Could you please explain where ccache caches it cache. I suppose inside the build_root. Will --clean option purge it? -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
On Tue, Oct 14, 2014 at 08:01:20PM +0400, Matwey V. Kornilov wrote:
13.10.2014 01:57, David Sterba пишет:
Use --ccache for build, this will keep all the built objects and just copy them instead of compiling, if you use --jobs 32 or something high like that, the parallelism should help as well.
Could you please explain where ccache caches it cache. I suppose inside the build_root. Will --clean option purge it?
Yes, the cache is kep in the build root. Manual page says about --clean Delete old build root before initializing it so no, the cache is gone afterwards. -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
David Sterba <dsterba@suse.cz> writes:
On Tue, Oct 14, 2014 at 08:01:20PM +0400, Matwey V. Kornilov wrote:
13.10.2014 01:57, David Sterba пишет:
Use --ccache for build, this will keep all the built objects and just copy them instead of compiling, if you use --jobs 32 or something high like that, the parallelism should help as well.
Could you please explain where ccache caches it cache. I suppose inside the build_root. Will --clean option purge it?
Yes, the cache is kep in the build root. Manual page says about
--clean Delete old build root before initializing it
so no, the cache is gone afterwards.
No, it isn't. --clean doesn't remove dot files in the root directory, so /.ccache is kept. Andreas. -- Andreas Schwab, SUSE Labs, schwab@suse.de GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7 "And now for something completely different." -- To unsubscribe, e-mail: opensuse-kernel+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-kernel+owner@opensuse.org
participants (3)
-
Andreas Schwab
-
David Sterba
-
Matwey V. Kornilov