mirror of
https://github.com/openharmony/kernel_linux_build.git
synced 2026-07-18 15:54:30 -04:00
@@ -1,4 +1,4 @@
|
||||
#!/bin/sh
|
||||
#!/bin/bash
|
||||
################################################################################
|
||||
#
|
||||
# Copyright (C) 2022 Huawei Device Co., Ltd.
|
||||
@@ -25,6 +25,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
set -e
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
ROOT_DIR=$(cd ${CURRENT_DIR}/../../ && pwd)
|
||||
ROOT_FILE_DIR=${ROOT_DIR}/kernel/linux/build/test/tracepointtest
|
||||
@@ -36,16 +38,16 @@ DRIVERS_TRACEPOINT_DIR=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10/drivers/tracepo
|
||||
CONFIG_DIR=${ROOT_DIR}/out/kernel/src_tmp/linux-5.10/arch/arm64/configs
|
||||
|
||||
copy() {
|
||||
SOURCE_PATH=$1
|
||||
TARGET_PATH=$2
|
||||
local SOURCE_PATH=$1
|
||||
local TARGET_PATH=$2
|
||||
echo "copy ${SOURCE_PATH} to ${TARGET_PATH}"
|
||||
cp -rf ${SOURCE_PATH} ${TARGET_PATH}
|
||||
}
|
||||
|
||||
modify_config() {
|
||||
SOURCE_FILE=$1
|
||||
TARGET_FILE=$2
|
||||
if [ -e ${CONFIG_DIR}/tmp ]; then
|
||||
local SOURCE_FILE=$1
|
||||
local TARGET_FILE=$2
|
||||
if [ -e "${CONFIG_DIR}/tmp" ]; then
|
||||
rm -f ${CONFIG_DIR}/tmp
|
||||
fi
|
||||
|
||||
@@ -65,16 +67,16 @@ modify_config() {
|
||||
}
|
||||
|
||||
modify_files() {
|
||||
KCONFIG=${DRIVERS_DIR}/Kconfig
|
||||
MAKEFILE=${DRIVERS_DIR}/Makefile
|
||||
VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c
|
||||
TMPFILE=${DRIVERS_DIR}/tmp
|
||||
local KCONFIG=${DRIVERS_DIR}/Kconfig
|
||||
local MAKEFILE=${DRIVERS_DIR}/Makefile
|
||||
local VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c
|
||||
local TMPFILE=${DRIVERS_DIR}/tmp
|
||||
|
||||
cp -f ${KCONFIG} ${KCONFIG}_tmpfile
|
||||
cp -f ${MAKEFILE} ${MAKEFILE}_tmpfile
|
||||
cp -f ${VENDOR_HOOKS} ${VENDOR_HOOKS}_tmpfile
|
||||
|
||||
if [ -e ${TMPFILE} ]; then
|
||||
if [ -e "${TMPFILE}" ]; then
|
||||
rm -f ${TMPFILE}
|
||||
fi
|
||||
|
||||
@@ -118,7 +120,7 @@ compile() {
|
||||
}
|
||||
|
||||
collect_ko() {
|
||||
if [ -e ${OBJ_DIR}/kofiles ]; then
|
||||
if [ -e "${OBJ_DIR}/kofiles" ]; then
|
||||
rm -f ${OBJ_DIR}/kofiles
|
||||
mkdir -p ${OBJ_DIR}/kofiles
|
||||
else
|
||||
@@ -129,43 +131,50 @@ collect_ko() {
|
||||
}
|
||||
|
||||
restore() {
|
||||
CONFIGNAME=rockchip_linux_defconfig
|
||||
KCONFIG=${DRIVERS_DIR}/Kconfig
|
||||
MAKEFILE=${DRIVERS_DIR}/Makefile
|
||||
HEADERFILE=${TRACEPOINT_INCLUDE_DIR}/emmc.h
|
||||
VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c
|
||||
local CONFIGNAME=rockchip_linux_defconfig
|
||||
local KCONFIG=${DRIVERS_DIR}/Kconfig
|
||||
local MAKEFILE=${DRIVERS_DIR}/Makefile
|
||||
local HEADERFILE=${TRACEPOINT_INCLUDE_DIR}/emmc.h
|
||||
local VENDOR_HOOKS=${DRIVERS_DIR}/hooks/vendor_hooks.c
|
||||
|
||||
rm -rf ${DRIVERS_TRACEPOINT_DIR}
|
||||
rm -rf ${HEADERFILE}
|
||||
if [ -d "${DRIVERS_TRACEPOINT_DIR}" ]; then
|
||||
rm -rf ${DRIVERS_TRACEPOINT_DIR}
|
||||
fi
|
||||
|
||||
if [ -e "${HEADERFILE}" ]; then
|
||||
rm -rf ${HEADERFILE}
|
||||
fi
|
||||
mv -f ${CONFIG_DIR}/${CONFIGNAME}_tmpfile ${CONFIG_DIR}/${CONFIGNAME}
|
||||
mv -f ${KCONFIG}_tmpfile ${KCONFIG}
|
||||
mv -f ${MAKEFILE}_tmpfile ${MAKEFILE}
|
||||
mv -f ${VENDOR_HOOKS}_tmpfile ${VENDOR_HOOKS}
|
||||
rm -rf ${COMPILE_DIR}/.lock
|
||||
if [ -e "${COMPILE_DIR}/.lock" ]; then
|
||||
rm -rf ${COMPILE_DIR}/.lock
|
||||
fi
|
||||
}
|
||||
|
||||
main() {
|
||||
if [ -e ${COMPILE_DIR}/.lock ]; then
|
||||
if [ -e "${COMPILE_DIR}/.lock" ]; then
|
||||
restore
|
||||
fi
|
||||
|
||||
echo "" >${COMPILE_DIR}/.lock
|
||||
|
||||
if [ -d ${DRIVERS_DIR}/tracepointtest ]; then
|
||||
if [ -d "${DRIVERS_DIR}/tracepointtest" ]; then
|
||||
rm -rf ${DRIVERS_DIR}/tracepointtest
|
||||
mkdir -p ${DRIVERS_DIR}/tracepointtest
|
||||
else
|
||||
mkdir -p ${DRIVERS_DIR}/tracepointtest
|
||||
fi
|
||||
|
||||
for dir in $(ls ${ROOT_FILE_DIR}); do
|
||||
if [ -d ${ROOT_FILE_DIR}/${dir} ]; then
|
||||
for dir in $(ls "${ROOT_FILE_DIR}"); do
|
||||
if [ -d "${ROOT_FILE_DIR}/${dir}" ]; then
|
||||
copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir}
|
||||
elif [[ "${dir}" == "Makefile" ]]; then
|
||||
copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir}
|
||||
elif [[ "${dir}" == "Kconfig" ]]; then
|
||||
copy ${ROOT_FILE_DIR}/${dir} ${DRIVERS_TRACEPOINT_DIR}/${dir}
|
||||
elif [[ ${dir} == *.h ]]; then
|
||||
elif [[ "${dir}" == *.h ]]; then
|
||||
copy ${ROOT_FILE_DIR}/${dir} ${TRACEPOINT_INCLUDE_DIR}/${dir}
|
||||
elif [[ "${dir}" == "rockchip_linux_defconfig" ]]; then
|
||||
modify_config ${ROOT_FILE_DIR}/${dir} ${dir}
|
||||
|
||||
@@ -25,6 +25,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
set -e
|
||||
|
||||
CURRENT_DIR=$(pwd)
|
||||
KO_DIR=${CURRENT_DIR}/kofile
|
||||
|
||||
@@ -36,7 +38,7 @@ insmod_ko() {
|
||||
fi
|
||||
done
|
||||
|
||||
if [ -e ${KO_DIR}/tracepoint_test.ko ]; then
|
||||
if [ -e "${KO_DIR}/tracepoint_test.ko" ]; then
|
||||
insmod ${KO_DIR}/tracepoint_test.ko
|
||||
else
|
||||
echo "no such file tracepoint_test.ko"
|
||||
@@ -44,6 +46,7 @@ insmod_ko() {
|
||||
fi
|
||||
|
||||
arr=(vendor_do_mmap vendor_do_mprotect_pkey vendor_aml_emmc_partition vendor_fake_boot_partition)
|
||||
set +e
|
||||
for i in ${arr[@]}; do
|
||||
dmesg | grep $i >/dev/null
|
||||
if [ $? -eq 0 ]; then
|
||||
@@ -52,6 +55,7 @@ insmod_ko() {
|
||||
echo "tracepoint $i failed"
|
||||
fi
|
||||
done
|
||||
set -e
|
||||
}
|
||||
|
||||
rmmod_ko() {
|
||||
@@ -62,7 +66,7 @@ rmmod_ko() {
|
||||
}
|
||||
|
||||
main() {
|
||||
if [[ $1 == "rmmod_ko" ]]; then
|
||||
if [[ "$1" == "rmmod_ko" ]]; then
|
||||
rmmod_ko
|
||||
else
|
||||
insmod_ko
|
||||
|
||||
Reference in New Issue
Block a user