A degraded array used for the root filesystem DOES boot as expected on Bionic. My guess is that during boot the "poor-mans mdadm-last-resort@.timer" code from debian/initramfs/script.local-block is executed where as with non-root devices that is not the case and it potentially should use the actual mdadm-last-resort@ timer service?
Any filesystem in /etc/fstab not appearing results in an emergency mode boot (I'm not sure that is always sensible, but never the less, you can apparently specify 'nofail'). That leaves me guessing that the main issue I imagine is that the device doesn't appear - the question is why the timers/etc don't promote the degraded array to running after the timeout and allow the system to boot. Does the emergency mode timeout happen before it can do so?
A degraded array used for the root filesystem DOES boot as expected on Bionic. My guess is that during boot the "poor-mans mdadm-last- resort@ .timer" code from debian/ initramfs/ script. local-block is executed where as with non-root devices that is not the case and it potentially should use the actual mdadm-last-resort@ timer service?
Any filesystem in /etc/fstab not appearing results in an emergency mode boot (I'm not sure that is always sensible, but never the less, you can apparently specify 'nofail'). That leaves me guessing that the main issue I imagine is that the device doesn't appear - the question is why the timers/etc don't promote the degraded array to running after the timeout and allow the system to boot. Does the emergency mode timeout happen before it can do so?