Чтение онлайн

на главную - закладки

Жанры

Linux: Полное руководство

Аллен Питер В.

Шрифт:

♦ no387: отключает использование математического сопроцессора.

♦ no-scroll: отключает функцию прокрутки экрана во время загрузки.

♦ reboot=<режим>: параметр, задающий режим перезагрузки. Возможные значения: cold и warm, то есть «холодная» или «горячая» перезагрузка. Поддерживается ядрами версии 2.0 и выше.

♦ single: загружает систему в однопользовательском режиме — например, для ремонта.

20.5. Компиляция ядра

20.5.1. Зачем обновлять ядро?

Linux развивается быстрее любой другой операционной системы. Регулярно появляются новые версии ядра, реализующие новые функции. Например, едва успел выйти дистрибутив Fedora Core 4 на ядре 2.6.11, а на

www.kernel.org
уже лежит стабильная версия 2.6.12.2. Еще чаще появляются драйверы к новым устройствам и заплатки с исправлением обнаруженных ошибок (например, прорех в системе защиты).

Допустим, новое ядро целиком еще можно установить из бинарного RPM-пакета (см. п.7.4.2). Но для подключения нового драйвера недостаточно просто скопировать его в каталог ядра: нужно интегрировать его код в структуры данных и таблицы ядра, для чего ядро придется строить заново из исходного кода. Исходные коды тем более необходимы для прикладывания заплатки (см. п. 7.4.3).

Пакет исходных текстов ядра может быть включен в ваш дистрибутив. Если это не так, скачайте архив с

ftp://ftp.kernel.org/pub/linux/kernel
(его размер 30-40 Мб в зависимости от версии) и распакуйте его в тот каталог, в котором будете производить сборку (обычно
/usr/src/linux-<версия>
).

20.5.2. Конфигурирование ядра

Когда вы строите из исходников прикладную программу, первым шагом сборки обычно бывает выполнение сценария configure. Ядро тоже нужно конфигурировать. Его настройки находятся в текстовом файле

.config
в каталоге исходных кодов. Этот файл можно редактировать вручную, но это крайне неудобно, поэтому предусмотрены диалоговые конфигураторы (п. 7.2.3, рис. 7.2).

Если вы работаете в среде GNOME, выполните команду

make gconfig
, и вы увидите диалоговое окно, в котором можно выбрать нужные функции и драйверы устройств (Y) и отключить ненужные (N), а также указать, как следует включать в ядро выбранные устройства: статически или в виде модулей (M).

Осталось перечислить модули, доступные для конфигурирования, и дать рекомендации по их включению и отключению. Я расскажу об этом на примере современного ядра 2.6. О настройке ядра версии 2.4 рассказано в третьем издании моей книги «Самоучитель Linux», вышедшем в 2004 г. в издательстве «Наука и Техника», а если вы все еще используете ядро версии 2.2, то вам нужно первое издание этой книги.

20.5.2.1. Code maturity level options

Этот раздел позволяет включить в ядро экспериментальные модули, находящиеся еще в стадии разработки и предназначенные не для широкой публики, а для тестеров.

20.5.2.2. General setup

Support for paging of anonymous memory

Грозно звучит, не так ли? Я сначала даже не понял, что это. Оказывается, это просто поддержка свопа — своп-устройств и своп-файлов. Настоятельно рекомендуется не отключать эту опцию — сколько бы ни было оперативной памяти, а своп все равно пригодится.

System V IPC

Поддержка средств межпроцессного взаимодействия (Interprocess Communication) System V: очередей сообщений, семафоров, разделяемой памяти и т.д. Отключать не нужно, иначе процессы не смогут «общаться» друг с другом.

BSD Process Accounting

Учет процессов. С помощью специального системного вызова пользовательская программа может попросить ядро записать в специальный файл системную информацию: время создания процесса, идентификатор владельца, командную строку, использование ресурсов, например, памяти и терминалов и т.д. Чтобы все работало как нужно, не отключайте эту опцию.

