#!/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 } 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