Изменение настроек ядра Linux 6.12 привело к проблемам c zRAM в некоторых дистрибутивах
Дата публикации:Sun, 22 Dec 2024 11:17:04 +0300
Пользователи систем, использующих механизм zRAM для сжатого хранения раздела подкачки в памяти, столкнулись с проблемой, приводящей к сбою загрузки после обновления ядра Linux до версии 6.12. Проблема проявляется в Gentoo, Void и других дистрибутивах, поддерживающих zRAM и предлагающих пакеты с новыми версиями ядра.
Причиной сбоя стало включённое в ядро 6.12 изменение, добавляющее возможность настойки алгоритмов сжатия во время работы. Попутно в Kconfig была измена логика выбора доступных алгоритмов сжатия на этапе сборки ядра. Изменение привело к проблемам в дистрибутивах, полагавшихся на настройки по умолчанию и по отдельности не включивших все доступные алгоритмы zRAM в конфигурации Kconfig для ядра 6.12.
После обновления до ядра 6.12 в подобных дистрибутивах доступным для выбора остался только выставленный по умолчанию базовый алгоритм сжатия, а не все поддерживаемые алгоритмы.
Соответственно, при попытке включения в zRAM алгоритмов, не совпадающих с алгоритмом по умолчанию, возникал сбой при загрузке. Например, при выборе алгоритма lz4 при загрузке возникала ошибка "zramctl: /dev/zram0: failed to set algorithm: Invalid argument", так как из алгоритмов оставалась только поддержка lzo, вместо ранее поддерживаемых lzo, lz4, lz4hc, 842 и zstd.
Проблема решается включением в Kconfig каждого бэкенда сжатия по отдельности (настройки CONFIG_ZRAM_BACKEND_* были добавлены в ядре 6.12):
CONFIG_ZRAM_BACKEND_LZ4=y
CONFIG_ZRAM_BACKEND_LZ4HC=y
CONFIG_ZRAM_BACKEND_ZSTD=y
CONFIG_ZRAM_BACKEND_842=y
CONFIG_ZRAM_DEF_COMP_LZO=y
CONFIG_ZRAM_DEF_COMP="lzo"
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=62451