aboutsummaryrefslogblamecommitdiffhomepage
path: root/content/2019-10-27-kernel-debugging-qemu/run.sh
blob: b0a84aee9a6d8706cca15b8b62aed94ff0fa9425 (plain) (tree)























                                                                      
#!/bin/bash

VER=5.13.2

# Launch the emulator with our kernel.
qemu-system-x86_64                                                   \
  -kernel ./linux-$VER/arch/x86/boot/bzImage                         \
  -nographic                                                         \
  -append "earlyprintk=ttyS0 console=ttyS0 nokaslr init=/init debug" \
  -initrd ./initramfs.cpio.gz                                        \
  -serial telnet:localhost:12345,server,nowait                       \
  -monitor none                                                      \
  -gdb tcp::1234                                                     \
  -S &

# Kill qemu when we exit.
QEMU_PID=$!
trap "kill $QEMU_PID" EXIT

# Give qemu some time to come up.
sleep 0.5

# Attach debugger to qemu and load the kernel symbols.
gdb -ex 'target remote :1234' ./linux-$VER/vmlinux