Linux Kernel module to reboot the system using emergency_restart API

The following kernel module calls emergency_restart function from linux kernel to reboot the device / platform. This is the simple kernel driver / module which demonstrates how to reboot the device using kernel API.

 $ vim reboot.c 
#include <linux/module.h>
#include <linux/reboot.h>

int init_module() {
        emergency_restart();
        return 0;
}

void cleanup_module() {
}
MODULE_LICENSE("GPL");
 $ vim Makefile 
obj-m += reboot.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
 $ make 

Note: below command will reboot your system, so make sure you save all your work 🙂

 $ sudo insmod ./reboot.ko
Follow Lynxbee

Leave a Reply / Ask Question