Здравствуйте, я хочу выстрелить себе в голову выкинуть из системы /etc/fstab, полностью переведя монтирование разделов под контроль systemd. Возможно ли это? И если да - куда кидать mount-файлы, в какой каталог?
Systemd и fstab
Да. systemd и при наличии /etc/fstab все равно монтирует разделы с помощью mount-юнитов, только они в этом случае временные и создаются с помощью systemd-fstab-generator.Возможно ли это?
IMHO, можно кидать в /etc/systemd/system, а можно и в /usr/lib/systemd/system. Лишь бы эти каталоги были уже доступны к моменту монтирования.куда кидать mount-файлы
Лишь бы эти каталоги были уже доступны к моменту монтирования.
То есть, без initrd никак.
[quote="urfin"]Лишь бы эти каталоги были уже доступны к моменту монтирования.
То есть, без initrd никак.[/quote]
Зачем тут initrd?
Штота не выходит у меня. Обычные разделы монтируются нормально, а как дело доходит до btrfs с его томами - сплошные фейлы.
[quote="urfin"]Лишь бы эти каталоги были уже доступны к моменту монтирования.
То есть, без initrd никак.[/quote]initrd есть во всех systemd-дистрибутивах, но он монтирует только основное: / и /usr (если он на другом разделе). В принципе, можно все делать только ядерными средствами, но с initrd быстрее, а также, при использовании спецмеханизмов, гибче и проще. Во всяком случае, пока еще никто от него не отказывается.
Поиграйтесь опциями After и Before в секции Unit. Может надо сначала модули загрузить.Штота не выходит у меня. Обычные разделы монтируются нормально, а как дело доходит до btrfs с его томами - сплошные фейлы.
Поиграйтесь опциями After и Before в секции Unit. Может надо сначала модули загрузить.[/quote][quote=fragment]Штота не выходит у меня. Обычные разделы монтируются нормально, а как дело доходит до btrfs с его томами - сплошные фейлы.
Какие модули?
fragment, не знаю, может быть файловой системы?
urfin, она жёстко встроена в ядро.
fragment, Я с btrfs не знаком, как-то без надобности она мне, поэтому не могу подсказать в чем точно дело. Попробуйте отследить после отработки каких юнитов монтируются разделы с btrfs, используя fstab. И хорошо проверьте, может какие опции монтирования в mount-юнитах неверно прописаны. И должны же быть возможности ручного запуска mount-юнитов по systemctl? Попробуйте сначала через ручной запуск, а потом уже можно будет и в automount загнать.
fragment, после запуска системы, если монтирование прописано в fstab, в /tmp создают все mount-юниты на все точки монтирования. Можно взять их оттуда и потом использовать. Правда не во всех есть секция Unit, но, думаю, это дело поправимое.
urfin, в каталоге /run/systemd/generator лежат сгенерированные mount-файлы. Вот файл корня, например:
# Automatically generated by systemd-fstab-generator
[Unit]
SourcePath=/etc/fstab
Before=local-fs.target
[Mount]
What=/dev/sda2
Where=/
Type=btrfs
FsckPassNo=0
Options=noatime,ssd_spread,discard,compress=lzo,space_cache,subvol=root/last-1
Но когда я копипащу это в свой mount-файл - ничего не выходит. Точнее, выходит, но не так как нужно: корень монтируется, но с другими опциями (больше похожими на дефолтные: relatime вместо noatime, ssd вместо ssd_spread и т.д.), а некоторые тома не монтируются вообще с руганью mount'а на то, что этот девайс уже смонтирован.
Ах да, корень мнотируется в режиме ro.
А fstab ты удалил при этом?
Покажи свои юниты.