jb-perrier / ft_penguin

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

install cURL, OpenSSL, SSH and then Git git config --global http.sslVerify false

#a00 -> git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/ -> make & make modules_install -> cp arch/x86/boot/bzImage /boot/vmlinuz-torvalds-6.9 -> vim /boot/grub/grub.cfg menuentry "GNU/Linux, Linux torvalds" { linux /boot/vmlinuz-torvalds root=/dev/sda2 ro }

#a01

##Makefile obj-m += main.o

all: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) modules

clean: make -C /lib/modules/$(shell uname -r)/build M=$(PWD) clean

##main.c #include <linux/module.h> #include <linux/kernel.h>

MODULE_LICENSE("MIT"); MODULE_AUTHOR("jperrier"); MODULE_DESCRIPTION("Hello World module");

int init_module(void) { printk(KERN_INFO "Hello world !\n"); return 0; }

void cleanup_module(void) { printk(KERN_INFO "Cleaning up module.\n"); }

insmod main.ko dmesg | tail -1 rmmod main.ko

#a02 -> add -thor_kernel to EXTRAVERSION -> use git format-patch -1 HEAD -> cp arch/x86/boot/bzImage /boot/vmlinuz-torvalds -> boot on it and get /var/log/kern.log

#a03 /usr/src/kernel-6.4.12/scripts/checkpatch.pl module.c -no-tree -file --strict

#a04 -> rules /etc/udev/rules.d ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceProtocol}=="01" RUN+="insmod /root/ft_penguin//a04/keyboard_dd.ko"

About


Languages

Language:Batchfile 91.3%Language:C 7.9%Language:Makefile 0.7%Language:Shell 0.1%