| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a package with a postsints script requires ldconfig, the package class adds
a ldconfig postinst fragment to initialize it before. Systemd has its own
ldconfig.service to initialize it and sometimes if both services are running
at the same time in the first boot, the first one will work, but the second
one will fail with the following error:
ldconfig[141]: /sbin/ldconfig: Renaming of /etc/ld.so.cache~ to /etc/ld.so.cache failed: No such file or directory
This commit adds a ordering dependency between them to make sure that only one
service is running at the same time.
(From OE-Core rev: 1bc254e7969f3d5470bacf9ad9f065d38b7b7fde)
Signed-off-by: Arturo Buzarra <arturo.buzarra@digi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 4e9d812e127dc6743f52f4881e509e8e2e833afe)
Signed-off-by: Jermain Horsman <jermain.horsman@nedap.com>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
run-postinsts is only expected to run once, but during startup, but if
any dependency is pulled into a transaction, even once it has been
marked disabled, then it can be restarted.
This leads to occasional failures during QA if an ssh session starts
whilst the existing transaction is still running:
Finished Run pending postinsts.
run-postinsts.service: Succeeded.
Condition check resulted in Commit a transient machine-id on disk being skipped.
Condition check resulted in Bind mount volatile /srv being skipped.
Condition check resulted in Bind mount volatile /var/spool being skipped.
Condition check resulted in Bind mount volatile /var/lib being skipped.
Condition check resulted in Bind mount volatile /var/cache being skipped.
Condition check resulted in Platform Persistent Storage Archival being skipped.
Condition check resulted in Rebuild Hardware Database being skipped.
Starting Run pending postinsts...
Condition check resulted in Kernel Configuration File System being skipped.
Condition check resulted in FUSE Control File System being skipped.
Condition check resulted in Load Kernel Modules being skipped.
Condition check resulted in File System Check on Root Device being skipped.
Condition check resulted in Huge Pages File System being skipped.
Condition check resulted in Journal Audit Socket being skipped.
dropbear@125-192.168.7.2:22-192.168.7.1:44226.service: Succeeded.
Condition check resulted in Platform Persistent Storage Archival being skipped.
Started SSH Per-Connection Server (192.168.7.1:44226).
dropbear@124-192.168.7.2:22-192.168.7.1:44224.service: Succeeded.
Started SSH Per-Connection Server (192.168.7.1:44224).
Condition check resulted in Commit a transient machine-id on disk being skipped.
Condition check resulted in Bind mount volatile /srv being skipped.
Condition check resulted in Bind mount volatile /var/spool being skipped.
Condition check resulted in Bind mount volatile /var/lib being skipped.
Condition check resulted in Bind mount volatile /var/cache being skipped.
Condition check resulted in Platform Persistent Storage Archival being skipped.
Condition check resulted in Rebuild Hardware Database being skipped.
Failed to start Run pending postinsts.
run-postinsts.service: Failed with result 'start-limit-hit'.
run-postinsts.service: Start request repeated too quickly.
Setting RemainAfterExit ensures that the unit remains active and is not
gratuitously restarted, unless done so explicitly using systemctl
restart.
(From OE-Core rev: 6e78fd580a8c6ed9d886b8431974baf6c988831c)
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Start opkg/dpkg as soon as the respective package managers status
file is present, no matter whether /etc/$pm-postinsts exists. This
decouples the implicit link between postinsts scripts in /etc and
the package manager: Currently the package manager is only started
if those scripts are present, although the package manager does not
use those scripts at all! Package managers install their own set of
postinst scripts.
The behavior when using rpm packages stays the same.
Note that using the package managers capability to execute postinst
scripts is preferred for good reasons: It makes sure that the
package managers database reflects that the packages have been
completely installed and configured.
This change allows to drop installation of the postinsts scripts
when package management is present. This will be done in a separate
change.
Note: Before commit 5aae19959a44 ("rootfs.py: Change logic to
unistall packages") rootfs.py did not install /etc/$pm-postinsts
when package management is installed! The change caused YOCTO #8235
which lead to the behavior change of run-postinsts in first place.
(From OE-Core rev: 1af421fcf05457223bf271f3951599b6c150cdff)
Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In case a systemd service disables itself while init is still in its
boot sequence the reloading of the service files can be problematic.
In that case: It seems that systemd looses the state of .device units,
and some services depend on such units (namely serial consoles such as
serial-getty@ttymxc0.service). As a result no getty is spawned on the
affected serial tty.
After a power-cycle the second boot (which does not disable services)
succeeds.
The following sequence shows this problem:
| Jan 09 16:36:28 apalis-t30 systemctl[162]: Removed /etc/systemd/system/sysinit.target.wants/run-postinsts.service.
| Jan 09 16:36:28 apalis-t30 systemd[1]: Reloading.
| ...
| And then the failing one:
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start timed out.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Timed out waiting for device dev-ttyS0.device.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Dependency failed for Serial Getty on ttyS0.
| Feb 22 15:33:15 apalis-t30 systemd[1]: serial-getty@ttyS0.service: Job serial-getty@ttyS0.service/start failed with result 'dependency'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: dev-ttyS0.device: Job dev-ttyS0.device/start failed with result 'timeout'.
| Feb 22 15:33:15 apalis-t30 systemd[1]: Reached target Login Prompts.
(the time has been updated between this two events, but that does not
influence the issue)
Using --no-reload in the service file avoids the "Reloading." message
above and seems to not cause such issues anymore.
Reported-by: Stefan Agner <stefan.agner@toradex.com>
(From OE-Core rev: 23b359b6e26d0b17037bf955bd15a16a3fd9ab8f)
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
(cherry picked from commit 4a425d05bac5dcba023b67aa3d726f7e7869404f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
|
|
|
|
|
|
|
|
| |
The basic.target itself requires sysinit.target, so there's no
need to write this redundant line in the run-postinsts unit file.
(From OE-Core rev: 28835fcd78fd35db6d3bd7ee2be16904ddf11991)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
This patch mainly adds a systmd service file for run-postinsts,
which is started at first boot to run the post-install scripts.
Apart from this, this patch also modifies the installation location
of run-postinsts to ${sbindir}. This is because this script would be
used by both sysvinit and systemd based images. So it's more reasonable
to make it locate under ${sbindir}.
[YOCTO #5719]
(From OE-Core rev: 5933fbef26ffbc8140248ffb28957f36a813054b)
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|