aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@kernel.org>2019-08-16 11:01:20 -0700
committerAndy Lutomirski <luto@kernel.org>2019-08-16 11:01:20 -0700
commit5deab2dc6223e5f86349d41b366bdf5cc5bb49c7 (patch)
tree7ded44409eece46211c938dfdc498b6d25697809
parentf4cd13a9c6328633f8af729d777ad9490e7cf585 (diff)
parent23fb9a86fc5aab0c48ccd76bc06b56fd08f912c5 (diff)
downloadvirtme-5deab2dc6223e5f86349d41b366bdf5cc5bb49c7.tar.gz
Merge branch 'kmod' of https://github.com/arighi/virtme into kmod
-rw-r--r--virtme/commands/run.py22
1 files changed, 15 insertions, 7 deletions
diff --git a/virtme/commands/run.py b/virtme/commands/run.py
index c40e225..407f445 100644
--- a/virtme/commands/run.py
+++ b/virtme/commands/run.py
@@ -118,6 +118,11 @@ def arg_fail(message):
_ARGPARSER.print_usage()
sys.exit(1)
+def get_kver_from_kdir(kdir):
+ kver_path = os.path.join(kdir, 'include/config/kernel.release')
+ with open(kver_path) as fd:
+ return fd.read().strip()
+
def find_kernel_and_mods(arch, args):
if args.installed_kernel is not None:
kver = args.installed_kernel
@@ -130,13 +135,16 @@ def find_kernel_and_mods(arch, args):
dtb = None # For now
elif args.kdir is not None:
kimg = os.path.join(args.kdir, arch.kimg_path())
- modfiles = []
- moddir = None
-
- # Once kmod gets fixed (if ever), we can do something like:
- # modfiles = modfinder.find_modules_from_install(
- # virtmods.MODALIASES,
- # moddir=os.path.join(args.kernel_build_dir, '.tmp_moddir'))
+ tmp_moddir = os.path.join(args.kdir, '.tmp_moddir')
+ if os.path.exists(tmp_moddir):
+ kver = get_kver_from_kdir(args.kdir)
+ moddir = os.path.join(tmp_moddir, 'lib/modules', kver)
+ modfiles = modfinder.find_modules_from_install(
+ virtmods.MODALIASES, kver=kver)
+ else:
+ kver = None
+ moddir = None
+ modfiles = []
dtb_path = arch.dtb_path()
if dtb_path is None: