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