Bug 44828 - Не добавляются модули необходимые для включения устройства, которое содержит swap
Summary: Не добавляются модули необходимые для включения устройства, которое содержит ...
Status: REOPENED
Alias: None
Product: Sisyphus
Classification: Development
Component: installer (show other bugs)
Version: unstable
Hardware: all Linux
: P5 normal
Assignee: Антон Мидюков
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-01-07 09:26 MSK by Антон Мидюков
Modified: 2024-02-20 18:37 MSK (History)
10 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Антон Мидюков 2023-01-07 09:26:14 MSK
Установил систему на nvme, а swap расположил на SATA-диске /dev/sda1. В результате система грузится очень долго, так как ожидается swap раздел, указанный в resume= в cmdline ядра. В initrd не попали модули sd_mod.ko и ahci.ko. Добавил их в initrdm.mk, сделал make-initrd, система стала загружаться без задержки.

Необходимо, чтобы добавлялись модули необходимые не только для монтирования корня, но и swap.
Хотел предложить смотреть в /proc/cmdline, но это плохое решение при установке системы, там resume= ещё нет. Видимо, нужно для всех найденных swap это делать. В конце концов resume можно задать при загрузке другой.
Comment 1 Alexey Gladkov 2023-01-07 17:51:53 MSK
Мне не очень нравится идея тащить все swap в initrd. Разве что сделать это отдельной отключаемой фичёй.
Comment 2 Alexey Gladkov 2023-01-08 10:01:12 MSK
В момент генерации initrd в /proc/cmdline был resume= ?
Comment 3 Антон Мидюков 2023-01-08 11:07:01 MSK
(Ответ для Alexey Gladkov на комментарий #2)
> В момент генерации initrd в /proc/cmdline был resume= ?

Перепроверил. Действительно, проблема только сразу после установки. В установленной системе сделал make-initrd и проблема исправилась, модули попали. При установке в /proc/cmdline resume= нет, а в установленной системе есть.

Итого: нужна возможность при выполнении make-initrd указать раздел со swap, для которого нужно добавить модули ядра.
Comment 4 Alexey Gladkov 2023-01-08 15:22:12 MSK
Для добавления модулей для какого-то файла устройства можно использовать переменную DEVICES.
Comment 5 Антон Мидюков 2023-01-08 19:04:15 MSK
(Ответ для Alexey Gladkov на комментарий #4)
> Для добавления модулей для какого-то файла устройства можно использовать
> переменную DEVICES.

# make-initrd -v DEVICES+=/dev/sda1
[00:00:00] Config file: /etc/initrd.mk
GUESS_MODULES        = bootconfig common device keyboard lkrg net qemu rdshell resume root ucode
PASSED_GUESS_MODULES = 
Processing guess-bootconfig ...
Processing guess-common ...
Processing guess-device ...
fstype: No filesystem found for 'swap'
make[2]: *** [/usr/share/make-initrd/guess/device/rules.mk:5: guess-device] Error 1
make[1]: *** [/usr/share/make-initrd/mk/make-initrd.mk:181: process-config] Error 2
make: *** [/usr/share/make-initrd/mk/make-initrd.mk:172: all] Error 1
Comment 6 Alexey Gladkov 2023-01-08 19:31:19 MSK
А вот это бага.
Comment 7 Repository Robot 2023-01-09 23:35:09 MSK
make-initrd-2.34.0-alt2 -> sisyphus:

 Mon Jan 09 2023 Alexey Gladkov <legion@altlinux.ru> 2.34.0-alt2
 - guess: Do not fail if device filesystem type is swap (ALT#44828).
Comment 8 Антон Мидюков 2024-02-20 18:37:18 MSK
Проблему нужно решать в инсталляторе, она до сих пор актуальна.