1#!/bin/bash 2 3# Copyright (c) 2021 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 18pushd ${1} 19ROOT_DIR=${5} 20export PRODUCT_PATH=${4} 21export DEVICE_COMPANY=${6} 22export DEVICE_NAME=${7} 23export PRODUCT_COMPANY=${8} 24ENABLE_LTO_O0=${9} 25 26KERNEL_SRC_TMP_PATH=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10 27KERNEL_OBJ_TMP_PATH=${ROOT_DIR}/out/kernel/OBJ/linux-5.10 28KERNEL_SOURCE=${ROOT_DIR}/kernel/linux/linux-5.10 29KERNEL_PATCH_PATH=${ROOT_DIR}/kernel/linux/patches/linux-5.10 30KERNEL_PATCH=${ROOT_DIR}/kernel/linux/patches/linux-5.10/rk3568_patch/kernel.patch 31KERNEL_CONFIG_FILE=${ROOT_DIR}/kernel/linux/config/linux-5.10/arch/arm64/configs/rk3568_standard_defconfig 32NEWIP_PATCH_FILE=${ROOT_DIR}/foundation/communication/sfc/newip/apply_newip.sh 33 34rm -rf ${KERNEL_SRC_TMP_PATH} 35mkdir -p ${KERNEL_SRC_TMP_PATH} 36 37rm -rf ${KERNEL_OBJ_TMP_PATH} 38mkdir -p ${KERNEL_OBJ_TMP_PATH} 39export KBUILD_OUTPUT=${KERNEL_OBJ_TMP_PATH} 40 41cp -arf ${KERNEL_SOURCE}/* ${KERNEL_SRC_TMP_PATH}/ 42 43cd ${KERNEL_SRC_TMP_PATH} 44 45#HDF patch 46bash ${ROOT_DIR}/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${KERNEL_PATCH_PATH} ${DEVICE_NAME} 47 48#kernel patch 49patch -p1 < ${KERNEL_PATCH} 50 51#newip 52if [ -f $NEWIP_PATCH_FILE ]; then 53bash $NEWIP_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} linux-5.10 54fi 55 56cp -rf ${3}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/ 57 58#config 59cp -rf ${KERNEL_CONFIG_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig 60 61ramdisk_arg="disable_ramdisk" 62make_ohos_env="GPUDRIVER=mali" 63for i in "$@" 64do 65 case $i in 66 enable_ramdisk) 67 ramdisk_arg=enable_ramdisk 68 ;; 69 enable_mesa3d) 70 make_ohos_env="GPUDRIVER=mesa3d" 71 python ${ROOT_DIR}/third_party/mesa3d/ohos/modifyDtsi.py ${KERNEL_SRC_TMP_PATH}/arch/arm64/boot/dts/rockchip/rk3568.dtsi 72 ;; 73 esac 74done 75eval $make_ohos_env ./make-ohos.sh TB-RK3568X0 $ramdisk_arg ${ENABLE_LTO_O0} 76 77mkdir -p ${2} 78 79if [ "enable_ramdisk" != "${10}" ]; then 80 cp ${KERNEL_OBJ_TMP_PATH}/boot_linux.img ${2}/boot_linux.img 81fi 82cp ${KERNEL_OBJ_TMP_PATH}/resource.img ${2}/resource.img 83cp ${3}/loader/parameter.txt ${2}/parameter.txt 84cp ${3}/loader/MiniLoaderAll.bin ${2}/MiniLoaderAll.bin 85cp ${3}/loader/uboot.img ${2}/uboot.img 86cp ${3}/loader/config.cfg ${2}/config.cfg 87popd 88 89../kernel/src_tmp/linux-5.10/make-boot.sh .. 90 91