Наиболее благополучная ситуация с оборудованием сейчас у средств виртуализации - 9front поддерживает эмулируемое оборудование. По крайней мере такова ситуация с LibVirt.
Настройка WiFi-карточек
У 9front пока нет поддержки WiFi-карточек Broadcom, распространенных на старых ноутбуках. Проблема осложняется еще и несовместимостью - не всегда получится поменять карточки между разными ноутбуками, они могут отказаться грузиться на стадии БИОСа.
Наилучшая поддержка у карточек Intel. Для некоторых понадобится доустановить в систему firmware, которое с 9front не поставляется по лицензионным обстоятельствам. По каждой модели конкретно надо выяснять особенности установки. Также надо посмотреть вывод /dev/kmesg - в случае если карточка ожидает дополнительное firmware, там об этом будет упомянуто. Далее на примере карточки iwl. Вывод /dev/kmesg показывает строку:
#l1: '/lib/firmware/iwm-7260-17' does not exist
Поиск в Гугле приводит к репозиторию OpenBSD в котором имеются прошивки в подходящем формате. Скачиваем архив прошивки, распаковываем и помещаем файл прошивки в /lib/firmware. Далее необходимо перекомпилировать ядро. Переходим в /sys/src/9/pc64, запускаем mk install
и перезагружаемся (возможно несколько раз), проверяя отсутствие вышеуказанной строки о ненайденной прошивке. Если включение не произошло - сперва проверяем, собрался ли образ корневой системы /boot/bootfs.paq. Можно сверить дату создания и размер имеющегося /boot/bootfs.paq с только что собранным /sys/src/9/pc64/bootfs.paq. Можно и посмотреть содержимое актуального образа:
cd /boot
paqfs bootfs.paq
ls -l /n/paq/lib/firmware
Также возможно придется обновить ядро в загрузочном разделе:
9fs 9fat
mv /n/9fat/9pc64 /n/9fat/9pc64_bkp
cp /amd64/9p64 /n/9fat
Проверяем командой:
ls '#l1'
'#l1/ether1'
Если вывод такой, то все получилось. Теперь в загрузочном скрипте (можно и в lib/profile) добавляем строку:
bind -a '#l1' /dev
После перезагрузки должен присутствовать каталог /net/ether1, а cat /net/ether1/ifstats
должен показывать список найденных сетей.
Теперь надо настроить для карточки сетевую конфигурацию и подключение.