Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


lpi2:kernel_kompilieren

TODO: checken ob qttools5-dev-tools funktioniert fuer xconfig

Kernel kompilieren

Pakete: build-essential pkg-config libncurses5-dev qttools5-dev-tools qtbase5-dev flex bison libelf-dev libssl-dev bc dwarves

Debian (ab 7)

cd
wget -O - https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.9.1.tar.xz | tar xJ
sudo ln -s ~/linux-5.9.1 /usr/src/linux
cd /usr/src/linux
make help
make olddefconfig
make localmodconfig

oder

make localyesconfig
grep -c '^processor' /proc/cpuinfo
make -j 8 all
sudo make modules_install install

ausgewählte Optionen für Kernel .config

  • CONFIG_KERNEL_XZ=y

Doku

Eigenes Kernel-Modul schreiben

Keine Angst, nur ein ganz einfaches „Hello World“ Beispiel …

Debian

cd
aptitude install linux-source-xxx
tar xjf /usr/src/linux-source-xxx
mkdir hello
vi hello.c
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>

static int hello_init(void)
{
  printk(KERN_ALERT "Hello World!\n");
  return 0;
}

static void hello_exit(void)
{
  printk(KERN_ALERT "Good bye world!\n");
}

module_init(hello_init);
module_exit(hello_exit);


MODULE_LICENSE("GPL");
MODULE_AUTHOR("me");
vi Makefile
obj-m   := hello.o
make -C ../linux-source-2.6.18/ SUBDIRS=$PWD modules
lpi2/kernel_kompilieren.txt · Zuletzt geändert: 2023/03/24 12:43 von ingo_wichmann