Можно выполнить эту команду, чтобы диагностировать, как модем обнаруживается:
udevadm trigger --verbose
Это не решит, почти может быть полезный первый шаг в Вашем расследовании.
Как указано в документации ядра , / dev / nfs
не является реальным устройством, а только подсказкой ядру использовать NFS в качестве rootfs
. Вы также должны указать ядру, где найти этот корень, с помощью параметра nfsroot
или правильно настроенного демона DHCP. Чтобы последний работал, вам также необходимо либо настроить ядро для автоматической настройки сетевых интерфейсов, либо иметь initramfs
, который позаботится об этом.
Также убедитесь, что поддержка NFS встроена в ваш двоичный файл ядра, а не в качестве модуля (или имейте initramfs
, который позаботится об этом). То же самое и с сетевыми драйверами: вы, скорее всего, захотите, чтобы драйвер для вашей сетевой карты Ethernet был встроен в образ ядра, иначе вам придется загружать его из initramfs
.
Короче говоря, есть несколько возможностей:
root = / dev / nfs
, укажите правильный параметр nfsroot
и сообщите своему ядро вашей сетевой конфигурации с помощью параметра ip
(это был бы лучший способ убедиться, что он вообще работает, т.е. исключить неправильно настроенный DHCP-сервер). CONFIG_IP_PNP
и CONFIG_IP_PNP_DHCP
и настройте демон DHCP, чтобы сообщить клиенту, какой IP-адрес использовать и где найти его корень NFS. initramfs
, который выполняет правильную настройку и монтирование по NFS. Редактировать: Я думаю, что если вы используете initrd
/ initramfs
, как предлагает ваше редактирование, вам придется выполнить монтирование NFS в ] initrd
(соответственно ваш initrd
должен знать о том, что он должен это делать). Автоматическое монтирование через ядро (как автоконфигурация IP, IIRC) работает, только если нет initrd
.