Как собрать ядро для OpenSuSe 11

The Linux Kernel
Ядро, которое идет вместе с дистрибутивом OpenSuSe 11, достаточно компактное и неплохо напичкано всякими примочками. Но если есть желание выжать из своей системы максимум возможностей, без пересборки ядра не обойтись.

Для начала надо установить пакет kernel-source через Yast. Исходники ядра лягут в свои директории, и создастся симлинк на эти исходники – /usr/src/linux.

После этого выполняем следующие команды:

cd /usr/src/linux
make mrproper

make mrproper создает такую же конфигурацию для компиляции ядра, которая сейчас используется в системе. Это очень удобно, из нее всего лишь надо будет выкинуть лишее или добавить желаемое.

make menuconfig

Это самый отвественный этап. Здесь выкидывается всякая ненужная хрень. Например, я собирал ядро для своего ноутбука. Там была масса всякой ненужной гадости, которая совершенно точно не пригодится на нем – поддержка RAID-массивов, виртуализация и многое другое. Если эти фичи поотключать, ядро становится меньше и соответственно, при использовании облегченного ядра остается больше ресурсов для других процессов. Здесь еще важно поменять название ядра. Если оно именовалось как default, то лучше его переименовать, например, в mykernel001. Потому что при выходе нового ядра kernel-default Yast просто-напросто перепишет облегченное ядро новой версией.

Дальше я делаю вот что:

make rpm

Ядро собирается очень долго, на моем старом ноутбуке процесс сборки занял около двух часов.
RPM пригодится, если у вас есть несколько ноутбуков одинаковых моделей. Для установки на другой ноутбук собранного ядра достаточно скопировать получившися rpm. Нет нужды повторно собирать ядро.
Получившееся ядро в виде rpm легко установить на любой из ноутбуков с помощью команд:

rpm -ivh kernel-2.6.25.160.1-2.i386.rpm
mkinitrd

После этого остается только поправить конфиг загрузчика (grub или lilo), чтобы была возможность выбрать версию ядра, с которой будет загружаться система. Сразу отказываться от старого проверенного ядра не стоит, вдруг при сборке ядра отключили что-то лишее и какое-нибудь устройство перестало работать. Поэтому не исключено, что ядро придется пересобирать несколько раз для того, чтобы достичь оптимальной производительности системы.

Как собрать ядро для OpenSuSe 11: 4 комментария

  1. Камрад, какой у тебя получается размер rpm после сборки ядра через make rpm?
    У меня оно просто гигантское получается, хотя делаю на основе действующего конфига. rpm 215 метров!!!

  2. По-разному получается. Если вклепать в ядро все загружаемые модули, ядро действительно получится гигантское, но это не наш путь.
    Последнее ядро что я собрал занимало примерно 2,6 Мб. Но как правило, компактное ядро получается не сразу, периодически приходится пересобирать его по нескольку раз с различными опциями.

  3. В том то и штука, что для пробы собрал готовое дефолтное ядро на основе конфига из /boot. 245 мегов как с куста вся rpm-ка. И само ядрышко 80 метров в /boot заняло.
    Через make && make install получилось как положено, хотя конфиг не менял.

  4. Странно. Сборку начинал с make mrproper? По идее ядро должно собраться с теми опциями, с какими и было собрано дефолтное ядро.

Обсуждение закрыто.