Примечание: речь не идет об использовании nfs для rootfs или использовании tftp для загрузки ядра.
U-boot основан на v2017.11
, плата нестандартная, но похожа на imx6dl-sabresd.
Я установил CONFIG_CMD_NFS = y
в .config
. У меня есть рабочий сервер nfs на хосте Arch Linux. Я могу смонтировать общий ресурс nfs как rootfs.
Мой общий ресурс nfs находится по адресу / srv / nfs / foo
, а /etc/exports.d/foo.exports
выглядит как
/srv/nfs/foo *(rw,async,no_subtree_check,no_root_squash)
Когда я пытаюсь сделать, например, nfs $ loadaddr $ nfsroot / boot / zImage
, он просто продолжает печатать T
в течение тайм-аута. ( nfsroot = / srv / nfs / foo
для соответствия экспорту.) Файл существует на общем ресурсе, и сеть работает (работает ping $ serverip
).
Мне нужно было включить udp на сервере nfs. В Arch Linux это находится в/etc/nfs.conf
:
[nfsd]
udp=y
У меня нет других настроек (, кроме экспорта ).
Судя по этому, кажется, что более новые версии nfs (для справки, я использую nfs-utils
2.3.1 )отключить udp по умолчанию, но, видимо, u -boot нуждается в поддержке udp.