• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1#!/bin/bash
2
3# Copyright (c) 2021 iSoftStone 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
16# ${1}  ../../kernel/linux/linux-5.10
17# ${2}  /home/jiewangdp/share/uxorious/master/out/yangfan/packages/phone/images
18# ${3}  /home/jiewangdp/share/uxorious/master/device/board/isoftstone/yangfan
19# ${4}  vendor/isoftstone/yangfan
20# ${5}  /home/jiewangdp/share/uxorious/master
21# ${6}  rockchip
22# ${7}  yangfan
23# ${8}  isoftstone
24# ${9}  enable_ramdisk
25
26set -e
27
28pushd ${1}
29ROOT_DIR=${5}
30export PRODUCT_PATH=${4}
31export DEVICE_COMPANY=${6}
32export DEVICE_NAME=${7}
33export PRODUCT_COMPANY=${8}
34KERNEL_FORM=${9}
35KERNEL_PROD=${10}
36
37KERNEL_SOURCE=${ROOT_DIR}/kernel/linux/linux-5.10
38KERNEL_OBJ_TMP_PATH=${ROOT_DIR}/out/kernel/OBJ/linux-5.10
39KERNEL_SRC_TMP_PATH=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10
40KERNEL_PATCH_PATH=${ROOT_DIR}/kernel/linux/patches/linux-5.10
41
42HARMONY_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/linux-5.10
43DEVICE_CONFIG_PATH=${ROOT_DIR}/kernel/linux/config/linux-5.10/${DEVICE_NAME}
44DEFCONFIG_BASE_FILE=${HARMONY_CONFIG_PATH}/base_defconfig
45DEFCONFIG_TYPE_FILE=${HARMONY_CONFIG_PATH}/type/standard_defconfig
46DEFCONFIG_FORM_FILE=${HARMONY_CONFIG_PATH}/form/${KERNEL_FORM}_defconfig
47DEFCONFIG_ARCH_FILE=${DEVICE_CONFIG_PATH}/arch/arm64_defconfig
48DEFCONFIG_PROC_FILE=${DEVICE_CONFIG_PATH}/product/${KERNEL_PROD}_defconfig
49
50rm -rf ${KERNEL_SRC_TMP_PATH}
51mkdir -p ${KERNEL_SRC_TMP_PATH}
52
53rm -rf ${KERNEL_OBJ_TMP_PATH}
54mkdir -p ${KERNEL_OBJ_TMP_PATH}
55export KBUILD_OUTPUT=${KERNEL_OBJ_TMP_PATH}
56
57cp -arf ${KERNEL_SOURCE}/* ${KERNEL_SRC_TMP_PATH}/
58
59cd ${KERNEL_SRC_TMP_PATH}
60
61# 合入HDF patch
62bash ${ROOT_DIR}/drivers/hdf_core/adapter/khdf/linux/patch_hdf.sh ${ROOT_DIR} ${KERNEL_SRC_TMP_PATH}  ${KERNEL_PATCH_PATH} ${DEVICE_NAME}
63
64# 合入kernel patch
65bash ${3}/kernel/src/kernel-patch.sh ${3}/kernel/src ${KERNEL_PATCH_PATH}/${DEVICE_NAME}_patch
66
67cp -rf ${3}/kernel/logo/logo* ${KERNEL_SRC_TMP_PATH}/
68
69#拷贝config
70if [ ! -f "$DEFCONFIG_FORM_FILE" ]; then
71    DEFCONFIG_FORM_FILE=
72    echo "warning no form config file $(DEFCONFIG_FORM_FILE)"
73fi
74if [ ! -f "$DEFCONFIG_PROC_FILE" ]; then
75    DEFCONFIG_PROC_FILE=
76    echo "warning no prod config file $(DEFCONFIG_PROC_FILE)"
77fi
78bash ${ROOT_DIR}/kernel/linux/linux-5.10/scripts/kconfig/merge_config.sh -O ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/ -m ${DEFCONFIG_TYPE_FILE} ${DEFCONFIG_FORM_FILE} ${DEFCONFIG_ARCH_FILE} ${DEFCONFIG_PROC_FILE} ${DEFCONFIG_BASE_FILE}
79mv ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/.config ${KERNEL_SRC_TMP_PATH}/arch/arm64/configs/rockchip_linux_defconfig
80
81#编译内核
82if [ "enable_ramdisk" == "${11}" ]; then
83    ./make-ohos.sh sapphire-rk3399 enable_ramdisk
84else
85    ./make-ohos.sh sapphire-rk3399 disable_ramdisk
86fi
87
88mkdir -p ${2}
89
90if [ "enable_ramdisk" != "${11}" ]; then
91	cp ${KERNEL_SRC_TMP_PATH}/boot_linux.img ${2}/boot_linux.img
92fi
93
94cd ${3}
95wget http://www.swanlink.com.cn:82/archive/tools/yangfan_uboot.tar.gz
96tar -zxvf yangfan_uboot.tar.gz
97cd -
98
99cp ${KERNEL_OBJ_TMP_PATH}/resource.img ${2}/resource.img
100cp ${3}/bootloader/parameter.txt ${2}/parameter.txt
101cp ${3}/bootloader/MiniLoaderAll.bin ${2}/MiniLoaderAll.bin
102cp ${3}/bootloader/uboot.img ${2}/uboot.img
103cp ${3}/bootloader/trust.img ${2}/trust.img
104cp ${3}/bootloader/config.cfg ${2}/config.cfg
105popd
106