1. 程式人生 > >《Linux設備驅動程序》第三版 scull編譯筆記

《Linux設備驅動程序》第三版 scull編譯筆記

src script bash ldconfig 筆記 8.0 ins dev linux

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

  其余略

《Linux設備驅動程序》第三版 scull編譯筆記