ADD(1M) ADD(1M)
НАЗВАНИЕ
add - добавление драйвера устройства или модуля потока
к ядру ОС UNIX
СИНТАКСИС
/etc/add [-o вых_файл] [-m master_файл] [-d dfile_файл] [-u ядро]
[-t целевой_файл] [-s адрес_таблицы_имен] [-l] об ектный_файл ...
ОПИСАНИЕ
Утилита add обеспечивает все действия по добавлению
драйверов устройств и/или модулей потоков к работающему
ядру ОС UNIX. Действия эти состоят в следующем:
1. Программа addconf [см. config(1M)] читает master_-
файл и dfile_файл и генерирует конфигурационные
файлы conf.c и low.s, которые компилируются.
2. Генерируется инструкция по загрузке.
3. Редактируются связи между файлами conf.o, low.o,
ядром и об ектными_файлами. Инструкция по загрузке
информирует редактор связей ld(1), что ядро не на-
до загружать, то есть что используется только таб-
лица имен UNIX-ядра для разрешения внешних ссылок.
В данном случае редактор связей служит лишь для
вычисления размера выполняемого файла, который бу-
дет порождаться позднее. Вычисленный размер пере-
дается следующему шагу.
4. Программа addkern -a [см. addkern(1M)] выделяет
пространство в физической и виртуальной памяти и
возвращает адрес, по которому позднее выполняемый
файл расположится в виртуальной памяти ядра.
5. Этот адрес выдается на стандартный вывод и помеща-
ется в инструкцию по загрузке, придавая ей оконча-
тельный вид.
6. Все связи редактируются снова с помощью инструкции
по загрузке, в которой уже фиксирован адрес.
7. Программа download(1M) загружает собранный выпол-
няемый файл в виртуальную память ядра. Если специ-
фицирован адрес_таблицы_имен, то имена из выполня-
емого файла вставляются в эту таблицу.
8. Вызов addkern -x делает драйверы устройств и/или
модули потоков известными для UNIX-ядра. В нем мо-
дифицируются таблицы, вставляются вектора прерыва-
ний, и, если требуется, вызываются функции инициа-
лизации. Вследствие этого на системную консоль мо-
гут выводиться некоторые сообщения.
9. Если система к этому времени еще не завершила ава-
рийно свою работу, то будет выдано сообщение об
успешной установке новой версии.
Опциям утилиты add приписан следующий смысл:
-o вых_файл
Задает имя выполняемого файла, порождаемого ld(1).
Если имя не специфицировано, то оно определяется
по имени первого об ектного_файла.
-m master_файл
Задает имя master_файла для программы addconf. По
умолчанию используется имя master.
-d dfile_файл
Задает имя dfile_файла для программы addconf. По
умолчанию используется имя dfile.
-u ядро
Задает имя ядра для разрешения внешних ссылок. По
умолчанию используется имя /unix.
-t целевой_файл
Задает имя целевого_файла для программы download.
По умолчанию используется /dev/kmem.
-s адрес_таблицы_имен
Адрес_таблицы_имен передается программе download.
-l Пропустить первую из перечисленных выше фаз и ис-
пользовать существующие файлы conf.o и low.o.
Вслед за этими опциями должны идти об ектные_файлы
драйверов устройств и модулей потоков. Утилита add сох-
раняет все опции и имена об ектных модулей в файле
.add. Не заданные в программе опции читаются из этого
файла. Если он не существует, то опции принимают значе-
ния по умолчанию. Такой способ получения опций позволя-
ет задать все опции только один раз. При последующих
выполнениях должны вводиться только новые или изменен-
ные опции, а все остальные берутся из файла .add.
Утилита add использует addkern(1M) и, следовательно,
может вызываться только суперпользователем.
ФАЙЛЫ
.add
/tmp/addldinstr Промежуточная инструкция по загрузке.
СМ. ТАКЖЕ
addkern(1M), config(1M), download(1M).
ДИАГНОСТИКА
Утилита add написана на языке shell. В процессе ее ра-
боты могут поступать сообщения от используемых прог-
рамм.
ПРЕДОСТЕРЕЖЕНИЯ
Используйте add только в однопользовательском режиме.
Использование add может вызвать аварийный отказ Вашей
системы.
Использовать add рекомендуется только лучшим специалис-
там (гуру) по операционной системе UNIX.
|