Sysctl support

Включает поддержку программы Sysctl, позволяющей изменять параметры ядра без перекомпилирования во время загрузки. Поддержка Sysctl увеличивает размер ядра на 8 Кб. Если ядро, которое вы компилируете, не предназначено для дисков загрузки/восстановления, включите эту опцию.

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

♦ 17 — 128 Кб (по умолчанию)

♦ 16 — 64 Кб

♦ 15 — 32 Кб (рекомендуется для SMP)

♦ 14 — 16 Кб

♦ 13 — 8 Кб

♦ 12 — 4 Кб.

Kernel .config support

Поддержка файлов

.config
, содержащих конфигурацию ядра.

20.5.2.3. Loadable module support

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

Enable loadable module support

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

Module unloading

Разрешить удаление модулей из ядра. Если эта опция выключена, вы не сможете удалить модуль из ядра после того, как он был загружен.

Forced module unloading

Принудительное удаление. Модуль будет удален из ядра, даже если какой-то процесс его использует. Такое удаление может быть опасным — ведь в результате удаления модуля устройства, которое в данный момент используется процессом, очень велика вероятность потери данных, поэтому лучше эту опцию не включать. Наоборот, когда вы занимаетесь программированием модулей, то есть созданием своих модулей, эта опция очень полезна, поскольку помогает сразу же выгрузить некорректно работающий модуль.

Поделиться:
Популярные книги

Санкт-Петербург. Автобиография

Королев Кирилл Михайлович
Научно-образовательная:
история
5.00
рейтинг книги
Санкт-Петербург. Автобиография

Клиент

Гришэм Джон
Детективы:
триллеры
8.40
рейтинг книги
Клиент

Неучтенный элемент. Том 7

NikL
7. Антимаг. Вне системы
Фантастика:
фэнтези
5.00
рейтинг книги
Неучтенный элемент. Том 7

Свободный среди звезд: пилот

Викулов Петр Иванович
Вселенная EVE Online
Фантастика:
космическая фантастика
7.83
рейтинг книги
Свободный среди звезд: пилот

Старплекс. Конец эры (сборник)

Сойер Роберт Джеймс
Шедевры фантастики
Фантастика:
научная фантастика
6.25
рейтинг книги
Старплекс. Конец эры (сборник)

Перехитрить богов. Дилогия

Высоцкий Михаил Владимирович
29. В одном томе
Фантастика:
научная фантастика
6.50
рейтинг книги
Перехитрить богов. Дилогия

Газлайтер. Том 26

Володин Григорий Григорьевич
26. История Телепата
Фантастика:
боевая фантастика
попаданцы
аниме
5.25
рейтинг книги
Газлайтер. Том 26

Северянин. Трилогия

Лей Влад
Северянин
Фантастика:
фэнтези
5.75
рейтинг книги
Северянин. Трилогия

Город Бездны

Рейнольдс Аластер
1. Космический апокалипсис
Фантастика:
научная фантастика
космическая фантастика
6.71
рейтинг книги
Город Бездны

Право на жизнь

Арно Сергей Игоревич
Фантастика:
ужасы и мистика
7.17
рейтинг книги
Право на жизнь

Старая школа рул

Ромов Дмитрий
1. Второгодка
Фантастика:
альтернативная история
6.00
рейтинг книги
Старая школа рул

Война с Востока. Книга об афганском походе

Проханов Александр Андреевич
Проза:
военная проза
7.00
рейтинг книги
Война с Востока. Книга об афганском походе

Основы общей психологии

Рубинштейн Сергей Леонидович
Мастера психологии
Научно-образовательная:
психология
5.00
рейтинг книги
Основы общей психологии

Американская трагедия

Драйзер Теодор
150. Библиотека всемирной литературы
Проза:
классическая проза
8.00
рейтинг книги
Американская трагедия