ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 25.03.2024
Просмотров: 6
Скачиваний: 0
ПАРАМЕТРЫ И СБОРКА ЯДРА
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