Тут базисная идея, вокруг которой все крутится: не делать pivot_root.
Вторая базисная идея, "жирный" initrd с рекавери инструментами.
>> завязка initrd на структуру системы, или системы на структуру initrd делает это хрупким и кривым решением
>> хрупкимВся эта система как раз и городится для того, чтобы избавиться от "хрупкости" современных решений (гарантированно есть рекавери без перезагрузки)
>> кривым решением
Ну не знаю, как только научился писать скрипты, сразу пришла мысль "А так можно было?". Вот при постройке мышления через призму systemd, конечно такой мысли не будет. Будем ждать очередную опцию в systemd и радоваться как rhbm развивает IT и двигает нас в светлое будущее
>> "merged usr" уж точно не делает подобные вещи "нерешаемыми"
но, по крайней мере делает их сложней. Мейнтейнеры перестанут следить чтобы init (а может и getty, polkit и проч) не имел например свои разделяемые библиотеки на /usr (в итоге посыпавшийся хард тянет в бездну вместе с собой и init-ы с polkit-ами в придачу и нетуту у нася рекавери).
Оно то конечно можно нанять девопса, накупить оборудования, обмазаться RAID-ами, btrfs-ами со снапшотами, docker-ами (а может и k8s надо) и получить стройную и изящную систему с нереально малым временем восттановления после сбоев , а можно сделать непоправимое, недопустимое и осуждаемое - написать три шелл-скрипта по сотне (о боже!) строк, и получить (для специалиста некоего уровня квалификации) время восстановления, ну к примеру, приблизительно от десяти минут до нескольких часов (ну разобраться что-там и при необходимости нагуглить