2. Устройство ZIP для параллельного порта: Драйвер устройства vpo

Для использования ZIP-устройства с интерфейсом параллельного порта во FreeBSD в ядре должно быть присутствовать устройство. Устройства ZIP для параллельного порта имеют встроенный контроллер SCSI. Драйвер vpo позволяет ядру FreeBSD работать со SCSI-контроллером ZIP-устройства через параллельный порт.

Так как драйвер vpo не входит в стандартное ядро (начиная с FreeBSD 3.2), то для использования устройства вам необходимо перестроить ядро. Процесс построения ядра подробно описан в Руководстве FreeBSD. Ниже приведена краткая последовательность шагов для включения драйвера vpo:

  1. Запустите /stand/sysinstall и установите в вашей системе исходный код ядра.

  2. Соберите конфигурационный файл ядра с поддержкой драйвера для устройства vpo:

    # cd /sys/i386/conf
    # cp GENERIC MYKERNEL
      
    

    Отредактируйте файл MYKERNEL, изменив строку ident на MYKERNEL и раскомментируйте строчку, описывающую драйвер vpo.

    Если у вас имеется второй параллельный порт, вам может потребоваться скопировать раздел для ppc0, чтобы создать устройство ppc1. Второй параллельный порт, как правило, использует IRQ 5 и адрес 378. В конфигурационном файле требуется указать только IRQ.

    Если диск с корневой файловой системой является диском с интерфейсом SCSI, то вы можете столкнуться с проблемой в последовательности обнаружения устройств, что может привести к попытке использования ZIP-устройства в качестве диска с корневой файловой системой. Это будет приводить к ошибке загрузки, пока вы не поместите корневую файловую систему FreeBSD на ваш ZIP-диск! Для этого вам нужно ''зафиксировать'' корневой диск, а именно заставить ядро ассоциировать выбранное устройство с устройством /dev/da0, то есть с корневым SCSI-диском. Затем ZIP-диск будет связан со следующим доступным SCSI-диском, например, с /dev/da1. Для того, чтобы привязать ваш SCSI-диск к устройству da0, измените строчку

    device da0
    
    на
    disk da0 at scbus0 target 0 unit 0
    


    Вам может потребоваться сменить номер устройства (target) выше на SCSI ID вашего диска. Также вам нужно привязать scbus0 к вашему контроллеру. Например, если у вас установлен контроллер Adaptec® 15xx, вам нужно сменить

    controller scbus0
    
    на
    controller scbus0 at aha0
    


    И наконец, раз вы редактируете конфигурационный файл ядра, вы можете заодно удалить все ненужные драйверы. Это нужно делать с большой осторожностью, и только если вы уверены во вносимых изменениях. Удаление ненужных драйверов уменьшит размер ядра, что даст больше памяти для ваших приложений. Для определения того, какие драйверы не нужны, перейдите в конец файла /var/log/messages, и поищите строчки с диагностикой "not found". Затем закомментируйте эти устройства в конфигурационном файле вашего ядра. Вы можете также изменить другие параметры для уменьшения размера и ускорения работы вашего ядра. Прочтите раздел о перекомпиляции вашего ядра для получения более полной информации.

  3. Теперь пришло время компиляции ядра:

    # /usr/sbin/config MYKERNEL
    # cd ../../compile/MYKERNEL  
    # make clean depend && make all install
      
    

После того, как ядро будет перестроено, вам нужно выполнить перезагрузку. Перед тем, как это сделать, удостоверьтесь, что ZIP-устройство подключено к параллельному порту. Вы должны увидеть ZIP-устройство среди сообщений, выдаваемых при загрузке, как устройство vpo0 или vpo1, в зависимости от того, к какому параллельному порту оно подключено. Кроме того, будет указано, к какому файлу устройства был привязан ZIP-диск. Это будет /dev/da0, если в системе нет других SCSI-дисков, или /dev/da1 в случае, если ваш SCSI-диск зафиксирован в качестве корневого устройства.

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.

Обновлено: 12.03.2015