LoginSignup
12
11

More than 5 years have passed since last update.

Raspbian(Jessie)でカーネルドライバ開発環境を構築する

Last updated at Posted at 2016-10-10

カーネルビルドをしないでドライバ開発環境を構築する方法です。

事前準備

bcをインストールしておく必要があります。

sudo apt-get install bc

rpi-sourceの取得と実行

linuxのソースコードを取得します。rpi-sourceを使用するとカーネルモジュールのビルド環境の構築が楽です。

git clone git://github.com/notro/rpi-source
cd rpi-source
chmod +x rpi-source
./rpi-source

しばらくまてば完了です。
/home/piにこの様なファイルができました。

linux-2d31cd571e6f2ac61a3eda273d973058e1bb1f58.tar.gz
linux -> /home/pi/linux-2d31cd571e6f2ac61a3eda273d973058e1bb1f58
linux-2d31cd571e6f2ac61a3eda273d973058e1bb1f58

/lib/modulesにもリンクが作成されています。

pi@raspberrypi ~ $ uname -r
4.4.21-v7+
pi@raspberrypi ~ $ ls -l /lib/modules/4.4.21-v7+/
合計 1728
lrwxrwxrwx  1 root root     14 10月 10 12:06 build -> /home/pi/linux
drwxr-xr-x 11 root root   4096  1月  1  1970 kernel
-rw-r--r--  1 root root 449612  9月 22 17:08 modules.alias
-rw-r--r--  1 root root 467274  9月 22 17:08 modules.alias.bin
-rw-r--r--  1 root root   4574  9月 22 17:08 modules.builtin
-rw-r--r--  1 root root   6025  9月 22 17:08 modules.builtin.bin
-rw-r--r--  1 root root 143060  9月 22 17:08 modules.dep
-rw-r--r--  1 root root 209277  9月 22 17:08 modules.dep.bin
-rw-r--r--  1 root root    302  9月 22 17:08 modules.devname
-rw-r--r--  1 root root  58463  9月 22 17:08 modules.order
-rw-r--r--  1 root root     55  9月 22 17:08 modules.softdep
-rw-r--r--  1 root root 177294  9月 22 17:08 modules.symbols
-rw-r--r--  1 root root 220585  9月 22 17:08 modules.symbols.bin
lrwxrwxrwx  1 root root     14 10月 10 12:06 source -> /home/pi/linux

作成したカーネルモジュールをinsmodしても、エラーは起きませんでした。

おまけ

自分はカーネルモジュールからSPIやI2Cを使って無線のドライバ開発をしています。

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11