templates: Add firmware extraction support

Change-Id: If6cb6334a8f7b2fcc77c8947569eba1b2002190a
This commit is contained in:
Michael Bestas
2023-11-30 20:44:20 +02:00
parent e1f42577b2
commit c422aea796
4 changed files with 42 additions and 4 deletions

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project # Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -69,6 +69,18 @@ function blob_fixup() {
esac esac
} }
function prepare_firmware() {
if [ "${SRC}" != "adb" ]; then
local STAR="${ANDROID_ROOT}"/lineage/scripts/motorola/star.sh
for IMAGE in bootloader radio; do
if [ -f "${SRC}/${IMAGE}.img" ]; then
echo "Extracting Motorola star image ${SRC}/${IMAGE}.img"
sh "${STAR}" "${SRC}/${IMAGE}.img" "${SRC}"
fi
done
fi
}
if [ -z "${ONLY_TARGET}" ]; then if [ -z "${ONLY_TARGET}" ]; then
# Initialize the helper for common device # Initialize the helper for common device
setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}" setup_vendor "${DEVICE_COMMON}" "${VENDOR_COMMON:-$VENDOR}" "${ANDROID_ROOT}" true "${CLEAN_VENDOR}"
@@ -82,6 +94,10 @@ if [ -z "${ONLY_COMMON}" ] && [ -s "${MY_DIR}/../../${VENDOR}/${DEVICE}/propriet
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
extract "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" extract "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
if [ -z "${SECTION}" ] && [ -f "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt" ]; then
extract_firmware "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt" "${SRC}"
fi
fi fi
"${MY_DIR}/setup-makefiles.sh" "${MY_DIR}/setup-makefiles.sh"

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project # Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -43,6 +43,10 @@ if [ -s "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" ]; then
# The standard device blobs # The standard device blobs
write_makefiles "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" true write_makefiles "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" true
if [ -f "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt" ]; then
append_firmware_calls_to_makefiles "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-firmware.txt"
fi
# Finish # Finish
write_footers write_footers
fi fi

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project # Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -71,9 +71,25 @@ function blob_fixup() {
esac esac
} }
function prepare_firmware() {
if [ "${SRC}" != "adb" ]; then
local STAR="${ANDROID_ROOT}"/lineage/scripts/motorola/star.sh
for IMAGE in bootloader radio; do
if [ -f "${SRC}/${IMAGE}.img" ]; then
echo "Extracting Motorola star image ${SRC}/${IMAGE}.img"
sh "${STAR}" "${SRC}/${IMAGE}.img" "${SRC}"
fi
done
fi
}
# Initialize the helper # Initialize the helper
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}" setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}" extract "${MY_DIR}/proprietary-files.txt" "${SRC}" "${KANG}" --section "${SECTION}"
if [ -z "${SECTION}" ]; then
extract_firmware "${MY_DIR}/proprietary-firmware.txt" "${SRC}"
fi
"${MY_DIR}/setup-makefiles.sh" "${MY_DIR}/setup-makefiles.sh"

View File

@@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# #
# Copyright (C) 2016 The CyanogenMod Project # Copyright (C) 2016 The CyanogenMod Project
# Copyright (C) 2017-2020 The LineageOS Project # Copyright (C) 2017-2023 The LineageOS Project
# #
# SPDX-License-Identifier: Apache-2.0 # SPDX-License-Identifier: Apache-2.0
# #
@@ -32,5 +32,7 @@ write_headers
write_makefiles "${MY_DIR}/proprietary-files.txt" true write_makefiles "${MY_DIR}/proprietary-files.txt" true
append_firmware_calls_to_makefiles "${MY_DIR}/proprietary-firmware.txt"
# Finish # Finish
write_footers write_footers