Add ability to put the compiled fex file into the SD image

There is a new recipe called sunxi-board-fex which cares about the
compiling of the FEX file for each machine. If there is a fex.bin file
available in the deploy directory and machine depends on it (see SD
image class) it will be added.

Only OLinuXino A10S uses it for now.

Signed-off-by: Tomas Novotny <novotny@rehivetech.com>
This commit is contained in:
Tomas Novotny 2013-10-23 19:41:14 +02:00
parent 3d98d44f35
commit 429929f209
2 changed files with 58 additions and 0 deletions

View File

@ -35,6 +35,12 @@ IMAGE_DEPENDS_a10-sdimg = " \
virtual/bootloader \
"
# Compile FEX file
# For now it is only available for OLinuXino A10S
IMAGE_DEPENDS_a10-sdimg_olinuxino-a10s = " \
sunxi-board-fex \
"
# SD card image name
SDIMG = "${DEPLOY_DIR_IMAGE}/${IMAGE_NAME}.rootfs.a10-sdimg"
@ -64,6 +70,10 @@ IMAGE_CMD_a10-sdimg () {
mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${MACHINE}.bin ::uImage
if [[ -e "${DEPLOY_DIR_IMAGE}/fex.bin" ]]
then
mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/fex.bin ::script.bin
fi
# Add stamp file
echo "${IMAGE_NAME}-${IMAGEDATESTAMP}" > ${WORKDIR}/image-version-info

View File

@ -0,0 +1,48 @@
# Copyright (C) 2013 Tomas Novotny <novotny@rehivetech.com>
# Released under BSD-2-Clause or MIT license
DESCRIPTION = "Handler for Allwinner's FEX files"
LICENSE = "CC0-1.0"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/${LICENSE};md5=0ceb3372c9595f0a8067e55da801e4a1"
DEPENDS = "sunxi-tools-native"
SRCREV = "4016ad7fb6c249c0bd6b6d804c706f9a7a165cc6"
PV = "1.0"
PR = "r0"
SRC_URI = "git://github.com/linux-sunxi/sunxi-boards.git;protocol=git"
S = "${WORKDIR}/git"
SUNXI_FEX_FILE_olinuxino-a10s = "sys_config/a10s/a10s-olinuxino-m.fex"
SUNXI_FEX_BIN_IMAGE = "fex-${MACHINE}-${PV}-${PR}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK = "fex-${MACHINE}.bin"
SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE = "fex.bin"
inherit deploy
do_compile() {
fex2bin "${S}/${SUNXI_FEX_FILE}" > "${B}/${SUNXI_FEX_BIN_IMAGE}"
}
do_deploy() {
install -m 0644 ${B}/${SUNXI_FEX_BIN_IMAGE} ${DEPLOYDIR}/
cd ${DEPLOYDIR}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK}
ln -sf ${SUNXI_FEX_BIN_IMAGE} ${SUNXI_FEX_BIN_IMAGE_SYMLINK_SIMPLE}
}
addtask deploy before do_build after do_compile
PACKAGES = ""
PACKAGE_ARCH = "${MACHINE_ARCH}"
do_install[noexec] = "1"
do_package[noexec] = "1"
do_packagedata[noexec] = "1"
do_package_write[noexec] = "1"
do_package_write_ipk[noexec] = "1"
do_package_write_rpm[noexec] = "1"
do_package_write_deb[noexec] = "1"
do_populate_sysroot[noexec] = "1"
# Remember to add machine entry to IMAGE_DEPENDS in sdcard_image-a10.bbclass
# when adding new machines.
COMPATIBLE_MACHINE = "(olinuxino-a10s)"