diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc')
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc | 132 |
1 files changed, 79 insertions, 53 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc b/import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc index 3ba866de01..252aae945c 100644 --- a/import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc +++ b/import-layers/yocto-poky/meta/recipes-bsp/u-boot/u-boot.inc @@ -9,10 +9,11 @@ LIC_FILES_CHKSUM = "file://Licenses/README;md5=a2c678cfd4a4d97135585cad908541c6" SRC_URI = "git://git.denx.de/u-boot.git;branch=master" S = "${WORKDIR}/git" +B = "${WORKDIR}/build" PACKAGE_ARCH = "${MACHINE_ARCH}" -inherit uboot-config deploy +inherit uboot-config uboot-extlinux-config uboot-sign deploy EXTRA_OEMAKE = 'CROSS_COMPILE=${TARGET_PREFIX} CC="${TARGET_PREFIX}gcc ${TOOLCHAIN_OPTIONS}" V=1' EXTRA_OEMAKE += 'HOSTCC="${BUILD_CC} ${BUILD_CFLAGS} ${BUILD_LDFLAGS}"' @@ -32,7 +33,6 @@ UBOOT_LOCALVERSION ?= "" # but enable individual recipes to change this value. UBOOT_SUFFIX ??= "bin" UBOOT_IMAGE ?= "u-boot-${MACHINE}-${PV}-${PR}.${UBOOT_SUFFIX}" -UBOOT_BINARY ?= "u-boot.${UBOOT_SUFFIX}" UBOOT_SYMLINK ?= "u-boot-${MACHINE}.${UBOOT_SUFFIX}" UBOOT_MAKE_TARGET ?= "all" @@ -65,9 +65,15 @@ UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}" UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}" UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}" +# U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf +# to find EXTLINUX conf file. +UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux" +UBOOT_EXTLINUX_CONF_NAME ?= "extlinux.conf" +UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}" + do_compile () { if [ "${@bb.utils.contains('DISTRO_FEATURES', 'ld-is-gold', 'ld-is-gold', '', d)}" = "ld-is-gold" ] ; then - sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' config.mk + sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk fi unset LDFLAGS @@ -79,41 +85,48 @@ do_compile () { echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion fi - - if [ "x${UBOOT_CONFIG}" != "x" ] + + if [ -n "${UBOOT_CONFIG}" ] then + unset i j k for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; - for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + i=$(expr $i + 1); + for type in ${UBOOT_CONFIG}; do + j=$(expr $j + 1); if [ $j -eq $i ] then - oe_runmake O=${config} ${config} - oe_runmake O=${config} ${UBOOT_MAKE_TARGET} - cp ${S}/${config}/${UBOOT_BINARY} ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} + oe_runmake -C ${S} O=${B}/${config} ${config} + oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET} + for binary in ${UBOOT_BINARIES}; do + k=$(expr $k + 1); + if [ $k -eq $i ]; then + cp ${B}/${config}/${binary} ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} + fi + done + unset k fi done unset j done unset i else - oe_runmake ${UBOOT_MACHINE} - oe_runmake ${UBOOT_MAKE_TARGET} + oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE} + oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET} fi } do_install () { - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then install -d ${D}/boot - install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY} fi @@ -123,21 +136,21 @@ do_install () { unset i else install -d ${D}/boot - install ${S}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} + install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE} ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY} fi - if [ "x${UBOOT_ELF}" != "x" ] + if [ -n "${UBOOT_ELF}" ] then - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then - install ${S}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} + install -m 644 ${B}/${config}/${UBOOT_ELF} ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${D}/boot/${UBOOT_BINARY} fi @@ -146,7 +159,7 @@ do_install () { done unset i else - install ${S}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE} + install -m 644 ${B}/${UBOOT_ELF} ${D}/boot/${UBOOT_ELF_IMAGE} ln -sf ${UBOOT_ELF_IMAGE} ${D}/boot/${UBOOT_ELF_BINARY} fi fi @@ -156,17 +169,17 @@ do_install () { install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config fi - if [ "x${SPL_BINARY}" != "x" ] + if [ -n "${SPL_BINARY}" ] then - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then - install ${S}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR} + install -m 644 ${B}/${config}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}-${type}-${PV}-${PR} ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}-${type} ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME} fi @@ -175,61 +188,67 @@ do_install () { done unset i else - install ${S}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} + install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE} ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME} fi fi - if [ "x${UBOOT_ENV}" != "x" ] + if [ -n "${UBOOT_ENV}" ] then - install ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE} + install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${D}/boot/${UBOOT_ENV_IMAGE} ln -sf ${UBOOT_ENV_IMAGE} ${D}/boot/${UBOOT_ENV_BINARY} fi + + if [ "${UBOOT_EXTLINUX}" = "1" ] + then + install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME} + fi + } FILES_${PN} = "/boot ${sysconfdir}" do_deploy () { - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then install -d ${DEPLOYDIR} - install ${S}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} + install -m 644 ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} cd ${DEPLOYDIR} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_SYMLINK} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY} - fi - done + fi + done unset j done unset i else install -d ${DEPLOYDIR} - install ${S}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} + install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE} cd ${DEPLOYDIR} rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK} ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK} ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY} fi - if [ "x${UBOOT_ELF}" != "x" ] + if [ -n "${UBOOT_ELF}" ] then - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then - install ${S}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} + install -m 644 ${B}/${config}/${UBOOT_ELF} ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY}-${type} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_ELF_SUFFIX} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK}-${type} @@ -240,24 +259,24 @@ do_deploy () { done unset i else - install ${S}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE} + install -m 644 ${B}/${UBOOT_ELF} ${DEPLOYDIR}/${UBOOT_ELF_IMAGE} ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_BINARY} ln -sf ${UBOOT_ELF_IMAGE} ${DEPLOYDIR}/${UBOOT_ELF_SYMLINK} fi fi - if [ "x${SPL_BINARY}" != "x" ] + if [ -n "${SPL_BINARY}" ] then - if [ "x${UBOOT_CONFIG}" != "x" ] + if [ -n "${UBOOT_CONFIG}" ] then for config in ${UBOOT_MACHINE}; do - i=`expr $i + 1`; + i=$(expr $i + 1); for type in ${UBOOT_CONFIG}; do - j=`expr $j + 1`; + j=$(expr $j + 1); if [ $j -eq $i ] then - install ${S}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR} + install -m 644 ${B}/${config}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}-${type}-${PV}-${PR} rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}-${type} ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME}-${type} ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_BINARYNAME} @@ -269,7 +288,7 @@ do_deploy () { done unset i else - install ${S}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} + install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE} rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK} ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_BINARYNAME} ln -sf ${SPL_IMAGE} ${DEPLOYDIR}/${SPL_SYMLINK} @@ -277,13 +296,20 @@ do_deploy () { fi - if [ "x${UBOOT_ENV}" != "x" ] + if [ -n "${UBOOT_ENV}" ] then - install ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE} + install -m 644 ${WORKDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_IMAGE} rm -f ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK} ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_BINARY} ln -sf ${UBOOT_ENV_IMAGE} ${DEPLOYDIR}/${UBOOT_ENV_SYMLINK} fi + + if [ "${UBOOT_EXTLINUX}" = "1" ] + then + install -m 644 ${UBOOT_EXTLINUX_CONFIG} ${DEPLOYDIR}/${UBOOT_EXTLINUX_SYMLINK} + ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE} + ln -sf ${UBOOT_EXTLINUX_SYMLINK} ${DEPLOYDIR}/${UBOOT_EXTLINUX_CONF_NAME} + fi } addtask deploy before do_build after do_compile |