К вопросу об initrd/initramfs
Пишу это сообщение, теряя остатки разума.. Вначале был консольный buster-дебиан со стандартным ядром 4.19.0-8 и при установке initrd был выбран под текущую систему (его размер 7.3M). Скачено было только то, что нужно для сборки ядра и питон для работы diffconfig. Затем было собрано ядро 5.4.25 с кастомным конфигом (НЮАНС: алгоритмы сжатия ядра и инитрама - lzma). Далее установил его совместно с initrd без лишних фантазий через
make install
modules_install
). На текущем этапе initrd.img-5.4.25 весил около 12M. Но по дефолту было сжато gzip'ом. Поэтому было перепаковано lzma -> объём 9M.
Данное ядро было протестировано-все было ажурно.Затем хаос и магия поглотили маленький цифровой мирок
- 1. Установил gdm3 и gnome-terminal
- 2. Перезапустил и словил ошибку, что initramfs
ВНЕЗАПНОне lzma! «Подозрительно», - подумал я, поскреб бороду и перезапустил систему. - 3. Загрузился под «дефолтным» ядром, посмотрел на initrd... что-то сломалось внутри меня-размер вырос до 60M!!! Ожидаемо файл был в формате gzip (все указывает на то, что отработал update-initramfs/mkinitramfs).
- 4. Уже, практически машинально, перепаковал его в
lzma -9
(объём уменьшился до 56M) - 5. Загрузился под 5ым ядром-все работает, только с какого так раскукожило initrd??
Руководствуясь статьёй https://www.ylsoftware.com/news/469 заменил MODULES=most
на MODULES=list
.
( Отступление )
Также туда было добавлено COMPRESS=lzma
( чтобы не делать этого вручную )
В том числе, был подправлен mkinitramfs (установлена степень сжатия -9) Короче объём закономерно снизился на копейки (до 53M) Что я там только не вырезал из modules-размер менялся по мелочи.
Описал все действия для протокола (даже те, которые, уверен, абсолютно незначительны). Просто gdm сильный и независимый - захотел и что-то своё впендюрил в initrd. Природная брезгливость останавливает меня от ковыряния в этой наваленной куче, но... но что произошло? и как вернуть все взад назад? и есть ли в принципе рабочее руководство по уменьшению initrd (которое, возможно, пропустил)?