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.
44 lines
909 B
44 lines
909 B
7 months ago
|
#!/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
|