LoginSignup
4
4

More than 5 years have passed since last update.

仮想環境を構築して、カーネル再構築を体験してみよう。

Posted at

仮想環境の準備

Vagrant上にLinuxを用意する

% vagrant box add debian-8-jessie https://github.com/holms/vagrant-jessie-box/releases/download/Jessie-v0.1/Debian-jessie-amd64-netboot.box
% vagrant box list
% vagrant init debian-8-jessie

% vagrant up
% vagrant ssh

必要ファイルの準備

カーネルパッケージのインストール

% sudo apt-get install kernel-package

カーネルリリースバージョンを確認する

vagrant@jessie:/etc/modules-load.d$ uname -rn
jessie 3.16.0-4-amd64

バージョンに合ったカーネルソースをインストールする

% sudo apt-get install linux-source-3.16

インストール先を確認する。/usr/src以下にインストールされていると思います。

# dpkg -L linux-source-3.16

おとしたままだとtarで固められているので解凍する

vagrant@jessie:/usr/src$ sudo tar xf linux-source-3.16.tar.xz

カーネルコンフィグのための設定ファイルをもってくる。
現在の設定を引っ張ってきます。

vagrant@jessie:/usr/src/linux-source-3.16$ sudo cp /boot/config-3.16.0-4-amd64 .config

menuconfigのためにncursesが必要なのでいれます。

vagrant@jessie:/usr/src/linux-source-3.16$ sudo apt-get install libncurses5-dev

カーネル設定ファイルを眺めてみる

スペースを押すたびに、*でカーネルに組み込み、Mでローダブルモジュールとして扱えるようにする

# make menuconfig

カーネルを再構築します

カーネルを区別するためにMakefile の EXTRAVERSION を変更してみる
例えば EXTRAVERSION = -hogehoge-686

$ vi Makefile
  (開いてEXTRAVERSIONを書き換えます)
$ make

カーネルとカーネルモジュールもインストールします

# make modules_install
# make install

ブートローダの設定

GRUBの設定でdefaultで立ち上がってくるカーネルのインデックスを変更します

# vim /boot/grub/menu.lst

確認

新しいカーネルで立ち上がっていることを確認します。

# uname -r
3.2.72-hogehoge-686
4
4
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
4
4