web-dev-qa-db-ja.com

ルートの取り付け中にSDカードリーダーがUUIDを取得しない

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として表示されます。これは、ファームウェアの問題であることを示していますか?

1
Arronical

私も同じ問題を抱えてる。代わりに、grub内でカードがどのドライブにあるかを識別できます。/etc/default/grubに移動し、uuidを使用しないように行のコメントを解除します。次に、「update-grub」を実行します。次に、カードのuuidを探すのではなく、たとえば/ dev/sda1から起動を試みる必要があります。

1
Matt