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
#
# 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
#
@@ -69,6 +69,18 @@ function blob_fixup() {
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
# Initialize the helper for common device
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}"
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
"${MY_DIR}/setup-makefiles.sh"

View File

@@ -1,7 +1,7 @@
#!/bin/bash
#
# 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
#
@@ -43,6 +43,10 @@ if [ -s "${MY_DIR}/../../${VENDOR}/${DEVICE}/proprietary-files.txt" ]; then
# The standard device blobs
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
write_footers
fi

View File

@@ -1,7 +1,7 @@
#!/bin/bash
#
# 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
#
@@ -71,9 +71,25 @@ function blob_fixup() {
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
setup_vendor "${DEVICE}" "${VENDOR}" "${ANDROID_ROOT}" false "${CLEAN_VENDOR}"
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"

View File

@@ -1,7 +1,7 @@
#!/bin/bash
#
# 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
#
@@ -32,5 +32,7 @@ write_headers
write_makefiles "${MY_DIR}/proprietary-files.txt" true
append_firmware_calls_to_makefiles "${MY_DIR}/proprietary-firmware.txt"
# Finish
write_footers