Настройка, оптимизация, советы Linux - Сегодня разбираем Компеляцию ядра Linux
Первым делом идём на http://ftp.kernel.org, и качаем подходящую версию ядра. Сейчас существуют, можно сказать, четыре ветви развития ядер: 1. Ядра версии 2.4.xx - наиболее "качественные" на мой взгляд ядра, xx - цифра, чем она выше, тем новее ядро (далее везде: x - цифры версии слитого ядра). 2. Ядра версии 2.5.xx - так называемые экспериментальные, нестабильные ядра, если ты в душе экспериментатор и в детстве взрывал на балконе магний или селитру, можешь смело качать :) , ощущения
получишь незабываемые. 3. Ядра версии 2.2.xx - скажу честно, что ЭТО такое я не знаю, не знаю и того, ПОЧЕМУ до сих пор развивается эта ветвь, когда существует 2.4.xx. Себе я эти ядра не ставил, так что советовать не буду. 4. Ядра версии 2.6.xx эти ядра вобрали в себя всё наиболее стабильное из ветки 2.5.xx. Ядро работает значительно быстрее всех остальных, но есть маленькое но: новый формат модулей и как следствие проблемы с установкой дров(всё описанное ниже к этой ветке не применимо). Скачали
ядро?
далее логинимся в систему под root'ом (Супер пользователь систем с абсолютно всеми правами). Если у Вас дистрибутив "RedHat LE"или "Mandrake Linux" набираете команду: rpm -q kernel-headers kernel-source make dev86 Если эти rpm'ы не
установлены, поставьте их. Возможно, на других дистрибах тоже придётся проверить их наличие. Потом идёте в папку, куда сскачали ядро (заметьте папка должна находиться на Linux-разделе, т. е. Ext2/Ext3/ReiserFS и даёте команду: tar zxvf имя_файла.tar.gz Эта команда распакует ядро. Теперь идёшь в появившуюся папку (что-то вроде linux-x.x.xx) и даёшь одну из следующих команд, на выбор: если вы сидите под Иксами: make xconfig если в консоли: make config или make menuconfig Все эти команды запускают утилиту настройки будущего ядра. На мой взгляд, наиболее удобна утилита, вызываемая последней командой. Все эти тулзы делают ОДНО И ТОЖЕ и выбор одной из них, определяется лишь личными предпочтениями. По конфигурированию
ядра могу дать лишь общие советы, т. к. настройка ядра индивидуальна для каждого компа. Общие советы: 1. Если у тебя PentiumPro/II/III/IV, Celeron или AMD K6 и выше, включи поддержку MTRR; 2. Запрети установку модулей для чипсетов, которых у тебя нет, например: CMD640, etc; 3. Разреши поддержку Generic PCI bus-master DMA и использование DMA по умолчанию(Use DMA be defaults); 4. Разреши поддержку твоего чипсета, например: VIA82C586 для VIA VP2/3 и MVP3 материнских плат; 5. Разреши только
те SCSI-контроллеры, которые у тебя есть, если их у тебя нет, запрещай все нафиг; 6. Запрети все сетевые устройства, которых у тебя нет, и поддержка которых тебе нафиг не сдалась; 7. Установи значение Unix98 PTYs равное 128; 8. Установи 'persistant dma buffer' в настройках звука; 9. Запрети все файловые системы, которые тебе не нужны, оставь лишь те, которые у тебя действительно есть, например: ISO 9660 CDROM, VFAT, Second extended fs, Ext2, Ext3, /dev/pts, /proc; 10. Если твой комп
не сервак, то запрети все сетевые файловые системы(NFS); 11. Если у тебя нет ISDN-модема, запрети все ISDN-устройства; 12. Запрети поддержку IPv6; 13. Если у тебя нет ноутбука или PCMCIA-карт запрети их поддержку; 14. Если юзаешь dial-up, разреши поддержку протокола PPP(Point to Point Protocol); В общем, разреши поддержку только тех устройств, которые у тебя есть! И ещё: в некоторых пунктах можно выбрать одно из трёх значений: Y/M/N, так вот:
Y - разрешить поддержку на уровне
ядра; M - разрешить поддержку на уровне модуля ядра; N - запретить поддержку.
"Что же выбирать, если хочешь включить поддержку, Y или M" - спросишь ты. Мой совет: если хочешь, чтобы ядро быстрее грузилось и не хочешь лишнего геморроя с подключением модулей, выбирай - Y; если же хочешь, чтобы ядро занимало меньше памяти, выбирай - M, но тогда придётся возиться с подключением модулей, а это тема для другой статьи... которая может быть и появится... Когда закончишь, сохрани все изменения
и вываливайся в консоль. Теперь даёшь команду: make dep Создаётся так называемый файл зависимостей. Следующие команды с пояснениями:
make clean - убираем лишний исходный код; make bzImage - создаём сжатый модуль ядра; make modules
- создаём модули; make modules_install - устанавливаем модули;
Всё, ядро скомпилено, но не спеши давать команду reboot, необходимо внести изменения в загрузчик. Сначала копируй файлик /путь_к_ядру/arch/i386/boot/bzImage в папку /boot. Далее привожу пример конфигурации LILO. Правь файл /etc/lilo.conf. Вот пример:
Вместо hda3 ставь свой Linux-раздел и вместо kernel-2.2.16 будет стоять твоё собственное старое ядро. Код, выделенный зелёным, - код загрузки нового ядра(подробнее смотри в доках по LILO). После сохранения даёшь команду:
lilo
Вот и всё!
reboot
После чего в меню выбираешь kernel-x.x.xx и смотришь: если не грузится, загрузи старое ядро и проверь все свои шаги, особенно, конфигурирование; если ядро загрузилось, даёшь команду: uname -r Должна появиться версия слитого ядра. Потом создаешь загрузочную
дискету, так, на всякий случай: mkbootdisk --device /dev/fd0 x.x.xx На этом всё) Наслаждайтесь новым ядром своей Оси)