Опыта сборки ядра в OpenSuse у меня не было, может более знающие люди подскажут - как правильно, т.к. хорошей информации по этой теме применительно к OpenSuse я не нашел.
Последовательность действий была такой:
установил пакет kernel-source
скачал патч IMQ, пропатчил исходники ядра
перешел в /usr/src/linux-2.6.34.7-0.3
make mrproper
make menuconfig - тут я ничего не менял. Только включил нужный мне пункт IMQ , все сохранил и вышел
make rpm -
Сборка ядра шла примерно час. В результате в /usr/src/packages/RPMS/i386 появился файл kernel-2.6.34.70.3desktop-1.i386.rpm размером около 300 (!) Мб
Установил его, зашел в Yast. В настройках загрузчика новое ядро не появилось. Может во время установки новое ядро стало поверх старого, ведь версия и имя остались прежними? Т.е. если сейчас перезагрузить, можно оказаться с единственным, возможно нерабочим ядром, или нет?
Подскажите, правильно ли я делал. Если нет, в чем ошибся.
Отвечу сам себе пока. Ядро собралось успешно. Загрузился в него, все прошло нормально. Желаемый модуль ядра IMQ в наличии. Но действительно собранное мной ядро стало поверх ядра из реп и в случае неудачи, у меня была бы нерабочая система. Как этого можно избежать? Где можно изменить версию, чтобы оно стало “вместе” а не “вместо” Ну и еще не ясно, почему оно получилось такого большого размера?
Ядро получилось размером 300 мб. Ничего лишнего туда я не добавлял, т.к. скопировал конфиг уже установленного ядра в системе.
За ссылку спасибо, эту инструкцию я прочитал самой первой, но она сразу вызвала подозрение:
Почему автор предлагает качать ванильное ядро, если исходники от разработчиков дистрибутива уже есть в репах? При этом еще нужно:
немного модифицировать инструменты, необходимые для сборки ядра.
Зачем это? Я не хочу собирать ванильное ядро, применяя напильник, это же не слака. Мне нужно взять родное ядро и репов, наложить патч и собрать все это “родными” средствами дистрибутива.
Смотря как именно Вы собирате ядро. debuginfo это как правило (или всегда?) параметр make/cmake/qmake… , т.е. Вы должны проверить команду сборки.
Если Вы собираете rpm-пакет, то смотрите файл /etc/rpm/macros.kernel-source. Там объявленны макросы, которые используются при сборке (которые потом использует spec).