Beaglebone Black没有使用yocto-image启动

时间:2017-08-04 06:34:45

标签: beagleboneblack yocto

我正在使用yocto-project为BBB创建图像。我克隆了项目git clone -b pyro git://git.yoctoproject.org/poky,然后启动了构建过程。用bitbake core-image-sato烘焙它,并获得带有文件的构建目录。

我在SD卡上创建了2个分区,其中64M用于root,其余为(15 + GB)用于启动。 已将MLO and u-boot-beaglebone.img复制到root partition

取消根分区上的core-image-sato-beaglebone.tar.bz2,然后在启动分区下复制zImage-beaglebone.bin, zImage-am335x-bone.dtb, zImage-am335x-boneblack.dtb

当我尝试启动BBB时,发现u-boot需要uEnv.txt并卡在那里。 yocto构建目录没有任何uEnv.txt,那么如何编写自己的uEnv.txt?这是u-boot提示符。 Hit any key to stop autoboot: 0 gpio: pin 53 (gpio 53) value is 1 mmc0 is current device micro SD card found mmc0 is current device gpio: pin 54 (gpio 54) value is 1 SD/MMC found on device 0 reading uEnv.txt ** Unable to read file uEnv.txt ** gpio: pin 55 (gpio 55) value is 1 ** File not found /boot/uImage ** U-Boot# 我在root分区中添加了uEnv.txt,文本为 mmcdev=0 mmcpart=1 bootpart=0:1 这次u-boot尝试从uImage目录中读取/boot,但我现在有zImage这个冲突了吗?我该如何解决?

SD/MMC found on device 0 reading uEnv.txt 32 bytes read in 4 ms (7.8 KiB/s) Loaded environment from uEnv.txt Importing environment from mmc ... gpio: pin 55 (gpio 55) value is 1 reading /boot/uImage ** Unable to read file /boot/uImage ** U-Boot#

1 个答案:

答案 0 :(得分:1)

似乎U-boot无法找到uEnv.txt文件。尝试这些配置。您可能需要根据您的环境修改某些配置。

sudo vim uEnv.txt

kernel_file=zImage
bootdir=/boot
mmcdev=0
mmcpart=2
loadzimage=load mmc ${mmcdev}:${mmcpart} ${loadaddr} ${bootdir}/${kernel_file}
loadfdt=load mmc ${mmcdev}:${mmcpart} ${fdtaddr} ${bootdir}/${fdtfile}   
console=ttyO0,115200n8  
mmcroot=/dev/mmcblk0p2 ro  
mmcrootfstype=ext4 rootwait fixrtc  
mmcargs=setenv bootargs console=${console} root=${mmcroot}  rootfstype=${mmcrootfstype} ${optargs}  
uenvcmd=run loadzimage; run loadfdt; run mmcargs; bootz ${loadaddr} - ${fdtaddr}

将zImage和dtb复制到启动分区:

sudo cp -v /<path_to_kernel>/arch/arm/boot/zImage <path_to_boot>/boot/
sudo cp -v /<path_to_kernel>/arch/arm/boot/dts/am335x-boneblack.dtb <path_to_boot>/boot/