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
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
|