0 准备工作。
0.0 系统环境:Ubuntu18.04.1 amd64。
0.1 安装必要软件包
sudo apt install build-essential bison flex libssl-dev libelf-dev
1 下载内核源码,构建源码树
sudo apt install linux-source-4.15.0 -y cd /usr/src/linux-source-4.15.0/ sudo tar xf linux-source-4.15.0.tar.bz2 cd linux-source-4.15.0/ sudo make oldconfig sudo make prepare sudo make scripts
2 编译驱动源码
源码需要改动几处:
copy_to_user()改为raw_copy_to_user();
copy_from_user()改为raw_copy_from_user();
init_MUTEX((&scull_device->sem);改为sema_init(&scull_device->sem, 1);
make sudo insmod scull.ko sudo rmmod scull.ko
其余略
原文:https://www.cnblogs.com/areful/p/10513769.html