Чтиво: установка сервера часть 015
Перед началом компилирования ядра я взял и скопировал старый .config,
который использовался для компиляции ядра действующего сервера. Он
находился в исходниках ядра - для моей системы
/usr/src/linux-2.4.9-33/.config. На новый сервер я его скопировал с
помощью psftp.exe в /home/koal/files.
Ах да, еще развернул на время для удобства окно терминала, так что
теперь у меня 37 строк и 100 столбцов. При конфигурировании опций ядра
мне это очень пригодится.
Переместим .config в каталог с новыми исходниками:
$ cd files
$ su
$ cp .config /usr/src/linux
$ cd /usr/src/linux/
Теперь нужно выбрать, что необходимо для нового ядра, а что нет - так
называемые, опции конфигурирования.
$ make menuconfig
Появляется интерфейс для конфигурирования (для любителей черного экрана
и ненавистников gui существет возможность конфигурирования: make
config, для любителей компилирования ядра в Х-ах: make xconfig)
Дальше следует выбрать необходимое. Конкретных рекомендаций я дать не
могу. На эту тему написано много русскоязычной документации:
http://www.opennet.ru/base/sys/KERNEL.TXT
http://linuxshop.ru/unix4all/?cid=&id=238
http://lib.ru/LINUXGUIDE/linuxcon.txt
http://www.softerra.ru/review/oses/linux/12340/
Я же отключаю все устройства, которые мне на сервере не нужны и точно
стоять не будут. Особое внимание уделяю настрйке "Networking options" и
"Network device support". Когда конфигурирование закончено сохраняюсь
как в алтернативный файл (из соответствующей опции), так и в
станадртный (при выходе). Конфигуратор при выходе рекомендует мне
следующим действием запустить "make dep". Это стадия проверки
зависимостей между выбранными опциями. Но для начала "отличим" новое
ядро, сделаем его "своим". Для этого в mcdedit откроем файлик Makefile,
предварительно сделав его резервную копию:
$ cp Makefile Makefile.bak
$ mcedit Makefile
Теперь в строке "EXTRAVERSION=", напишем, чем это ядро будет отличаться
от других:
EXTRAVERSION=-01koal
Ну теперь можно продолжить:
$ make dep
У меня эта операция заняла 4 минуты. Если ядро из этих исходников
компилируется не в первый раз, то необходимо выполнить
$ make clean
Теперь приступим к компиляции самого ядра:
$ make bzImage
Это длительный процесс: на моей дохленькой машинке Celeron 433, 192 Мб:
865 BogoMIPS, он длился с 11 час. 12 мин. 50 сек. по 11 час. 24 мин. 20
сек. - почти 12 минут. Теперь нужно скомпилировать и установить модули
ядра:
$ make modules && make modules_install
***********************************************************************
Пока компилируются модули я расскажу, где можно посмотреть, какие
BogoMIPS у системы: для этого нужно посмотреть журнал сообщений при
загрузке
$ dmesg | less
Интересующие нас данные находятся в строчке
Calibrating delay loop... 865.07 BogoMIPS
BogoMIPS - это условные "попугаи" производительности системы.
***********************************************************************
Так, модули тоже скомпилировались. Процесс начался в 11 час. 30 мин. 30
сек. и кончился в 11 час. 42 мин. 20 сек. Таким образом тоже потратив
примерно 12 минут.
Чтобы инсталятор прописал ядро в системе, можно использовать "make
install".
$ make install
Что меня больше всего заинтересовало после выполнения этой команды? Это
строчки которые показывают размер получившегося ядра:
Boot sector 512 bytes.
Setup is 2522 bytes.
System is 718 kB
А также зайдем в каталог /boot и сравним там существующие ядра - старое
и новое:
$ cd /boot/
$ ls -l vmlinuz-*
-rw-r--r-- 1 root root 1126431 Апр 29 23:43 vmlinuz-2.4.20-9asp
-rw-r--r-- 1 root root 738490 Сен 23 11:43 vmlinuz-2.4.22-01koal
Как видно, новое ядро значительно меньше старого.
Теперь нужно изменить зарузчик, так чтобы он грузил новое ядро по
умолчанию.
$ mcedit /etc/lilo.conf
Я привожу получившийся /etc/lilo.conf
disk=/dev/hda
bios=128
boot=/dev/hda
prompt
timeout=30
lba32
default=newlinux
# ASPLinux
image=/boot/vmlinuz-2.4.20-9asp
#initrd=/boot/initrd.2.4.20-9asp.img
label=oldlinux
root=/dev/hda6
read-only
# MyLinux
image=/boot/vmlinuz-2.4.22-01koal
label=newlinux
root=/dev/hda6
read-only
применим сделанные изменения:
$ /sbin/lilo -v -v
Еще можно сохранить файл текущей конфигурации ядра в более безопасное
место:
$ cp /usr/src/linux/config_20030923 /boot/config_koal_20030923
Все. По-идее можно перезагружаться:
$ reboot
C уважением, Kolotov Alexandr (aka mr. Эбола)
отвечать: myscri***@e*****.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.linux.kirovlug&email=
http://subscribe.ru/ mailto:ask@subscribe.ru