Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Изучение Linux.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.5 Mб
Скачать

17.3Подготовка

Перед тем как осуществлять конфигурирование и перекомпиляцию ядра, было бы хорошей идеей сделать резервную копию действующей версии и желательно системы в целом. Резервная копия системы избавит Вас от многих проблем, которые могут возникнуть как результат допущенных ошибок в процессе конфигурирования и сборки ядра.

Если вы решили оптимизировать или переконфигурировать текущую версию ядра, то для начала проверьте наличие исходных кодов, обычно они располагаются в каталоге /usr/src/linux-X.X.X, где X.X.X номер версии ядра. Если таковых не оказалось вам необходимо установить их с дистрибутивного диска или взять с ftp://ftp.kernel.org/pub/linux/kernel/.

Если у вас установлено действующее ядро, и вы просто решили произвести обновление до последней новейшей версии, т.е. другими словами произвести minor-update (к примеру, у вас установлено скомпилированное (build) 2.4.19 вырешили произвести обновление до 2.4.20). В таком случае вам необходимо сохранить конфигурационный файл вашего ядра для дальнейшего использования и с целью минимизировать затраты времени в дальнейшем, так как выполнение команды make mrproper удалит имеющийся у вас конфигурационных файл.

bash# mkdir /usr/src/kernelconfigs

bash# mv /usr/src/linux/.config/usr/src/kernelconfigs/.config.save

Еще один метод это копирование старого конфигурационного файла из дерева старого ядра в дерево нового а также специфично для некоторых версий linux (например, Red Hat).

bash# rm /usr/src/linux-2.4

bash# ls -l /usr/src/linux-2.4 /usr/src/linux-2.4.X, где X ваше ядро bash# cd /usr/src/linux-2.4

bash# cp /usr/src/linux-2.4.19/.config .

Есть и еще один метод make oldconfig в данном случае конфигуратор самостоятельно ответит на большинство вопросов обращенных обычно к вам.

В новых версиях ядер может быть использована команда

#make cloneconfig

Замечание:

Если у вас недостаточно места в каталоге /usr/src/ для выполнения операций вы можете осуществить эти операции в любом каталоге единственное что ....

симлинк /usr/src/linux должен указывать на местоположение нового ядра.

Узнать заранее список вашего оборудования:

# lspci

0000:00:00.0 Host bridge: Silicon Integrated Systems [SiS] 745 Host (rev 01)

0000:00:01.0 PCI bridge: Silicon Integrated Systems [SiS] Virtual PCI-to-PCI bridge (AGP)

0000:00:02.0 ISA bridge: Silicon Integrated Systems [SiS] SiS85C503/5513 (LPC Bridge)

0000:00:02.1 SMBus: Silicon Integrated Systems [SiS]: Unknown device 0016

0000:00:02.2 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)

0000:00:02.3 USB Controller: Silicon Integrated Systems [SiS] USB 1.0 Controller (rev 07)

0000:00:02.5 IDE interface: Silicon Integrated Systems [SiS] 5513 [IDE] (rev d0)

0000:00:05.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)

0000:00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)

0000:01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 440] (rev a3)

17.4Компиляция (Make)

Распакуйте исходные коды ядра, например командой

tar xzvf linux-2.4.20.tar.gz

Далее комментариев не требуется. cd /usr/src/linux;

mkdir /usr/src/kernelconfigs;

cp /usr/src/linux/.config /usr/src/kernelconfigs/.config.save;

#при условии если вы хотите сохранить конфигурацию.

make clean;

make mrproper;

make clean;

cp /usr/src/kernelconfigs/.config.save .config

Далее в зависимости от ваших желаний:

make config # выполнить конфигурирование в консоли

make menuconfig # выполнить конфигурирование с помощью меню в консоли (требует наличие библиотеки ncurses)

make oldconfig # выполнить конфигурирование с учетом старой конфигурации (вам придется ответить на вопросы связанные только с устанавливаемым ядром все остальное самостоятельно)

make xconfig # для предпочитающих графический интерфейс настройки только с Х терминала)

make dep

Теперь Вы можете указать на версию сборки, т.е. установить EXTRAVERSION. Поправьте соответствующую строку /usr/src/linux-2.4/Makefile, обычно эта строка пустая.

make bzImage make modules

make modules_install

make install #не рекомендуется верно работает только в Red Hat и то только благодаря скрипту kernel_install от Red Hat.

Лучше сделать так:

cp /usr/src/linux/arch/i386/boot/bzImage /boot/wmlinux-2.4.X

Сконфигурируйте загрузчик lilo или grub

Перезагружайте машину и с богом! Если все нормально у вас есть еще дела

make rpm

(только если у вас rpm-based linux и вам нет желания при каждой установке повторять сборку заново)

make clear

(если нет желания захламлять жесткий диск)