diff --git a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh index efc8cc761..a48dc1e6b 100755 --- a/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh +++ b/overlay.d/05core/usr/lib/dracut/modules.d/35coreos-ignition/coreos-ignition-setup-user.sh @@ -14,6 +14,13 @@ copy_file_if_exists() { destination=/usr/lib/ignition mkdir -p $destination +# systemd v256 now runs the initrd with ProtectSystem=yes, which makes /usr +# read-only. Just remount it rw until we have: +# https://github.com/coreos/ignition/issues/1891 +if [ ! -w /usr ]; then + mount -o rw,remount /usr +fi + if is-live-image; then # Live image. If the user has supplied a config.ign via an appended # initrd, put it in the right place.