Permalink
Browse files

Don't switch plymouth mode until the upgrade starts (#873144)

We were switching the plymouth mode to "updates" because it stopped the
progress meter. But plymouth doesn't like doing update-root-fs if mode
!= boot.

If you don't do update-root-fs, plymouth doesn't know where
to find /proc or /dev or its plugins, so there's no connection to the
console (hence no text output) and it can't find the graphical plugin
to start it back up.

So: use pause-progress to stop the progress meter, and then switch to
"updates" mode once the upgrade starts.
  • Loading branch information...
1 parent cfdba32 commit 99a16c23082d0b2704794452fa0f9f4bacb492f5 @wgwoods wgwoods committed Dec 20, 2012
Showing with 3 additions and 1 deletion.
  1. +1 −1 90system-upgrade/upgrade-pre-pivot.sh
  2. +2 −0 90system-upgrade/upgrade-pre.sh
@@ -3,5 +3,5 @@
if [ -d "${NEWROOT}${UPGRADEROOT}" ] && [ -L "${NEWROOT}${UPGRADELINK}" ]; then
echo "UPGRADEROOT=$UPGRADEROOT" > /run/initramfs/upgrade.conf
echo "UPGRADELINK=$UPGRADELINK" >> /run/initramfs/upgrade.conf
- plymouth change-mode --updates && plymouth system-update --progress=0
+ plymouth pause-progress
fi
@@ -11,6 +11,8 @@ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
source_conf /etc/conf.d
+plymouth change-mode --updates && plymouth system-update --progress=0
+
getarg 'rd.upgrade.break=pre' 'rd.break=upgrade-pre' && \
emergency_shell -n upgrade-pre "Break before upgrade-pre hook"
source_hook upgrade-pre

0 comments on commit 99a16c2

Please sign in to comment.