You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

69 lines
1.8 KiB

#!/bin/bash
readonly OBJCOPY_BIN=llvm-objcopy
readonly USE_STRIP=1
# $1 origin path
# $2 target path
TMP_SOURCE_PATH=../kernel-6.1
TMP_MODULES_PATH=vendor_ramdisk/lib/modules
objcopy() {
if [ ! -f $1 ]; then
echo "NOT FOUND!"
return
fi
local module_name=`basename -a $1`
local OBJCOPY_ARGS=""
if [ $USE_STRIP = "1" ]; then
OBJCOPY_ARGS="--strip-debug"
fi
$OBJCOPY_BIN $OBJCOPY_ARGS $1 $2$module_name
}
copy_from_load_file() {
TMP_SOURCE_PATH=../kernel-6.1
TMP_MODULES_PATH=vendor_ramdisk/lib/modules
if [ ! -d "$TMP_MODULES_PATH" ]; then
mkdir -p "$TMP_MODULES_PATH"
else
find $TMP_MODULES_PATH -name *.ko | xargs rm
fi
modules_ramdisk_array=($(find $TMP_SOURCE_PATH -name *.ko))
for MODULE in "${modules_ramdisk_array[@]}"
do
echo "Copying $MODULE"
objcopy $MODULE $TMP_MODULES_PATH/
done
if [ -f $TMP_MODULES_PATH/midgard_kbase.ko ]; then
mv $TMP_MODULES_PATH/midgard_kbase.ko $TMP_MODULES_PATH/bifrost_kbase.ko
fi
if [ -f $TMP_MODULES_PATH/valhall_kbase.ko ]; then
mv $TMP_MODULES_PATH/valhall_kbase.ko $TMP_MODULES_PATH/bifrost_kbase.ko
fi
}
remove_google_release_modules() {
file_path=../kernel/prebuilts/6.1/arm64/modules.load
modules_path=vendor_ramdisk/lib/modules
#result=$(grep "/system/lib/modules" "$file_path" | awk -F'/' '{print $NF}')
# 遍历每个提取的字符串
#echo "$result" | while IFS= read -r line; do
while IFS= read -r line; do
# 删除目录A下对应的文件
file_to_delete="$modules_path/$line"
if [ -f "$file_to_delete" ]; then
rm "$file_to_delete"
echo "已删除文件: $file_to_delete"
else
echo "文件不存在: $file_to_delete"
fi
done < $file_path
}
copy_from_load_file
remove_google_release_modules