Причиной сбоя стало включённое в ядро 6.12 изменение, добавляющее возможность настройки алгоритмов сжатия во время работы. Попутно в Kconfig была изменена логика выбора доступных алгоритмов сжатия на этапе сборки ядра. Изменение привело к проблемам в дистрибутивах, полагавшихся на настройки по умолчанию и по отдельности не включивших все доступные алгоритмы zRAM в конфигурации Kconfig для ядра 6.12.
После обновления до ядра 6.12 в подобных дистрибутивах доступным для выбора остался только выставленный по умолчанию базовый алгоритм сжатия, а не все поддерживаемые алгоритмы.
Соответственно, при попытке включения в zRAM алгоритмов, не совпадающих с алгоритмом по умолчанию, возникал сбой при загрузке. Например, при выборе алгоритма lz4 при загрузке возникала ошибка "zramctl: /dev/zram0: failed to set algorithm: Invalid argument", так как из алгоритмов оставалась только поддержка lzo и lzo-rle, вместо ранее поддерживаемых lzo, lzo-rle, 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"
Источник: https://www.opennet.ru/opennews/art.shtml?num=62451
(opennet.ru, мини-новости)