Добавил:
выбрасываю тут свой мусор, надеюсь, что он кому-то может пригодится...rn Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

10.Linux_Параметры и сборка ядра

.pdf
Скачиваний:
17
Добавлен:
05.11.2023
Размер:
516 Кб
Скачать
☆

ПАРАМЕТРЫ И СБОРКА ЯДРА

1

Загрузочные параметры ядра

Загрузочные параметры используются для конфигурирования ядра без его пересборки

Передача загрузочных параметров

Через диалоговую строку

Через конфигурационный

загрузчика

файл загрузчика

Типы параметров:

•Параметры загрузки

•Параметры RAM-диска

•Параметры управления планировщиком ввода-вывода

•Аппаратные параметры

Синтаксис:

Имя_параметра_1[=значение_1,значение_2,…] Имя_параметра_2

Пример:

root=/dev/hda2 mem=120M init=/bin/bash

Параметры загрузки

•root=Root_Device – задает устройство, на котором располагается корневая файловая система

Пример: root=/dev/hda2

•ro – монтировать корневую ФС в режиме «только для чтения»

•rw – монтировать корневую ФС в режиме «для чтения и записи»

•mem=MEM – определяет количество оперативной памяти, установленной на компьютере

Пример: mem=128M

•debug – выводить на экран отладочную информацию

•init=INIT_PROGRAM – указать, какую программу следует запустить вместо демона init

Пример: init=/bin/bash

•no386 – отключает использование математического сопроцессора

•reboot=COLD | WARM – устанавливает режим перезагрузки

•single – запускает ядра с runlevel=1

Параметры RAM-диска

•load_ramdisk=N – переключатель использования RAM-диска (N=1 – использовать, N=0 – не использовать)

Пример: load_ramdisk=1

•noinitrd – не использовать initrd при загрузке ОС

Параметры управления планировщиком ввода-вывода (параметр elevator)

•elevator=noop – невытесняющее планирование процессов

•elevator=as – адаптивный алгоритм планирования ввода-вывода

•elevator=cfg – последовательное планирование – все процессы получают равные права на ввод-вывод

•elevator=deadline – процессы получают практически монопольное владение ресурсами

 

 

Сборка ядра

 

 

 

Структура ядра

 

Этапы сборки ядра:

 

 

 

 

 

 

•

Конфигурация ядра

App. 1

App. 2

App. 3

 

• Определение набора модулей

 

 

 

 

• Определение состава ядра

 

 

 

 

• Определение функциональностей

 

 

 

•

Сборка ядра

Интерфейс системных вызовов

• Сборка и включение модулей

 

 

 

 

 

 

•

Установка

Подсистема ядра

 

 

• Перемещение ядра

Модули

 

• Создание initrd

 

 

 

 

 

 

 

 

 

 

 

• Установка модулей

 

 

 

 

• Включение ядра в список загрузки

Аппаратное обеспечение

Конфигурация ядра

• Конфигурирование в командной оболочке: make config

• Через консольный конфигуратор: make menuconfig

• Через графический конфигуратор: make xconfig

Сборка ядра

•Сборка сконфигурированного ядра осуществляется командой: make bzImage

•Собранное ядро и RAM-диск находятся в: ./arch/x86/boot И называется: bzImage

Сборка модулей ядра

•Сборка модулей осуществляется командой: make modules

•Собранные модули помещаются в: ./arch/x86/lib

Установка компонентов ядра

Этапы установки ядра:

• Установка модулей:

make modules_install

•Установка ядра и RAM-диска сводится к копированию их в файл /boot: cp ./arch/x86/boot/bzImage /boot/linuz-x.y.z

cp ./arch/x86/boot/initrd /boot/initrd-x.y.z

•Модификация списков загрузки (GRAB ; menu.lst | grub.conf):

title OpenSuse-new-kernel root (hd0,1)

kernel /boot/linuz-x.y.z root=/dev/hda2 resume=/dev/hda1 vga=0x314 initrd /boot/initrd-x.y.z