1*0eb7ce02SAndrew Jeffery#!/bin/sh 2*0eb7ce02SAndrew Jeffery 3*0eb7ce02SAndrew Jefferyset -eu 4*0eb7ce02SAndrew Jefferyset -x 5*0eb7ce02SAndrew Jeffery 6*0eb7ce02SAndrew Jeffery# AST2400 7*0eb7ce02SAndrew JefferyPALMETTO_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' 8*0eb7ce02SAndrew JefferyPALMETTO_MTD="$(basename "$PALMETTO_MTD_URL")" 9*0eb7ce02SAndrew Jeffery 10*0eb7ce02SAndrew Jeffery# AST2500 11*0eb7ce02SAndrew JefferyWITHERSPOON_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' 12*0eb7ce02SAndrew JefferyWITHERSPOON_MTD="$(basename "$WITHERSPOON_MTD_URL")" 13*0eb7ce02SAndrew Jeffery 14*0eb7ce02SAndrew Jeffery# AST2600 15*0eb7ce02SAndrew JefferyTACOMA_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' 16*0eb7ce02SAndrew JefferyTACOMA_WIC_XZ="$(basename "$TACOMA_WIC_XZ_URL")" 17*0eb7ce02SAndrew JefferyTACOMA_MMC="$(basename "$TACOMA_WIC_XZ_URL" .xz)" 18*0eb7ce02SAndrew Jeffery 19*0eb7ce02SAndrew JefferyTACOMA_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' 20*0eb7ce02SAndrew JefferyTACOMA_FITIMAGE="$(basename "$TACOMA_FITIMAGE_URL")" 21*0eb7ce02SAndrew Jeffery 22*0eb7ce02SAndrew JefferyTACOMA_KERNEL=$(mktemp --suffix .kernel) 23*0eb7ce02SAndrew JefferyTACOMA_DTB=$(mktemp --suffix .dtb) 24*0eb7ce02SAndrew JefferyTACOMA_INITRD=$(mktemp --suffix .initrd) 25*0eb7ce02SAndrew Jeffery 26*0eb7ce02SAndrew Jefferycleanup() { 27*0eb7ce02SAndrew Jeffery rm -f $PALMETTO_MTD 28*0eb7ce02SAndrew Jeffery rm -f $WITHERSPOON_MTD 29*0eb7ce02SAndrew Jeffery rm -f $TACOMA_WIC_XZ $TACOMA_MMC 30*0eb7ce02SAndrew Jeffery rm -f $TACOMA_FITIMAGE 31*0eb7ce02SAndrew Jeffery rm -f $TACOMA_KERNEL $TACOMA_DTB $TACOMA_INITRD 32*0eb7ce02SAndrew Jeffery} 33*0eb7ce02SAndrew Jeffery 34*0eb7ce02SAndrew Jefferytrap cleanup EXIT 2 35*0eb7ce02SAndrew Jeffery 36*0eb7ce02SAndrew Jeffery# AST2400 37*0eb7ce02SAndrew Jefferywget "$PALMETTO_MTD_URL" 38*0eb7ce02SAndrew Jefferyexpect \ 39*0eb7ce02SAndrew Jeffery -c "spawn qemu-system-arm \ 40*0eb7ce02SAndrew Jeffery -M palmetto-bmc \ 41*0eb7ce02SAndrew Jeffery -drive file=${PALMETTO_MTD},if=mtd,format=raw \ 42*0eb7ce02SAndrew Jeffery -nographic \ 43*0eb7ce02SAndrew Jeffery -net nic \ 44*0eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \ 45*0eb7ce02SAndrew Jeffery -c 'set timeout 120' \ 46*0eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 47*0eb7ce02SAndrew Jeffery -c 'spawn sshpass -p 0penBmc \ 48*0eb7ce02SAndrew Jeffery ssh -o UserKnownHostsFile=/dev/null \ 49*0eb7ce02SAndrew Jeffery -o StrictHostKeyChecking=no \ 50*0eb7ce02SAndrew Jeffery -p2222 \ 51*0eb7ce02SAndrew Jeffery root@localhost \ 52*0eb7ce02SAndrew Jeffery journalctl -b' \ 53*0eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 54*0eb7ce02SAndrew Jeffery 55*0eb7ce02SAndrew Jeffery# AST2500 56*0eb7ce02SAndrew Jefferywget "$WITHERSPOON_MTD_URL" 57*0eb7ce02SAndrew Jefferyexpect \ 58*0eb7ce02SAndrew Jeffery -c "spawn qemu-system-arm \ 59*0eb7ce02SAndrew Jeffery -M witherspoon-bmc \ 60*0eb7ce02SAndrew Jeffery -drive file=${WITHERSPOON_MTD},if=mtd,format=raw \ 61*0eb7ce02SAndrew Jeffery -nographic \ 62*0eb7ce02SAndrew Jeffery -net nic \ 63*0eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu" \ 64*0eb7ce02SAndrew Jeffery -c 'set timeout 120' \ 65*0eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 66*0eb7ce02SAndrew Jeffery -c 'spawn sshpass -p 0penBmc \ 67*0eb7ce02SAndrew Jeffery ssh -o UserKnownHostsFile=/dev/null \ 68*0eb7ce02SAndrew Jeffery -o StrictHostKeyChecking=no \ 69*0eb7ce02SAndrew Jeffery -p2222 \ 70*0eb7ce02SAndrew Jeffery root@localhost \ 71*0eb7ce02SAndrew Jeffery journalctl -b' \ 72*0eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 73*0eb7ce02SAndrew Jeffery 74*0eb7ce02SAndrew Jeffery# AST2600 75*0eb7ce02SAndrew Jefferywget "$TACOMA_WIC_XZ_URL" 76*0eb7ce02SAndrew Jefferyunxz $TACOMA_WIC_XZ 77*0eb7ce02SAndrew Jefferytruncate -s 16G $TACOMA_MMC 78*0eb7ce02SAndrew Jeffery 79*0eb7ce02SAndrew Jefferywget $TACOMA_FITIMAGE_URL 80*0eb7ce02SAndrew Jefferydumpimage -T flat_dt -p 0 -o $TACOMA_KERNEL $TACOMA_FITIMAGE 81*0eb7ce02SAndrew Jefferydumpimage -T flat_dt -p 1 -o $TACOMA_DTB $TACOMA_FITIMAGE 82*0eb7ce02SAndrew Jefferydumpimage -T flat_dt -p 2 -o $TACOMA_INITRD $TACOMA_FITIMAGE 83*0eb7ce02SAndrew Jeffery 84*0eb7ce02SAndrew Jefferyexpect \ 85*0eb7ce02SAndrew Jeffery -c "spawn qemu-system-arm -M tacoma-bmc \ 86*0eb7ce02SAndrew Jeffery -kernel $TACOMA_KERNEL \ 87*0eb7ce02SAndrew Jeffery -dtb $TACOMA_DTB \ 88*0eb7ce02SAndrew Jeffery -initrd $TACOMA_INITRD \ 89*0eb7ce02SAndrew Jeffery -drive file=${TACOMA_MMC},if=sd,format=raw,index=2 \ 90*0eb7ce02SAndrew Jeffery -net nic \ 91*0eb7ce02SAndrew Jeffery -net user,hostfwd=:127.0.0.1:2222-:22,hostfwd=:127.0.0.1:2443-:443,hostname=qemu \ 92*0eb7ce02SAndrew Jeffery -nographic \ 93*0eb7ce02SAndrew Jeffery -append \"console=ttyS4,115200n8 rootwait root=PARTLABEL=rofs-a\"" \ 94*0eb7ce02SAndrew Jeffery -c 'set timeout 120' \ 95*0eb7ce02SAndrew Jeffery -c 'expect timeout { exit 1 } "login:"' \ 96*0eb7ce02SAndrew Jeffery -c 'spawn sshpass -p 0penBmc \ 97*0eb7ce02SAndrew Jeffery ssh -o UserKnownHostsFile=/dev/null \ 98*0eb7ce02SAndrew Jeffery -o StrictHostKeyChecking=no \ 99*0eb7ce02SAndrew Jeffery -p2222 \ 100*0eb7ce02SAndrew Jeffery root@localhost \ 101*0eb7ce02SAndrew Jeffery journalctl -b' \ 102*0eb7ce02SAndrew Jeffery -c 'expect -i $spawn_id eof' 103