#!/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