diff options
author | Paul Barker <pbarker@toganlabs.com> | 2017-09-08 10:12:54 +0000 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2017-09-24 20:39:35 +0100 |
commit | e9bb7f0c6d3f77312970034ca0a63b3df0e3ba8e (patch) | |
tree | 992506e7939fc0f27f4ece212db0134c56d7e128 /classes/sdcard_image-rpi.bbclass | |
parent | 43e0169ab7f5143fab3ec12a788557a6306c8476 (diff) | |
download | meta-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.bbclass | 21 |
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 |