imx-bootlets_10.12.01.bb 2.56 KB
Newer Older
Otavio Salvador's avatar
Otavio Salvador committed
1 2 3 4
DESCRIPTION = "i.MXS boot streams"
LICENSE = "GPL-2.0"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"

5
PR = "r2"
6

Otavio Salvador's avatar
Otavio Salvador committed
7
SRC_URI = "http://download.ossystems.com.br/bsp/freescale/source/imx-bootlets-src-${PV}.tar.gz \
8
           file://linux-fix-paths.patch \
9 10
           file://linux_prep-fix-cmdlines.patch \
           file://add-command-script-for-barebox.patch"
Otavio Salvador's avatar
Otavio Salvador committed
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33

SRC_URI[md5sum] = "cf0ab3822dca694b930a051501c1d0e4"
SRC_URI[sha256sum] = "63f6068ae36884adef4259bbb1fe2591755718f22c46d0a59d854883dfab1ffc"

S = "${WORKDIR}/imx-bootlets-src-${PV}"

# Disable parallel building or it may fail to build.
PARALLEL_MAKE = ""

EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX}"

# Ensure machine defines the IMXBOOTLETS_MACHINE
python () {
	if not d.getVar("IMXBOOTLETS_MACHINE", True):
		PN = d.getVar("PN", True)
		FILE = os.path.basename(d.getVar("FILE", True))
		bb.debug(1, "To build %s, see %s for instructions on \
			     setting up your machine config" % (PN, FILE))
		raise bb.parse.SkipPackage("because IMXBOOTLETS_MACHINE is not set")
}

do_configure () {
    # Use machine specific binaries
34 35
    sed 's,@MACHINE@,${MACHINE},g;s,@DTB@,-dtb,g' < linux.bd > linux.bd-dtb
    sed -i 's,@MACHINE@,${MACHINE},g;s,@DTB@,,g' linux.bd
36
    sed -i 's,@MACHINE@,${MACHINE},g' barebox_ivt.bd
Otavio Salvador's avatar
Otavio Salvador committed
37 38 39 40 41
}

do_compile () {
    oe_runmake BOARD=${IMXBOOTLETS_MACHINE} linux_prep \
                                            boot_prep \
42 43 44
                                            power_prep \
               'CC=${TARGET_PREFIX}gcc --sysroot="${STAGING_DIR_TARGET}"' \
               'LD=${TARGET_PREFIX}ld --sysroot="${STAGING_DIR_TARGET}"'
Otavio Salvador's avatar
Otavio Salvador committed
45 46 47 48 49
}

do_install () {
    install -d ${D}/boot/
    install -m 644 boot_prep/boot_prep power_prep/power_prep \
50 51
                   linux_prep/output-target/linux_prep \
                   linux.bd linux.bd-dtb \
52
                   barebox_ivt.bd \
Otavio Salvador's avatar
Otavio Salvador committed
53 54 55 56 57 58 59 60 61 62 63
                   ${D}/boot
}

FILES_${PN} = "/boot"

do_deploy () {
    install -d ${DEPLOY_DIR_IMAGE}

	for f in boot_prep/boot_prep \
             power_prep/power_prep \
             linux_prep/output-target/linux_prep \
64
             barebox_ivt.bd \
65
             linux.bd linux.bd-dtb; do
Otavio Salvador's avatar
Otavio Salvador committed
66 67 68 69 70 71 72 73 74 75 76 77
        full_name="imx-bootlets-`basename $f`-${MACHINE}-${PV}-${PR}"
        symlink_name="imx-bootlets-`basename $f`-${MACHINE}"

        install -m 644 ${S}/$f ${DEPLOY_DIR_IMAGE}/$full_name
        (cd ${DEPLOY_DIR_IMAGE} ; rm -f $symlink_nake ; ln -sf $full_name $symlink_name)
    done
}

addtask deploy before do_build after do_compile

PACKAGE_ARCH = "${MACHINE_ARCH}"
COMPATIBLE_MACHINE = "(mxs)"