Ошибка undefined reference to `xpt_done’ при сборке ядра FreeBSD 9
Собирал ядро на тестовом сервере, делал все как обычно, кроме как оставил поддержку USB (на рабочих вебсерверах, оставляю в ядре все по-минимуму, даже убираю поддержку USB). Модули собрались успешно, а вот при сборке ядра вылезла ошибка
undefined reference to `xpt_done' umass.o(.text+0x62b): In function `umass_cam_cb': |
и в таком духе — было ясно, что что-то с поддержкой USB
Начал разбираться, оказалось, что:
Замечание: USB umass(4) драйвер (и некоторые другие драйверы) используют подсистему SCSI, хотя и не являются настоящими SCSI устройствами. Следовательно, вам необходимо сохранить поддержку SCSI, если какой-либо из этих драйверов включен в конфигурацию ядра.
Добавил в ядро
# ATA/SCSI peripherals device scbus # SCSI bus (required for ATA/SCSI) device da # Direct Access (disks) device pass # Passthrough device (direct ATA/SCSI access) |
И все хорошо собралось.