Merge pull request #3 from olokos/lineage-17.1
[GitHub/exynos8895/android_device_samsung_greatlte.git] / extract-files.sh
CommitLineData
2e3886c0
JA
1#!/bin/bash
2#
3# Copyright (C) 2018-2019 The LineageOS Project
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17
18set -e
19
20VENDOR=samsung
21DEVICE=greatlte
22
23# Load extract_utils and do some sanity checks
24MY_DIR="${BASH_SOURCE%/*}"
25if [[ ! -d "${MY_DIR}" ]]; then MY_DIR="${PWD}"; fi
26
27LINEAGE_ROOT="${MY_DIR}"/../../..
28
29HELPER="${LINEAGE_ROOT}/vendor/lineage/build/tools/extract_utils.sh"
30if [ ! -f "${HELPER}" ]; then
31 echo "Unable to find helper script at ${HELPER}"
32 exit 1
33fi
34source "${HELPER}"
35
36SECTION=
37KANG=
38
39while [ "${#}" -gt 0 ]; do
40 case "${1}" in
41 -n | --no-cleanup )
42 CLEAN_VENDOR=false
43 ;;
44 -k | --kang )
45 KANG="--kang"
46 ;;
47 -s | --section )
48 SECTION="${2}"; shift
49 CLEAN_VENDOR=false
50 ;;
51 * )
52 SRC="${1}"
53 ;;
54 esac
55 shift
56done
57
58if [ -z "${SRC}" ]; then
59 SRC="adb"
60fi
61
62# Initialize the helper
63setup_vendor "${DEVICE}" "${VENDOR}" "${LINEAGE_ROOT}" true "${CLEAN_VENDOR}"
64
65extract "${MY_DIR}/proprietary-files.txt" "${SRC}" \
66 "${KANG}" --section "${SECTION}"
67
ce1234f8
JA
68# Fix proprietary blobs
69BLOB_ROOT="$LINEAGE_ROOT"/vendor/"$VENDOR"/"$DEVICE"/proprietary
70function patch_firmware() {
71 hexdump -ve '1/1 "%.2X"' $1 | \
72 sed "s/40000054DEC0AD/02000014000000/g" | \
73 xxd -r -p > $1.patched
74
75 mv $1.patched $1
76}
77
78# remove RKP crap
79patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_lib.bin
80patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_2l2_3h1.bin
81patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_2l2_imx320.bin
82patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_imx333_3h1.bin
83patch_firmware $BLOB_ROOT/vendor/firmware/fimc_is_rta_imx333_imx320.bin
84
2e3886c0 85"${MY_DIR}/setup-makefiles.sh"