Конфигурация ядра по умолчанию настроена для поддержки как можно большего количества оборудования. Ядро без разделителя с конфигурацией по умолчанию привело к размеру 1897996 КБ (включая ядро + модули). При удалении многих ненужных драйверов и опций (зачем мне нужен модуль HP, если у меня есть ноутбук Clevo), его размер составил 892892 кБ, что на 53% меньше по сравнению со стандартным ядром.
При установке модулей ядра добавьте параметр INSTALL_MOD_STRIP=1
. Это удалит все символы отладки и уменьшит размер для меня на 92% (с 892892 кБ до 69356 кБ). Обратите внимание, что это влияет только на устанавливаемые модули, а не на само ядро (vmlinuz):
make INSTALL_MOD_STRIP=1 modules_install
Из документации /kbuild /kbuild.txt:
INSTALL_MOD_STRIP
--------------------------------------------------
INSTALL_MOD_STRIP, if defined, will cause modules to be
stripped after they are installed. If INSTALL_MOD_STRIP is '1', then
the default option --strip-debug will be used. Otherwise,
INSTALL_MOD_STRIP value will be used as the options to the strip command.