Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
4
Help us understand the problem. What is going on with this article?

More than 3 years have passed since last update.

@takish

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

仮想環境の準備

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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What is going on with this article?