blob: 949c9e708fabe40e2e82c957ec548d4da52a75da [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
6# AST2400
7PALMETTO_MTD_URL='https://jenkins.openbmc.org/job/ci-openbmc/distro=ubuntu,label=docker-builder,target=palmetto/lastStableBuild/artifact/openbmc/build/tmp/deploy/images/palmetto/obmc-phosphor-image-palmetto.static.mtd'
8PALMETTO_MTD="$(basename "$PALMETTO_MTD_URL")"
9
10# AST2500
11WITHERSPOON_MTD_URL='https://jenkins.openbmc.org/job/ci-openbmc/distro=ubuntu,label=docker-builder,target=witherspoon/lastStableBuild/artifact/openbmc/build/tmp/deploy/images/witherspoon/obmc-phosphor-image-witherspoon.ubi.mtd'
12WITHERSPOON_MTD="$(basename "$WITHERSPOON_MTD_URL")"
13
14# AST2600
15TACOMA_WIC_XZ_URL='https://jenkins.openbmc.org/job/ci-openbmc/distro=ubuntu,label=docker-builder,target=witherspoon-tacoma/lastStableBuild/artifact/openbmc/build/tmp/deploy/images/witherspoon-tacoma/obmc-phosphor-image-witherspoon-tacoma.wic.xz'
16TACOMA_WIC_XZ="$(basename "$TACOMA_WIC_XZ_URL")"
17TACOMA_MMC="$(basename "$TACOMA_WIC_XZ_URL" .xz)"
18
19TACOMA_FITIMAGE_URL='https://jenkins.openbmc.org/job/ci-openbmc/distro=ubuntu,label=docker-builder,target=witherspoon-tacoma/lastStableBuild/artifact/openbmc/build/tmp/deploy/images/witherspoon-tacoma/fitImage-obmc-phosphor-initramfs-witherspoon-tacoma-witherspoon-tacoma'
20TACOMA_FITIMAGE="$(basename "$TACOMA_FITIMAGE_URL")"
21
22TACOMA_KERNEL=$(mktemp --suffix .kernel)
23TACOMA_DTB=$(mktemp --suffix .dtb)
24TACOMA_INITRD=$(mktemp --suffix .initrd)
25
26cleanup() {
Patrick Williamse7162a02021-03-16 00:06:54 -050027 rm -f "$PALMETTO_MTD"
28 rm -f "$WITHERSPOON_MTD"
29 rm -f "$TACOMA_WIC_XZ" "$TACOMA_MMC"
30 rm -f "$TACOMA_FITIMAGE"
31 rm -f "$TACOMA_KERNEL" "$TACOMA_DTB $TACOMA_INITRD"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103032}
33
34trap cleanup EXIT 2
35
36# AST2400
37wget "$PALMETTO_MTD_URL"
Patrick Williamse7162a02021-03-16 00:06:54 -050038# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103039expect \
40 -c "spawn qemu-system-arm \
41 -M palmetto-bmc \
42 -drive file=${PALMETTO_MTD},if=mtd,format=raw \
43 -nographic \
44 -net nic \
45 -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 +093046 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103047 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093048 -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 +103049 -c 'expect -i $spawn_id eof'
50
51# AST2500
52wget "$WITHERSPOON_MTD_URL"
Patrick Williamse7162a02021-03-16 00:06:54 -050053# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103054expect \
55 -c "spawn qemu-system-arm \
56 -M witherspoon-bmc \
57 -drive file=${WITHERSPOON_MTD},if=mtd,format=raw \
58 -nographic \
59 -net nic \
60 -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 +093061 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103062 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093063 -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 +103064 -c 'expect -i $spawn_id eof'
65
66# AST2600
67wget "$TACOMA_WIC_XZ_URL"
Patrick Williamse7162a02021-03-16 00:06:54 -050068unxz "$TACOMA_WIC_XZ"
69truncate -s 16G "$TACOMA_MMC"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103070
Patrick Williamse7162a02021-03-16 00:06:54 -050071wget "$TACOMA_FITIMAGE_URL"
72dumpimage -T flat_dt -p 0 -o "$TACOMA_KERNEL" "$TACOMA_FITIMAGE"
73dumpimage -T flat_dt -p 1 -o "$TACOMA_DTB" "$TACOMA_FITIMAGE"
74dumpimage -T flat_dt -p 2 -o "$TACOMA_INITRD" "$TACOMA_FITIMAGE"
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103075
Patrick Williamse7162a02021-03-16 00:06:54 -050076# shellcheck disable=SC2016 # 'expect' strings
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103077expect \
78 -c "spawn qemu-system-arm -M tacoma-bmc \
79 -kernel $TACOMA_KERNEL \
80 -dtb $TACOMA_DTB \
81 -initrd $TACOMA_INITRD \
82 -drive file=${TACOMA_MMC},if=sd,format=raw,index=2 \
83 -net nic \
84 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \
85 -nographic \
86 -append \"console=ttyS4,115200n8 rootwait root=PARTLABEL=rofs-a\"" \
Andrew Jeffery7d6ee0b2022-05-02 10:04:48 +093087 -c 'set timeout 300' \
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +103088 -c 'expect timeout { exit 1 } "login:"' \
Andrew Jeffery0e47d122022-05-02 10:08:11 +093089 -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 +103090 -c 'expect -i $spawn_id eof'