How to compile Linux kernel modules

Example: hello.c module

1) hello.c – It is C source code. Copy following code and save to hello.c
$ mkdir demo; cd demo
$ vi hello.c

2)Add following c source code to it:

#include <linux/module.h>       /* Needed by all modules */
#include <linux/kernel.h>       /* Needed for KERN_INFO */
#include <linux/init.h>         /* Needed for the macros */

static int __init hello_start(void)
{
printk(KERN_INFO "Loading hello module...\n");
printk(KERN_INFO "Hello world\n");
return 0;
}

static void __exit hello_end(void)
{
printk(KERN_INFO "Goodbye Mr.\n");
}

module_init(hello_start);
module_exit(hello_end);

This is an example modified from original source for demonstration purpose.

3) Save the file. Create new Makefile as follows:
$ vi Makefile
Append following make commands:

obj-m = hello.o
KVERSION = $(shell uname -r)
all:
        make -C /lib/modules/$(KVERSION)/build M=$(PWD) modules
clean:
        make -C /lib/modules/$(KVERSION)/build M=$(PWD) clean

4) Save and close the file.

5) Compile hello.c module:
$ make

6) Become a root user (use su or sudo) and load the module:
$ su -
# insmod hello.ko

If you get error message:

insmod: ERROR: could not insert module hello.ko: Invalid module format

then reinstall kernel headers with:

sudo apt update && sudo apt upgrade
sudo apt remove --purge linux-headers-*
sudo apt autoremove && sudo apt autoclean
sudo apt install linux-headers-generic

Note you can see message on screen if you are logged in as root under run level 3.

7) Verify that module loaded using the lsmod command:
# lsmod | less

8) See message in /var/log/message file using the tail command or less command:
# tail -f /var/log/syslog

9) Unload the module using the rmmod command:
# rmmod hello

10) Load module when Linux system comes up. File /etc/modules use to load kernel boot time. This file should contain the names of kernel modules that are to be loaded at boot time, one per line. First copy your module to /lib/modules/$(uname -r)/kernel/drivers. Following are suggested steps:

(a) Create directory for hello module:
# mkdir -p /lib/modules/$(uname -r)/kernel/drivers/hello
(b) Copy module:
# cp hello.ko /lib/modules/$(uname -r)/kernel/drivers/hello/
(c) Edit /etc/modules file under Debian Linux:
# vi /etc/modules
(d) Add following line to it:
hello
(e) Reboot to see changes. Use lsmod or dmesg command to verify module loaded or not.
cat /proc/modules
OR
# lsmod | less

 

Source: How to compile Linux kernel modules – nixCraft

How to compile Linux kernel modules was last modified: June 5th, 2023 by Jovan Stosic

Install Intell Xmm7360-pci (Fibocom LTE L780 module) modem

$ git clone https://github.com/xmm7360/xmm7360-pci.git
$ cd xmm7360-pci
$ make && make load

-If your sim has pin enabled, run echo "AT+CPIN=\"0000\"" | sudo tee -a /dev/ttyXMM1. Replace 0000 with your pin code.
# python3 rpc/open_xdatachannel.py --apn your.apn.here
# echo "nameserver 1.1.1.1" >> /etc/resolv.conf
# ip link set wwan0 up

Source: Xmm7360-pci – ArchWiki

Install Intell Xmm7360-pci (Fibocom LTE L780 module) modem was last modified: June 5th, 2023 by Jovan Stosic

Маточина, пчелинок (Melissa officinalis, fam. Labiatae)


Маточината е многугодишно зелјесто растение, со четириаголно стебло, доста разгрането. Листовите се спротивноположни, срцесто јајцести, со неправилно назабени рабови, со лисни дршки од кои горните се најкратки. Цветовите се пршленесто поставени, собрани по 3-6 или повеќе во пазувите на листовите. Во почетокот на цветањето тие се жолти, а подоцна стануваат сини. Целото растение мириса пријатно на лимон, особено кога листовите се тријат меѓу прсти.

Исушените листови (Melissae folium) коишто се користат како активен дел од растението се тенки, на лицето имаат темнозелена боја, рапави се, со ретки влакненца, а на опачината имаат посветла зелена боја, пунктирани се со жлезди и ишарани со испакнати нерви.

Содржат танини, поради што листот наоѓа примена како благо и пријатно средство за смирување на дијареја, особено летните детски дијареи. Присуството на горчливи и опорни материи ја објаснуваат употребата на листот од маточина во функција на јакнење на организмот. Листот од маточина особено се цени поради неговото мирисливо испарливо етерично масло.

Благодарение на сложениот хемиски состав, маточината дејствува врз повеќе органи, а главната состојка на која се должи неговата широка примена е скапоценото етерично масло со вонредно пријатен мирис.

Листовите од маточина се берат пред билката да процвета, поради тоа што во тоа време се најкрупни и имаат најмногу етерично масло, кое е со најинтензивен мирис.

Маточината е блага, добра и пријатна лековита билка која се препорачува при проблеми во системот на органите за варење (против надуеност на цревата, желудочни тегоби, гадење, повраќање и против дијареја). Поради присуството на танини во неговиот состав, коишто имаат атсрингентно дејство (што стега) овој чај со право може да се употребува за подобрување на состојбата при дијареја, особено кај децата.

Утринските мачнини кај многу трудници може значително да се намалат или да се проретчат доколку се употребува по една чаша свежо приготвен чај од маточина, два пати во текот на денот, наутро и навечер.

Како еднокомпонентен чај или во комбинација со горчливи чаеви (линцура, црвен кантарион, подабица или ајдучка трева), маточината се препорачува на послабите и изнемоштени лица за подобрување на апетитот.

Мешавина од еднакви делови сушени листови од маточина и нане се попарува со свежо зовриена вода. Се препорачува да се пие по оброк, особено на оние лица кои имаат проблеми со варењето на храната, проследено со појава на гасови, надуеност и разни тегоби во цревата. Овој чај е добро да се пие и навечер, пред спиење, бидејќи делува смирувачки, ги отстранува гасовите и придонесува за мирен сон. Кај повозрасните лица, болните или лица чија професија бара честа седечка положба, овој чај треба да се пие наместо вода по оброк, постепено во тек на 10-15 минути.

Маточината во комбинација со други лековити билки е ценето средство кое ја подобрува состојбата кај мигренозните главоболки, обичните главоболки, акутна и хронична несоница предизвикана од премореност или од нервни пречки, нервни слабости, неуралгии, хистерии. Чајната мешавина која содржи еднакви делови лист од маточина и нане, цвет од камилица, хмељ и корен од валеријана делува благопријатно на организмот, го ублажува стресот и делува релаксирачки на целото тело.

https://bilnaapteka.com.mk/matocina-pcelinok-melissa-officinalis-fam-labiatae.nspx

Маточина, пчелинок (Melissa officinalis, fam. Labiatae) was last modified: August 12th, 2023 by Jovan Stosic