summaryrefslogtreecommitdiffstats
path: root/classes/sdcard_image-rpi.bbclass
diff options
context:
space:
mode:
authorPaul Barker <pbarker@toganlabs.com>2017-09-08 10:12:54 +0000
committerAndrei Gherzan <andrei@gherzan.com>2017-09-24 20:39:35 +0100
commite9bb7f0c6d3f77312970034ca0a63b3df0e3ba8e (patch)
tree992506e7939fc0f27f4ece212db0134c56d7e128 /classes/sdcard_image-rpi.bbclass
parent43e0169ab7f5143fab3ec12a788557a6306c8476 (diff)
downloadmeta-raspberrypi-e9bb7f0c6d3f77312970034ca0a63b3df0e3ba8e.tar.gz
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 <pbarker@toganlabs.com>
Diffstat (limited to 'classes/sdcard_image-rpi.bbclass')
-rw-r--r--classes/sdcard_image-rpi.bbclass21
1 files changed, 7 insertions, 14 deletions
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] = " \
55 dosfstools-native:do_populate_sysroot \ 55 dosfstools-native:do_populate_sysroot \
56 virtual/kernel:do_deploy \ 56 virtual/kernel:do_deploy \
57 ${IMAGE_BOOTLOADER}:do_deploy \ 57 ${IMAGE_BOOTLOADER}:do_deploy \
58 ${@bb.utils.contains('KERNEL_IMAGETYPE', 'uImage', 'u-boot:do_deploy', '',d)} \ 58 ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
59 " 59 "
60 60
61# SD card image name 61# SD card image name
@@ -136,16 +136,13 @@ IMAGE_CMD_rpi-sdimg () {
136 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.${DTB_EXT} ::overlays/${DTB_BASE_NAME}.${DTB_EXT} 136 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.${DTB_EXT} ::overlays/${DTB_BASE_NAME}.${DTB_EXT}
137 done 137 done
138 fi 138 fi
139 case "${KERNEL_IMAGETYPE}" in 139 if [ "${RPI_USE_U_BOOT}" = "1" ]; then
140 "uImage")
141 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE} 140 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
142 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::uImage 141 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${KERNEL_IMAGETYPE}
143 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr 142 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
144 ;; 143 else
145 *)
146 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE} 144 mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE}
147 ;; 145 fi
148 esac
149 146
150 if [ -n ${FATPAYLOAD} ] ; then 147 if [ -n ${FATPAYLOAD} ] ; then
151 echo "Copying payload into VFAT" 148 echo "Copying payload into VFAT"
@@ -160,14 +157,10 @@ IMAGE_CMD_rpi-sdimg () {
160 mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info :: 157 mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
161 158
162 # Deploy vfat partition (for u-boot case only) 159 # Deploy vfat partition (for u-boot case only)
163 case "${KERNEL_IMAGETYPE}" in 160 if [ "${RPI_USE_U_BOOT}" = "1" ]; then
164 "uImage")
165 cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT} 161 cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT}
166 ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT} 162 ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT}
167 ;; 163 fi
168 *)
169 ;;
170 esac
171 164
172 # Burn Partitions 165 # Burn Partitions
173 dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync 166 dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024) && sync && sync