RPiとbusybox用のミニマルなケレネルをinitとShellとして使用したカスタムbuildrootビルドがあります。起動プロセスの最後に、USBドライブにアクセスしようとする独自のサービスを開始します。ただし、現時点では、usbドライバーはまだUSBドライブを含むusbデバイスを初期化しています。カーネルは約4秒で起動し、USBデバイスの認識にはさらに4〜5秒かかります。だから実際に私は起動中にUSBドライブを自動的にマウントする方法を知りたいのですが、それが起こった場合にのみサービスを開始します。サービスを開始する前にディスクをマウントすることもできますが、ここでも、USBディスクがすでに認識されており、/ dev/sda1が作成されているかどうかを知ることができます。
inotify
サポートを使用してカーネルを構築した場合は、inotifyを使用してデバイスの作成を待つことをお勧めします。そうでない場合は、busyboxinitシステムによってサービスが開始される前の場所にこのコードを配置できます。
# Waiting for device creation
while true
do
test -e /dev/yournode
if [ $? -eq 0 ]; then
echo "Device created";
break;
else
echo "Waiting for device";
sleep 1;
fi
done