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.
107 lines
4.0 KiB
107 lines
4.0 KiB
#! /bin/bash
|
|
# Copyright (C) 2017 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.
|
|
|
|
SRCDIR="data"
|
|
DTS_LIST="
|
|
board1v1.dts
|
|
board1v1_1.dts
|
|
board2v1.dts
|
|
"
|
|
DTB_LIST=(
|
|
"board1v1.dts.dtb"
|
|
"board1v1_1.dts.dtb"
|
|
"board2v1.dts.dtb"
|
|
"board1v1.dts.dtb"
|
|
)
|
|
CONFIG="${SRCDIR}/mkdtimg.cfg"
|
|
PYCONFIG="${SRCDIR}/mkdtboimg.cfg"
|
|
|
|
ALIGN=4
|
|
|
|
OUTDIR="out"
|
|
MKDTIMG_OUT="${OUTDIR}/mkdtimg_out"
|
|
MKDTIMG_DUMP="${MKDTIMG_OUT}"/dump.dtb
|
|
|
|
MKDTBOIMG_OUT="${OUTDIR}/mkdtboimg_out"
|
|
MKDTBOIMG_OUTCREATE="${MKDTBOIMG_OUT}/create"
|
|
MKDTBOIMG_OUTCFG="${MKDTBOIMG_OUT}/cfg_create"
|
|
MKDTBOIMG_CREATEDUMP="${MKDTBOIMG_OUTCREATE}"/dump.dtb
|
|
MKDTBOIMG_CFGDUMP="${MKDTBOIMG_OUTCFG}"/dump.dtb
|
|
|
|
mkdir -p "$MKDTIMG_OUT"
|
|
mkdir -p "$MKDTBOIMG_OUTCREATE"
|
|
mkdir -p "$MKDTBOIMG_OUTCFG"
|
|
|
|
for dts in ${DTS_LIST}; do
|
|
echo "Building $dts..."
|
|
src_dts="${SRCDIR}/${dts}"
|
|
out_dtb="${OUTDIR}/${dts}.dtb"
|
|
dtc -O dtb -@ -qq -a "$ALIGN" -o "$out_dtb" "$src_dts"
|
|
done
|
|
|
|
echo "Creating dtbo image with mkdtbimg"
|
|
mkdtimg create ${MKDTIMG_OUT}/create.img --page_size=4096 --id=0x100 --version=1\
|
|
--rev=0x100 --custom0=0xabc "${OUTDIR}/board1v1.dts.dtb" "${OUTDIR}/board1v1_1.dts.dtb" \
|
|
--id=0xddccbbaa --rev=0x01000100 "${OUTDIR}/board2v1.dts.dtb" --id=0x200 \
|
|
--rev=0x201 "${OUTDIR}/board1v1.dts.dtb" --custom0=0xdef \
|
|
"${OUTDIR}/board1v1.dts.dtb" --custom0=0xdef > /dev/null
|
|
|
|
echo "Creating dtbo image with mkdtboimg"
|
|
../src/mkdtboimg.py create ${MKDTBOIMG_OUTCREATE}/create.img --page_size=4096 \
|
|
--id=0x100 --rev=0x100 --flags=0xabc0 --version=1 "${OUTDIR}/board1v1.dts.dtb" \
|
|
"${OUTDIR}/board1v1_1.dts.dtb" --id=0xddccbbaa --rev=0x01000100 \
|
|
"${OUTDIR}/board2v1.dts.dtb" --id=0x200 --rev=0x201 \
|
|
"${OUTDIR}/board1v1.dts.dtb" --flags=0xd01 \
|
|
"${OUTDIR}/board1v1.dts.dtb" --flags=0xd02 > /dev/null
|
|
|
|
echo "Creating dtbo image with ${PYCONFIG} config file"
|
|
../src/mkdtboimg.py cfg_create ${MKDTBOIMG_OUTCFG}/create.img ${PYCONFIG} --dtb-dir "${OUTDIR}"
|
|
|
|
echo "Dumping fragments from mkdtimg tool image"
|
|
mkdtimg dump ${MKDTIMG_OUT}/create.img -b "${MKDTIMG_DUMP}"| grep -v 'FDT' > ${MKDTIMG_OUT}/create.dump
|
|
|
|
echo "Dumping fragments from mkdtboimg.py tool for image generated with 'create'"
|
|
../src/mkdtboimg.py dump ${MKDTBOIMG_OUTCREATE}/create.img --output ${MKDTBOIMG_OUTCREATE}/create.dump -b "${MKDTBOIMG_CREATEDUMP}" --decompress
|
|
|
|
echo "Dumping fragments from mkdtboimg.py tool for image generated with 'cfg_create'"
|
|
../src/mkdtboimg.py dump ${MKDTBOIMG_OUTCFG}/create.img --output ${MKDTBOIMG_OUTCFG}/create.dump -b "${MKDTBOIMG_CFGDUMP}" --decompress
|
|
|
|
echo "======================================================================================"
|
|
echo "Testing differences between image created by 'create' for 'mkdtimg' and 'mkdtboimg.py'"
|
|
echo "======================================================================================"
|
|
for x in `ls -1 ${MKDTIMG_DUMP}.*`
|
|
do
|
|
file=`basename $x`
|
|
if [ ! -e ${MKDTBOIMG_OUTCREATE}/$file ]
|
|
then
|
|
continue
|
|
fi
|
|
echo "diff $x vs ${MKDTBOIMG_OUTCREATE}/$file"
|
|
diff $x ${MKDTBOIMG_OUTCREATE}/$file
|
|
done
|
|
echo "=========================================================================================="
|
|
echo "Testing differences between image created by 'cfg_create' for 'mkdtimg' and 'mkdtboimg.py'"
|
|
echo "=========================================================================================="
|
|
for x in `ls -1 ${MKDTIMG_DUMP}.*`
|
|
do
|
|
file=`basename $x`
|
|
if [ ! -e ${MKDTBOIMG_OUTCFG}/$file ]
|
|
then
|
|
continue
|
|
fi
|
|
echo "diff $x vs ${MKDTBOIMG_OUTCFG}/$file"
|
|
diff $x ${MKDTBOIMG_OUTCFG}/$file
|
|
done
|