From 3cb4d0bf28586213807606e0e8306f7633b1d8ff Mon Sep 17 00:00:00 2001 From: Ciro Santilli Date: Sat, 20 May 2017 07:45:37 +0100 Subject: [PATCH] Debufs on fstab, go back to tty login to have job control, prepare target makefile for multiple progs --- README.md | 1 + kernel_module/test/Makefile | 13 ++++++++++--- kernel_module/test/ins_rm_mod | Bin 7820 -> 0 bytes rootfs_overlay/debugfs.sh | 2 ++ rootfs_overlay/etc/fstab | 9 +++++++++ rootfs_overlay/etc/inittab | 4 ++-- 6 files changed, 24 insertions(+), 5 deletions(-) delete mode 100755 kernel_module/test/ins_rm_mod create mode 100644 rootfs_overlay/etc/fstab diff --git a/README.md b/README.md index a439c4f..5e53022 100644 --- a/README.md +++ b/README.md @@ -10,6 +10,7 @@ First build will take a while (GCC, Linux kernel). QEMU opens up, and you can run: + root insmod /hello.ko insmod /hello2.ko rmmod hello diff --git a/kernel_module/test/Makefile b/kernel_module/test/Makefile index 967dd33..62a3275 100644 --- a/kernel_module/test/Makefile +++ b/kernel_module/test/Makefile @@ -1,9 +1,16 @@ -CC = gcc .PHONY: clean -ins_rm_mod: ins_rm_mod.c +CC ?= gcc +IN_EXT ?= .c +OUT_EXT ?= .out + +OUTS := $(addsuffix $(OUT_EXT), $(basename $(wildcard *$(IN_EXT)))) + +all: $(OUTS) + +%$(OUT_EXT): %$(IN_EXT) $(CC) -o '$@' '$<' clean: - rm ins_rm_mod + rm -f *'$(OUT_EXT)' diff --git a/kernel_module/test/ins_rm_mod b/kernel_module/test/ins_rm_mod deleted file mode 100755 index c4f7df7530d131c63c7a96a3b74b2463f434cac8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7820 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 QFetoXNf9Nq!Ewp}0D8m!KL7v# diff --git a/rootfs_overlay/debugfs.sh b/rootfs_overlay/debugfs.sh index 60043d7..cc13528 100755 --- a/rootfs_overlay/debugfs.sh +++ b/rootfs_overlay/debugfs.sh @@ -1,6 +1,8 @@ #!/bin/sh set -ex mkdir -p /debugfs +# We also added a fstab entry that mounts this under /sys/kernel/debug autmoatically. +# That is the most common place to mount it. mount -t debugfs none /debugfs insmod /debugfs.ko cd /debugfs/kernel_module_cheat diff --git a/rootfs_overlay/etc/fstab b/rootfs_overlay/etc/fstab new file mode 100644 index 0000000..148a943 --- /dev/null +++ b/rootfs_overlay/etc/fstab @@ -0,0 +1,9 @@ +# +/dev/root / ext2 rw,noauto 0 1 +proc /proc proc defaults 0 0 +devpts /dev/pts devpts defaults,gid=5,mode=620 0 0 +tmpfs /dev/shm tmpfs mode=0777 0 0 +tmpfs /tmp tmpfs mode=1777 0 0 +tmpfs /run tmpfs mode=0755,nosuid,nodev 0 0 +sysfs /sys sysfs defaults 0 0 +debugfs /sys/kernel/debug debugfs defaults 0 0 diff --git a/rootfs_overlay/etc/inittab b/rootfs_overlay/etc/inittab index 58e8a70..a2fec3b 100644 --- a/rootfs_overlay/etc/inittab +++ b/rootfs_overlay/etc/inittab @@ -7,8 +7,8 @@ ::sysinit:/bin/hostname -F /etc/hostname ::sysinit:/etc/init.d/rcS # https://unix.stackexchange.com/questions/299408/how-to-login-automatically-without-typing-root-in-buildroot-x86-64-qemu -console::respawn:/bin/sh -#console::respawn:/sbin/getty -n -L console 0 vt100 +#console::respawn:/bin/sh +console::respawn:/sbin/getty -n -L console 0 vt100 ::ctrlaltdel:/sbin/reboot ::shutdown:/etc/init.d/rcK ::shutdown:/sbin/swapoff -a