+1. systemctl очень удобная вещь. Прописал себе запуск файловых
btrfs с виртуалками, поверх bcache, поверх mdadm, учитывая
последовательность запуска. И работает без нареканий, и корректно
отрабатывает выключение системы. Главное, что ты можешь указать,
запуск каких модулей необходим прежде, чем запускать твой скрипт,
который ты добавляешь, а так же можешь указать, какие модули нужно
запускать только после твоего скрипта, обеспечивая гарантированно
корректные загрузку и выключение.
Признаюсь, разобраться было сложно и уже забыл, как делается в деталях (делал всего пару раз, с большими перерывами), но относительная стройность структуры взаимосвязей модулей (скриптов) при запуске мне очень понравилась. В отличие от единого скрипта загрузки, возможен параллельный запуск процессов, что ускоряет дело.