blob: 813fd731d9f4c0049f0f6985904c30cac6cc2f88 [file] [log] [blame]
Patrick Williamse7162a02021-03-16 00:06:54 -05001#!/bin/bash
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +10302
3set -eu
4set -x
5
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +09306ARTIFACT_DIR=$(mktemp -d)
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +10307
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +09308trap 'rm -rf ${ARTIFACT_DIR}' EXIT
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +10309
Patrick Williams476a7e92022-12-06 09:52:53 -060010function acquire() {
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093011 local target="$1"
12 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
13 unzip -qq -d "${ARTIFACT_DIR}" "${ARTIFACT_DIR}"/"${target}".zip
14 echo "${ARTIFACT_DIR}"/"${target}"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103015}
16
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103017# AST2400
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093018PALMETTO_ARTIFACTS="$(acquire palmetto)"
19PALMETTO_MTD="$(echo "${PALMETTO_ARTIFACTS}"/obmc-phosphor-image-palmetto-*.static.mtd)"
Patrick Williamse7162a02021-03-16 00:06:54 -050020# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103021expect \
22 -c "spawn qemu-system-arm \
23 -M palmetto-bmc \
24 -drive file=${PALMETTO_MTD},if=mtd,format=raw \
25 -nographic \
26 -net nic \
Patrick Williams476a7e92022-12-06 09:52:53 -060027 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \
Andrew Jeffery7d6ee0b2022-05-02 10:04:48 +093028 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103029 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093030 -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103031 -c 'expect -i $spawn_id eof'
32
33# AST2500
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093034WITHERSPOON_ARTIFACTS="$(acquire witherspoon)"
35WITHERSPOON_MTD="$(echo "${WITHERSPOON_ARTIFACTS}"/obmc-phosphor-image-witherspoon-*.ubi.mtd)"
Patrick Williamse7162a02021-03-16 00:06:54 -050036# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103037expect \
38 -c "spawn qemu-system-arm \
39 -M witherspoon-bmc \
40 -drive file=${WITHERSPOON_MTD},if=mtd,format=raw \
41 -nographic \
42 -net nic \
Patrick Williams476a7e92022-12-06 09:52:53 -060043 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \
Andrew Jeffery7d6ee0b2022-05-02 10:04:48 +093044 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103045 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093046 -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103047 -c 'expect -i $spawn_id eof'
48
49# AST2600
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093050P10BMC_ARTIFACTS="$(acquire p10bmc)"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103051
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093052P10BMC_WIC_XZ="$(echo "${P10BMC_ARTIFACTS}"/obmc-phosphor-image-p10bmc-*.wic.xz)"
53P10BMC_MMC="${P10BMC_WIC_XZ%.xz}"
54P10BMC_UBOOT_SPL="$(echo "${P10BMC_ARTIFACTS}"/u-boot-spl.bin-*)"
55P10BMC_UBOOT="$(echo "${P10BMC_ARTIFACTS}"/u-boot-p10bmc-*.bin)"
56
57dd of="$P10BMC_MMC" if=/dev/zero bs=1M count=2
58dd of="$P10BMC_MMC" if="$P10BMC_UBOOT_SPL" conv=notrunc
59dd of="$P10BMC_MMC" if="$P10BMC_UBOOT" conv=notrunc bs=1K seek=64
60
61xz --decompress --stdout --keep "$P10BMC_WIC_XZ" | dd of="$P10BMC_MMC" conv=notrunc bs=1M seek=2
62
63truncate -s 16G "$P10BMC_MMC"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103064
Patrick Williamse7162a02021-03-16 00:06:54 -050065# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103066expect \
Andrew Jeffery7d2c27f2022-05-02 10:11:20 +093067 -c "spawn qemu-system-arm -M rainier-bmc \
68 -drive file=${P10BMC_MMC},if=sd,format=raw,index=2 \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103069 -net nic \
70 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \
Patrick Williams476a7e92022-12-06 09:52:53 -060071 -nographic" \
Andrew Jeffery7d6ee0b2022-05-02 10:04:48 +093072 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103073 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093074 -c 'spawn sshpass -p 0penBmc ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -p2222 root@localhost journalctl -b' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103075 -c 'expect -i $spawn_id eof'