• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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