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

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

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

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

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