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