Falha na inicialização do NFS no Atmel Sama5d2 xplained

0

Atualmente, estou tentando inicializar uma placa de avaliação do Atmel Sama5d2 Xplained do servidor NFS. Eu estou rodando um Debian 9 com a versão do kernel 4.9.0 e o servidor nfs é nfs-kernel-server.

Aqui está a configuração do servidor NFS

/srv/tftp/xplained/rootfs *(rw,nohide,no_subtree_check,async,no_root_squash)

Meu servidor NFS exporta com sucesso minhas pastas porque sou capaz de montá-las pela rede em outro linux.

Eu também sou capaz de recuperar tanto a imagem do kernel quanto o arquivo dtb do meu servidor tftp.

No entanto, quando o kernel é iniciado, ele não consegue inicializar a partir do rootfs exportado e retorna o seguinte erro

VFS: Unable to mount root fs via NFS, trying floppy. 
List of all partitions: 
0100            8192 ram0  (driver?) 
0101            8192 ram1  (driver?) 
0102            8192 ram2  (driver?) 
0103            8192 ram3  (driver?) 
b300         3833856 mmcblk0  driver: mmcblk   
  b301          112172 mmcblk0p1 00000000-01   
  b302         3721550 mmcblk0p2 00000000-02 
b318             128 mmcblk0rpmb  (driver?) 
b310 1024 mmcblk0boot1  (driver?) 
b308            1024 mmcblk0boot0  (driver?) 
No filesystem could mount root, tried:  nfs

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

Aqui estão meus argumentos do kernel

ip=dhcp console=ttyS0,115200 earlyprintk root=/dev/nfs rootfstype=nfs rw nfsroot=<server_ip>:/srv/tftp/xplained/rootfs

E dmesg sobre o serviço nfs-moutd

oct. 09 18:10:13 PC325 rpc.mountd[566]: authenticated mount request from 192.168.128.158:788 for /srv/tftp/xplained/rootfs (/srv/tftp/xplained/rootfs)
oct. 09 18:10:18 PC325 rpc.mountd[566]: authenticated mount request from 192.168.128.158:704 for /srv/tftp/xplained/rootfs (/srv/tftp/xplained/rootfs)
oct. 09 18:10:28 PC325 rpc.mountd[566]: authenticated mount request from 192.168.128.158:796 for /srv/tftp/xplained/rootfs (/srv/tftp/xplained/rootfs)
oct. 09 18:10:48 PC325 rpc.mountd[566]: authenticated mount request from 192.168.128.158:762 for /srv/tftp/xplained/rootfs (/srv/tftp/xplained/rootfs)

Eu tentei muitas coisas que encontrei na internet, como verificar regras de firewall, portas bloqueadas, etc ... e ainda não funciona. O mais estranho é que eu tentei de uma máquina Ubuntu com os mesmos pacotes e funcionou.
Eu também tentei de uma nova instalação do Debian e também funcionou.

Eu gostaria de entender por que não está funcionando no meu computador de desenvolvimento. Possivelmente como consertar isso

    
por Arkaik 09.10.2017 / 18:09

2 respostas

0

Graças a @alanSchmitz e depois de algumas investigações, eu finalmente encontrei onde o problema veio.

Aparentemente, eu tenho que forçar o uso do NFS v3 dentro do uboot, especificando-o nos argumentos de inicialização do kernel, como segue root=/dev/nfs rootfstype=nfs rw nfsroot=<server_ip>:/srv/tftp/xplained/rootfs,vers=3

Eu tentei corrigir isso no lado do servidor, mas não consegui descobrir como forçar o uso do NFS v3.

Vou atualizar minha resposta se descobri como forçar o uso do NFS v3 no lado do servidor para montar compartilhamentos.

    
por 19.04.2018 / 11:59
1

Eu experimentei o mesmo problema durante a execução do Manjaro Linux (baseado em arco). No Ubuntu 14.04 funcionaria, mas não no manjaro. Depois de realizar uma captura wireshark, o problema foi revelado. O servidor nfs respondeu com "Aceitar estado: remoto não pode suportar versão # (2)". Eu habilitei a versão 2 em /etc/nfs.conf no meu servidor nfs da seguinte forma:

[nfsd]
# debug=0
# threads=8
# host=
# port=0
# grace-time=90
# lease-time=90
# udp=y
# tcp=y
vers2=y
vers3=y
vers4=y
vers4.0=y
vers4.1=y
vers4.2=y
# rdma=n
#

Isso funcionou para mim.

    
por 14.12.2017 / 19:44