38 lines
964 B
Bash
Executable File
38 lines
964 B
Bash
Executable File
# !/bin/bash
|
|
# Script to test build using qemu x86 emulator.
|
|
|
|
set -e
|
|
|
|
OUTDIR=$1
|
|
|
|
if [ -z "${OUTDIR}" ]; then
|
|
OUTDIR=/minimal-linux
|
|
echo "No outdir specified, using ${OUTDIR}"
|
|
fi
|
|
|
|
KERNEL_IMAGE=${OUTDIR}/linux-stable/arch/x86/boot/bzImage
|
|
INITRD_IMAGE=${OUTDIR}/initramfs.cpio.gz
|
|
|
|
if [ ! -e ${KERNEL_IMAGE} ]; then
|
|
echo "Missing kernel image at ${KERNEL_IMAGE}"
|
|
exit 1
|
|
fi
|
|
if [ ! -e ${INITRD_IMAGE} ]; then
|
|
echo "Missing initrd image at ${INITRD_IMAGE}"
|
|
exit 1
|
|
fi
|
|
|
|
|
|
echo "Booting the kernel"
|
|
# See trick at https://superuser.com/a/1412150 to route serial port output to file
|
|
qemu-system-x86_64 \
|
|
-m 256M \
|
|
-M pc \
|
|
-cpu qemu64 \
|
|
-nographic \
|
|
-smp 1 \
|
|
-kernel ${KERNEL_IMAGE} \
|
|
-chardev stdio,id=char0,mux=on,logfile=${OUTDIR}/serial.log,signal=off \
|
|
-serial chardev:char0 -mon chardev=char0 \
|
|
-append "rdinit=/home/autorun-qemu.sh console=ttyAMA0" -initrd ${INITRD_IMAGE}
|