「ルートデバイスを待っている」で起動が停止する:Beagle Bone Black

「ルートデバイスを待っている」で起動が停止する:Beagle Bone Black

メインラインカーネルをBeagle Bone Blackで起動してみました。コンパイルはスムーズに行われ、zImageがあり、ubootフロントエンドにMLOファイルとu-boot.imgファイルがあります。

私はelinuxの指示に従っています。 http://elinux.org/Building_for_BeagleBone

マザーボードの起動時にS2をキャッチしてmicroSDカードから強制起動すると、ubootプロンプトが表示され、カーネルも選択されてロードされますが、起動プロセスはここで停止します。

[    1.645505] Waiting for root device ... 
[    1.654437] mmc1: new high speed MMC card at address 0001
[    1.660920] mmcblk1: mmc1:0001 S10004 3.56 GiB 
[    1.666011] mmcblk1boot0: mmc1:0001 S10004 partition 1 4.00 MiB 
[    1.672479] mmcblk1boot1: mmc1:0001 S10004 partition 2 4.00 MiB 
[    1.679915]  mmcblk1: p1 p2

mmcblk1はオンボードmmcメモリモジュールでなければならず、mmcblkoは私が起動したカードです。

1.542889] mmc0:書き込み可能であると仮定すると、ホストは読み取り専用スイッチをサポートしません。

[    1.554351] mmc0: new high speed SDHC card at address aaaa
[    1.561019] mmcblk0: mmc0:aaaa SS08G 7.40 GiB  <-- Size match 
[    1.567951]  mmcblk0: p1 p2

uEnv.txt ファイルの内容は次のとおりです。

bootdir=                                                         
bootfile=zImage 
fdtfile=am335x-boneblack.dtb
loadaddr=0x80007fc0
fdtaddr=0x80F80000
loadfdt=fatload mmc 0:1 ${fdtaddr} ${fdtfile}
loaduimage=fatload mmc 0:1 ${loadaddr} ${bootfile}     
uenvcmd=mmc rescan; run loaduimage; run loadfdt; run fdtboot
fdtboot=run mmc_args; run mmcargs; bootz ${loadaddr} - ${fdtaddr}
mmc_args=setenv bootargs console=${console} ${optargs} root=${mmcroot}
rootfstype=${mmcrootfstype}

必要に応じて追加のログを提供できます。あまりにも多くのスペースを占めているので、この質問が他人を助けるためのものであれば、Pastebinは長期的な解決策ではありません。

ベストアンサー1

問題はuEnv.txtファイルにありましたが、ここでuboot環境で選択された変数rootとrootfstypeを保持しました。カスタム値を指定すると、目的の結果が得られます。

私が投稿したuEnv.txtの最後の行で、以下を変更します。

root=/dev/mmcblk0p2 <-microSD Card , Second Partition
rootfstype=ext4    <- The type of Rootfs you build, I used buildroot with ext4 settings

おすすめ記事