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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
From c85cda9e2f72c655c01452956bda629bbecb9e55 Mon Sep 17 00:00:00 2001
From: Harald Hoyer <harald@redhat.com>
Date: Wed, 13 Mar 2013 08:04:25 +0100
Subject: [PATCH] systemd: local-fs.target is now root-fs.target and
initrd-fs.target
Also rename dracut.target to initrd.target
see also systemd commit 700e07f
http://cgit.freedesktop.org/systemd/systemd/commit/?id=700e07f
---
dracut.spec | 3 ++-
modules.d/98systemd/dracut-mount.service | 4 ++--
modules.d/98systemd/dracut-pre-mount.service | 2 +-
modules.d/98systemd/dracut-pre-pivot.service | 4 ++--
modules.d/98systemd/emergency.service | 2 +-
.../98systemd/{dracut.target => initrd.target} | 6 ++----
modules.d/98systemd/module-setup.sh | 24 ++++++++++++----------
modules.d/99base/dracut-lib.sh | 6 +++---
8 files changed, 26 insertions(+), 25 deletions(-)
rename modules.d/98systemd/{dracut.target => initrd.target} (73%)
diff --git a/dracut.spec b/dracut.spec
index 65112cb..06149de 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -87,7 +87,8 @@ Requires: kbd kbd-misc
%if 0%{?fedora} || 0%{?rhel} > 6
Requires: util-linux >= 2.21
-Conflicts: systemd < 198
+Conflicts: systemd < 198-4
+Conflicts: grubby < 8.23
%else
Requires: util-linux-ng >= 2.21
%endif
diff --git a/modules.d/98systemd/dracut-mount.service b/modules.d/98systemd/dracut-mount.service
index b478067..b26b8a5 100644
--- a/modules.d/98systemd/dracut-mount.service
+++ b/modules.d/98systemd/dracut-mount.service
@@ -11,8 +11,8 @@
Description=dracut mount hook
Documentation=man:dracut-mount.service(8)
DefaultDependencies=no
-After=dracut-pre-mount.service dracut-initqueue.service initrd-parse-etc.service local-fs.target
-Wants=local-fs.target
+After=dracut-pre-mount.service dracut-initqueue.service initrd-parse-etc.service root-fs.target initrd-fs.target
+Wants=root-fs.target initrd-fs.target
ConditionPathExists=/etc/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/mount
ConditionKernelCommandLine=|rd.break=mount
diff --git a/modules.d/98systemd/dracut-pre-mount.service b/modules.d/98systemd/dracut-pre-mount.service
index 39c830c..17bfda9 100644
--- a/modules.d/98systemd/dracut-pre-mount.service
+++ b/modules.d/98systemd/dracut-pre-mount.service
@@ -11,7 +11,7 @@
Description=dracut pre-mount hook
Documentation=man:dracut-pre-mount.service(8)
DefaultDependencies=no
-Before=sysroot.mount local-fs.target
+Before=sysroot.mount root-fs.target
After=dracut-initqueue.service
After=cryptsetup.target
ConditionPathExists=/etc/initrd-release
diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
index 40a0fb1..49f76ef 100644
--- a/modules.d/98systemd/dracut-pre-pivot.service
+++ b/modules.d/98systemd/dracut-pre-pivot.service
@@ -11,8 +11,8 @@
Description=dracut pre-pivot and cleanup hook
Documentation=man:dracut-pre-pivot.service(8)
DefaultDependencies=no
-After=dracut-mount.service dracut-initqueue.service initrd-parse-etc.service local-fs.target
-Wants=local-fs.target
+After=dracut-mount.service dracut-initqueue.service initrd-parse-etc.service initrd-fs.target root-fs.target
+Wants=initrd-fs.target root-fs.target
Before=initrd-cleanup.service
ConditionPathExists=/etc/initrd-release
ConditionDirectoryNotEmpty=|/lib/dracut/hooks/pre-pivot
diff --git a/modules.d/98systemd/emergency.service b/modules.d/98systemd/emergency.service
index 22115be..18bb45f 100644
--- a/modules.d/98systemd/emergency.service
+++ b/modules.d/98systemd/emergency.service
@@ -17,7 +17,7 @@ Wants=systemd-vconsole-setup.service
Environment=HOME=/
WorkingDirectory=/
ExecStart=/bin/dracut-emergency
-ExecStopPost=-/usr/bin/systemctl --no-block isolate dracut.target
+ExecStopPost=-/usr/bin/systemctl --no-block isolate initrd.target
Type=oneshot
StandardInput=tty-force
StandardOutput=inherit
diff --git a/modules.d/98systemd/dracut.target b/modules.d/98systemd/initrd.target
similarity index 73%
rename from modules.d/98systemd/dracut.target
rename to modules.d/98systemd/initrd.target
index 08a22d2..19494d4 100644
--- a/modules.d/98systemd/dracut.target
+++ b/modules.d/98systemd/initrd.target
@@ -1,11 +1,9 @@
[Unit]
-Description=dracut
+Description=Initrd Target
Requires=basic.target
Conflicts=rescue.service rescue.target
After=basic.target rescue.service rescue.target
AllowIsolate=yes
OnFailure=emergency.target
OnFailureIsolate=yes
-
-[Install]
-Alias=default.target
+ConditionPathExists=/etc/initrd-release
diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
index 32d4be5..443481a 100755
--- a/modules.d/98systemd/module-setup.sh
+++ b/modules.d/98systemd/module-setup.sh
@@ -45,6 +45,8 @@ install() {
$systemdsystemunitdir/basic.target \
$systemdsystemunitdir/halt.target \
$systemdsystemunitdir/kexec.target \
+ $systemdsystemunitdir/initrd-fs.target \
+ $systemdsystemunitdir/root-fs.target \
$systemdsystemunitdir/local-fs.target \
$systemdsystemunitdir/local-fs-pre.target \
$systemdsystemunitdir/remote-fs.target \
@@ -139,7 +141,7 @@ install() {
dracutsystemunitdir="/etc/systemd/system"
- mkdir -p "${initdir}${dracutsystemunitdir}/dracut.target.wants"
+ mkdir -p "${initdir}${dracutsystemunitdir}/initrd.target.wants"
mkdir -p "${initdir}${systemdsystemunitdir}/sysinit.target.d"
{
@@ -148,38 +150,38 @@ install() {
echo "After=emergency.service emergency.target"
} > "${initdir}${systemdsystemunitdir}/sysinit.target.d/nolocalfs.conf"
- inst_simple "$moddir/dracut.target" ${dracutsystemunitdir}/dracut.target
- ln -fs ${dracutsystemunitdir}/dracut.target "${initdir}${systemdsystemunitdir}/default.target"
+ inst_simple "$moddir/initrd.target" ${dracutsystemunitdir}/initrd.target
+ ln -fs ${dracutsystemunitdir}/initrd.target "${initdir}${systemdsystemunitdir}/default.target"
inst_script "$moddir/dracut-cmdline.sh" /bin/dracut-cmdline
inst_simple "$moddir/dracut-cmdline.service" ${dracutsystemunitdir}/dracut-cmdline.service
- ln -fs ../dracut-cmdline.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-cmdline.service"
+ ln -fs ../dracut-cmdline.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-cmdline.service"
inst_script "$moddir/dracut-pre-udev.sh" /bin/dracut-pre-udev
inst_simple "$moddir/dracut-pre-udev.service" ${dracutsystemunitdir}/dracut-pre-udev.service
- ln -fs ../dracut-pre-udev.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-pre-udev.service"
+ ln -fs ../dracut-pre-udev.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-pre-udev.service"
inst_script "$moddir/dracut-pre-trigger.sh" /bin/dracut-pre-trigger
inst_simple "$moddir/dracut-pre-trigger.service" ${dracutsystemunitdir}/dracut-pre-trigger.service
- ln -fs ../dracut-pre-trigger.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-pre-trigger.service"
+ ln -fs ../dracut-pre-trigger.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-pre-trigger.service"
inst_script "$moddir/dracut-initqueue.sh" /bin/dracut-initqueue
inst_simple "$moddir/dracut-initqueue.service" ${dracutsystemunitdir}/dracut-initqueue.service
- ln -fs ../dracut-initqueue.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-initqueue.service"
+ ln -fs ../dracut-initqueue.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-initqueue.service"
inst_script "$moddir/dracut-pre-mount.sh" /bin/dracut-pre-mount
inst_simple "$moddir/dracut-pre-mount.service" ${dracutsystemunitdir}/dracut-pre-mount.service
- ln -fs ../dracut-pre-mount.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-pre-mount.service"
+ ln -fs ../dracut-pre-mount.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-pre-mount.service"
inst_script "$moddir/dracut-mount.sh" /bin/dracut-mount
inst_simple "$moddir/dracut-mount.service" ${dracutsystemunitdir}/dracut-mount.service
- ln -fs ../dracut-mount.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-mount.service"
+ ln -fs ../dracut-mount.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-mount.service"
inst_script "$moddir/dracut-pre-pivot.sh" /bin/dracut-pre-pivot
inst_simple "$moddir/dracut-pre-pivot.service" ${dracutsystemunitdir}/dracut-pre-pivot.service
- ln -fs ../dracut-pre-pivot.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/dracut-pre-pivot.service"
+ ln -fs ../dracut-pre-pivot.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/dracut-pre-pivot.service"
- ln -fs ../initrd-parse-etc.service "${initdir}${dracutsystemunitdir}/dracut.target.wants/initrd-parse-etc.service"
+ ln -fs ../initrd-parse-etc.service "${initdir}${dracutsystemunitdir}/initrd.target.wants/initrd-parse-etc.service"
inst_rules 99-systemd.rules
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
index d2c803a..d4d1e77 100755
--- a/modules.d/99base/dracut-lib.sh
+++ b/modules.d/99base/dracut-lib.sh
@@ -839,9 +839,9 @@ wait_for_dev()
_name="${_name##/}"
_name="$(str_replace "$_name" '-' '\x2d')"
_name="$(str_replace "$_name" '/' '-')"
- if ! [ -L ${PREFIX}/etc/systemd/system/dracut.target.requires/${_name}.device ]; then
- [ -d ${PREFIX}/etc/systemd/system/dracut.target.requires ] || mkdir -p ${PREFIX}/etc/systemd/system/dracut.target.requires
- ln -s ../${_name}.device ${PREFIX}/etc/systemd/system/dracut.target.requires/${_name}.device
+ if ! [ -L ${PREFIX}/etc/systemd/system/initrd.target.requires/${_name}.device ]; then
+ [ -d ${PREFIX}/etc/systemd/system/initrd.target.requires ] || mkdir -p ${PREFIX}/etc/systemd/system/initrd.target.requires
+ ln -s ../${_name}.device ${PREFIX}/etc/systemd/system/initrd.target.requires/${_name}.device
fi
fi
}
|