next up previous contents
Next: Модернизация библиотек Up: Модернизация и установка нового Previous: Добавление в ядро драйвера

Установка модуля с драйвером устройств

 

В разд. 4.10.3 описывается, как создавать резервные копии на ленте. В системе Linux есть поддержка большого числа ленточных устройств с интерфейсами IDE, SCSI, а также с собственными интерфейсами. Также распространен тип стриммеров, которые подключаются непосредственно к контроллеру дисководов гибких дисков. Драйвер устройств ftape существует в системе Linux в виде модуля.

На время написания этой книги самая последняя версия ftape имеет номер 3.04d. Данный пакет программного обеспечения можно получить копированием с сайта sunsite.unc.edu соответствующего FTP-архива (инструкции по копированию даны в приложении B). Архив ftape находится в каталоге /pub/Linux/kernel/tapes. Следует взять самую последнюю версию, т.е. (на время написания книги) ftape-3.04d.tar.gz.

После распаковывания архива в каталог /usr/src команда make install, выданная в верхнем каталоге ftape, откомпилирует (если это требуется) модули и утилиты ftape и установит их. Компилирование требуется, если есть проблемы совместимости между полученными исполняемыми файлами ftape и ядром либо библиотеками системы. В этом случае перед командой make install надо ввести команду make clean, и все исполняемые файлы будут заново откомпилированы.

Для поддержки этой версии ftape требуется, чтобы в откомпилированном ядре имелась поддержка модулей и демона ядра kerneld. При этом включать в ядро в качестве опции встроенный код ftape не следует, так как последняя версия модуля ftape полностью замещает этот код.

Команда make install также устанавливает модули драйверов устройств в нужные каталоги. В стандартных системах Linux модули расположены в каталоге

/lib/modules/\cparam{kernel-version}
Если версия ядра имеет номер 2.0.30, то модули расположены в каталоге /lib/modules/2.0.30. Шаг make install обеспечивает также, что эти модули можно будет обнаружить. Для этого в файл modules.dep, расположенный в верхнем из каталогов, содержащих модули (для данного случая это будет каталог /lib/modules/2.0.30), будут внесены соответствующие записи. При установке ftape в систему (например, с ядром версии 2.0.30) добавляются следующие модули:
/lib/modules/2.0.30/misc/ftape.o \\
/lib/modules/2.0.30/misc/zft-compressor.o \\
/lib/modules/2.0.30/misc/zftape.o

Инструкции о загрузке модулей также надо добавить к файлу, который определяет конфигурацию модулей по всей системе. Во многих системах эту роль играет файл /etc/conf.modules. Для того, чтобы модули автоматически загружались по требованию, в файл /etc/conf.modules надо добавить следующие строчки:

alias char-major-27 zftape \\
pre-install ftape /sbin/swapout 5
Первая строчка обеспечивает, что все модули ftape будут при необходимости загружены, если ядро системы обращается к устройству с основным номером 27 (а это устройство ftape). Поскольку поддержка модуля zftape (который обеспечивает автоматическое сжатие данных для ленточных устройств) требует поддержки остальных модулей ftape, все они будут загружены по требованию. Вторая строчка указывает параметры, которые передаются модулям при загрузке. В данном случае утилита /sbin/swapout, которая входит в пакет ftape, обеспечивает режим DMA (Direct Memory Access -- прямой доступ к памяти).

Для доступа к устройству ftape сначала нужно поместить в него отформатированную ленту. Инструкции для форматирования ленты даются в разд. 4.10.3.


next up previous contents
Next: Модернизация библиотек Up: Модернизация и установка нового Previous: Добавление в ядро драйвера

root
Sun Aug 29 12:01:30 MSD 1999