euspectre/kedr

One KEDR installation for many kernels

euspectre opened this issue · 3 comments

Original issue 15 created by euspectre on 2014-01-21T06:07:13.000Z:

Currently, the only way to work with several kernels on one machine is to have different KEDR installations, one per kernel.
If other application(e.g, testsuite) requires KEDR installed, this application should share same politics: one application's installation per kernel. This is needed even if application itself doesn't have kernel-space part.
Having several installations of one application for same purpose is very inconvenient.

Support for dkms functionality or similar from KEDR would be very useful.

Comment #1 originally posted by euspectre on 2014-01-21T08:28:27.000Z:

Yes, that would be useful. I have planned DKMS support for KEDR 1.x for quite some time.

I hope to release new KernelStrider no later than in 4-6 weeks from now. After that, I'll concentrate on KEDR 1.x.

If support for DKMS or a similar thing is needed earlier, I think, this could be done locally.

Ideas are welcome, as usual.

Comment #2 originally posted by euspectre on 2014-01-22T06:11:21.000Z:

Currently I use different wrapper scripts for run testsuite which use KEDR on different kernels. It is inconvenient, but is not a critical problem.

As I remember, most of the KEDR tools and utilities are relied on absolute paths. But '.conf' files for load KEDR core with payloads also support (at least by spec) loading kernel modules using only there names via 'modprobe'.

So, it can be an option for global installation (when modules are installed into their 'native' location under /lib/modules/) for use dkms for build&install modules and for use single modules names in tools.

Of course, many problems arise:

  1. Are '.conf' files are the only way to access kernel modules in tools?
  2. What should be done with KEDR selftesting in case of dkms (probably, selftesting should be disabled)
  3. For every new kernel some configuration should be done(kernel functions existence checking, etc.), so we need to have self-sufficient(!) CMake project with kernel modules to be executing at dkms stage.

Comment #3 originally posted by euspectre on 2015-01-22T13:11:05.000Z:

Since rc8d82f2f3cff KEDR has stable multi-kernel build type, which is described in https://code.google.com/p/kedr/wiki/HowTo_multi_kernel