From e9bb7f0c6d3f77312970034ca0a63b3df0e3ba8e Mon Sep 17 00:00:00 2001 From: Paul Barker Date: Fri, 8 Sep 2017 10:12:54 +0000 Subject: Support using u-boot with Image format for raspberrypi3-64 For raspberrypi3-64 we need to use the Image or Image.gz format with u-boot instead of the legacy uImage format. We also need to issue the 'booti' command to boot the kernel instead of 'bootm'. Signed-off-by: Paul Barker --- classes/sdcard_image-rpi.bbclass | 21 +++++++-------------- 1 file changed, 7 insertions(+), 14 deletions(-) (limited to 'classes') diff --git a/classes/sdcard_image-rpi.bbclass b/classes/sdcard_image-rpi.bbclass index 6d34a29..6b7433e 100644 --- a/classes/sdcard_image-rpi.bbclass +++ b/classes/sdcard_image-rpi.bbclass @@ -55,7 +55,7 @@ do_image_rpi_sdimg[depends] = " \ dosfstools-native:do_populate_sysroot \ virtual/kernel:do_deploy \ ${IMAGE_BOOTLOADER}:do_deploy \ - ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot:do_deploy', '',d)} \ + ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \ " # SD card image name @@ -136,16 +136,13 @@ IMAGE_CMD_rpi-sdimg () { mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.${DTB_EXT} ::overlays/${DTB_BASE_NAME}.${DTB_EXT} done fi - case "${KERNEL_IMAGETYPE}" in - "uImage") + if [ "${RPI_USE_U_BOOT}" = "1" ]; then mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE} - mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage + mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${KERNEL_IMAGETYPE} mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr - ;; - *) + else mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE} - ;; - esac + fi if [ -n ${FATPAYLOAD} ] ; then echo "Copying payload into VFAT" @@ -160,14 +157,10 @@ IMAGE_CMD_rpi-sdimg () { mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info :: # Deploy vfat partition (for u-boot case only) - case "${KERNEL_IMAGETYPE}" in - "uImage") + if [ "${RPI_USE_U_BOOT}" = "1" ]; then cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT} ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT} - ;; - *) - ;; - esac + fi # Burn Partitions dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync -- cgit v1.2.3-54-g00ecf