네트워크에 성공적으로 연결한 후 Linux NFS 마운트

네트워크에 성공적으로 연결한 후 Linux NFS 마운트

나는 매우 가벼운 Linux를 실행하는 작은 임베디드(mips) 장치를 가지고 있습니다.

NFS 공유를 마운트할 수 있습니다(수동으로명령).

그러나 자동으로 마운트하고 싶기 때문에fstab파일.

문제는 fstab이 처리될 때 장치에 사용 가능한 연결이 없다는 것입니다.

mount: mounting 10.1.1.1:/srv/fs on /nfs failed: Input/output error

그런 다음 시스템은 계속 부팅됩니다(wifi 모듈을 초기화하고, AP에 연결하고, 다음을 사용하여 IP 주소를 쿼리합니다).udhcpc.

udhcpc가 성공적으로 IP 주소를 얻은 후 다음을 실행할 수 있습니다.

mount -a

/nfs가 성공적으로 마운트됩니다.

fstab에게 기다렸다가 지속적으로 재시도하라고 어떻게 알릴 수 있나요?

이것은 잘린 Linux입니다. 사용할 수 있는 systemd 또는 ifup 스크립트가 없습니다.

물론 부팅 시 성공할 때까지 'mount -a'를 지속적으로 실행하는 스크립트를 실행할 수 있지만 이는 무차별 방식이며 존재하는 경우 더 정교한 솔루션을 찾고 있습니다.

답변1

일반적인 해결책은 다음과 같습니다.DHCP 클라이언트네트워크 구성이 완료되면 알려줍니다. 대부분의 DHCP 클라이언트에는 해당 목적을 위해 "후크" 쉘스크립트를 시작할 수 있는 기능이 있으며 udhcpc도 마찬가지입니다. 에 따르면선적 서류 비치,

이벤트가 발생하면 udhcpc는 작업 스크립트를 호출합니다. 기본적으로 스크립트는 다음과 같습니다./usr/share/udhcpc/default.script하지만 이는 명령줄 인수를 통해 변경할 수 있습니다. 스크립트에 대한 세 가지 가능한 인수는 다음과 같습니다: [...]

경계: 이 인수는 udhcpc가 바인딩 해제된 상태에서 바인딩된 상태로 이동할 때 사용됩니다. 모든 매개변수는 환경 변수에 설정됩니다. 스크립트는 인터페이스를 구성하고 기타 관련 매개변수(기본 게이트웨이, DNS 서버 등)를 설정해야 합니다.

즉, 쉘스크립트를 올바른 위치에 배치하고(필요한 경우 옵션 사용 ) 매개변수를 로 설정하여 --script호출할 때마다 마운트를 시작하도록 할 수 있습니다 .$1bound

#!/bin/sh
if [ "$1" = bound ]; then
    mount -a
fi

관련 정보