aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-installer/anaconda/files/0003-tweak-iso-mount-dir-and-kernel-name.patch
blob: 6bc449c02e82ad7452535ebbad20f9bd28fd598e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
From 9a5284a3de79cfe9bceb6daf434b4cc0cb7dbdf4 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 24 Jun 2019 14:45:50 +0800
Subject: [PATCH 3/3] tweak iso mount dir and kernel name

- Tweak iso mount dir based on WRLinux

- Tweak kernel name based on OE

Upstream-Status: Inappropriate [oe specific]

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
 pyanaconda/core/constants.py   |  4 ++--
 pyanaconda/payload/__init__.py | 18 +++++++++++-------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/pyanaconda/core/constants.py b/pyanaconda/core/constants.py
index 8910d48..5322a82 100644
--- a/pyanaconda/core/constants.py
+++ b/pyanaconda/core/constants.py
@@ -52,8 +52,8 @@ TRANSLATIONS_UPDATE_DIR = "/tmp/updates/po"
 VIRTIO_PORT = "/dev/virtio-ports/org.fedoraproject.anaconda.log.0"
 
 ANACONDA_CLEANUP = "anaconda-cleanup"
-MOUNT_DIR = "/run/install"
-DRACUT_REPODIR = "/run/install/repo"
+MOUNT_DIR = "/media/realroot"
+DRACUT_REPODIR = MOUNT_DIR + "/Packages"
 DRACUT_ISODIR = "/run/install/source"
 ISO_DIR = MOUNT_DIR + "/isodir"
 IMAGE_DIR = MOUNT_DIR + "/image"
diff --git a/pyanaconda/payload/__init__.py b/pyanaconda/payload/__init__.py
index 849b424..7c65d29 100644
--- a/pyanaconda/payload/__init__.py
+++ b/pyanaconda/payload/__init__.py
@@ -26,7 +26,7 @@ from abc import ABCMeta
 
 from pyanaconda.core.configuration.anaconda import conf
 from pyanaconda.core.constants import DRACUT_ISODIR, DRACUT_REPODIR, DD_ALL, DD_FIRMWARE, \
-    DD_RPMS, INSTALL_TREE, ISO_DIR, GRAPHICAL_TARGET, TEXT_ONLY_TARGET
+    DD_RPMS, INSTALL_TREE, ISO_DIR, GRAPHICAL_TARGET, TEXT_ONLY_TARGET, MOUNT_DIR
 from pyanaconda.modules.common.constants.services import SERVICES
 from pykickstart.constants import GROUP_ALL, GROUP_DEFAULT, GROUP_REQUIRED
 from pyanaconda.flags import flags
@@ -701,7 +701,7 @@ class PackagePayload(Payload, metaclass=ABCMeta):
         if "kernel" in self.data.packages.excludedList:
             return []
 
-        kernels = ["kernel"]
+        kernels = ["kernel-image"]
 
         if payload_utils.arch_is_x86() and isys.isPaeAvailable():
             kernels.insert(0, "kernel-PAE")
@@ -726,14 +726,17 @@ class PackagePayload(Payload, metaclass=ABCMeta):
         files = []
 
         ts = rpm.TransactionSet(util.getSysroot())
-        mi = ts.dbMatch('providename', 'kernel')
+        mi = ts.dbMatch()
+        mi.pattern('name', rpm.RPMMIRE_GLOB, 'kernel-image*')
         for hdr in mi:
+            log.info("hdr.filenames %s" % hdr.filenames)
             unicode_fnames = (f.decode("utf-8") for f in hdr.filenames)
             # Find all /boot/vmlinuz- files and strip off vmlinuz-
             files.extend((f.split("/")[-1][8:] for f in unicode_fnames
-                         if fnmatch(f, "/boot/vmlinuz-*") or
-                         fnmatch(f, "/boot/efi/EFI/%s/vmlinuz-*" % conf.bootloader.efi_dir)))
+                         if(fnmatch(f, "/boot/*") or fnmatch(f, "/boot/efi/EFI/%s/*" % conf.bootloader.efi_dir))
+                            and len(f.split("/")[-1]) > 7))
 
+        log.info("kernelVersionList %s" % files)
         return sorted(files, key=functools.cmp_to_key(payload_utils.version_cmp))
 
     @property
@@ -1056,12 +1059,13 @@ class PackagePayload(Payload, metaclass=ABCMeta):
 
         # FIXME: We really should not talk about NFS here - regression from re-factorization?
         # Did dracut leave the DVD or NFS mounted for us?
-        device = payload_utils.get_mount_device(DRACUT_REPODIR)
+        device = payload_utils.get_mount_device(MOUNT_DIR)
 
         # Check for valid optical media if we didn't boot from one
-        if not verifyMedia(DRACUT_REPODIR):
+        if not verifyMedia(MOUNT_DIR):
             self.install_device = opticalInstallMedia(storage.devicetree)
 
+        log.info("device %s, install_device %s" % (device, self.install_device))
         # Only look at the dracut mount if we don't already have a cdrom
         if device and not self.install_device:
             self.install_device = storage.devicetree.get_device_by_path(device)
-- 
2.7.4