Beagle Bone Blackでメインラインカーネルを起動してみました。コンパイルは正常に行われ、zImageがあり、ubootの前にMLOとu-boot.imgファイルがあります。
私はelinuxからの指示に従っています。 http://elinux.org/Building_for_BeagleBone
ボードを起動すると、microSDカードから強制的にブートするS2を保持しているので、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は長期的な解決策ではありません。
問題はuEnv.txtファイルにありました。ここで、変数rootおよびrootfstypeをuboot環境から選択するようにしました。カスタム値を指定すると、希望する結果が得られます。
投稿したuEnv.txtの最後の行で、
root=/dev/mmcblk0p2 <-microSD Card , Second Partition
rootfstype=ext4 <- The type of Rootfs you build, I used buildroot with ext4 settings