I tried to enable the plymouth and plymouthd in finalrd, after test, it could reboot without error message in low rate, most of time the system will hang at splashing cursor, and sometimes kernel crash. I doubt it might be the race condition between threads when shutdown. The good point is that I never saw /oldroot message again, it might be the right way to fix it, do you have more idea, or did I miss something? Thanks!
--- /usr/bin/finalrd 2020-09-10 22:53:09.000000000 +0800
+++ finalrd 2021-09-02 21:40:43.510819136 +0800
@@ -26,7 +26,7 @@
# will unmount all the things, and run our hooks
LD=`grep -Eow '/.*ld-.*.so' /proc/self/maps | head -1`
-for bin in /bin/sh /lib/systemd/systemd-shutdown
+for bin in /bin/sh /lib/systemd/systemd-shutdown /usr/bin/plymouth /usr/sbin/plymouthd
do
rm -f /run/finalrd-libs.conf
touch /run/finalrd-libs.conf
--- /usr/lib/finalrd/finalrd-static.conf 2020-09-10 22:53:09.000000000 +0800
+++ finalrd-static.conf 2021-09-02 21:40:30.104127176 +0800
@@ -15,3 +15,5 @@
C /run/initramfs/etc/ld.so.conf - - - - /etc/ld.so.conf
C /run/initramfs/etc/ld.so.cache - - - - /etc/ld.so.cache
C /run/initramfs/etc/ld.so.conf.d - - - - /etc/ld.so.conf.d
+C /run/initramfs/usr/bin/plymouth - - - - /bin/plymouth
+C /run/initramfs/usr/sbin/plymouthd - - - - /sbin/plymouthd
@xnox,
I tried to enable the plymouth and plymouthd in finalrd, after test, it could reboot without error message in low rate, most of time the system will hang at splashing cursor, and sometimes kernel crash. I doubt it might be the race condition between threads when shutdown. The good point is that I never saw /oldroot message again, it might be the right way to fix it, do you have more idea, or did I miss something? Thanks!
--- /usr/bin/finalrd 2020-09-10 22:53:09.000000000 +0800
+++ finalrd 2021-09-02 21:40:43.510819136 +0800
@@ -26,7 +26,7 @@
# will unmount all the things, and run our hooks
LD=`grep -Eow '/.*ld-.*.so' /proc/self/maps | head -1` systemd- shutdown systemd- shutdown /usr/bin/plymouth /usr/sbin/plymouthd libs.conf libs.conf finalrd/ finalrd- static. conf 2020-09-10 22:53:09.000000000 +0800 etc/ld. so.conf - - - - /etc/ld.so.conf etc/ld. so.cache - - - - /etc/ld.so.cache etc/ld. so.conf. d - - - - /etc/ld.so.conf.d usr/bin/ plymouth - - - - /bin/plymouth usr/sbin/ plymouthd - - - - /sbin/plymouthd
-for bin in /bin/sh /lib/systemd/
+for bin in /bin/sh /lib/systemd/
do
rm -f /run/finalrd-
touch /run/finalrd-
--- /usr/lib/
+++ finalrd-static.conf 2021-09-02 21:40:30.104127176 +0800
@@ -15,3 +15,5 @@
C /run/initramfs/
C /run/initramfs/
C /run/initramfs/
+C /run/initramfs/
+C /run/initramfs/