絶対忘れるのでメモ
ubuntuで特定のカーネルモジュールだけ、リコンパイルしてインストールする方法。
kvmとかちょっとだけpatchを当てて使いたい時が、たまにある。(普通そうそう無いけど)
makeとかgccとかはどっかで入ってるものとする。
- linux-sourceを入れる
1 |
$ sudo apt-get install linux-source |
/usr/src以下に入る
- /usr/srcに行って展開して、展開したところに移動
1 2 3 4 5 |
$ cd /usr/src/ $ sudo tar jxvf linux-source-3.11.0.tar.bz2 $ cd linux-source-3.11.0 |
- 以下儀式みたいなもん
今のモジュールをアンロード
今のバージョンの.confを持ってきて
make oldconfig と modules_prepareして
今のModule.symversってファイルを持ってくる
1 2 3 4 5 6 |
$ sudo modprobe -r kvm_intel $ sudo cp /boot/config-`uname -r` .config $ sudo make oldconfig $ sudo make modules_prepare $ sudo cp /lib/modules/`uname -r`/build/Module.symvers |
- あとはコンパイルしたいモジュールのところに行ってmake(以下はkvmの場合)
1 2 |
$ cd arch/x86/kvm $ sudo make -C /usr/src/linux-source-3.11.0 M=`pwd` |
kvm*.koが出来てれば成功
- 自分の場合はcpで上書き(必要ならバックアップを)
1 |
$ sudo cp kvm*ko /lib/modules/`uname -r`/kernel/arch/x86/kvm/ |
- modprobe
1 |
$ sudo modprobe kvm_intel |