• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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}
22KERNEL_VERSION=linux-5.10
23export PRODUCT_PATH=${4}
24export DEVICE_COMPANY=${6}
25export DEVICE_NAME=dayu210
26export PRODUCT_COMPANY=${8}
27
28KERNEL_SRC_TMP_PATH=${ROOT_DIR}/out/rk3588/kernel/src_tmp/linux-5.10
29KERNEL_OBJ_TMP_PATH=${ROOT_DIR}/out/rk3588/kernel/OBJ/linux-5.10
30KERNEL_SOURCE=${ROOT_DIR}/kernel/linux/linux-5.10
31KERNEL_PATCH_PATH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10
32KERNEL_PATCH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10/dayu210_patch/kernel.patch
33HDF_PATCH=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_patch/linux-5.10/dayu210_patch/hdf.patch
34KERNEL_CONFIG_FILE=${ROOT_DIR}/device/board/hihope/dayu210/kernel/kernel_config/linux-5.10/arch/arm64/rk3588_standard_defconfig
35
36NEWIP_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/newip/apply_newip.sh
37TZDRIVER_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/tzdriver/apply_tzdriver.sh
38XPM_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/xpm/apply_xpm.sh
39CED_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/container_escape_detection/apply_ced.sh
40HIDEADDR_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/memory_security/apply_hideaddr.sh
41QOS_AUTH_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/qos_auth/apply_qos_auth.sh
42UNIFIED_COLLECTION_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/ucollection/apply_ucollection.sh
43CODE_SIGN_PATCH_FILE=${ROOT_DIR}/kernel/linux/common_modules/code_sign/apply_code_sign.sh
44
45HARMONY_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/${KERNEL_VERSION}
46DEVICE_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/${KERNEL_VERSION}/${DEVICE_NAME}
47DEFCONFIG_BASE_FILE=${HARMONY_CONFIG_PATH}/base_defconfig
48DEFCONFIG_TYPE_FILE=${HARMONY_CONFIG_PATH}/type/standard_defconfig
49DEFCONFIG_FORM_FILE=${HARMONY_CONFIG_PATH}/form/${KERNEL_FORM}_defconfig
50DEFCONFIG_ARCH_FILE=${DEVICE_CONFIG_PATH}/arch/arm64_defconfig
51DEFCONFIG_PROC_FILE=${DEVICE_CONFIG_PATH}/product/${KERNEL_PROD}_defconfig
52
53
54rm -rf ${KERNEL_SRC_TMP_PATH}
55mkdir -p ${KERNEL_SRC_TMP_PATH}
56
57rm -rf ${KERNEL_OBJ_TMP_PATH}
58mkdir -p ${KERNEL_OBJ_TMP_PATH}
59#export KBUILD_OUTPUT=${KERNEL_OBJ_TMP_PATH}
60export KBUILD_OUTPUT=${KERNEL_SRC_TMP_PATH}
61
62echo "cp kernel source"
63cp -arf ${KERNEL_SOURCE}/* ${KERNEL_SRC_TMP_PATH}/
64
65cd ${KERNEL_SRC_TMP_PATH}
66
67#HDF patch
68echo "HDF patch"
69bash ${ROOT_DIR}/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${KERNEL_PATCH_PATH} ${DEVICE_NAME}
70
71#kernel patch
72echo "kernel patch"
73patch -p1 < ${KERNEL_PATCH}
74
75cp -rf ${3}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/
76cp -rf ${3}/kernel/make*.sh ${KERNEL_SRC_TMP_PATH}/
77#config
78cp -rf ${KERNEL_CONFIG_FILE} ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig
79
80ln -s ${ROOT_DIR}/device/soc/rockchip/rk3588/kernel ${KERNEL_SRC_TMP_PATH}/vendor
81
82if [ ! -d "${ROOT_DIR}/device/soc/rockchip/rk3588/kernel/drivers/net/wireless/rockchip_wlan" ];then
83    ln -s ${ROOT_DIR}/device/soc/rockchip/common/kernel/drivers/net/wireless/rockchip_wlan ${KERNEL_SRC_TMP_PATH}/vendor/drivers/net/wireless/rockchip_wlan
84fi
85
86if [ ! -d "${ROOT_DIR}/device/soc/rockchip/rk3588/kernel/drivers/gpu/arm" ];then
87    ln -s ${ROOT_DIR}/device/soc/rockchip/common/kernel/drivers/gpu/arm ${KERNEL_SRC_TMP_PATH}/vendor/drivers/gpu/arm
88fi
89
90cp -rf ${3}/kernel/logo* ${KERNEL_SRC_TMP_PATH}/vendor/
91
92#xpm
93if [ -f $XPM_PATCH_FILE ]; then
94    bash $XPM_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION}
95fi
96
97#ced
98if [ -f $CED_PATCH_FILE ]; then
99    bash $CED_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION}
100fi
101#code_sign
102if [ -f $CODE_SIGN_PATCH_FILE ]; then
103    bash $CODE_SIGN_PATCH_FILE ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH} ${DEVICE_NAME} ${KERNEL_VERSION}
104fi
105
106bash ${ROOT_DIR}/kernel/linux/${KERNEL_VERSION}/scripts/kconfig/merge_config.sh -O ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/ -m ${KERNEL_CONFIG_FILE} ${DEFCONFIG_BASE_FILE}
107mv ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/.config ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig
108if [ "enable_ramdisk" == "${9}" ]; then
109    ./make-ohos.sh BQ3588C1 enable_ramdisk
110else
111    ./make-ohos.sh BQ3588C1 disable_ramdisk
112fi
113
114mkdir -p ${2}
115
116cp ${KERNEL_SRC_TMP_PATH}/resource.img ${2}/resource.img
117cp ${3}/loader/parameter.txt ${2}/parameter.txt
118cp ${3}/loader/MiniLoaderAll.bin ${2}/MiniLoaderAll.bin
119cp ${3}/loader/uboot.img ${2}/uboot.img
120cp ${3}/loader/config.cfg ${2}/config.cfg
121popd
122
123kernel/src_tmp/linux-5.10/make-boot.sh ..
124