Bug 34850 - зависимость на модуль loop
Summary: зависимость на модуль loop
Status: CLOSED NOTABUG
Alias: None
Product: Sisyphus
Classification: Development
Component: cryptmount (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: pauli@altlinux.org
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-04-25 22:35 MSK by Michael A. Kangin
Modified: 2018-05-15 02:15 MSK (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michael A. Kangin 2018-04-25 22:35:42 MSK
В файле /etc/modules-load.d/cryptmount.conf прописан модуль loop.

Но в наших ядрах нет такого модуля, оно вкомпилено в ядро
config-4.14.16-un-def-alt0.M80P.1:CONFIG_BLK_DEV_LOOP=y
config-4.9.76-std-def-alt0.M80P.1:CONFIG_BLK_DEV_LOOP=y

(в отличие от RHEL)

Наличие зависимости на этот модуль заставляет systemd-modules-load огорчаться при старте системы и вылетать с ошибкой.
Comment 1 Pavel Isopenko 2018-05-07 09:41:25 MSK
Да, cryptmount старая утилита, до сих пор тестировалась и эксплуатировалась с sysvinit. Проблема понятна, смотрим что можно сделать.
Comment 2 Pavel Isopenko 2018-05-11 17:00:34 MSK
(В ответ на комментарий №1)
# dmesg | grep loop
[    1.349732] loop: module loaded

Прошу подсказки: как можно посмотреть на ошибку? Закомментировать loop в конфиге /etc/modules-load.d/cryptmount.conf не составит труда, как раз на 5.3 пора пересобирать - просто хочется разобраться в вопросе.
Comment 3 Michael A. Kangin 2018-05-11 20:13:23 MSK
(In reply to comment #2)
> (В ответ на комментарий №1)
> # dmesg | grep loop
> [    1.349732] loop: module loaded
> 
> Прошу подсказки: как можно посмотреть на ошибку? Закомментировать loop в
> конфиге /etc/modules-load.d/cryptmount.conf не составит труда, как раз на 5.3
> пора пересобирать - просто хочется разобраться в вопросе.

По идее, в системе с установленными systemd (точнее, этот systemd-modules-load сидит в systemd-utils) и cryptmount при старте сервис systemd-modules-load вылетает с ошибкой, можно заметить чтото там красненькое при загрузке.

Или при старте вручную:
# systemctl start systemd-modules-load
Job for systemd-modules-load.service failed because the control process exited with error code.
See "systemctl status systemd-modules-load.service" and "journalctl -xe" for details.

Статус соответственный:
# systemctl status systemd-modules-load
● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2018-05-11 17:02:45 UTC; 6min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 497 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=1/FAILURE)
 Main PID: 497 (code=exited, status=1/FAILURE)

В журнале:
-- Unit systemd-modules-load.service has begun starting up.
May 11 17:10:56 rescue-extra.localdomain systemd-modules-load[1289]: Failed to find module 'loop'
May 11 17:10:56 rescue-extra.localdomain systemd[1]: systemd-modules-load.service: Main process exited, code=exited, status=1/FAILURE
May 11 17:10:56 rescue-extra.localdomain systemd[1]: systemd-modules-load.service: Failed with result 'exit-code'.
May 11 17:10:56 rescue-extra.localdomain systemd[1]: Failed to start Load Kernel Modules.
-- Subject: Unit systemd-modules-load.service has failed
Comment 4 Pavel Isopenko 2018-05-14 13:07:18 MSK
Странно. У меня так:

[root@alttest etc]# cat /etc/modules-load.d/cryptmount.conf 
# Kernel modules needed by cryptmount
dm-crypt
loop
[root@alttest etc]# systemctl start systemd-modules-load
[root@alttest etc]# systemctl status systemd-modules-load
● systemd-modules-load.service - Load Kernel Modules
   Loaded: loaded (/lib/systemd/system/systemd-modules-load.service; static; vendor preset: disable
   Active: active (exited) since Mon 2018-05-14 12:55:16 MSK; 6min ago
     Docs: man:systemd-modules-load.service(8)
           man:modules-load.d(5)
  Process: 250 ExecStart=/lib/systemd/systemd-modules-load (code=exited, status=0/SUCCESS)
 Main PID: 250 (code=exited, status=0/SUCCESS)
    Tasks: 0 (limit: 4915)
   CGroup: /system.slice/systemd-modules-load.service

май 14 12:55:15 alttest.localdomain systemd-modules-load[250]: Inserted module 'dm_crypt'
май 14 12:55:15 alttest.localdomain systemd-modules-load[250]: Module 'loop' is builtin
май 14 12:55:15 alttest.localdomain systemd-modules-load[250]: Inserted module 'button'
май 14 12:55:16 alttest.localdomain systemd-modules-load[250]: Inserted module 'vboxdrv'
май 14 12:55:16 alttest.localdomain systemd-modules-load[250]: Inserted module 'vboxpci'
май 14 12:55:16 alttest.localdomain systemd-modules-load[250]: Inserted module 'vboxnetflt'
май 14 12:55:16 alttest.localdomain systemd-modules-load[250]: Inserted module 'vboxnetadp'
май 14 12:55:16 alttest.localdomain systemd[1]: Started Load Kernel Modules.
Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

systemd-modules-load прекрасно понимает, что Module 'loop' is builtin - и никаких проблем. Как проверялось: свежеустановланная Альт Рабочая станция 8.2, виртуалка KVM, управлялка virt-manager. Может быть дело в конкретной версии systemd или systemd-modules-load?
Comment 5 Michael A. Kangin 2018-05-14 18:10:04 MSK
(In reply to comment #4)
> Странно. У меня так:

хм, действительно странно. 

> systemd-modules-load прекрасно понимает, что Module 'loop' is builtin - и
> никаких проблем. Как проверялось: свежеустановланная Альт Рабочая станция 8.2,
> виртуалка KVM, управлялка virt-manager. Может быть дело в конкретной версии
> systemd или systemd-modules-load?

Это самосборный rescue, сделанный из двухнедельной давности P8.
(могу выложить)

Версии и наборы пакетов там такие:
# rpm -qa |grep systemd
systemd-services-237-alt2.M80P.2
systemd-networkd-237-alt2.M80P.2
pam_systemd-237-alt2.M80P.2
systemd-utils-237-alt2.M80P.2
systemd-sysvinit-237-alt2.M80P.2
systemd-237-alt2.M80P.2
systemd-analyze-237-alt2.M80P.2
libsystemd-237-alt2.M80P.2

cryptmount-5.2-alt1

Попробовал на домашней системе - действительно, там да, действительно loop определяется как встроенный без ошибки, там чутка устарелый P8 и systemd-utils-233-alt0.M80P.1

Похоже на регрессию в systemd тогда? 
Можете попробовать с новой версией?
Comment 6 Michael A. Kangin 2018-05-15 02:15:34 MSK
Кажется я нашёл корень зла - это моя локальная проблема.
Прошу прощения за беспокойство и потраченое время.

В моей сборке не было файла modules.buildin - очевидно, systemd на него интенсивно ориентируется.