Ядро, которое идет вместе с дистрибутивом 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), чтобы была возможность выбрать версию ядра, с которой будет загружаться система. Сразу отказываться от старого проверенного ядра не стоит, вдруг при сборке ядра отключили что-то лишее и какое-нибудь устройство перестало работать. Поэтому не исключено, что ядро придется пересобирать несколько раз для того, чтобы достичь оптимальной производительности системы.
Камрад, какой у тебя получается размер rpm после сборки ядра через make rpm?
У меня оно просто гигантское получается, хотя делаю на основе действующего конфига. rpm 215 метров!!!
По-разному получается. Если вклепать в ядро все загружаемые модули, ядро действительно получится гигантское, но это не наш путь.
Последнее ядро что я собрал занимало примерно 2,6 Мб. Но как правило, компактное ядро получается не сразу, периодически приходится пересобирать его по нескольку раз с различными опциями.
В том то и штука, что для пробы собрал готовое дефолтное ядро на основе конфига из /boot. 245 мегов как с куста вся rpm-ка. И само ядрышко 80 метров в /boot заняло.
Через make && make install получилось как положено, хотя конфиг не менял.
Странно. Сборку начинал с make mrproper? По идее ядро должно собраться с теми опциями, с какими и было собрано дефолтное ядро.