Linuxカーネル再構築

ほとんどの場合、カーネル再構築なんて不要なのですが、機能が現状で使えなかったり、最新機能を使いたい場合は
そのディストリビューションの域を出て自分の責任でカーネルを再構築して使えるようにする事ができる。

CentOS5.xの場合linuxカーネル再構築/CentOS5
古い記事linuxカーネル再構築160305

CentOS6.xのカーネルを最新にupgradeする

とある課題でカーネルのupgradeが必要な案件があった。
160305時点でCentOS6の最新は6.7、カーネルは 2.6.32-573.18.1 であった。これを 4.4.4 にupgradeしてみる。

まずはkernel-upgradeに必要な環境の構築。開発環境のインストールである

[root@c104 ~]# yum -y groupinstall "Development tools"
[root@c104 ~]# yum -y install ncurses-devel bc wget openssl-devel

そして、カーネルをダウンロードして、展開する

[root@c104 ~]# cd /usr/src/
[root@c104 src]# wget ftp://ftp.riken.jp/Linux/kernel.org/linux/kernel/v4.x/linux-4.4.4.tar.xz
[root@c104 src]# xz -cd linux-4.4.4.tar.xz | tar xf - && cd linux-4.4.4
 
[root@c104 linux-4.4.4]#

.configは、CentOS6.xで配布されているのを流用して、make oldconfigを実行
問われる設問には全てリターンキーで返します。

[root@c104 linux-4.4.4]# cp ../kernels/2.6.32-573.18.1.el6.x86_64/.config .
[root@c104 linux-4.4.4]# make oldconfig
 
(質問は全てリターンキーで応答)
 
[root@c104 linux-4.4.4]#

コンパイルしても使わない不要なモジュールが沢山あるが、このままカーネルを作ります。
その前に、作るカーネルに印を入れたいのでMakefileに修正を加えてコンパイル・インストールを行います

[root@c104 linux-4.4.4]# vi Makefile
(略)
- EXTRAVERSION =
+ EXTRAVERSION = -chaperone
(略)
[root@c104 linux-4.4.4]#
[root@c104 linux-4.4.4]# time(make&& make modules&& make modules_install&& make install)  *紅茶とケーキで待ちましょう

コンパイル終了後に、次の起動時にこのカーネルを使用させるように /boot/grub/grub.conf を修正する。

[root@c104 linux-4.4.4]# vi /boot/grub/grub.conf
- default=1
+ default=0
[root@c104 linux-4.4.4]# reboot

再起動後、採用されているカーネルを確認する

[root@c104 ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[root@c104 ~]# uname -r
4.4.4-chaperone
[root@c104 ~]#

トップ   編集 添付 複製 名前変更     ヘルプ   最終更新のRSS
Last-modified: 2016-03-05 (土) 22:45:35 (2652d)