I’ve been looking at CoreOS at work. Specifically, at its error messages.
[FAILED] Failed to start Switch Root. See 'systemctl status initrd-switch-root.service' for details.
After booting from the ISO, it got as far as this, and dropped to an emergency shell. My heart sank a little when I saw systemctl; throwing systemd into the mix would surely make this problem even more complicated to diagnose and correct.
Turns out, CoreOS has a 1GiB memory floor, and I’d only allocated it 512MiB. I only knew this through this Stack Overflow answer; the CoreOS site makes no mention of this anywhere obvious, as far as I can tell.
For an OS professing to be a “Core”, it’s regrettable it doesn’t support a very common memory size, particulary in the very cloud environments it’s targeted at. Perhaps containers introduce such overhead as to require it?
And while I’m ranting, why is it that everything from software appliances, to speciailised Linux distributions with specific requirements don't do a simple memory check before exploding in spectacular fashion?
If you’ll excuse me, I'm going to use my FreeBSD boxes for a bit.