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.
43 lines
909 B
43 lines
909 B
#!/bin/bash -eux |
|
# Copyright 2014 The Chromium OS Authors. All rights reserved. |
|
# Use of this source code is governed by a BSD-style license that can be |
|
# found in the LICENSE file. |
|
|
|
me=${0##*/} |
|
TMP="$me.tmp" |
|
|
|
# Work in scratch directory |
|
cd "$OUTDIR" |
|
|
|
|
|
IN=${SCRIPTDIR}/data/bios_link_mp.bin |
|
BIOS=${TMP}.bios.bin |
|
|
|
cp ${IN} ${BIOS} |
|
|
|
AREAS="RW_SECTION_A VBLOCK_B BOOT_STUB" |
|
|
|
# Extract good blobs first |
|
${FUTILITY} dump_fmap -x ${BIOS} ${AREAS} |
|
|
|
# Save the good blobs, make same-size random blobs, create command |
|
CMDS="" |
|
for a in ${AREAS}; do |
|
size=$(stat -c '%s' $a) |
|
mv $a $a.good |
|
dd if=/dev/urandom of=$a.rand bs=$size count=1 |
|
CMDS="$CMDS $a:$a.rand" |
|
done |
|
|
|
# Poke the new blobs in |
|
${FUTILITY} load_fmap ${BIOS} ${CMDS} |
|
|
|
# Pull them back out and see if they match |
|
${FUTILITY} dump_fmap -x ${BIOS} ${AREAS} |
|
for a in ${AREAS}; do |
|
cmp $a $a.rand |
|
done |
|
|
|
# cleanup |
|
rm -f ${TMP}* ${AREAS} *.rand *.good |
|
exit 0
|
|
|