Итак, ты решился на ЭТО.
Первое, что тебе надо - это компилятор. Набери в командной строке gcc и посмотри результат. Если выйдет справка, то всё нормально, если же command not found - значит, при установке забыли пункты типа software development.
Второе - собственно, исходники <!--emo&:)--><!--endemo-->. Их можно взять:
1) В дистрибутиве (пакеты с именами kernel-source)
2) В Инете (лучше всего на <a href='http://kernel.org' target='_blank'>Kernel.Org</a>)
Если сырцы брались из дистрибута, то они сами ставятся куда надо. Еси скачаны из Инета - то их надо вручную распаковать в каталог /usr/src. Всё это лучше делать в командной строке - компиляция много ресурсов тянет, и занимать их графикой не есть хорошо.
==============
Итак, ты получил каталог /usr/src/linux-2.4.### . Именно 2.4, т.к. 2.2 - слишком старые, 2.6 ещё официально не вышло (со всякими RC, pre, test и иже с ними лучше не связываться), а нечётные серии (2.3, 2.5 и т.д.) - это девелоперские, стабильность которых не гарантируется. Не забудь создать симлинк /usr/src/linux на /usr/src/linux-2.4.##, т.к. многие проги, собираемые из сырцов, ожидают наличия там текущего дерева исходников. Входи туда, ищи файл Makefile и открой его в любом редакторе (желательно не графическом <!--emo&;)--><!--endemo--> ). Первые 3 строки трогать не надо, а вот в строке EXTRAVERSION (там будет что-нибудь типа -10custom) поставь просто тире или точку и следом число - номер сборки. Я туда добавляю ещё и буквы, обозначающие патчи. И при каждой сборке это число надо менять - тогда свежие ядра не будут затирать старые, и риск грохнуть систему снижается практически до нуля.
(Лирическое отступление. Первым делом я вешаю патч для поддержки XFS, при этом добавляется буква x. Потом поставил сборный патч для увеличения скорости и стабильности..не придумал ничего лучше, и добавил р. В результате полное название выглядело как 2.4.18.хр . Народ смеялся - "Хрен Работать будет!". Так и оказалось...<!--emo&:lol:--><!--endemo-->)
После правки Makefile (и его сохранения <!--emo&:)--><!--endemo--> ) набирай команду make menuconfig. (Еси кто всё же из-под иксов работает, можно набрать make xconfig - будет то же самое, только в графике). На экране нарисуется конфигурационное меню, где выбирается то, что будет присутствовать в будущем ядре, и прописываются некоторые конфигурационные параметры. По большинству параметров можно вызвать подсказку. Многие вещи можно не только встроить в ядро, но и сделать в виде модулей - в нужный момент система сама их загрузит.
(Ещё отступление. Как-то довольно давно мы наблюдали этот механизм воочию. Был у нас комп со SCSI-стримером. Перекомпилили ядро, половину настроек в самой системе благополучно забыли, и вводим команду - "записать на стример". Дальше происходит следующее: система самостоятельно находит модуль, загружает его, скидывает всё, что надо, и замирает. Мы сидим болтаем. Снова слышно зюззяние стримера. Поворачиваемся и смотрим. Кассета выплюнута, а на экране мессага - "модуль долго не использовался и поэтому выгружен для экономии памяти." В комнате - всеобщий ступор.)
Когда пройдёшь все пункты(или не все - по желанию) жми Save and Exit. Конфигурирование закончено.
===========================
Наступил момент собственно компиляции. Выполняется она командой make install modules modules_install . (Вообще-то параметры можно и по одному писать, но проще все сразу - можно и уйти куда-нибудь.) В зависимости от количества настроек и мощности машины процесс займёт от 3-4 минут до 1,5-2 часа. После этого ты получишь скомпилированные и установленные ядро и модули. Ядро будет лежать в файле /boot/vmlinuz-2.4.###, а модули - в каталоге /lib/modules/2.4.###. Кроме того, в каталоге /boot автоматически создаётся симлинк vmlinuz, указывающий на последнее компилированное ядро.
==========================
Теперь надо вписать свежеиспечённое ядро в загрузчик. Если стоит lilo - то правь файл /etc/lilo.conf. В нём может оказаться следующее:
prompt #выводить список вариантов загрузки. Если этого параметра нет - сразу грузить ядро по умолчанию.
timeout=30 #сколько ждать реакции пользователя(в десятых долях секунды)
vga=ext #рулит видеоотображением при загрузке. В данном случае стоит ext - использовать режим 80х50
#default=new #образ по умолчанию, загружаемый по окончании таймаута
boot=/dev/hda #куда писать lilo. В данном случае - MBR первого диска
map=/boot/map #руками не трогать
install=/boot/boot.b #см. выше
message=/boot/message #сообщение, выдаваемое при загрузке. Лучше не трогать.
lba32 #требуется для винтов 60Г и выше
linear #может потребоваться для некоторых винтов(мне такие не встречались). Взаимоисключающее с предыдущим.
Дальше идут строки вида:
image=/boot/vmlinuz-2.4.20.x3 #что грузить
label=linux #как это обозвать в списке
root=/dev/hd## #где находится корневая ФС
read-only #так надо
Рекомендуется создать раздел со строкой
image=/boot/vmlinuz #всегда кажет на последнее компилённое ядро
прочее - см.выше
Если помимо Linux на винте живёт ещё кто-нибудь, то добавь
other=/dev/hd## #где ЭТО живёт
optional #не ругаться, еси такого не оказалось.
label=XPEHb #Как ЭТО называется
К вопросу о взаимодействии Boot-менеджеров. Стоит сразу решить, кто где живёт - кто в MBR, кто в загрЫзочных записях разделов, и рулить соответственно. У меня лично из всех загрузчиков одно(?) lilo и осталось.
После окончания правки выполни команду lilo. Вот и всё.
Еси в системе не lilo - смотри маны.
==============================
Теперь перезагружайся. Еси lilo графическое(встречается и такая жуть..), то переключайся в текстовый режим и пиши linux 3 (в предположении, что нужный элемент в списке называется linux). Это - команда перезагрузиться в текстовом режиме(без графики). После этого надо докомпилить дрова графики - по крайней мере, для последних карт nVidia и ATI. Дрова для них ищутся на соответствующих сайтах(а для ATI где-то неподалёку и точный адрес пробегал). В противном случае графика, скорее всего, не запустится. Устанавливаются дрова стандартно - разархивация и компиляция(для компиляции в большинстве случаев достаточно просто набрать make. В принципе, можно и с ядром делать так же..только по умолчанию там включается текстовый конфигуратор - когда придётся ответить на кучу вопросов подряд. Ошибся раз - начинай сначала..). Если же сразу после перекомпиляции ядра попытаться загрузить графику, то она, скорее всего, не загрузится(еси только там не мтарая видюха, дрова к которой входят в ядро. Как правило, 3D-ускорения в таких случаях не бывает.). Может, отсюда и проиходят ситуации - "я перекомпилил ядро, и у меня всё сдохло?". Здесь же докомпилируются дрова для других девайсов, и некоторые проги, если они добавляют свои модули в общую свалку модулей ядра(как, к примеру, BestCrypt). Вот, в общем-то, и всё...