blob: 30b775dfa2732f5d885431813bef624b9836070f [file] [log] [blame]
Andrew Jeffery0eb7ce02021-01-15 22:47:22 +10301#!/bin/sh
2
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() {
27 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
32}
33
34trap cleanup EXIT 2
35
36# AST2400
37wget "$PALMETTO_MTD_URL"
38expect \
39 -c "spawn qemu-system-arm \
40 -M palmetto-bmc \
41 -drive file=${PALMETTO_MTD},if=mtd,format=raw \
42 -nographic \
43 -net nic \
44 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \
45 -c 'set timeout 120' \
46 -c 'expect timeout { exit 1 } "login:"' \
47 -c 'spawn sshpass -p 0penBmc \
48 ssh -o UserKnownHostsFile=/dev/null \
49 -o StrictHostKeyChecking=no \
50 -p2222 \
51 root@localhost \
52 journalctl -b' \
53 -c 'expect -i $spawn_id eof'
54
55# AST2500
56wget "$WITHERSPOON_MTD_URL"
57expect \
58 -c "spawn qemu-system-arm \
59 -M witherspoon-bmc \
60 -drive file=${WITHERSPOON_MTD},if=mtd,format=raw \
61 -nographic \
62 -net nic \
63 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \
64 -c 'set timeout 120' \
65 -c 'expect timeout { exit 1 } "login:"' \
66 -c 'spawn sshpass -p 0penBmc \
67 ssh -o UserKnownHostsFile=/dev/null \
68 -o StrictHostKeyChecking=no \
69 -p2222 \
70 root@localhost \
71 journalctl -b' \
72 -c 'expect -i $spawn_id eof'
73
74# AST2600
75wget "$TACOMA_WIC_XZ_URL"
76unxz $TACOMA_WIC_XZ
77truncate -s 16G $TACOMA_MMC
78
79wget $TACOMA_FITIMAGE_URL
80dumpimage -T flat_dt -p 0 -o $TACOMA_KERNEL $TACOMA_FITIMAGE
81dumpimage -T flat_dt -p 1 -o $TACOMA_DTB $TACOMA_FITIMAGE
82dumpimage -T flat_dt -p 2 -o $TACOMA_INITRD $TACOMA_FITIMAGE
83
84expect \
85 -c "spawn qemu-system-arm -M tacoma-bmc \
86 -kernel $TACOMA_KERNEL \
87 -dtb $TACOMA_DTB \
88 -initrd $TACOMA_INITRD \
89 -drive file=${TACOMA_MMC},if=sd,format=raw,index=2 \
90 -net nic \
91 -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \
92 -nographic \
93 -append \"console=ttyS4,115200n8 rootwait root=PARTLABEL=rofs-a\"" \
94 -c 'set timeout 120' \
95 -c 'expect timeout { exit 1 } "login:"' \
96 -c 'spawn sshpass -p 0penBmc \
97 ssh -o UserKnownHostsFile=/dev/null \
98 -o StrictHostKeyChecking=no \
99 -p2222 \
100 root@localhost \
101 journalctl -b' \
102 -c 'expect -i $spawn_id eof'