Eu tenho um pequeno dispositivo embutido (mips) que executa um Linux muito leve.
Ele é capaz de montar compartilhamentos NFS (manualmente pelo comando mount ).
No entanto, quero montá-lo automaticamente, por isso o defini no arquivo fstab .
O problema é que o dispositivo não tem conexão disponível no momento em que o fstab é processado:
mount: mounting 10.1.1.1:/srv/fs on /nfs failed: Input/output error
Em seguida, o sistema continua inicializando (inicializa o módulo wifi, conecta-se ao AP e consulta o endereço IP com udhcpc .
Depois que o udhcpc obtém o endereço IP com sucesso, posso executar:
mount -a
e o /nfs será montado com sucesso.
Como posso dizer ao fstab para esperar e tentar novamente constantemente?
Observe que este é um Linux truncado. Não há scripts systemd ou ifup disponíveis.
É claro que posso executar um script na inicialização que executa 'mount -a' constantemente até o sucesso, mas esse é o método de força bruta e estou procurando uma solução mais sofisticada, se existir.
A solução usual é fazer com que o cliente DHCP o informe após concluir a configuração da rede. A maioria dos clientes DHCP tem a capacidade de iniciar shellscripts "hook" para esse propósito, assim como o udhcpc. De acordo com a documentação ,
Isso significa que você pode simplesmente colocar um shellscript no local correto (use a
--script
opção se necessário) e fazer com que ele inicie suas montagens sempre que for chamado com o$1
parâmetro definido comobound
.