LINUX.ORG.RU

Сообщения calelix

 

Фейлится монтирование корня в systemd

Форум — Linux-install

Установил я через debootstrap Debian jessie. Только ядро и systemd взял из бэкпортов: 4.8.0-0.bpo2-amd64, systemd 230.

Всё замечательно, только система факапится на монтировании корня: Failed to mount /.

ОС у меня установлена на LVM.

В процессе дебага выяснил, что всё монтируется великолепно ещё в initramfs. Далее успешно происходит чек диска и ремаунт юнитом systemd-remount-fs.

Но юнит local-fs.target не запускается из-за фейла зависимости -.mount:

[    4.801773] systemd[1]: -.mount: Directory / to mount over is not empty, mounting anyway.
[    4.802659] systemd[1]: -.mount: About to execute: /bin/mount /dev/mapper/os-root / -t ext4 -o errors=remount-ro
[    4.803013] systemd[1]: -.mount: Forked /bin/mount as 767
[    4.803234] systemd[1]: -.mount: Changed dead -> mounting
[    4.804544] systemd[767]: -.mount: Executing: /bin/mount /dev/mapper/os-root / -t ext4 -o errors=remount-ro
[    4.809787] systemd[1]: Received SIGCHLD from PID 767 (mount).
[    4.809862] systemd[1]: Child 767 (mount) died (code=exited, status=32/n/a)
[    4.809972] systemd[1]: -.mount: Child 767 belongs to -.mount
[    4.809990] systemd[1]: -.mount: Mount process exited, code=exited status=32
[    4.810005] systemd[1]: -.mount: Changed mounting -> failed
[    4.810290] systemd[1]: -.mount: Job -.mount/start finished, result=failed
[    4.810315] systemd[1]: Failed to mount /.

Утешительный вывод: Systemd пытается на кой-то хрен смонтировать корень в тот момент, когда он уже отлично смонтирован и хорошо себя чувствует. Если я перехожу в debug shell, вижу в что всё смонтировано отлично. Но на буте команда mount ожидаемо отдаёт ненулевой код, чем ломает local-fs.target и все зависимости далее.

Если убрать рут из fstab, то всё запускается замечательно, но тогда systemd-remount-fs не сработает (по исходникам он читает /etc/fstab хардкодно).

Вот мой /etc/fstab:

/dev/mapper/os-root	/	ext4	errors=remount-ro	0	1
/dev/mapper/data-storage	/var/lib/storage/	ext4	noatime,relatime,nodev,nosuid,noexec	0	0
UUID=fa1c680a-13d2-48c2-808d-bec1966ed483	none	swap	sw	0	0
UUID=2CB2-3E54	/boot/efi/	vfat	defaults	0	1

Если ставить не на lvm, а на раздел, то ничего не меняется.

Параметры загрузки ядра:

root=/dev/mapper/os-root ro rootfstype=ext4 systemd.debug-shell=1 systemd.log_level=debug systemd.log_target=kmsg log_buf_len=100M printk.devkmsg=on quiet splash

Очень помог ман по дебагу, но что-то я уже бессилен. https://freedesktop.org/wiki/Software/systemd/Debugging/

Как мне в итоге сказать systemd игнорировать уже смонтированный раздел? Что вообще творится? Да, параметр nofail игнорируется для рутовых разделов, о чём радостно рапортует systemd-fstab-generator.

Заранее отвечу на кой хрен мне systemd из бэкпортов — нужен networkctl.

 , , ,

calelix
()

RSS подписка на новые темы