diff options
Diffstat (limited to 'modules/signing')
-rw-r--r-- | modules/signing/preimage.10.extract.sh | 11 | ||||
-rw-r--r-- | modules/signing/preimage.40.sign-firmware.sh | 8 | ||||
-rw-r--r-- | modules/signing/preimage.40.sign-os.sh | 4 | ||||
-rw-r--r-- | modules/signing/preimage.50.addsignedcontent.sh | 8 |
4 files changed, 19 insertions, 12 deletions
diff --git a/modules/signing/preimage.10.extract.sh b/modules/signing/preimage.10.extract.sh index 489f8b4..01f3753 100644 --- a/modules/signing/preimage.10.extract.sh +++ b/modules/signing/preimage.10.extract.sh @@ -4,6 +4,8 @@ # this must be run before the base module creates versioned fs layout . $OOB__shlib +shopt -s nullglob + enabled=$(read_config signing extract) [[ "$enabled" == "1" ]] || exit 0 @@ -17,10 +19,11 @@ echo "Extracting content for signing..." copy_out_file() { local name=$1 - local path="$fsmount"/boot/${1}.zip - [ -f "$path"] || return - cp $path $tgt - found=1 + for path in "$fsmount"/boot/${name}*.zip; do + [ -f "$path" ] || continue + cp $path $tgt + found=1 + done } copy_out bootfw diff --git a/modules/signing/preimage.40.sign-firmware.sh b/modules/signing/preimage.40.sign-firmware.sh index 1f8093e..8789558 100644 --- a/modules/signing/preimage.40.sign-firmware.sh +++ b/modules/signing/preimage.40.sign-firmware.sh @@ -8,13 +8,14 @@ wkey=$(read_config signing wkey) bios_crypto=$(read_config signing bios_crypto_path) [ -n "$bios_crypto" -a -d "$bios_crypto" ] || exit 0 -[ -e $fsmount/boot/bootfw.zip ] || exit 0 +bootfw=$(find $fsmount/boot -type f -name 'bootfw*.zip' -print -quit) +[ -n "$bootfw" ] || exit 0 echo "Signing firmware..." fwtmp=$intermediatesdir/fw-for-signing mkdir -p $fwtmp -unzip -d $fwtmp $fsmount/boot/bootfw.zip +unzip -d $fwtmp $bootfw mv $fwtmp/data.img $intermediatesdir/fw.rom outzip=$intermediatesdir/bootfw.zip @@ -22,5 +23,4 @@ rm -f $outzip pushd $bios_crypto/build ./sign-fw.sh $wkey $intermediatesdir/fw.rom $outzip popd -mv $outzip $fsmount/boot/ - +mv $outzip $bootfw diff --git a/modules/signing/preimage.40.sign-os.sh b/modules/signing/preimage.40.sign-os.sh index 6756eb6..0adba39 100644 --- a/modules/signing/preimage.40.sign-os.sh +++ b/modules/signing/preimage.40.sign-os.sh @@ -9,8 +9,8 @@ bios_crypto=$(read_config signing bios_crypto_path) [ -n "$bios_crypto" -a -d "$bios_crypto" ] || exit 0 sign_os() { - local path="$fsmount"/boot/$1.zip - [ -f "$path" ] || return + local path=$(find ${fsmount}/boot -type f -name "${1}*.zip" -print -quit) + [ -z "$path" ] && return pushd $bios_crypto/build unzip "$path" diff --git a/modules/signing/preimage.50.addsignedcontent.sh b/modules/signing/preimage.50.addsignedcontent.sh index 3ad5f19..f3106c2 100644 --- a/modules/signing/preimage.50.addsignedcontent.sh +++ b/modules/signing/preimage.50.addsignedcontent.sh @@ -2,6 +2,7 @@ # Licensed under the terms of the GNU GPL v2 or later; see COPYING for details. . $OOB__shlib +shopt -s nullglob content=$(read_config signing add_signed_content) [ -n "$content" ] || exit 0 @@ -11,8 +12,11 @@ signdir=$intermediatesdir/signed-content rm -rf $signdir mkdir -p $signdir unzip $content -d $signdir -for sfile in bootfw.zip runos.zip runrd.zip actos.zip actrd.zip; do - [ -e $signdir/$sfile ] && cp --remove-destination $signdir/$sfile $fsmount/boot/$sfile + +pushd $signdir +for sfile in bootfw*.zip runos*.zip runrd*.zip actos*.zip actrd*.zip; do + cp --remove-destination $sfile $fsmount/boot/$sfile done +popd rm -rf $signdir |