<html>
<head>
<meta content="text/html; charset=windows-1252"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<div class="moz-cite-prefix">On 10/16/2014 06:49 AM, ChenQi wrote:<br>
</div>
<blockquote cite="mid:543FB0DF.4020209@windriver.com" type="cite">On
10/16/2014 06:59 PM, Peter A. Bigot wrote:
<br>
<blockquote type="cite">On 10/16/2014 04:19 AM, Chen Qi wrote:
<br>
<blockquote type="cite">Previously, if we set
'NO_RECOMMENDATIONS' to "1", we cannot reach login
<br>
in systemd systems. The problem is that several runtime
dependencies are
<br>
coded as 'recommended' in our project.
<br>
<br>
This patch makes the following changes.
<br>
1. Add util-linux-agetty as a runtime dependency.
<br>
Otherwise, getty services in systemd cannot start
correctly.
<br>
2. Add systemd-serialgetty as a runtime dependency.
<br>
Otherwise, serialgetty services cannot start correctly in
systemd and
<br>
we would have problem when using `runqemu qemux86
nographic'.
<br>
3. Remove 'systemd' from RDEPENDS of systemd-serialgetty.
<br>
systemd-serialgetty justs ships systemd unit files, even
if the init
<br>
manager is 'sysvinit', these files do no harm.
<br>
</blockquote>
<br>
This looks really weird. It doesn't make any sense that systemd
should depend on systemd-serialgetty; the original dependency
was right.
<br>
<br>
</blockquote>
<br>
If systemd-serialgetty should rdepends on systemd, then in the
same logic, we should also change sysvinit-inittab to rdepend on
sysvinit. I don't think this is right.<br>
</blockquote>
<br>
OK, that makes sense: systemd-serialgetty doesn't depend on systemd,
it's just not particularly useful without it. Without digging into
details, I could see a case for removing the RDEPENDS on systemd
from systemd-serialgetty. Maybe RRECOMMENDS is better.<br>
<br>
However, so much more so does systemd not depend on
systemd-serialgetty, so adding the dependency in the reverse
direction is simply wrong. A system without a serial console is
unusual but not invalid.<br>
<br>
<blockquote cite="mid:543FB0DF.4020209@windriver.com" type="cite">
<br>
<blockquote type="cite">serialgetty works fine under systemd with
all my configurations as-is.
<br>
<br>
</blockquote>
<br>
Yes. But it needs to be first installed to work correctly.
<br>
</blockquote>
<br>
Agreed.<br>
<br>
<blockquote cite="mid:543FB0DF.4020209@windriver.com" type="cite">
<blockquote type="cite">I think you need to look more closely at
your project-specific configuration to understand why things
aren't getting set up correctly for you.
<br>
<br>
</blockquote>
<br>
You can hand-edit local.conf with IMAGE_INSTALL_remove/_append to
workaround a lot of runtime dependency issue. The problem is that
setting 'NO_RECOMMENDATIONS' to "1" is valid, however, such valid
configuration would raise a non-workable minimal image.
<br>
</blockquote>
<br>
The documentation for NO_RECOMMENDATIONS has:
<a class="moz-txt-link-freetext" href="http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-NO_RECOMMENDATIONS">http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-NO_RECOMMENDATIONS</a><br>
<br>
Note: Some recommended packages might be required for certain system
functionality, such as kernel modules. It is up to you to add
packages with the <a class="link"
href="http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html#var-IMAGE_INSTALL"
title="IMAGE_INSTALL"><code class="filename">IMAGE_INSTALL</code></a>
variable. <br>
<br>
AFAICT, if this doesn't work for you because you use
NO_RECOMMENDATIONS, it's a problem with your configuration, not with
OE.<br>
<br>
Peter<br>
<br>
<blockquote cite="mid:543FB0DF.4020209@windriver.com" type="cite">
<br>
Try the following steps with the current project.
<br>
1. set NO_RECOMMENDATIONS to "1" in local.conf
<br>
2. Change in local.conf to use systemd as the init manager
<br>
3. bitbake core-image-minimal
<br>
4. runqemu qemux86 nographic
<br>
<br>
My point is that a system should let users login in on serial
console. Our sysvinit based system does this, and our systemd
based system should also do this.
<br>
<br>
<blockquote type="cite">Peter
<br>
<br>
<br>
<blockquote type="cite">
<br>
Signed-off-by: Chen Qi <a class="moz-txt-link-rfc2396E" href="mailto:Qi.Chen@windriver.com"><Qi.Chen@windriver.com></a>
<br>
---
<br>
meta/recipes-core/systemd/systemd-serialgetty.bb | 2 --
<br>
meta/recipes-core/systemd/systemd_216.bb | 5 ++---
<br>
2 files changed, 2 insertions(+), 5 deletions(-)
<br>
<br>
diff --git a/meta/recipes-core/systemd/systemd-serialgetty.bb
b/meta/recipes-core/systemd/systemd-serialgetty.bb
<br>
index 1c34d5c..f3acaad 100644
<br>
--- a/meta/recipes-core/systemd/systemd-serialgetty.bb
<br>
+++ b/meta/recipes-core/systemd/systemd-serialgetty.bb
<br>
@@ -36,8 +36,6 @@ do_install() {
<br>
fi
<br>
}
<br>
-RDEPENDS_${PN} = "systemd"
<br>
-
<br>
# This is a machine specific file
<br>
FILES_${PN} = "${systemd_unitdir}/system/*.service
${sysconfdir}"
<br>
PACKAGE_ARCH = "${MACHINE_ARCH}"
<br>
diff --git a/meta/recipes-core/systemd/systemd_216.bb
b/meta/recipes-core/systemd/systemd_216.bb
<br>
index ebf9395..62fe5c7 100644
<br>
--- a/meta/recipes-core/systemd/systemd_216.bb
<br>
+++ b/meta/recipes-core/systemd/systemd_216.bb
<br>
@@ -267,11 +267,10 @@ FILES_${PN} = " ${base_bindir}/* \
<br>
FILES_${PN}-dbg += "${rootlibdir}/.debug
${systemd_unitdir}/.debug ${systemd_unitdir}/*/.debug
${base_libdir}/security/.debug/"
<br>
FILES_${PN}-dev += "${base_libdir}/security/*.la
${datadir}/dbus-1/interfaces/
${sysconfdir}/rpm/macros.systemd"
<br>
-RDEPENDS_${PN} += "kmod dbus util-linux-mount udev (=
${EXTENDPKGV})"
<br>
+RDEPENDS_${PN} += "kmod dbus systemd-serialgetty
util-linux-mount util-linux-agetty udev (= ${EXTENDPKGV})"
<br>
RDEPENDS_${PN} += "volatile-binds"
<br>
-RRECOMMENDS_${PN} += "systemd-serialgetty
systemd-compat-units udev-hwdb\
<br>
- util-linux-agetty \
<br>
+RRECOMMENDS_${PN} += "systemd-compat-units udev-hwdb\
<br>
util-linux-fsck e2fsprogs-e2fsck \
<br>
kernel-module-autofs4
kernel-module-unix kernel-module-ipv6 os-release \
<br>
"
<br>
</blockquote>
<br>
</blockquote>
<br>
</blockquote>
<br>
</body>
</html>