Nota: não se trata de usar nfs para rootfs ou usar tftp para baixar um kernel.
O U-boot é baseado em v2017.11
, a placa é personalizada, mas semelhante à imx6dl-sabresd.
Eu CONFIG_CMD_NFS=y
estabeleci .config
. Eu tenho um servidor nfs funcionando em um host Arch Linux. Posso montar o compartilhamento nfs como meu rootfs.
Meu compartilhamento de nfs está em /srv/nfs/foo
, e /etc/exports.d/foo.exports
parece
/srv/nfs/foo *(rw,async,no_subtree_check,no_root_squash)
Quando tento fazer, por exemplo nfs $loadaddr $nfsroot/boot/zImage
, ele continua imprimindo T
por tempo limite. ( nfsroot=/srv/nfs/foo
para corresponder à exportação.) O arquivo existe no compartilhamento e a rede está funcionando ( ping $serverip
funciona).
Eu precisava habilitar o udp no servidor nfs. No Arch Linux, isso está em
/etc/nfs.conf
:Não possuo nenhuma outra customização (além da exportação).
Olhando para isso, parece que as versões mais recentes do nfs (para referência, estou usando
nfs-utils
2.3.1) desabilitam o udp por padrão, mas aparentemente o u-boot precisa de suporte a udp.