ИТ Аутсорсинг высшего качества

Вернуться   Форум pingz.ru > Операционные системы и программы > Операционные системы семейства *NIX
Операционные системы семейства *NIX Linux, Unix, FreeBSD, Solaris и другие никсы. Баги, свежие версии, обсуждение и настройка

Ответ
 
Опции темы

Компиляция ядра Linux
Старый 27.12.2007, 09:58   #1
Mopo
The truth is a virus....
 
Аватар для Mopo
 
Mopo is Offline
Регистрация: 02.12.2007
Адрес: Нацрат-Илит
Сообщения: 1,010
Сказал(а) спасибо: 215
Поблагодарили 626 раз(а) в 369 сообщениях
Репутация: 695
Отправить личное сообщение для Mopo Отправить сообщение для  Mopo с помощью ICQ Отправить сообщение для Mopo с помощью MSN Посетить домашнюю страницу Mopo
По умолчанию Компиляция ядра Linux

Итак, наконец, ты поставил себе Линух и сидишь под ним вот уже который день/неделю/месяц (нужное подчеркнуть ). Но вот продвинутый друг/подруга намекнул тебе (а может, ты и сам догадался), что ядро твоей операционки, как бы это помягче сказать... морально устарело и его требуется обновить.

Намекнуть то намекнул (догадаться то догадался), а вот как это сделать? Не дрейфь, объясню "на пальцах"...

Итак... пристегнуть ремни и... прямым ходом на [Для просмотра данной ссылки нужно зарегистрироваться], а если влом тратить бабло на трафик или повремёнку, то сливай с какого-нибудь диска (а на сэкономленные деньги купи пива: отпраздновать твою первую компиляцию ядра ). С [Для просмотра данной ссылки нужно зарегистрироваться] качаешь подходящую версию ядра... здесь скажу пару слов о существующих ядрах Linux. Сейчас существуют, можно сказать, четыре ветви развития ядер:

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'ом. Далее, если у тебя дистриб "Красной шапки" или "Мандрэйка" даёшь команду:

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. Вот пример:

boot=/dev/hda

map=/boot/map

timeout=50

prompt

message=/boot/message

default=kernel-2.2.16

vga=normal

read-only

install=/boot/boot.b

image=/boot/bzImage

label=kernel-2.2.16

root=/dev/hda3

image=/boot/kernel-x.x.xx

label=kernel-x.x.xx

root=/dev/hda3

Вместо hda3 ставь свой Linux-раздел и вместо kernel-2.2.16 будет стоять твоё собственное старое ядро. Код, выделенный зелёным, - код загрузки нового ядра(подробнее смотри в доках по LILO). После сохранения даёшь команду:

lilo

Вот и всё!

reboot

После чего в меню выбираешь kernel-x.x.xx и смотришь: если не грузится, загрузи старое ядро и проверь все свои шаги, особенно, конфигурирование; если ядро загрузилось, даёшь команду:

uname -r

Должна появиться версия слитого ядра. Потом создаешь загрузочную дискету, так, на всякий случай:

mkbootdisk --device /dev/fd0 x.x.xx

Всё! Идёшь пить пиво... если деньги сэкономил

Источник: [Для просмотра данной ссылки нужно зарегистрироваться]
________________
"...Если тебе не по сердцу мой путь, выбери свой или выбери с кем,
а мне по барабану вся эта муть, я не червонец чтобы нравиться всем..."
©К. Кинчев

Последний раз редактировалось Zeits, 27.12.2007 в 16:09.
  Ответить с цитированием Подняться вверх - к началу темы
Эти пользователи сказали Спасибо Mopo за это полезное сообщение:

Re: Компиляция ядра Linux
Старый 13.01.2008, 00:15   #2
proton
Новичок
 
proton is Offline
Регистрация: 13.01.2008
Сообщения: 29
Сказал(а) спасибо: 3
Поблагодарили 22 раз(а) в 11 сообщениях
Репутация: 22
Отправить сообщение для  proton с помощью ICQ Посетить домашнюю страницу proton
По умолчанию Re: Компиляция ядра Linux

Рекомендую указать дистрибутив)
Судя по описанию вероятно один из семейства RedHat-совместимых (Mandriva, OpenSuSe, Fedora)

Последний раз редактировалось Zeits, 13.01.2008 в 02:43.
  Ответить с цитированием Подняться вверх - к началу темы
Ответ


Здесь присутствуют: 1 (пользователей - 0 , гостей - 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +4, время: 10:30.


skin developed by: HELLER
vBulletin, Copyright ©2000-2019
Русский перевод форума: zCarot, Vovan & Co

Internet Map