1*4882a593Smuzhiyun# Copyright (C) 2019, Fuzhou Rockchip Electronics Co., Ltd 2*4882a593Smuzhiyun# Released under the MIT license (see COPYING.MIT for the terms) 3*4882a593Smuzhiyun 4*4882a593Smuzhiyuninherit python3-dir 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunDEPENDS:append = " openssl-native lz4-native ${PYTHON_PN}-native" 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunLINUX_VERSION_EXTENSION ?= "-rockchip-${LINUX_KERNEL_TYPE}" 9*4882a593Smuzhiyun 10*4882a593SmuzhiyunPATCHPATH = "${THISDIR}/${BPN}_${LINUX_VERSION}" 11*4882a593Smuzhiyuninherit auto-patch 12*4882a593Smuzhiyun 13*4882a593SmuzhiyunKCONFIG_MODE ?= "--alldefconfig" 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun# Make sure we use /usr/bin/env ${PYTHON_PN} for scripts 16*4882a593Smuzhiyundo_patch:append() { 17*4882a593Smuzhiyun for s in `grep -rIl python ${S}/scripts`; do 18*4882a593Smuzhiyun sed -i -e '1s|^#!.*python[23]*|#!/usr/bin/env ${PYTHON_PN}|' $s 19*4882a593Smuzhiyun done 20*4882a593Smuzhiyun} 21*4882a593Smuzhiyun 22*4882a593Smuzhiyundo_compile:prepend() { 23*4882a593Smuzhiyun export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${STAGING_LIBDIR_NATIVE} 24*4882a593Smuzhiyun} 25*4882a593Smuzhiyun 26*4882a593Smuzhiyundo_compile_kernelmodules:prepend() { 27*4882a593Smuzhiyun export PKG_CONFIG_DIR="${STAGING_DIR_NATIVE}${libdir_native}/pkgconfig" 28*4882a593Smuzhiyun export PKG_CONFIG_PATH="$PKG_CONFIG_DIR:${STAGING_DATADIR_NATIVE}/pkgconfig" 29*4882a593Smuzhiyun export PKG_CONFIG_LIBDIR="$PKG_CONFIG_DIR" 30*4882a593Smuzhiyun export PKG_CONFIG_SYSROOT_DIR="" 31*4882a593Smuzhiyun export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${STAGING_LIBDIR_NATIVE} 32*4882a593Smuzhiyun} 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun# Hack for rockchip style images 35*4882a593SmuzhiyunKERNEL_IMAGETYPES:append = \ 36*4882a593Smuzhiyun "${@' boot.img zboot.img' if d.getVar('ROCKCHIP_KERNEL_IMAGES') == '1' else ''}" 37*4882a593Smuzhiyunpython () { 38*4882a593Smuzhiyun if not d.getVar('KERNEL_DEVICETREE'): 39*4882a593Smuzhiyun raise bb.parse.SkipPackage('KERNEL_DEVICETREE is not specified!') 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun if d.getVar('ROCKCHIP_KERNEL_IMAGES'): 42*4882a593Smuzhiyun # Use rockchip stype target, which is '<dts(w/o suffix)>.img' 43*4882a593Smuzhiyun d.setVar('KERNEL_IMAGETYPE_FOR_MAKE', ' ' + d.getVar('KERNEL_DEVICETREE').replace('rockchip/', '').replace('.dtb', '.img')); 44*4882a593Smuzhiyun} 45*4882a593Smuzhiyun 46*4882a593Smuzhiyundo_kernel_metadata:prepend() { 47*4882a593Smuzhiyun # Force regenerating defconfig 48*4882a593Smuzhiyun rm -f ${WORKDIR}/defconfig 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun # Support defconfig fragments 51*4882a593Smuzhiyun cd "${S}/arch/${ARCH}/configs" 52*4882a593Smuzhiyun if [ ! -f "${KBUILD_DEFCONFIG}" ]; then 53*4882a593Smuzhiyun DEFCONFIGS="rockchip_linux_defconfig ${SOC_FAMILY}_linux.config" 54*4882a593Smuzhiyun [ "$KBUILD_DEFCONFIGS" ] || KBUILD_DEFCONFIGS="$DEFCONFIGS" 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun echo "Merging $KBUILD_DEFCONFIGS into $KBUILD_DEFCONFIG..." 57*4882a593Smuzhiyun cat ${KBUILD_DEFCONFIGS:-$CONFIGS} > ${KBUILD_DEFCONFIG} || true 58*4882a593Smuzhiyun fi 59*4882a593Smuzhiyun cd - 60*4882a593Smuzhiyun} 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun# Link rockchip style images 63*4882a593Smuzhiyundo_install:prepend() { 64*4882a593Smuzhiyun for image in $(ls "${B}/" | grep ".img$"); do 65*4882a593Smuzhiyun ln -rsf ${B}/${image} ${B}/arch/${ARCH}/boot/ 66*4882a593Smuzhiyun done 67*4882a593Smuzhiyun 68*4882a593Smuzhiyun if [ "${ROCKCHIP_KERNEL_COMPRESSED}" = "1" ]; then 69*4882a593Smuzhiyun if [ -r "${B}/zboot.img" ]; then 70*4882a593Smuzhiyun ln -rsf ${B}/zboot.img ${B}/arch/${ARCH}/boot/boot.img 71*4882a593Smuzhiyun fi 72*4882a593Smuzhiyun fi 73*4882a593Smuzhiyun} 74