Les utilisateurs des systèmes utilisant le mécanisme zRAM pour le stockage compressé de la partition d'échange en mémoire ont rencontré un problème entraînant un échec de démarrage après la mise à jour du noyau Linux vers la version 6.12. Le problème se manifeste sur Gentoo, Void et d'autres distributions prenant en charge zRAM et offrant des paquets avec de nouvelles versions du noyau.
La cause de l'échec est un changement intégré dans le noyau 6.12, ajoutant la possibilité de configurer les algorithmes de compression pendant le fonctionnement. En parallèle, la logique de sélection des algorithmes de compression disponibles a été modifiée dans Kconfig au moment de la compilation du noyau. Ce changement a entraîné des problèmes dans les distributions qui comptaient sur des réglages par défaut et qui n'avaient pas activé tous les algorithmes zRAM disponibles séparément dans la configuration Kconfig pour le noyau 6.12.
Après la mise à jour vers le noyau 6.12, dans ces distributions, seul l'algorithme de compression de base par défaut était disponible au choix, et non pas tous les algorithmes pris en charge. Ainsi, lors de la tentative d'activation de zRAM avec des algorithmes ne correspondant pas à l'algorithme par défaut, un échec de démarrage survenait. Par exemple, en choisissant l'algorithme lz4 au démarrage, une erreur se produisait : « zramctl: /dev/zram0: failed to set algorithm: Invalid argument », car seuls l'algorithme lzo était pris en charge, au lieu des algorithmes précédemment pris en charge lzo, lz4, lz4hc, 842 et zstd.
Le problème se résout en activant dans Kconfig chaque backend de compression séparément (les paramètres CONFIG_ZRAM_BACKEND_* ont été ajoutés dans le noyau 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"
Source : opennet.ru
