diff options
Diffstat (limited to 'recipes-kernel/linux/linux-at91_4.9.bb')
| -rw-r--r-- | recipes-kernel/linux/linux-at91_4.9.bb | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-at91_4.9.bb b/recipes-kernel/linux/linux-at91_4.9.bb new file mode 100644 index 0000000..2ba9586 --- /dev/null +++ b/recipes-kernel/linux/linux-at91_4.9.bb @@ -0,0 +1,88 @@ +SECTION = "kernel" +DESCRIPTION = "Linux kernel for Atmel ARM SoCs (aka AT91)" +SUMMARY = "Linux kernel for Atmel ARM SoCs (aka AT91)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7" + +inherit kernel +# mts class to build dtb and append to kernel image +inherit linux-append-dtb + + +RDEPENDS_kernel-base="" +FILESEXTRAPATHS_prepend := "${THISDIR}/${P}:" +KERNEL_EXTRA_ARGS ="LOADADDR=0x22000000" + +PV = "4.9+git${SRCPV}" + +S = "${WORKDIR}/git" + +SRCREV = "29796588eb6a4c89795baaea3035764d15d0e44a" + +KBRANCH = "linux-4.9-at91" +SRC_URI = "git://github.com/linux4sam/linux-at91.git;protocol=git;branch=${KBRANCH}" +SRC_URI += "file://defconfig" + +python __anonymous () { + if d.getVar('UBOOT_FIT_IMAGE', True) == 'xyes': + d.appendVar('DEPENDS', ' u-boot-mkimage-native dtc-native') +} + +do_deploy_append() { + if [ "${UBOOT_FIT_IMAGE}" = "xyes" ]; then + DTB_PATH="${B}/arch/${ARCH}/boot/dts/" + if [ ! -e "${DTB_PATH}" ]; then + DTB_PATH="${B}/arch/${ARCH}/boot/" + fi + + if [ -e ${S}/arch/${ARCH}/boot/dts/${MACHINE}.its ]; then + cp ${S}/arch/${ARCH}/boot/dts/${MACHINE}*.its ${DTB_PATH} + cd ${DTB_PATH} + mkimage -f ${MACHINE}.its ${MACHINE}.itb + install -m 0644 ${MACHINE}.itb ${DEPLOYDIR}/${MACHINE}.itb + cd - + fi + fi +} + +kernel_do_configure_append() { + rm -f ${B}/.scmversion ${S}/.scmversion + cd ${S}; git status; cd - +} + +KERNEL_MODULE_AUTOLOAD += "atmel_usba_udc g_serial" +KERNEL_MODULE_PACKAGE_SUFFIX="" + +COMPATIBLE_MACHINE = "(sama5d2-xplained|sama5d2-xplained-sd|sama5d2-ptc-ek|sama5d2-ptc-ek-sd|sama5d27-som1-ek|sama5d27-som1-ek-sd|sama5d4-xplained|sama5d4-xplained-sd|sama5d4ek|sama5d3-xplained|sama5d3-xplained-sd|sama5d3xek|at91sam9x5ek|at91sam9m10g45ek|at91sam9rlek|mtcdt)" + +pkg_preinst_kernel-image-uimage() { + set -x + mkdir -m 0755 /var/volatile/boot 2>/dev/null || true + ls /boot || true + ls -l /boot | true + rm -rf /boot + ln -sf /var/volatile/boot /boot 2>/dev/null || true +} + +pkg_prerm_kernel-image-uimage() { + rm -rf /var/volatile/boot || true + rm -rf /boot || true +} + +PACKAGES =+ "kernel-image-uimage-inst" +RDEPENDS_kernel-image-uimage-inst += "kernel-image-uimage-${PV}" +ALLOW_EMPTY_kernel-image-uimage-inst = "1" + +pkg_postinst_kernel-image-uimage-inst() { + # Only installs all the kernel on the device (D is defined in bitbake) + if [[ -z "$D" ]] ; then + logger -s -p user.info -t opkg "Upgrading kernel ${PV} -- poweroff will create an unbootable device" + set -x + kernel_mtd="/dev/$(cat /proc/mtd | grep '\"uImage\"' | cut -d : -f 1)" + flash_erase ${kernel_mtd} 0 0 + if nandwrite -p ${kernel_mtd} /boot/uImage-${PV} ; then + echo 'Kernel image update is successful' + fi + set +x + fi +} |
