TrustyインストールのルートをフラッシュSDカードに配置しました。これは、最終的には読み取り専用として構成し、overlayFSを使用して、/ etcなどの必要な部分を書き込み可能にします。それをするのは少し怒っているように聞こえるかもしれませんが、それは私が問題を抱えている場所ではありません。
Ubuntuインストーラーは、マシンの前面にあるマルチカードリーダーを認識しないため、USBカードリーダーを使用してこの問題を回避します。次に、インストールが完了したら、SDカードをマルチカードリーダーに挿入します。
これは、2012ファームウェアを搭載した2台のFoxconn NanoPCで完全に機能しましたが、最近、新しいファームウェアを搭載した新しいモデルを購入しました。ここで問題が発生しました。
USBカードリーダーから内部リーダーに切り替えると、システムはローカルトップスクリプトの実行中にSDカードを追跡できなくなり、initramfsのシェルにドロップしてメッセージを表示します。
Gave up waiting for root device. Common Problems;
-Boot args (cat /proc/cmdline)
-Check rootdelay= (did the system wait long enough?)
-Check root= (did the system wait for the right device?)
-Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/disk/by-uuid/XXXXXXXXXXXXXX does not exist. Dropping to a Shell!
ルートファイルシステムがマウントされている時点で、ハードウェアがUUIDをシステムに渡していないようです。
initramfsが内部カードリーダーを指すようにする方法、またはUUID以外でSDカードを検索する方法はありますか?
または、間違った木を吠えていますか、他に試すべきことはありますか?
編集
動作中のシステムと動作していないシステムの主な違いは、BIOSブートオプションを選択するときに、SDカードが内部リーダーにある場合、動作中のシステムにSDカードの名前が表示されることです(汎用マルチカード1.00)が、動作していないシステムでは、常にUSBカードリーダー2.0として表示されます。これは、ファームウェアの問題であることを示していますか?
私も同じ問題を抱えてる。代わりに、grub内でカードがどのドライブにあるかを識別できます。/etc/default/grubに移動し、uuidを使用しないように行のコメントを解除します。次に、「update-grub」を実行します。次に、カードのuuidを探すのではなく、たとえば/ dev/sda1から起動を試みる必要があります。