diff --git a/README.adoc b/README.adoc index a2d2ace..e827fe8 100644 --- a/README.adoc +++ b/README.adoc @@ -1925,18 +1925,16 @@ Main more generic question: https://stackoverflow.com/questions/14155577/how-to- === KGDB kernel modules -In QEMU: +Just works as you would expect: .... insmod /timer.ko +/kgdb.sh .... -Source: link:rootfs_overlay/kgdb-mod.sh[]. - In GDB: .... -lx-symbols ../kernel_modules-1.0/ break lkmc_timer_callback continue continue @@ -1945,8 +1943,6 @@ continue and you now control the count. -TODO: if I `-ex lx-symbols` to the `gdb` command, just like done for QEMU `-gdb`, the kernel <>. How to automate this step? - === KDB KDB is a way to use KDB directly in your main console, without GDB. @@ -1994,7 +1990,7 @@ You can get see further commands with: [0]kdb> help .... -The other KDB commands allow you to instruction steps, view memory, registers and some higher level kernel runtime data. +The other KDB commands allow you to step instructions, view memory, registers and some higher level kernel runtime data similar to the superior GDB Python scripts. ==== KDB graphic @@ -2006,7 +2002,7 @@ You can also use KDB directly from the <> window with: This setup could be used to debug the kernel on machines without serial, such as modern desktops. -This works because `--graphics` This adds `kbd` (which stands for `KeyBoarD`!) to `kgdboc`. +This works because `--graphics` adds `kbd` (which stands for `KeyBoarD`!) to `kgdboc`. ==== KDB ARM @@ -2038,7 +2034,7 @@ el0_svc_handler+0x74/0x90 el0_svc+0x8/0xc .... -My theory is that every serious ARM developer has either serial or JTAG, and no one ever tests this, and the kernel code is just broken. +My theory is that every serious ARM developer has JTAG, and no one ever tests this, and the kernel code is just broken. == gdbserver diff --git a/rootfs_overlay/kgdb-mod.sh b/rootfs_overlay/kgdb-mod.sh deleted file mode 100755 index 11eafa4..0000000 --- a/rootfs_overlay/kgdb-mod.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh -insmod fops.ko -cd /sys/kernel/debug/lkmc_fops -i=0 -while true; do - printf "$i" >f - i=$(($i+1)) -done & -/kgdb.sh