Да. В настоящее время FreeBSD поддерживает архитектуры Intel x86 и DEC (сейчас Compaq) Alpha. Начиная с FreeBSD 5.0, также поддерживается архитектура SPARC-64. В список планируемых к поддержке платформ совсем недавно добавились архитектуры IA-64, MIPS и PowerPC, дополнительную информацию о происходящей работе можно получить, подписавшись соответственно на Список рассылки, посвящённый портированию FreeBSD на архитектуру IA64, Список рассылки, посвящённый портированию FreeBSD на архитектуру PowerPC или Список рассылки, посвящённый портированию FreeBSD на архитектуру MIPS. Для обсуждение общих вопросов, касающихся новых аппаратных платформ, предназначен Список рассылки, посвящённый портированию FreeBSD на не-Intel платформы.
Если аппаратная платформа Вашего компьютера не поддерживается FreeBSD и Вам нужно его запустить прямо сейчас, мы советуем обратить Ваш взгляд также на NetBSD и OpenBSD.
4.2. Я хочу приобрести аппаратуру для моей системы FreeBSD. Какая модель/производитель/тип лучше всего?
Это постоянно обсуждается в списках рассылки FreeBSD. Так как аппаратура меняется так быстро, мы это ожидаем. Мы всё же настоятельно рекомендуем, чтобы вы прочитали Hardware Notes для FreeBSD 5.2 или 4.9, а также выполнили поиск по архивам списков рассылки перед тем, как задавать вопросы о самом последнем и лучшем оборудовании. Весьма вероятно, что обсуждение требуемого вам оборудование как раз было на прошлой неделе.
Если вы подбираете лэптоп, посмотрите архивы списка рассылки FreeBSD-mobile. В противном случае вам нужны архивы FreeBSD-questions или, возможно, специфичные списки рассылки по конкретному типу оборудования.
FreeBSD работает с дисками стандартов EIDE и SCSI (с соответствующими контроллерами; обратитесь к следующему разделу), и всеми дисками, использующими оригинальный интерфейс ``Western Digital'' (MFM, RLL, ESDI и, конечно же, IDE). Некоторые контроллеры ESDI, использующие собственные интерфейсы, могут и не работать: к таким относятся WD1002/3/6/7 и их клоны.
Поддерживаются любые SCSI-устройства чтения компакт дисков, подключенные к поддерживаемому контроллеру.
Кроме того, поддерживаются следующие оригинальные интерфейсы CDROM:
Mitsumi LU002 (8bit), LU005 (16bit) и FX001D (16bit 2x Speed).
Sony CDU 31/33A
Sound Blaster не-SCSI CDROM
Matsushita/Panasonic CDROM
ATAPI-совместимые IDE CDROM
Все не-SCSI адаптеры славятся своей медлительностью по сравнению со SCSI, а некоторые CDROM стандарта ATAPI могут и не работать.
Официальный FreeBSD CDROM ISO, а также диски CDROM от Daemon News и FreeBSD Mall, являются загрузочными.
FreeBSD поддерживает все ATAPI-совместимые IDE-приводы CD-R или CD-RW. Для FreeBSD версии 4.0 и выше обратитесь к справочной странице по команде burncd(8). Для более ранних версий FreeBSD посмотрите примеры в файле /usr/share/examples/atapi.
FreeBSD поддерживает также все SCSI-приводы CD-R или CD-RW. Установите и используйте программу cdrecord из системы портов или пакаджей, но проверьте, что в вашем ядре присутствует устройство pass.
Конечно же, FreeBSD поддерживает ZIP-устройства SCSI и ATAPI (IDE). Устройству SCSI ZIP могут быть назначены SCSI ID только 5 или 6, и если BIOS вашего SCSI-адаптера поддерживает такую возможность, вы можете с него даже загрузиться. Неизвестно, какие адаптеры позволяют загрузиться с устройств, номера которых отличны от 0 или 1, так что вам придётся обратиться к документации, если вам это нужно.
FreeBSD также поддерживает устройства Zip, работающие через параллельный порт. Проверьте, содержит ли ваше ядро драйверы для scbus0, da0, ppbus0 и vp0 (ядро GENERIC содержит всё это, кроме vp0). Если эти драйверы имеются, то устройство должно быть доступно как /dev/da0s4. Диски могут быть смонтированы командами mount /dev/da0s4 /mnt или (для дисков dos) mount_msdos /dev/da0s4 /mnt соответственно.
Также посмотрите FAQ по съёмным носителям далее в этой главе, а также замечание о ``форматировании'' в главе об администрировании.
Кроме IDE-варианта устройства EZ, это всё устройства SCSI, так что для FreeBSD все они должны выглядеть как диски SCSI, а IDE EZ должен выглядеть как диск IDE.
Я не знаю, насколько хорошо FreeBSD поддерживает смену носителя во время работы. Конечно, чтобы сменить диск, вам сначала нужно его размонтировать, и обратите внимание на то, что при загрузке все внешние устройства должны быть включены, чтобы FreeBSD могла их распознать.
Посмотрите это замечание о ``форматировании''.
Список таких устройств находится в разделе о различных устройствах Руководства.
Некоторые безымянные клоны таких адаптеров тоже работают нормально, особенно те, которые заявляют о своей совместимости с AST.
Прочтите страницы Справочника о sio(4) для получения подробной информации о конфигурировании таких адаптеров.
FreeBSD 4.X и более поздние версии имеют встроенную поддержку клавиатур USB. Некоторая поддержка устройств USB появилась во FreeBSD 3.1, но она не всегда работает так, как в версии 3.2. Если вы хотите поэкспериментировать с поддержкой клавиатуры USB во FreeBSD 3.X, следуйте указаниям ниже.
Используйте FreeBSD 3.X версий выше, чем 3.2.
В конфигурационный файл ядра добавьте следующие строки и перестройте ядро.
controller uhci0 controller ohci0 controller usb0 controller ukbd0 options KBD_INSTALL_CDEV
Перейдите в каталог /dev и создайте специальные файлы устройств следующим образом:
# cd /dev # ./MAKEDEV kbd0 kbd1
Отредактируйте файл /etc/rc.conf, добавив следующие строки:
usbd_enable="YES" usbd_flags=""
Если вы хотите использовать клавиатуру USB во FreeBSD версий 4.X или более поздних, вам достаточно включить поддержку USB в файле /etc/rc.conf.
После включения поддержки USB-клавиатуры в системе AT-клавиатуре будет соответствовать /dev/kbd0, а клавиатуре USB /dev/kbd1, если они обе подключены к системе. Если присутствует только клавиатура USB, ей будет соответствовать /dev/ukbd0.
Если вы хотите использовать клавиатуру USB на консоли, вы должны явно указать драйверу консоли на использование имеющейся клавиатуры USB. Это может быть сделано в процессе инициализации системы следующей командой.
# kbdcontrol -k /dev/kbd1 < /dev/ttyv0 > /dev/null
Заметьте, что, если клавиатура USB является единственной присутствующей, она доступна как /dev/kbd0, и поэтому команда должна выглядеть примерно так:
# kbdcontrol -k /dev/kbd0 < /dev/ttyv0 > /dev/null
Вышеуказанную команду хорошо бы добавить в /etc/rc.i386.
Как только вы всё это сделаете, клавиатура USB будет работать и в X-окружении без каких-либо особых настроек.
Выключение и включение USB-клавиатуры на ходу может ещё не работать совершенно корректно. Во избежание неприятностей мы рекомендуем подключить клавиатуру перед запуском системы и не отключать её до завершения работы системы.
За дополнительной информацией обратитесь к страницам справочной системы по ukbd(4).
FreeBSD поддерживает мыши типов bus mouse и InPort bus mouse от таких производителей, как Microsoft, Logitech и ATI. Драйвер устройства bus mouse включен по умолчанию в ядро GENERIC во FreeBSD версий 2.X, но не включён в версию 3.0 и выше. Если вы строите собственное ядро с этим драйвером, добавьте следующую строку в конфигурационный файл ядра
Во FreeBSD 3.0 и ранее, добавьте:
device mse0 at isa? port 0x23c tty irq5 vector mseintr
Во FreeBSD 3.X строчка должна иметь вид:
device mse0 at isa? port 0x23c tty irq5
А во FreeBSD 4.X и выше строчка должна быть такой:
device mse0 at isa? port 0x23c irq5
Мышь типа bus mouse обычно поставляется с отдельными интерфейсными адаптерами. Они позволяют установить адрес порта ввода/вывода и номер IRQ, отличающиеся от приведённых выше. Для получения дополнительной информации обратитесь к документации по вашей мыши и странице Справочника mse(4).
Встроенная поддержка мыши PS/2 имеется во всех последних версиях FreeBSD. Необходимый драйвер устройства, psm, включён в ядро GENERIC.
Если в вашем ядре его нет, то добавьте следующие строки в файл конфигурации ядра и постройте новое ядро.
Во FreeBSD 3.0 и ранее, строчка должна иметь вид:
device psm0 at isa? port "IO_KBD" conflicts tty irq 12 vector psmintr
Во FreeBSD 3.1 и выше, строчка должна быть такой:
device psm0 at isa? tty irq 12
Во FreeBSD 4.0 и выше строчка должна иметь вид:
device psm0 at atkbdc? irq 12
После того, как ядро правильно обнаружило psm0 во время загрузки, проверьте наличие файла устройства для psm0 в каталоге /dev. Это можно сделать, набрав:
# cd /dev; sh MAKEDEV psm0
войдя в систему администратором.
Note: Вы можете пропустить этот шаг, если используете FreeBSD 5.0-RELEASE или более новую версию с включенным механизмом devfs(5), так как необходимые файлы устройств будут создаваться в каталоге /dev автоматически.
Если вы используете стандартный драйвер консоли, syscons(4), то можете использовать указатель мыши в текстовых консолях для выделения и переноса текста. Запустите демон мыши, moused(8), и включите отображение указателя мыши на виртуальной консоли:
# moused -p /dev/xxxx -t yyyy # vidcontrol -m on
Здесь xxxx - это имя устройства мыши, а yyyy - тип протокола, используемого мышью. Даемон мыши может автоматически определять тип протокола большинства мышей, за исключением старых, работающих по последовательному интерфейсу. Для выполнения автоматического определения в качестве протокола укажите auto. Если автоматическое определение не работает, то обратитесь к справочным страницам по moused(8) для получения списка поддерживаемых типов протоколов.
Если у вас мышь типа PS/2, просто добавьте строчку moused_enable="YES" в файл /etc/rc.conf для запуска даемона мыши во время загрузки системы. Кроме того, если вы хотите использовать даемон мыши во всех виртуальных терминалах, а не только на консоли, добавьте allscreens_flags="-m on" в файле /etc/rc.conf.
После запуска даемона мыши, доступ к мыши должен согласовываться между даемоном мыши и другими программами типа X Window. Обратитесь к вопросу из FAQ Почему моя мышь не работает с X? для получения более полной информации по этому вопросу.
После того, как вы запустили даемон мыши (посмотрите предыдущий раздел), нажмите кнопку 1 (левую) и двигайте мышь для выделения текста. Затем нажмите кнопку 2 (среднюю) для его вставки с позиции текстового курсора. Нажатие кнопки 3 (правой) ``расширит'' выбранную текстовую область.
Если у вашей мыши отсутствует средняя кнопка, вы можете её сэмулировать или переназначить кнопки опциями даемона мыши. Обратитесь к справочным страницам по moused(8) для получения полной информации.
Рудиментарная поддержка устройств USB была добавлена во FreeBSD 3.1. В ранних версиях 3.X она не всегда работала. Начиная с FreeBSD 4.0, устройства USB должны работать без дополнительных ухищрений. Если вы хотите поэкспериментировать с поддержкой мыши USB во FreeBSD 3.X, следуйте нижеприводимым указаниям.
Используйте FreeBSD 3.2 и выше.
В конфигурационный файл ядра добавьте следующие строки и перестройте ядро.
device uhci device ohci device usb device ums
Во FreeBSD версий, предшествующих 4.0, вместо этого добавьте такие строчки:
controller uhci0 controller ohci0 controller usb0 device ums0
Перейдите в каталог /dev и создайте специальный файл устройства такой командой:
# cd /dev # ./MAKEDEV ums0
Note: Вы можете пропустить этот шаг, если используете FreeBSD 5.0-RELEASE или более новую версию с включенным механизмом devfs(5), так как необходимые файлы устройств будут создаваться в каталоге /dev автоматически.
Отредактируйте файл /etc/rc.conf, добавив такие строчки:
moused_enable="YES" moused_type="auto" moused_port="/dev/ums0" moused_flags="" usbd_enable="YES" usbd_flags=""
Подробное обсуждение moused может быть найдено в предыдущем разделе.
Чтобы использовать мышь USB при работе в X, отредактируйте файл XF86Config. Если вы используете XFree86 3.3.2 и выше, то в разделе Pointer должны присутствовать такие строки:
Device "/dev/sysmouse" Protocol "Auto"
Если у вас более старая версия XFree86, то в разделе Pointer должны присутствовать строки:
Device "/dev/sysmouse" Protocol "SysMouse"
Поддержке мыши при работе в X посвящен другой раздел.
Выключение и включение мыши USB на ходу может ещё не работать совершенно корректно. Во избежание неприятностей было бы правильно подключить мышь перед запуском системы и не отключать её до закрытия системы.
Ответ, к сожалению, ``в зависимости от обстоятельств''. Эти мышки с дополнительными возможностями, как правило, требуют наличия специальных драйверов. До тех пор, пока драйвер мыши или прикладная программа не будут иметь отдельную поддержку такой мыши, она будет работать как стандартная двух- или трёхкнопочная мышь.
Возможные способы использования колёсиков мыши при работе в X Window описаны в другом разделе.
Посмотрите ответ на предыдущий вопрос. Также посмотрите страницу о мобильных вычислениях.
FreeBSD поддерживает устройства SCSI и QIC-36 (с интерфейсом QIC-02), включая 8-мм (Exabyte) и DAT.
Некоторые ранние модели 8-мм стримеров не совсем соответствуют стандарту SCSI-2 и могут работать не совсем хорошо.
FreeBSD поддерживает роботизированные устройства SCSI через устройство ch(4) и команду chio(1). Подробная информация об управлении такими роботами может быть найдена на странице Справочника по команде chio(1).
Если вы не используете AMANDA или другое программное обеспечение, умеющее работать с роботами, имейте в виду, что они могут только переносить ленты с одного места на другое, так что вам нужно самим отслеживать, в каком слоте находится нужная лента, и в какой слот нужно вернуть ленту, находящуюся в стримере.
FreeBSD поддерживает звуковые адаптеры SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Pro Audio Spectrum 16, AdLib и Gravis UltraSound. Имеется ограниченная поддержка MPU-401 и совместимых с ним адаптеров. Адаптеры, удовлетворяющие спецификации Microsoft Sound System, также поддерживаются драйвером pcm.
Note: Это касается только звука! Этот драйвер не поддерживает CDROM, SCSI или джойстики ни на каких подобных адаптерах, кроме SoundBlaster. Поддерживаются устройства на SCSI-интерфейсе SoundBlaster и не-SCSI CDROM, но загрузиться с них невозможно.
При каждой перезагрузке вам нужно запускать следующую команду:
# mixer pcm 100 vol 100 cd 100
Обратитесь к файлу Hardware Notes, поставляемому с каждым релизом FreeBSD, для получения полного списка.
Note: Это касается только владельцев компьютеров 386/486SX/486SLC - во всех остальных машинах модуль вычислений с плавающей точкой объединён с центральным процессором.
В общем случае это не проблема, но в отсутствии сопроцессора вы можете столкнуться со снижением производительность и точности при использовании программной эмуляции сопроцессора (обратитесь к разделу об эмуляции вычислений с плавающей точкой). В частности, прорисовка дуг в X будет ОЧЕНЬ медленной. Приобретение математического сопроцессора настоятельно рекомендуется, он того стоит.
Note: Некоторые математические сопроцессоры работают лучше, чем другие. Нам неприятно это признавать, но Intel пока никого не подводил. Если вы не уверены, что сопроцессор будет работать с FreeBSD, избегайте клонов.
В Руководстве приведён список остальных устройств, которые поддерживаются во FreeBSD.
FreeBSD поддерживает APM на некоторых машинах. Поищите в файле конфигурации ядра LINT слово APM. Более полная информация может быть найдена в справочной странице по apm(4).
Этот раздел содержит решения специфичных проблем с аппаратным обеспечением, с которыми сталкиваются наши пользователи.
Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к печальным последствиям при загрузке FreeBSD, потому что имеет место несоответствие устройств PCI занимаемым ими адресам.
Для решения этой проблемы отключите в BIOS опцию ``Plug and Play Operating System''.
Более подробная информация об этой проблеме находится по следующему адресу:
Вам нужно добавить PnP ID вашего модема в список PnP ID драйвера последовательного порта. Для включения поддержки Plug & Play, откомпилируйте новое ядро с опцией controller pnp0 в конфигурационном файле, и перезагрузите машину. Ядро выведет список ID всех найденных PnP-устройств. Добавьте PnP ID модема в таблицу в файле /sys/i386/isa/sio.c, где-то в районе 2777 строки. Чтобы найти таблицу, поищите слово SUP1310 в структуре siopnp_ids[]. Снова постройте ядро, проинсталлируйте его и перезагрузитесь. Теперь ваш модем должен быть опознан.
Вам может понадобиться отконфигурировать PnP-устройства командой pnp в конфигураторе во время загрузки следующим образом:
pnp 1 0 enable os irq0 3 drq0 0 port0 0x2f8
чтобы модем был распознан.
FreeBSD поддерживает работу со многими программными модемами посредством специального дополнительного программного обеспечения. Установка порта comms/ltmdm добавит поддержку для модемов на основе очень популярного набора микросхем Lucent LT. Порт comms/mwavem поддерживает модемы, установленные в лэптопах IBM Thinkpad 600 и 700.
Вы не сможете установить FreeBSD, работая через программный модем; это программное обеспечение должно быть установлено после установки ОС.
Постройте ядро с параметром options COMCONSOLE.
Создайте файл /boot.config, поместив туда только текст -P.
Отключите клавиатуру.
Подробная информация находится в файле /usr/src/sys/i386/boot/biosboot/README.serial.
Некоторые материнские платы Micron имеют BIOS, не удовлетворяющую стандарту PCI BIOS, что приводит к несоответствию устройств PCI занимаемым ими адресам. Это приводит к печальным последствиям при загрузке FreeBSD.
Для решения этой проблемы отключите в BIOS опцию ``Plug and Play Operating System''.
Более подробная информация об этой проблеме находится по следующему адресу: http://cesdis.gsfc.nasa.gov/linux/drivers/vortex.html#micron
Да. Поддержка SMP в ядре GENERIC не включена, так что для её включения вам нужно перекомпилировать ядро. Посмотрите в файл /sys/i386/conf/LINT, чтобы определить, какие параметры нужно поместить в конфигурационный файл вашего ядра.
Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам связанными с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам связанным с русским переводом документации, пишите <frdp@FreeBSD.org.ua>.