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() {
        return 0;

void cleanup_module() {
 $ vim Makefile 
obj-m += reboot.o

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

        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

Leave a Comment