[systemd-commits] 2 commits - TODO man/systemd-nspawn.xml src/readahead units/systemd-readahead-collect.service.in units/systemd-readahead-replay.service.in
Lennart Poettering
lennart at kemper.freedesktop.org
Tue Apr 24 04:14:53 PDT 2012
TODO | 2 +
man/systemd-nspawn.xml | 37 ++++++++++++++---------------
src/readahead/readahead-collect.c | 16 +++++++-----
src/readahead/readahead-replay.c | 11 +++-----
units/systemd-readahead-collect.service.in | 1
units/systemd-readahead-replay.service.in | 1
6 files changed, 36 insertions(+), 32 deletions(-)
New commits:
commit 25f5971b5e0b3ab5b91a7d0359cd7f5a5094c1d0
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Apr 24 13:14:27 2012 +0200
man: rework nspawn man page to suggest yum --installroot instead of mock
diff --git a/man/systemd-nspawn.xml b/man/systemd-nspawn.xml
index 5bf43e8..cf67569 100644
--- a/man/systemd-nspawn.xml
+++ b/man/systemd-nspawn.xml
@@ -93,9 +93,12 @@
container.</para>
<para>Use a tool like
- <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry> or <citerefentry><refentrytitle>mock</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>
+ or
+ <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
to set up an OS directory tree suitable as file system
- hierarchy for <command>systemd-nspawn</command> containers.</para>
+ hierarchy for <command>systemd-nspawn</command>
+ containers.</para>
<para>Note that <command>systemd-nspawn</command> will
mount file systems private to the container to
@@ -202,27 +205,25 @@
<refsect1>
<title>Example 1</title>
- <programlisting># debootstrap --arch=amd64 unstable debian-tree/
-# systemd-nspawn -D debian-tree/</programlisting>
-
- <para>This installs a minimal Debian unstable
- distribution into the directory
- <filename>debian-tree/</filename> and then spawns a
- shell in a namespace container in it.</para>
+ <programlisting># yum --releasever=17 --nogpgcheck --installroot ~/fedora-tree/ install yum passwd vim-minimal rootfiles systemd
+# systemd-nspawn -D ~/fedora-tree /usr/lib/systemd/systemd</programlisting>
+ <para>This installs a minimal Fedora distribution into
+ the directory <filename>~/fedora-tree/</filename>
+ and then boots an OS in a namespace container in it,
+ with systemd as init system.</para>
</refsect1>
<refsect1>
<title>Example 2</title>
- <programlisting># mock --init
-# systemd-nspawn -D /var/lib/mock/fedora-rawhide-x86_64/root/ /sbin/init systemd.log_level=debug</programlisting>
+ <programlisting># debootstrap --arch=amd64 unstable ~/debian-tree/
+# systemd-nspawn -D ~/debian-tree/</programlisting>
- <para>This installs a minimal Fedora distribution into
- a subdirectory of <filename>/var/lib/mock/</filename>
- and then boots an OS in a namespace container in it,
- with systemd as init system, configured for debug
- logging.</para>
+ <para>This installs a minimal Debian unstable
+ distribution into the directory
+ <filename>~/debian-tree/</filename> and then spawns a
+ shell in a namespace container in it.</para>
</refsect1>
@@ -238,8 +239,8 @@
<para>
<citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
<citerefentry><refentrytitle>chroot</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
- <citerefentry><refentrytitle>mock</refentrytitle><manvolnum>1</manvolnum></citerefentry>
+ <citerefentry><refentrytitle>yum</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
+ <citerefentry><refentrytitle>debootstrap</refentrytitle><manvolnum>8</manvolnum></citerefentry>
</para>
</refsect1>
commit 3b2d5b02ae231f1d3eb0d96eb980155d7797304e
Author: Lennart Poettering <lennart at poettering.net>
Date: Tue Apr 24 13:12:29 2012 +0200
readahead: rather than checking for virtualization in the C code, use ConditionVirtualization= in the unit
diff --git a/TODO b/TODO
index e38c110..3683e6a 100644
--- a/TODO
+++ b/TODO
@@ -21,6 +21,8 @@ Bugfixes:
Features:
+* fedora: make sshd and pam_loginuid work in nspawn containers
+
* fix utmp for console logins in containers
* Add pretty name for seats in logind
diff --git a/src/readahead/readahead-collect.c b/src/readahead/readahead-collect.c
index 3e91d5c..008ede3 100644
--- a/src/readahead/readahead-collect.c
+++ b/src/readahead/readahead-collect.c
@@ -660,11 +660,17 @@ int main(int argc, char *argv[]) {
umask(0022);
- if ((r = parse_argv(argc, argv)) <= 0)
+ r = parse_argv(argc, argv);
+ if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/";
+ /* Skip this step on read-only media. Note that we check the
+ * underlying block device here, not he read-only flag of the
+ * file system on top, since that one is most likely mounted
+ * read-only anyway at boot, even if the underlying block
+ * device is theoretically writable. */
if (fs_on_read_only(root) > 0) {
log_info("Disabling readahead collector due to read-only media.");
return 0;
@@ -675,12 +681,8 @@ int main(int argc, char *argv[]) {
return 0;
}
- if (detect_virtualization(NULL) > 0) {
- log_info("Disabling readahead collector due to execution in virtualized environment.");
- return 0;
- }
-
- if (!(shared = shared_get()))
+ shared = shared_get();
+ if (!shared)
return 1;
shared->collect = getpid();
diff --git a/src/readahead/readahead-replay.c b/src/readahead/readahead-replay.c
index 7c263f6..f91020e 100644
--- a/src/readahead/readahead-replay.c
+++ b/src/readahead/readahead-replay.c
@@ -350,7 +350,8 @@ int main(int argc, char*argv[]) {
umask(0022);
- if ((r = parse_argv(argc, argv)) <= 0)
+ r = parse_argv(argc, argv);
+ if (r <= 0)
return r < 0 ? EXIT_FAILURE : EXIT_SUCCESS;
root = optind < argc ? argv[optind] : "/";
@@ -360,12 +361,8 @@ int main(int argc, char*argv[]) {
return 0;
}
- if (detect_virtualization(NULL) > 0) {
- log_info("Disabling readahead replay due to execution in virtualized environment.");
- return 0;
- }
-
- if (!(shared = shared_get()))
+ shared = shared_get();
+ if (!shared)
return 1;
shared->replay = getpid();
diff --git a/units/systemd-readahead-collect.service.in b/units/systemd-readahead-collect.service.in
index 63840b9..c5e1d52 100644
--- a/units/systemd-readahead-collect.service.in
+++ b/units/systemd-readahead-collect.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
Wants=systemd-readahead-done.timer
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
+ConditionVirtualization=no
[Service]
Type=notify
diff --git a/units/systemd-readahead-replay.service.in b/units/systemd-readahead-replay.service.in
index ad27395..7387eba 100644
--- a/units/systemd-readahead-replay.service.in
+++ b/units/systemd-readahead-replay.service.in
@@ -11,6 +11,7 @@ DefaultDependencies=no
Conflicts=shutdown.target
Before=sysinit.target shutdown.target
ConditionPathExists=/.readahead
+ConditionVirtualization=no
[Service]
Type=notify
More information about the systemd-commits
mailing list