systemd-198-5
- do not mount anything, when not running as pid 1 - add initrd.target for systemd in the initrd
This commit is contained in:
parent
e3fc0ff042
commit
1a6f5e3585
@ -0,0 +1,32 @@
|
|||||||
|
From c1dae1b3c9729fb8ab749dd4e2dad07e0fad7ed8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lennart Poettering <lennart@poettering.net>
|
||||||
|
Date: Thu, 14 Mar 2013 21:36:38 +0100
|
||||||
|
Subject: [PATCH] main: don't mount /sys, /dev and friends when we run with PID
|
||||||
|
!= 1
|
||||||
|
|
||||||
|
Back from old times when we developed systemd on non-systemd hosts we
|
||||||
|
still mounted the missing directories such as the cgroup stuff even when
|
||||||
|
running with a PID != 1. There's no point for that anymore, so let's
|
||||||
|
just do that if we are actually PID 1, and never otherwise.
|
||||||
|
|
||||||
|
https://bugs.freedesktop.org/show_bug.cgi?id=62354
|
||||||
|
---
|
||||||
|
src/core/main.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/core/main.c b/src/core/main.c
|
||||||
|
index 7b03983..01a6d41 100644
|
||||||
|
--- a/src/core/main.c
|
||||||
|
+++ b/src/core/main.c
|
||||||
|
@@ -1437,7 +1437,7 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
|
/* Mount /proc, /sys and friends, so that /proc/cmdline and
|
||||||
|
* /proc/$PID/fd is available. */
|
||||||
|
- if (geteuid() == 0 && !getenv("SYSTEMD_SKIP_API_MOUNTS")) {
|
||||||
|
+ if (getpid() == 1) {
|
||||||
|
r = mount_setup(loaded_policy);
|
||||||
|
if (r < 0)
|
||||||
|
goto finish;
|
||||||
|
--
|
||||||
|
1.8.1
|
||||||
|
|
348
0062-Make-initrd.target-the-default-target-in-the-initrd.patch
Normal file
348
0062-Make-initrd.target-the-default-target-in-the-initrd.patch
Normal file
@ -0,0 +1,348 @@
|
|||||||
|
From 9e5f0f92915b777308797294c6e103e430957b5d Mon Sep 17 00:00:00 2001
|
||||||
|
From: Harald Hoyer <harald@redhat.com>
|
||||||
|
Date: Thu, 14 Mar 2013 13:12:10 +0100
|
||||||
|
Subject: [PATCH] Make initrd.target the default target in the initrd
|
||||||
|
|
||||||
|
First, rename root-fs.target to initrd-root-fs.target to clarify its usage.
|
||||||
|
|
||||||
|
Mount units with "x-initrd-rootfs.mount" are now ordered before
|
||||||
|
initrd-root-fs.target. As we sometimes construct /sysroot mounts in
|
||||||
|
/etc/fstab in the initrd, we want these to be mounted before the
|
||||||
|
initrd-root-fs.target is active.
|
||||||
|
|
||||||
|
initrd.target can be the default target in the initrd.
|
||||||
|
|
||||||
|
(normal startup)
|
||||||
|
:
|
||||||
|
:
|
||||||
|
v
|
||||||
|
basic.target
|
||||||
|
|
|
||||||
|
______________________/|
|
||||||
|
/ |
|
||||||
|
| sysroot.mount
|
||||||
|
| |
|
||||||
|
| v
|
||||||
|
| initrd-root-fs.target
|
||||||
|
| |
|
||||||
|
| v
|
||||||
|
| initrd-parse-etc.service
|
||||||
|
(custom initrd services) |
|
||||||
|
| v
|
||||||
|
| (sysroot-usr.mount and
|
||||||
|
| various mounts marked
|
||||||
|
| with fstab option
|
||||||
|
| x-initrd.mount)
|
||||||
|
| |
|
||||||
|
| v
|
||||||
|
| initrd-fs.target
|
||||||
|
| |
|
||||||
|
\______________________ |
|
||||||
|
\|
|
||||||
|
v
|
||||||
|
initrd.target
|
||||||
|
|
|
||||||
|
v
|
||||||
|
initrd-cleanup.service
|
||||||
|
isolates to
|
||||||
|
initrd-switch-root.target
|
||||||
|
|
|
||||||
|
v
|
||||||
|
______________________/|
|
||||||
|
/ |
|
||||||
|
| initrd-udevadm-cleanup-db.service
|
||||||
|
| |
|
||||||
|
(custom initrd services) |
|
||||||
|
| |
|
||||||
|
\______________________ |
|
||||||
|
\|
|
||||||
|
v
|
||||||
|
initrd-switch-root.target
|
||||||
|
|
|
||||||
|
v
|
||||||
|
initrd-switch-root.service
|
||||||
|
|
|
||||||
|
v
|
||||||
|
switch-root
|
||||||
|
---
|
||||||
|
Makefile.am | 3 +-
|
||||||
|
man/bootup.xml | 73 +++++++++++++++++++++++++
|
||||||
|
man/systemd.special.xml | 4 +-
|
||||||
|
src/core/special.h | 2 +-
|
||||||
|
src/fstab-generator/fstab-generator.c | 11 +++-
|
||||||
|
units/initrd-cleanup.service.in | 3 +-
|
||||||
|
units/initrd-fs.target | 1 +
|
||||||
|
units/initrd-parse-etc.service.in | 7 ++-
|
||||||
|
units/{root-fs.target => initrd-root-fs.target} | 2 +
|
||||||
|
units/initrd-switch-root.target | 4 +-
|
||||||
|
units/initrd.target | 17 ++++++
|
||||||
|
11 files changed, 115 insertions(+), 12 deletions(-)
|
||||||
|
rename units/{root-fs.target => initrd-root-fs.target} (89%)
|
||||||
|
create mode 100644 units/initrd.target
|
||||||
|
|
||||||
|
diff --git a/Makefile.am b/Makefile.am
|
||||||
|
index 175d14b..cf21544 100644
|
||||||
|
--- a/Makefile.am
|
||||||
|
+++ b/Makefile.am
|
||||||
|
@@ -347,8 +347,9 @@ dist_systemunit_DATA = \
|
||||||
|
units/kexec.target \
|
||||||
|
units/local-fs.target \
|
||||||
|
units/local-fs-pre.target \
|
||||||
|
+ units/initrd.target \
|
||||||
|
units/initrd-fs.target \
|
||||||
|
- units/root-fs.target \
|
||||||
|
+ units/initrd-root-fs.target \
|
||||||
|
units/remote-fs.target \
|
||||||
|
units/remote-fs-pre.target \
|
||||||
|
units/network.target \
|
||||||
|
diff --git a/man/bootup.xml b/man/bootup.xml
|
||||||
|
index f65abf5..6bd22ef 100644
|
||||||
|
--- a/man/bootup.xml
|
||||||
|
+++ b/man/bootup.xml
|
||||||
|
@@ -174,6 +174,79 @@
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
+ <title>Systemd in the Initrd</title>
|
||||||
|
+ <para>If the initrd creation tool used the services provided
|
||||||
|
+ by systemd, the default target in the initrd is the
|
||||||
|
+ initrd-fs.target. The process is the same as above until the basic.target is reached.
|
||||||
|
+ Systemd now continues to the initrd.target. If the root device could be mounted
|
||||||
|
+ on /sysroot, the sysroot.mount unit is active and the initrd-root-fs.target is reached.
|
||||||
|
+ initrd-parse-etc.service scans /sysroot/etc/fstab for the /usr mountpoint and for entries
|
||||||
|
+ marked with the <emphasis>x-initrd.mount</emphasis> option set. If these mountpoint are
|
||||||
|
+ mounted in /sysroot, the initrd-fs.target is reached.
|
||||||
|
+ The initrd-cleanup.service isolates to the initrd-switch-root.target,
|
||||||
|
+ where cleanup services can run. At the very last end
|
||||||
|
+ initrd-switch-root.service is activated, which will cause
|
||||||
|
+ the system to switch root to /sysroot.
|
||||||
|
+ </para>
|
||||||
|
+
|
||||||
|
+<programlisting>
|
||||||
|
+ (same as above)
|
||||||
|
+ :
|
||||||
|
+ :
|
||||||
|
+ v
|
||||||
|
+ basic.target
|
||||||
|
+ | emergency.service
|
||||||
|
+ ______________________/| |
|
||||||
|
+ / | v
|
||||||
|
+ | sysroot.mount <emphasis>emergency.target</emphasis>
|
||||||
|
+ | |
|
||||||
|
+ | v
|
||||||
|
+ | initrd-root-fs.target
|
||||||
|
+ | |
|
||||||
|
+ | v
|
||||||
|
+ | initrd-parse-etc.service
|
||||||
|
+ (custom initrd services) |
|
||||||
|
+ | v
|
||||||
|
+ | (sysroot-usr.mount and
|
||||||
|
+ | various mounts marked
|
||||||
|
+ | with fstab option
|
||||||
|
+ | x-initrd.mount)
|
||||||
|
+ | |
|
||||||
|
+ | v
|
||||||
|
+ | initrd-fs.target
|
||||||
|
+ | |
|
||||||
|
+ \______________________ |
|
||||||
|
+ \|
|
||||||
|
+ v
|
||||||
|
+ initrd.target
|
||||||
|
+ |
|
||||||
|
+ v
|
||||||
|
+ initrd-cleanup.service
|
||||||
|
+ isolates to
|
||||||
|
+ initrd-switch-root.target
|
||||||
|
+ |
|
||||||
|
+ v
|
||||||
|
+ ______________________/|
|
||||||
|
+ / |
|
||||||
|
+ | initrd-udevadm-cleanup-db.service
|
||||||
|
+ | |
|
||||||
|
+ (custom initrd services) |
|
||||||
|
+ | |
|
||||||
|
+ \______________________ |
|
||||||
|
+ \|
|
||||||
|
+ v
|
||||||
|
+ initrd-switch-root.target
|
||||||
|
+ |
|
||||||
|
+ v
|
||||||
|
+ initrd-switch-root.service
|
||||||
|
+ |
|
||||||
|
+ v
|
||||||
|
+ switch-root
|
||||||
|
+</programlisting>
|
||||||
|
+ </refsect1>
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+ <refsect1>
|
||||||
|
<title>System Manager Shutdown</title>
|
||||||
|
|
||||||
|
<para>System shutdown also consists of various target
|
||||||
|
diff --git a/man/systemd.special.xml b/man/systemd.special.xml
|
||||||
|
index 7b78099..67a81b6 100644
|
||||||
|
--- a/man/systemd.special.xml
|
||||||
|
+++ b/man/systemd.special.xml
|
||||||
|
@@ -79,7 +79,7 @@
|
||||||
|
<filename>remote-fs.target</filename>,
|
||||||
|
<filename>remote-fs-pre.target</filename>,
|
||||||
|
<filename>rescue.target</filename>,
|
||||||
|
- <filename>root-fs.target</filename>,
|
||||||
|
+ <filename>initrd-root-fs.target</filename>,
|
||||||
|
<filename>rpcbind.target</filename>,
|
||||||
|
<filename>runlevel2.target</filename>,
|
||||||
|
<filename>runlevel3.target</filename>,
|
||||||
|
@@ -523,7 +523,7 @@
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
<varlistentry>
|
||||||
|
- <term><filename>root-fs.target</filename></term>
|
||||||
|
+ <term><filename>initrd-root-fs.target</filename></term>
|
||||||
|
<listitem>
|
||||||
|
<para>systemd automatically
|
||||||
|
adds dependencies of type
|
||||||
|
diff --git a/src/core/special.h b/src/core/special.h
|
||||||
|
index 52e593b..c7b856e 100644
|
||||||
|
--- a/src/core/special.h
|
||||||
|
+++ b/src/core/special.h
|
||||||
|
@@ -49,7 +49,7 @@
|
||||||
|
#define SPECIAL_LOCAL_FS_TARGET "local-fs.target"
|
||||||
|
#define SPECIAL_LOCAL_FS_PRE_TARGET "local-fs-pre.target"
|
||||||
|
#define SPECIAL_INITRD_FS_TARGET "initrd-fs.target"
|
||||||
|
-#define SPECIAL_ROOT_FS_TARGET "root-fs.target"
|
||||||
|
+#define SPECIAL_INITRD_ROOT_FS_TARGET "initrd-root-fs.target"
|
||||||
|
#define SPECIAL_REMOTE_FS_TARGET "remote-fs.target" /* LSB's $remote_fs */
|
||||||
|
#define SPECIAL_REMOTE_FS_PRE_TARGET "remote-fs-pre.target"
|
||||||
|
#define SPECIAL_SWAP_TARGET "swap.target"
|
||||||
|
diff --git a/src/fstab-generator/fstab-generator.c b/src/fstab-generator/fstab-generator.c
|
||||||
|
index b4fb134..cf85d31 100644
|
||||||
|
--- a/src/fstab-generator/fstab-generator.c
|
||||||
|
+++ b/src/fstab-generator/fstab-generator.c
|
||||||
|
@@ -199,6 +199,12 @@ static bool mount_in_initrd(struct mntent *me) {
|
||||||
|
streq(me->mnt_dir, "/usr");
|
||||||
|
}
|
||||||
|
|
||||||
|
+static bool mount_is_rootfs(struct mntent *me) {
|
||||||
|
+ assert(me);
|
||||||
|
+
|
||||||
|
+ return hasmntopt(me, "x-initrd-rootfs.mount");
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
static int add_mount(const char *what, const char *where, const char *type, const char *opts,
|
||||||
|
int passno, bool noauto, bool nofail, bool automount, bool isbind,
|
||||||
|
const char *pre, const char *post, const char *source) {
|
||||||
|
@@ -434,6 +440,9 @@ static int parse_fstab(const char *prefix, bool initrd) {
|
||||||
|
if (initrd) {
|
||||||
|
post = SPECIAL_INITRD_FS_TARGET;
|
||||||
|
pre = NULL;
|
||||||
|
+ } else if (mount_is_rootfs(me)) {
|
||||||
|
+ post = SPECIAL_INITRD_ROOT_FS_TARGET;
|
||||||
|
+ pre = NULL;
|
||||||
|
} else if (mount_is_network(me)) {
|
||||||
|
post = SPECIAL_REMOTE_FS_TARGET;
|
||||||
|
pre = SPECIAL_REMOTE_FS_PRE_TARGET;
|
||||||
|
@@ -525,7 +534,7 @@ static int parse_new_root_from_proc_cmdline(void) {
|
||||||
|
|
||||||
|
log_debug("Found entry what=%s where=/sysroot type=%s", what, type);
|
||||||
|
r = add_mount(what, "/sysroot", type, opts, 0, false, false, false,
|
||||||
|
- false, NULL, SPECIAL_ROOT_FS_TARGET, "/proc/cmdline");
|
||||||
|
+ false, NULL, SPECIAL_INITRD_ROOT_FS_TARGET, "/proc/cmdline");
|
||||||
|
|
||||||
|
return (r < 0) ? r : 0;
|
||||||
|
}
|
||||||
|
diff --git a/units/initrd-cleanup.service.in b/units/initrd-cleanup.service.in
|
||||||
|
index 5bef090..218ec80 100644
|
||||||
|
--- a/units/initrd-cleanup.service.in
|
||||||
|
+++ b/units/initrd-cleanup.service.in
|
||||||
|
@@ -10,8 +10,7 @@ Description=Cleaning Up and Shutting Down Daemons
|
||||||
|
DefaultDependencies=no
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
OnFailure=emergency.target
|
||||||
|
-Wants=root-fs.target initrd-fs.target
|
||||||
|
-After=root-fs.target initrd-fs.target
|
||||||
|
+After=initrd-root-fs.target initrd-fs.target initrd.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
diff --git a/units/initrd-fs.target b/units/initrd-fs.target
|
||||||
|
index 6ba1758..7578b88 100644
|
||||||
|
--- a/units/initrd-fs.target
|
||||||
|
+++ b/units/initrd-fs.target
|
||||||
|
@@ -11,3 +11,4 @@ Documentation=man:systemd.special(7)
|
||||||
|
OnFailure=emergency.target
|
||||||
|
OnFailureIsolate=yes
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
+After=initrd-parse-etc.service
|
||||||
|
diff --git a/units/initrd-parse-etc.service.in b/units/initrd-parse-etc.service.in
|
||||||
|
index 44fee7b..07728e2 100644
|
||||||
|
--- a/units/initrd-parse-etc.service.in
|
||||||
|
+++ b/units/initrd-parse-etc.service.in
|
||||||
|
@@ -8,13 +8,14 @@
|
||||||
|
[Unit]
|
||||||
|
Description=Reload Configuration from the Real Root
|
||||||
|
DefaultDependencies=no
|
||||||
|
-Requires=root-fs.target
|
||||||
|
-After=root-fs.target
|
||||||
|
+Requires=initrd-root-fs.target
|
||||||
|
+After=initrd-root-fs.target
|
||||||
|
OnFailure=emergency.target
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStartPre=@rootbindir@/systemctl daemon-reload
|
||||||
|
-ExecStart=@rootbindir@/systemctl start initrd-fs.target
|
||||||
|
+# we have to retrigger initrd-fs.target after daemon-reload
|
||||||
|
+ExecStart=-@rootbindir@/systemctl --no-block start initrd-fs.target
|
||||||
|
ExecStart=@rootbindir@/systemctl --no-block start initrd-cleanup.service
|
||||||
|
diff --git a/units/root-fs.target b/units/initrd-root-fs.target
|
||||||
|
similarity index 89%
|
||||||
|
rename from units/root-fs.target
|
||||||
|
rename to units/initrd-root-fs.target
|
||||||
|
index 1351534..cd189f0 100644
|
||||||
|
--- a/units/root-fs.target
|
||||||
|
+++ b/units/initrd-root-fs.target
|
||||||
|
@@ -9,3 +9,5 @@
|
||||||
|
Description=Initrd Root File System
|
||||||
|
Documentation=man:systemd.special(7)
|
||||||
|
ConditionPathExists=/etc/initrd-release
|
||||||
|
+OnFailure=emergency.target
|
||||||
|
+OnFailureIsolate=yes
|
||||||
|
diff --git a/units/initrd-switch-root.target b/units/initrd-switch-root.target
|
||||||
|
index cf646c4..f347687 100644
|
||||||
|
--- a/units/initrd-switch-root.target
|
||||||
|
+++ b/units/initrd-switch-root.target
|
||||||
|
@@ -12,5 +12,5 @@ DefaultDependencies=no
|
||||||
|
Requires=initrd-switch-root.service
|
||||||
|
Before=initrd-switch-root.service
|
||||||
|
AllowIsolate=yes
|
||||||
|
-Wants=initrd-udevadm-cleanup-db.service root-fs.target initrd-fs.target systemd-journald.service
|
||||||
|
-After=initrd-udevadm-cleanup-db.service root-fs.target initrd-fs.target emergency.service emergency.target
|
||||||
|
+Wants=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target systemd-journald.service
|
||||||
|
+After=initrd-udevadm-cleanup-db.service initrd-root-fs.target initrd-fs.target emergency.service emergency.target
|
||||||
|
diff --git a/units/initrd.target b/units/initrd.target
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..5622de4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/units/initrd.target
|
||||||
|
@@ -0,0 +1,17 @@
|
||||||
|
+# This file is part of systemd.
|
||||||
|
+#
|
||||||
|
+# systemd is free software; you can redistribute it and/or modify it
|
||||||
|
+# under the terms of the GNU Lesser General Public License as published by
|
||||||
|
+# the Free Software Foundation; either version 2.1 of the License, or
|
||||||
|
+# (at your option) any later version.
|
||||||
|
+
|
||||||
|
+[Unit]
|
||||||
|
+Description=Initrd Target
|
||||||
|
+Documentation=man:systemd.special(7)
|
||||||
|
+OnFailure=emergency.target
|
||||||
|
+OnFailureIsolate=yes
|
||||||
|
+ConditionPathExists=/etc/initrd-release
|
||||||
|
+Requires=basic.target
|
||||||
|
+Wants=initrd-root-fs.target initrd-fs.target initrd-parse-etc.service
|
||||||
|
+After=initrd-root-fs.target initrd-fs.target basic.target rescue.service rescue.target
|
||||||
|
+AllowIsolate=yes
|
||||||
|
--
|
||||||
|
1.8.1
|
||||||
|
|
10
systemd.spec
10
systemd.spec
@ -14,7 +14,7 @@ Name: systemd
|
|||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
|
|
||||||
Version: 198
|
Version: 198
|
||||||
Release: 4%{?gitcommit:.git%{gitcommit}}%{?dist}
|
Release: 5%{?gitcommit:.git%{gitcommit}}%{?dist}
|
||||||
# For a breakdown of the licensing, see README
|
# For a breakdown of the licensing, see README
|
||||||
License: LGPLv2+ and MIT and GPLv2+
|
License: LGPLv2+ and MIT and GPLv2+
|
||||||
Summary: A System and Service Manager
|
Summary: A System and Service Manager
|
||||||
@ -80,7 +80,7 @@ Provides: systemd-units = %{version}-%{release}
|
|||||||
# part of system since f18, drop at f20
|
# part of system since f18, drop at f20
|
||||||
Provides: udev = %{version}
|
Provides: udev = %{version}
|
||||||
Obsoletes: udev < 183
|
Obsoletes: udev < 183
|
||||||
Conflicts: dracut < 026-19
|
Conflicts: dracut < 026-48
|
||||||
# f18 version, drop at f20
|
# f18 version, drop at f20
|
||||||
Conflicts: plymouth < 0.8.5.1
|
Conflicts: plymouth < 0.8.5.1
|
||||||
# Ensures correct multilib updates added F18, drop at F20
|
# Ensures correct multilib updates added F18, drop at F20
|
||||||
@ -101,6 +101,8 @@ Provides: systemd-analyze = 198
|
|||||||
BuildRequires: git
|
BuildRequires: git
|
||||||
Patch13: 0013-build-sys-don-t-hard-code-binary-paths-in-initrd-.se.patch
|
Patch13: 0013-build-sys-don-t-hard-code-binary-paths-in-initrd-.se.patch
|
||||||
Patch45: 0045-add-initrd-fs.target-and-root-fs.target.patch
|
Patch45: 0045-add-initrd-fs.target-and-root-fs.target.patch
|
||||||
|
Patch61: 0061-main-don-t-mount-sys-dev-and-friends-when-we-run-wit.patch
|
||||||
|
Patch62: 0062-Make-initrd.target-the-default-target-in-the-initrd.patch
|
||||||
|
|
||||||
# kernel-install patch for grubby, drop if grubby is obsolete
|
# kernel-install patch for grubby, drop if grubby is obsolete
|
||||||
Patch1000: kernel-install-grubby.patch
|
Patch1000: kernel-install-grubby.patch
|
||||||
@ -750,6 +752,10 @@ fi
|
|||||||
%{_libdir}/pkgconfig/gudev-1.0*
|
%{_libdir}/pkgconfig/gudev-1.0*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Mar 15 2013 Harald Hoyer <harald@redhat.com> 198-5
|
||||||
|
- do not mount anything, when not running as pid 1
|
||||||
|
- add initrd.target for systemd in the initrd
|
||||||
|
|
||||||
* Wed Mar 13 2013 Harald Hoyer <harald@redhat.com> 198-4
|
* Wed Mar 13 2013 Harald Hoyer <harald@redhat.com> 198-4
|
||||||
- fix switch-root and local-fs.target problem
|
- fix switch-root and local-fs.target problem
|
||||||
- patch kernel-install to use grubby, if available
|
- patch kernel-install to use grubby, if available
|
||||||
|
Loading…
Reference in New Issue
Block a user