Денис Колисниченко - Linux-сервер своими руками
alias sound-slot-0 via82cxxx_audio
При конфигурации модулей можно использовать директивы if, else, elseif, endif. Конструкция этих директив такова:
if ВЫРАЖЕНИЕ
любые директивы по установке модулей
elseif ВЫРАЖЕНИЕ
любые директивы по установке модулей
endif
Директива path определяет местонахождение модулей:
path=путь
В директиве path можно использовать тэги net, misc, scsi, video, ipv4 и другие. Каждый тэг определяет модули какого-нибудь типа. Если вам нужно нестандартное расположение каких-либо модулей, например, модулей сетевых устройств, используйте директиву path так:
path[net]=путь
Общий вид директивы path следующий: path[тэг]=путь.
Для установки модулей можно использовать директивы install, pre-install, post-install. В этих директивах можно указать определенные команды. Команда, указанная в директиве install, будет выполнена вместо команды insmod. Команды, указанные в директивах pre-install или post-install, будут выполнены соответственно до и после установки модуля. Синтаксис этих директив таков:
директива модуль команда
Директива remove предназначена для извлечения модуля. Ее синтаксис:
remove модуль команда
Если указана команда, то она будет выполнена вместо команды rmmod. Директива alias определяет псевдонимы модулей. Например, alias iso9660 isofs. Описание других директив (keep, add, define) вы найдете в справочной системе.
Приложение Б.
Общие параметры программ для системы X Window
Каждая программа, предназначенная для работы в системе X Window, имеет параметры, представленные в табл. Б.1.
Параметры программ X Window Таблица Б.1
Параметр Описание -background <red|green|blue> Устанавливает цвет фона -background цвет Устанавливает цвет фона окна -bg цвет Устанавливает цвет фона окна -display система:номер_дисплея Указывает нужный сервер X. По умолчанию используется номер 0 -fg цвет Устанавливает основной цвет окна -fn шрифт Устанавливает шрифт окна. Шрифт можно выбрать с помощью программы xfontsel -font шрифт Устанавливает шрифт окна. Шрифт можно выбрать с помощью программы xfontsel -foreground_color<red|green|blue> Устанавливает основной цвет окна -foreground цвет Устанавливает основной цвет окна -geometry ширина х высота + х + у Устанавливает размер и расположение окна -geometry ширина х высота Устанавливает размер окна -geometry + х + у Устанавливает расположение окна в пикселях -height n Устанавливает вертикальный размер окна -position х у Устанавливает положение верхнего левого угла окна -reverse Меняет местами основной и цвет фона окна -rv Аналогичен параметру –reverse -size ширина высота Устанавливает размер окна -Wb <red|green|blue> Устанавливает цвет фона -Wf цвет Устанавливает основной цвет окна -WG ширина х высота + х + у Устанавливает размер и расположение окна -WG ширина х высота Устанавливает размер окна -WG + х + у Устанавливает расположение окна -Wh строка Установка вертикального размера окна по строкам -Wi Запустить программу, свернув ее в значок -width столбцы Установить ширину окна в столбцах -Wpxy Устанавливает положение верхнего левого угла окна -Wr система:номер Указывает нужный сервер X. По умолчанию используется номер 0 -Ws ширина высота Установка размеров окна в пикселях -Wt шрифт Использовать указанный шрифт -Ww столбцы Установка ширины окна в столбцахПриложение В.
Компактное и нормальное ядра
В этом приложении вы найдете листинги файлов конфигурации компактного и нормального ядер. В гл. 18 я рекомендовал вам исключать из состава ядра не нужные вам функции. Например, если ваш сервер оборудован только IDE-дисками, то зачем ему поддержка SCSI? В большинстве случаев, при установке дистрибутива ядро настраивается таким образом, чтобы оно могло работать на большом числе компьютеров разных конфигураций. Для этого в состав ядра (или в загружаемые модули) включается поддержка всех чипсетов, файловых систем, сетевых плат и других устройств, что увеличивает размер ядра и делает его более громоздким. Уменьшив число ненужных вам функций, вы повысите производительность всей системы. Но будьте внимательны: отключение одной опции может повлиять на другие. Здесь точно такая же ситуация как и с пакетами RPM: есть зависимые друг от друга пакеты, а есть и несовместимые. Если вы отключите какую-нибудь опцию, которая нужна другим опциям ядра, во время компиляции вы получите сообщение в виде предупреждения (warning) и ядро при этом вообще может не собраться.
Существует и еще один вариант неудовлетворения зависимости опций, когда ядро нормально собирается, но при перезапуске компьютера невозможно запустить систему, используя это ядро. Во время выполнения программы make menuconfig (config или xconfig) вы не узнаете о подобной несовместимости. Все предупреждения и ошибки вы увидите во время компиляции ядра (make zImage). Запомните одно простое правило: ядро должно собираться. Если ядро не собирается, значит, вы допустили ошибку при работе с программой make menuconfig.
В листинге В.1 представлен пример компактного ядра. Я «заточил» его под свой домашний компьютер, поэтому не гарантирую, что оно у вас будет работать. В листинге В.1 вы можете увидеть основные принципы, по которым я собирал ядро. Во-первых, я отказался от загружаемых модулей и включил все необходимые мне драйверы непосредственно в ядро системы. Конечно, такой подход не уменьшит размер файла ядра, но тогда это ядро можно использовать при загрузке с дискеты. Во-вторых, я отключил поддержку всех чипсетов, кроме того, который установлен в моей системе. Я также отказался от поддержки PnP: я не собираюсь добавлять в систему новые устройства, поэтому держать лишний код в ядре для определения нового оборудования, которое никогда не будет установлено, глупо. Обо всех остальных опциях вы узнаете, просмотрев листинг В.1. Компактные ядра, подобные этому, можно использовать на сервере, выполняющем только определенные функции, например, маршрутизацию. Обычно такой сервер после установки и настройки запирают в какой-нибудь комнате и больше не подходят к нему. Естественно, при добавлении новых устройств, для которых необходим драйвер, которого нет в ядре, возникнут определенные неудобства при компилировании ядра. Но вы же не добавляете новые устройства каждый день?
В листинге В.2 представлен обычный файл конфигурации ядра. Такое ядро должно работать на большинстве компьютеров.
Как использовать эти листинги? Очень просто: запускаете make menuconfig и сравниваете названия опций с параметрами конфигурационного файла: что и где вы должны догадаться по смыслу, а потом сравните значения параметров. Тем более, что файл конфигурации разбит на части, названия которых аналогичны названию разделов программы menuconfig. Можно также пойти по более простому пути (хотя он не очень удобен): запустите make с параметром config. Программа будет задавать вам вопросы, на которые вы должны ответить Y, N или М. Y — включить данную функцию в состав ядра, N — не включать в состав ядра, М — включить в виде модуля. Вопросы будут задаваться примерно так: