From 01f6ca24e5d1d6fc0bd1401532bbae51a5cd6f1a Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Tue, 26 Sep 2017 09:48:27 +0100 Subject: [PATCH] x11 screenshot and link to insmod C --- README.md | 8 +++++--- x11.png | Bin 0 -> 16224 bytes 2 files changed, 5 insertions(+), 3 deletions(-) create mode 100644 x11.png diff --git a/README.md b/README.md index 80ba1ef..1b09834 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Linux Kernel Module Cheat -Run one command, get a QEMU Buildroot BusyBox virtual machine with several minimal Linux kernel 4.9 module development example tutorials with GDB and KGDB debug. Tested in x86, ARM and MIPS guests, Ubuntu 14.04 - 17.04 hosts. +Run one command, get a QEMU Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4.9 module development example tutorials with GDB and KGDB debug and minimal QEMU devices models. Tested in x86, ARM and MIPS guests, Ubuntu 14.04 - 17.04 hosts. ![](screenshot.png) @@ -120,7 +120,7 @@ If you are feeling raw, you can use our own minimal: /myinsmod.out /hello.ko -which demonstrates the C module API. +which demonstrates the C module API: ## Message control @@ -148,7 +148,7 @@ We use Buildroot's default kernel version with small educational patches on top, or in QEMU: cat /proc/version - + or in the source: cd linux @@ -544,6 +544,8 @@ Only tested successfully in `x86_64`: startx +![](x11.png) + More details: Not sure how well that graphics stack represents real systems, but if it does it would be a good way to understand how it works. diff --git a/x11.png b/x11.png new file mode 100644 index 0000000000000000000000000000000000000000..3760a8949c3fe6ffaf72d39bfef80e1e62b7ea85 GIT binary patch literal 16224 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 literal 0 HcmV?d00001