blob: f305198e14d5c1d94f94149202902dce12674fa1 [file] [log] [blame]
#
# Copyright (c) 2021, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Expect script for Linux/Buildroot using Measured Boot & fTPM
#
non_zero_pcr='(?!(\s00){16})((\s([0-9a-f]){2}){16}\s)'
# Parse the event log from the debug logs and store the digests
# so they can be matched later with what the fTPM read.
expect_string+=('m;Booting Trusted Firmware;Booting BL31;Digest(\s|\w)*:\s(\w{2}\s){16}@: (\w{2}\s){16}@Event(\s|\w)*:\s\w+\s')
# Wait for the login prompt
expect_string+=("i;buildroot login:")
# Login then load the fTPM driver and retrieves PCR0
# Pass condition: PCR0 and PCR1 must not be all zeros.
expect_string+=("i;#;;;root")
expect_string+=("i;${non_zero_pcr};;;ftpm")
expect_string+=("i;#")
expect_string+=("i;${non_zero_pcr};;;pcrread -ha 1")
# Iterate over the rest of PCRs and check that they all are zeros.
zero_pcr="(\s00){16}\s+(00\s){16}"
for i in $(seq 2 11); do
expect_string+=("i;#")
expect_string+=("i;${zero_pcr};;;pcrread -ha $i")
done
expect_string+=("i;#;;;@") # Flush newline after final prompt