CONFIGURE(8)
CONFIGURE(8)
НАЗВАНИЕ
configure - программа установки конфигурации в файле /kernel
СИНТАКСИС
configure [options] [parm=val ...]
ОПИСАНИЕ
Программа configure определяет и изменяет различные ресурсы ядра системы. Для конечных пользователей использовать configure - легче, чем модифицировать файлы системной конфигурации непосредственно. Для разработчиков драйверов устройств configure позволяет избежать трудностей редактирования файлов конфигурации, которые были уже отредактированы предыдущей программой конфигурирования драйверов.
Ресурсы модифицируются в интерактивном режиме или с помощью аргументов командной строки. Добавление или удаление частей устройств драйверов требует использования опций командных строк.
В следующих параграфах объясняется, как использовать configure в интерактивном режиме. Опции командной строки обсуждаются в разделе "Опции".
Использование интерактивного режима
configure функционирует в интерактивном режиме, если в командной строке не задано никаких опций или задана только опция -f.
Когда вы вызываете configure в интерактивном режиме, вы увидите вначале меню следующего вида:
1. Disk Buffers 2. Character Buffers 3. Files, Inodes, and Filesystems 4. Processes, Memory Management & Swapping 5. Clock 6. MultiScreens 7. Message Queues 8. Semaphores 9. Shared Data 10. System Name 11. Streams Data 12. Event Queues and Devices 13. Hardware Dependent Parameters
Выберите категорию для изменения конфигурации, введя число от 1 до 13 или 'q' для выхода:
Для выбора категории введите ее номер (например, "1" для категории "Disk Buffers") и нажмите RETURN.
Каждая категория содержит ряд конфигурируемых ресурсов. Каждый ресурс представляется высвечиванием его действительного имени, краткого описания и текущего значения. Например, для категории "Disk Buffers" вы могли бы увидеть:
NBUF: total disk buffers. Currently determined at system start up: NSABUF: system-addressable (near) disk buffers. Currently 10: NHBUF: hash buffers (for disk block sorting). Currently 128:
Для сохранения текущего значения нажмите просто RETURN. В противном случае введите подходящее значение для соответсвующего ресурса и нажмите RETURN. configure проверяет каждое значение, попадает ли оно в соответствующий диапазон или нет. Если нет, то configure предупредит вас об этом и попросит подтверждения, не хотите ли вы изменить рекомендуемое значение.
Для выхода из configure введите 'q' на подсказку меню. Если были внесены какие-либо изменения, configure спросит, не надо ли модифицировать файлы конфигурации в соответствии с этими изменениями. Для сохранения старой конфигурации нажмите на эту подсказку 'n', и изменения не будут учтены. В противном случае введите 'y', и configure исправить нужные файлы системной конфигурации. После завершения работы configure ядро системы готово к компоновке.
Для компоновки ядра введите:
link_kernel
Компоновка может занять несколько минут. После завершения компоновки ядра введите следующие команды для перенесения нового ядра (xenix.new) в корневой каталог и перегрузите систему:
cp /usr/sys/conf/kernel /kermel.new /etc/shatdown
Затем вы увидите загрузочную подсказку:
Boot :
Для выполнения тестирования нового ядра введите на эту подсказку
kernel.new
Теперь система будет работать с новым ядром. Когда вы будете удовлетворены функционированием нового ядра, введите для установки этого ядра на жесткий диск следующую команду:
/usr/sys/conf/hdinstall
Программа выполняет резервное копирование старого файла /kernel и записывает на его место /usr/sys/conf/kernel.
Удалите kernel.new введением следующей команды:
rm /kernel.new
Перезагрузите систему с новым ядром.
Опции
Опции командной строки предназначены для разработчиков программ-оболочек инсталляции драйверов. Из командной строки вы можете конфигурировать драйверы, удалять определения драйверов из конфигурационных файлов и модифицировать некоторые атрибуты драйверов. Имеются также опции для запроса текущей конфигурации драйверов.
configure использует следующие опции:
-a [func1 func2 ...] -d [func1 func2 ...] -b -c -d [func1 func2 ...] -f master_file [dfile] -g dev_name handler | dev_name -j [prefix] [NEXTMAJOR] -l priority_level -m major -n -q -r -t -v interrupt_vector [interrupt_vector2 ...] -w -x -y resource
-m, -b и -c | Эти опции используется для конкретизации ссылки на драйвер. Вслед за опцией -m должен идти главное число устройства драйвера. Если вы конфигурируете блочный драйвер, то нужно указывать это опцией -b; если же вы конфигурируете символьный драйвер, то ему соответствует опция -с. Обе опции используются при конфигурировании драйвера с обоими типами интерфейса. |
-a и -d | Каждая из этих опций сопровождается списком добавляемых или удаляемых функций соответственно. Имена этих функций содержатся в bdevsw[] или сdevsw[], ими являются также имена процедур инициализации, опроса, остановки и прерываний, если они имеются, плюс имена терминала, потока и указателей табличных структур. configure вводит в действие правила, по которым все функции драйвера должны иметь общий префикс, который должен быть 2-4 символа длиной. |
-j | Если за этой опцией следует префикс, используемый драйвером, то высвечивается главное число этого драйвера. Если же за ней следует NEXTMAJOR, то выводится самое маленькое главное число драйверов. |
-r | Эта опция задает принудительную перезапись файлов конфигурации независимо от того, внесены ли в конфигурацию какие-либо изменения или нет. |
-v | Эта опция модифицирует задание векторов прерывания данного устройства. Устройство может использовать до четырех векторов прерывания. |
-l | Эта опция устанавливает приоритет прерывания для данного устройства, который почти всегда совпадает с используемым при вызове spl(): драйвер осуществляющий блокировку с использованием sp5() почти всегда имеет приоритет прерывания 5. |
-q | Если задается опция -q, то после возвращения из прерывания использование qswtch() невозможно. Использование этой опции в новых драйверах не рекомендуется. |
-f | Конфигурация поддерживается с помощью двух файлов данных master и unixconf. Опцию -f можно использовать для задания других имен. Обратите внимание, что это единственная опция, при введении которой в командную строку программа все равно запускается в интерактивном режиме. |
-n | Если присутствует эта опция, то два упомянутых конфигурационных файла модифицируются,но никаких файлов '.o' не создается. Эта опция полезна при конфигурировании пакета драйверов, содержащего несколько драйверов. |
-w | Эта опция подавляет сообщения-предупреждения. |
-x | Эта опция задает выдачу полной информации по всем характеристикам ресурса, известным для configure. При этом выявляется имя, описание и текущее значение каждого конфигурируемого параметра. Подсказки категорий не дампируются. |
-y | Эта опция задает печать текущего значения требуемого ресурса. |
-t | Эта опция не печатает ничего (кроме, быть может, сообщений об ошибках). Однако, она возвращает 1, если уже сконфигурирован драйвер, соответствующий комбинации опций -m, -b, -c, и 0 - если такого драйвера нет. |
-g | Эта опция используется для добавления или удаления программ-обработчиков для устройств графического ввода (GIN). Эти программы могут направить ввод данных с таких устойств, как "мыши", графические планшеты и клавиатуры, внутрь "событий". Флагу -g может быть придан один аргумент, который интерпретируется как имя устройства. Это GIN-устройство удаляется из конфигурационных файлов. Если флагу -g придается два аргумента, то второй из них задает программу-обработчика, и устройство добавляется в конфигурационные файлы. Если оно уже имеется, то его обработчик модифицируется, а пользователю посылается сообщение. Задавая -g несколько раз, можно добавлять или удалять несколько устройств. |
Установка параметров командной строки
В командную строку может быть введено любое количество аргументов вида resource=value. Эти аргументы могут быть заданы одновременно с запросом драйвера на добавление или удаление, но должны идти вслед за всеми аргументами конфигурации драйвера в командной строке.
Некоторые ресурсы имеют в качестве своих значений символьные строки. В этом случае эти значения должны заключаться внутри символов \". Кавычки синтаксически необходимы, чтобы они использовались как строки языка Си, а обратные косые черточки предохраняют эти кавычки от их удаления программой-оболочкой.
ПРИМЕРЫ
Напечатайте текущее значение NCLIST:
configure -y NCLIST
Обеспечьте возврат 1, если доступны главное число символьного устройства 7 и вектор 3:
configure -t -v 7 -m 3 -c
Добавьте выполнение опроса по часам и процедуру инициализации к уже сконфигурированному драйверу "foo", гипотетическому символьному драйверу с главным числом устройства #17:
configure -a foopoll fooinit -c -m 17
Удалите драйвер "foo":
configure -m 17 -d -c
Добавьте новы й драйвер "hypo", драйвер блочного типа с символьным интерфейсом. Он использует три различных вектора прерывания с приоритетом 6:
configure -a hypoopen hypoclose hyporead hypowrite hypoioctl\ hypostrategy hypotab hypointr -b -c -l 6 -v 17 42 49
ПРИМЕЧАНИЯ
Ограничения на область данных ядра системы
Если общий объем всех зарезервированных ресурсов становится слишком большим, то группа не уместится в пределах 64K сегмента данных ближней зоны ядра системы. Вы не дождетесь никаких сообщений о превышении размера от configure, но вы можете получить их от компоновщика при попытке скомпоновать ядро.
ФАЙЛЫ
/usr/sys/conf/master /usr/sys/conf/unixconf /usr/sys/conf/config
СМ. ТАКЖЕ
master(3), , event(5),