summaryrefslogtreecommitdiff
path: root/sample_images/generate_payloads.sh
blob: ee64229c14854d8eb9c79e4f6e5da7b70c32d09e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
#
# Copyright (C) 2020 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

# This script generates some sample payloads from the images in
# sample_images.tar.bz2. and packages them in the sample_payloads.tar.xz file.
# The payloads are then used in paycheck_unittests.py. The file names
# must match the ones used in update_payload ebuild and paycheck_unittests.py.

set -e

TEMP_IMG_DIR=./sample_images
OLD_KERNEL="${TEMP_IMG_DIR}/disk_ext2_4k_empty.img"
OLD_ROOT="${TEMP_IMG_DIR}/disk_sqfs_empty.img"
NEW_KERNEL="${TEMP_IMG_DIR}/disk_ext2_4k.img"
NEW_ROOT="${TEMP_IMG_DIR}/disk_sqfs_default.img"


mkdir -p "${TEMP_IMG_DIR}"
tar -xvf sample_images.tar.bz2 -C "${TEMP_IMG_DIR}"

echo "Generating full payload"
delta_generator --out_file=full_payload.bin \
                --partition_names=kernel:root \
                --new_partitions="${NEW_KERNEL}":"${NEW_ROOT}"

echo "Generating delta payload"
delta_generator --out_file=delta_payload.bin \
                --partition_names=kernel:root \
                --new_partitions="${NEW_KERNEL}":"${NEW_ROOT}" \
                --old_partitions="${OLD_KERNEL}":"${OLD_ROOT}" --minor_version=6

echo "Creating sample_payloads.tar"
tar -cJf sample_payloads.tar.xz {delta,full}_payload.bin

rm -rf "${TEMP_IMG_DIR}" {delta,full}_payload.bin

echo "Done"