1e7162a08SPatrick Williams#!/bin/bash 20eb7ce02SAndrew Jeffery 30eb7ce02SAndrew Jefferyset -eu 40eb7ce02SAndrew Jefferyset -x 50eb7ce02SAndrew Jeffery 67d2c27fdSAndrew JefferyARTIFACT_DIR=$(mktemp -d) 70eb7ce02SAndrew Jeffery 87d2c27fdSAndrew Jefferytrap 'rm -rf ${ARTIFACT_DIR}' EXIT 90eb7ce02SAndrew Jeffery 10476a7e99SPatrick Williamsfunction acquire() { 117d2c27fdSAndrew Jeffery local target="$1" 127d2c27fdSAndrew Jeffery wget --quiet --show-progress --directory-prefix="${ARTIFACT_DIR}" https://jenkins.openbmc.org/view/latest/job/latest-master/lastSuccessfulBuild/label=docker-builder,target="${target}"/artifact/openbmc/build/tmp/deploy/images/"${target}"/'*zip*'/"${target}".zip 137d2c27fdSAndrew Jeffery unzip -qq -d "${ARTIFACT_DIR}" "${ARTIFACT_DIR}"/"${target}".zip 147d2c27fdSAndrew Jeffery echo "${ARTIFACT_DIR}"/"${target}" 150eb7ce02SAndrew Jeffery} 160eb7ce02SAndrew Jeffery 170eb7ce02SAndrew Jeffery# AST2400 187d2c27fdSAndrew JefferyPALMETTO_ARTIFACTS="$(acquire palmetto)" 197d2c27fdSAndrew JefferyPALMETTO_MTD="$(echo "${PALMETTO_ARTIFACTS}"/obmc-phosphor-image-palmetto-*.static.mtd)" 20e7162a08SPatrick Williams# shellcheck disable=SC2016 # 'expect' strings 210eb7ce02SAndrew Jefferyexpect \ 220eb7ce02SAndrew Jeffery -c "spawn qemu-system-arm \ 230eb7ce02SAndrew Jeffery -M palmetto-bmc \ 240eb7ce02SAndrew Jeffery -drive file=${PALMETTO_MTD},if=mtd,format=raw \ 250eb7ce02SAndrew Jeffery -nographic \ 260eb7ce02SAndrew Jeffery -net nic \ 270eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \ 287d6ee0b4SAndrew Jeffery -c 'set timeout 300' \ 290eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 300e47d123SAndrew Jeffery -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \ 310eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 320eb7ce02SAndrew Jeffery 330eb7ce02SAndrew Jeffery# AST2500 34*1680cdaaSAndrew JefferyROMULUS_ARTIFACTS="$(acquire romulus)" 35*1680cdaaSAndrew JefferyROMULUS_MTD="$(echo "${ROMULUS_ARTIFACTS}"/obmc-phosphor-image-romulus*.mtd)" 36e7162a08SPatrick Williams# shellcheck disable=SC2016 # 'expect' strings 370eb7ce02SAndrew Jefferyexpect \ 380eb7ce02SAndrew Jeffery -c "spawn qemu-system-arm \ 39*1680cdaaSAndrew Jeffery -M romulus-bmc \ 40*1680cdaaSAndrew Jeffery -drive file=${ROMULUS_MTD},if=mtd,format=raw \ 410eb7ce02SAndrew Jeffery -nographic \ 420eb7ce02SAndrew Jeffery -net nic \ 430eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \ 447d6ee0b4SAndrew Jeffery -c 'set timeout 300' \ 450eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 460e47d123SAndrew Jeffery -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \ 470eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 480eb7ce02SAndrew Jeffery 490eb7ce02SAndrew Jeffery# AST2600 507d2c27fdSAndrew JefferyP10BMC_ARTIFACTS="$(acquire p10bmc)" 510eb7ce02SAndrew Jeffery 527d2c27fdSAndrew JefferyP10BMC_WIC_XZ="$(echo "${P10BMC_ARTIFACTS}"/obmc-phosphor-image-p10bmc-*.wic.xz)" 537d2c27fdSAndrew JefferyP10BMC_MMC="${P10BMC_WIC_XZ%.xz}" 547d2c27fdSAndrew JefferyP10BMC_UBOOT_SPL="$(echo "${P10BMC_ARTIFACTS}"/u-boot-spl.bin-*)" 557d2c27fdSAndrew JefferyP10BMC_UBOOT="$(echo "${P10BMC_ARTIFACTS}"/u-boot-p10bmc-*.bin)" 567d2c27fdSAndrew Jeffery 577d2c27fdSAndrew Jefferydd of="$P10BMC_MMC" if=/dev/zero bs=1M count=2 587d2c27fdSAndrew Jefferydd of="$P10BMC_MMC" if="$P10BMC_UBOOT_SPL" conv=notrunc 597d2c27fdSAndrew Jefferydd of="$P10BMC_MMC" if="$P10BMC_UBOOT" conv=notrunc bs=1K seek=64 607d2c27fdSAndrew Jeffery 617d2c27fdSAndrew Jefferyxz --decompress --stdout --keep "$P10BMC_WIC_XZ" | dd of="$P10BMC_MMC" conv=notrunc bs=1M seek=2 627d2c27fdSAndrew Jeffery 637d2c27fdSAndrew Jefferytruncate -s 16G "$P10BMC_MMC" 640eb7ce02SAndrew Jeffery 65e7162a08SPatrick Williams# shellcheck disable=SC2016 # 'expect' strings 660eb7ce02SAndrew Jefferyexpect \ 677d2c27fdSAndrew Jeffery -c "spawn qemu-system-arm -M rainier-bmc \ 687d2c27fdSAndrew Jeffery -drive file=${P10BMC_MMC},if=sd,format=raw,index=2 \ 690eb7ce02SAndrew Jeffery -net nic \ 700eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \ 717d2c27fdSAndrew Jeffery -nographic" \ 727d6ee0b4SAndrew Jeffery -c 'set timeout 300' \ 730eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 740e47d123SAndrew Jeffery -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \ 750eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 76