3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS 6.xでカーネル再構築→RPM

Posted at

CentOS 7が出る直前に構築してしまったCentOSの6.xサーバ

色々動かしちゃってていまさらクリーンインストールして環境再構築するのが面倒
一応アップグレードという手段もあるけれど、その最中に小一時間ほど止まる事態ってのは避けたい
ただ、CentOS 6の場合は標準だとdockerがらみで色々とハマるポイントも多く、ログには「カーネル古すぎ、3.8以上使って」という意味の文言が残ってたりするし、カーネルアップデートしてから1回リブートかけるぐらいのダウンタイムぐらいは許容範囲だったので思い切ってカーネルを再構築することに

今回はカーネルを素のままインストールするのではなく、ディストリビューションの流儀に合わせてRPMを作ってインストールする形で

というわけで、rpm作りの環境を整えます

sudo yum install rpm-build
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

以上で最低限のRPMパッケージの構築環境は完成
最近のカーネル(現在のところは3.18)をここから持ってきて、~/rpmbuild/SOURCESに展開

cd ~/rpmbuild/SOURCES
tar xvJf linux-3.18.tar.xz
cd linux-3.18

現在のカーネルの設定をベースにするための.configファイルをもらってくる

cp /boot/config-2.6.x-y.z.el6.x86_64 ./.config
make menuconfig

たいていはデフォルトのままでいいのだけど、Dockerを使う上でハマると思うのがiptablesのモジュール不足
これでやりなおし(´・ω・`)
もう面倒くさかったので、これでもかとばかりにiptables関連を色々盛ってビルド

具体的には
Networking support -> Networking options -> Network packet filtering framework (Netfilter) -> Core Netfilter Configuration
の**"addrtype" address type match support**周辺と

Networking support -> Networking options -> Network packet filtering framework(Netfilter) -> IP: Netfilter Configuration

iptables NAT support周辺をおさえておけば問題はなさそう

あとはmake
最近は便利になったもので

make rpm

とすれば、SPECファイルからrpmを作った時と同様に~/rpmbuild/RPMS/CPUのアーキテクチャ/にrpm形式で

  • kernel
  • kernel-devel
  • kernel-headers

の3つのパッケージを作ってくれるので、それらを

sudo rpm -Uvh ...

でインストールすればおk・・・というところでハマりポイント

エラー: 依存性の欠如:
kernel-drm-nouveau = 16 は (インストール済み)xorg-x11-drv-nouveau-1:1.0.10-1.el6.x86_64 に必要とされています

ぐぐったらNvidiaのVGA関連のドライバ云々ということですが
そんなパッケージあるんかねえ・・・と思ってあまり期待はせずに

sudo yum install kernel-drm-nouveau

と叩いてみたら、kernel-debugがインストールされ、それが終わったら無事に自前ビルドしたrpmからカーネルも入るように

あとはgrubの設定をいじって再起動

結局、費やした時間と調べる労力を考えると、別ディスクで運用してる/homeディレクトリ以外は特にバックアップ要らないので、周りの早くしろという無言のプレッシャーに耐えながらCentOS7をクリーンインストールして再構築したほうが色々幸せだったのでは?という・・・

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?