From b1bb92609847f8df401958a4361193cb23684184 Mon Sep 17 00:00:00 2001 From: Matthew McClintock Date: Fri, 18 Nov 2011 14:34:29 -0600 Subject: [PATCH] Add u-boot recipe to meta-fsl-ppc Signed-off-by: Matthew McClintock --- .../recipes-kernel/u-boot/u-boot_git.bb | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 meta-fsl-ppc/recipes-kernel/u-boot/u-boot_git.bb diff --git a/meta-fsl-ppc/recipes-kernel/u-boot/u-boot_git.bb b/meta-fsl-ppc/recipes-kernel/u-boot/u-boot_git.bb new file mode 100644 index 00000000..8ef48568 --- /dev/null +++ b/meta-fsl-ppc/recipes-kernel/u-boot/u-boot_git.bb @@ -0,0 +1,99 @@ +DESCRIPTION = "U-boot bootloader" +HOMEPAGE = "http://u-boot.sf.net" +SECTION = "bootloaders" +PROVIDES = "virtual/bootloader" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=1707d6db1d42237583f50183a5651ecb" + +PR = "r5" +INHIBIT_DEFAULT_DEPS = "1" +DEPENDS = "boot-format-native virtual/${TARGET_PREFIX}gcc" + +inherit deploy + +SRCREV = "348d8fceba39e5622d315ffda7d72ff6bbcf05ec" +SRC_URI = "git://git.freescale.com/ppc/sdk/u-boot.git \ + " + +EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}" +PACKAGE_ARCH = "${MACHINE_ARCH}" + +USRC ?= "" +S = ${@base_conditional("USRC", "", "${WORKDIR}/git", "${USRC}", d)} + +do_compile () { + unset LDFLAGS + unset CFLAGS + unset CPPFLAGS + + if [ "x${UBOOT_MACHINES}" == "x" ]; then + UBOOT_MACHINES=${UBOOT_MACHINE} + fi + + for board in ${UBOOT_MACHINES}; do + oe_runmake O=${board} distclean + oe_runmake O=${board} ${board} + oe_runmake O=${board} all + + case "${board}" in + *SDCARD*) UBOOT_TARGET="u-bootx-sd";; + *SPIFLASH*) UBOOT_TARGET="u-bootx-spi";; + *) UBOOT_TARGET="";; + esac + + if [ "x${UBOOT_TARGET}" != "x" ]; then + ${STAGING_BINDIR_NATIVE}/boot_format \ + ${STAGING_DATADIR_NATIVE}/${BOOTFORMAT_CONFIG} \ + ${S}/${board}/u-boot.bin -spi ${S}/${board}/${UBOOT_TARGET}.bin + fi + done +} + +do_install(){ + if [ "x${UBOOT_MACHINES}" == "x" ]; then + UBOOT_MACHINES=${UBOOT_MACHINE} + fi + + for board in ${UBOOT_MACHINES}; do + case "${board}" in + *SDCARD*) UBOOT_TARGET="u-bootx-sd";; + *SPIFLASH*) UBOOT_TARGET="u-bootx-spi";; + *NAND*) UBOOT_TARGET="u-boot-nand";; + *) UBOOT_TARGET="u-boot";; + esac + + if [ -f ${S}/${UBOOT_TARGET}.bin ]; then + install ${S}/${board}/${UBOOT_TARGET}.bin ${D}/boot/${UBOOT_TARGET}-${MACHINE}-${PV}-${PR}.bin + ln -sf ${UBOOT_TARGET}-${MACHINE}-${PV}-${PR}.bin ${D}/boot/${UBOOT_TARGET}.bin + fi + done +} + +do_deploy(){ + if [ "x${UBOOT_MACHINES}" == "x" ]; then + UBOOT_MACHINES=${UBOOT_MACHINE} + fi + + for board in ${UBOOT_MACHINES}; do + case "${board}" in + *SDCARD*) UBOOT_TARGET="u-bootx-sd";; + *SPIFLASH*) UBOOT_TARGET="u-bootx-spi";; + *NAND*) UBOOT_TARGET="u-boot-nand";; + *) UBOOT_TARGET="u-boot";; + esac + + if [ -f ${S}/${board}/${UBOOT_TARGET}.bin ]; then + mkdir -p ${DEPLOY_DIR_IMAGE} + install ${S}/${board}/${UBOOT_TARGET}.bin ${DEPLOY_DIR_IMAGE}/${UBOOT_TARGET}-${MACHINE}-${PV}-${PR}.bin + + cd ${DEPLOY_DIR_IMAGE} + rm -f ${UBOOT_TARGET}-${MACHINE}.bin + ln -sf ${UBOOT_TARGET}-${MACHINE}-${PV}-${PR}.bin ${UBOOT_TARGET}-${MACHINE}.bin + fi + done +} +addtask deploy after do_install + +FILES_${PN} += "/boot" + +ALLOW_EMPTY = 1 -- 2.40.1