#!/bin/bash # # MIT License # # Copyright (c) 2018-2019 Berkus Decker # Based on QEMU runner example by Andre Richter echo -e "\033]0;QEMU\007" clear cat emulation/instructions.txt # Generated by `cargo make zellij-config` source emulation/zellij-config.sh # Let the two other serials boot up sleep 1 FIRST_TTY=$(ps a | grep -e [F]IRST | awk '{ print $2 }') SECOND_TTY=$(ps a | grep -e [S]ECOND | awk '{ print $2 }') FIRST_PID=$(ps a | grep -e [F]IRST | awk '{ print $1 }') SECOND_PID=$(ps a | grep -e [S]ECOND | awk '{ print $1 }') function cleanup() { # Drop ptmx shells kill $FIRST_PID kill $SECOND_PID } trap cleanup EXIT echo "=== Running QEMU with MiniUart ${FIRST_TTY} and PL011 Uart ${SECOND_TTY} ===" ${QEMU} ${QEMU_OPTS} ${QEMU_RUNNER_OPTS} -dtb ${CARGO_MAKE_WORKSPACE_WORKING_DIRECTORY}/targets/bcm2710-rpi-3-b-plus.dtb -kernel ${KERNEL_BIN} -serial /dev/tty${SECOND_TTY} -serial /dev/tty${FIRST_TTY}