1#!/bin/bash 2 3# Copyright (c) 2021-2023 HiHope Open Source Organization . 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# http://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15 16set -e 17 18 19 20pushd ${1} 21ROOT_DIR=${5} 22export PRODUCT_PATH=${4} 23export DEVICE_COMPANY=${6} 24export DEVICE_NAME=dayu210 25export PRODUCT_COMPANY=${8} 26 27KERNEL_SRC_TMP_PATH=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10 28KERNEL_OBJ_TMP_PATH=${ROOT_DIR}/out/kernel/OBJ/linux-5.10 29KERNEL_SOURCE=${ROOT_DIR}/kernel/linux/linux-5.10 30KERNEL_PATCH_PATH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10 31KERNEL_PATCH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10/dayu210_patch/kernel.patch 32HDF_PATCH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10/dayu210_patch/hdf.patch 33KERNEL_CONFIG_FILE=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_config/linux-5.10/arch/arm64/rk3588_standard_defconfig 34 35rm -rf ${KERNEL_SRC_TMP_PATH} 36mkdir -p ${KERNEL_SRC_TMP_PATH} 37 38rm -rf ${KERNEL_OBJ_TMP_PATH} 39mkdir -p ${KERNEL_OBJ_TMP_PATH} 40#export KBUILD_OUTPUT=${KERNEL_OBJ_TMP_PATH} 41export KBUILD_OUTPUT=${KERNEL_SRC_TMP_PATH} 42 43echo "cp kernel source" 44cp -arf ${KERNEL_SOURCE}/* ${KERNEL_SRC_TMP_PATH}/ 45 46cd ${KERNEL_SRC_TMP_PATH} 47 48#HDF patch 49echo "HDF patch" 50bash ${ROOT_DIR}/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${KERNEL_PATCH_PATH} ${DEVICE_NAME} 51 52#kernel patch 53echo "kernel patch" 54patch -p1 < ${KERNEL_PATCH} 55 56cp -rf ${3}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/ 57cp -rf ${3}/kernel/make*.sh ${KERNEL_SRC_TMP_PATH}/ 58#config 59cp -rf ${KERNEL_CONFIG_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig 60 61ln -s ${ROOT_DIR}/device/soc/rockchip/rk3588/kernel ${KERNEL_SRC_TMP_PATH}/vendor 62 63if [ ! -d "${ROOT_DIR}/device/soc/rockchip/rk3588/kernel/drivers/net/wireless/rockchip_wlan" ];then 64 ln -s ${ROOT_DIR}/device/soc/rockchip/common/kernel/drivers/net/wireless/rockchip_wlan ${KERNEL_SRC_TMP_PATH}/vendor/drivers/net/wireless/rockchip_wlan 65fi 66 67if [ ! -d "${ROOT_DIR}/device/soc/rockchip/rk3588/kernel/drivers/gpu/arm" ];then 68 ln -s ${ROOT_DIR}/device/soc/rockchip/common/kernel/drivers/gpu/arm ${KERNEL_SRC_TMP_PATH}/vendor/drivers/gpu/arm 69fi 70 71cp -rf ${3}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/vendor/ 72 73if [ "enable_ramdisk" == "${9}" ]; then 74 ./make-ohos.sh BQ3588C1 enable_ramdisk 75else 76 ./make-ohos.sh BQ3588C1 disable_ramdisk 77fi 78 79mkdir -p ${2} 80 81cp ${KERNEL_SRC_TMP_PATH}/resource.img ${2}/resource.img 82cp ${3}/loader/parameter.txt ${2}/parameter.txt 83cp ${3}/loader/MiniLoaderAll.bin ${2}/MiniLoaderAll.bin 84cp ${3}/loader/uboot.img ${2}/uboot.img 85cp ${3}/loader/config.cfg ${2}/config.cfg 86popd 87 88../kernel/src_tmp/linux-5.10/make-boot.sh .. 89