読者です 読者をやめる 読者になる 読者になる

さくらVPSでKernel再構築

Linux サーバ

最近サーバ関係の記事が多いですね。実はインフラエンジニアのバイトをはじめまして鯖触るようになって色々と勉強してます。

さて、ふと見たら昨日LinuxのKernel3.9.5(stable)がでてたのでさくらVPSにいれてみることにしました。
面倒なのでrootで作業しちゃいます(良くないですね
とりあえずソース・コードの入手。展開。

#wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.9.5.tar.xz
#tar Jxvf linux-3.9.4.tar.xz 

tarで一応一覧表示してますが、べつにいいやって場合はvオプション外してもいいかもしれません。(一応出力しといたほうがなんかあったとき便利かなと思うけどこれに関しては今のところ使ったことないし...)

さて、一から設定するのも面倒なので現在のカーネルの設定を基本的に引き継いでコンパイルします。

#uname -r
2.6.32-358.6.1.el6.x86_64
#cp /boot/config-2.6.32-358.6.1.el6.x86_64  ./config
#make oldconfig

これのunameでは現在のカーネルを表示しています。私の環境では2.6.32-358.6.1.el6.x86_64でした。これをコピーします。
そしてoldconfigオプションを付けてコンパイル。これで現在の設定を引き継いでコンパイルしてくれます。
色々と聞かれるので答えていきましょう。ちなみにわたしは途中でつかれてEnter押しっぱなしにしてましたw(というわけであんまりkernelをビルドする必要性がない感じ...)
READMEをよむと新しく追加された項目だけ質問してくれるsilentoldconfig、新しい項目はデフォルトのにしてあとは設定ファイルに従ってしてくれるolddefconfigなんてオプションがあるのでそっちをつかったほうが良かったのかもしれません。
あとはmakeしてインストールします。このときmake modules_installを実行する前に以前のkernelのbackupをしといたほうがいいよって書かれているので気になる人はしときましょう。

make
make modules_install
make install

という感じでとりあえずおわりました。

次にbootローダでデフォルトで起動するように設定します。下の方に3.9.5のkernelがあるのでそれが何番目かを数えて/boot/grub/menu.lstの中にdefault=数字って部分を変更します。この時0から数えることに注意してください。(わたしの環境では0番でした。普通にすれば一番先頭に追記される気がします)
これであとはrebootします。しばらくまってからsshでつなぎuname -rとすると3.9.5と表示され確かに更新されていることがわかります。
案外すんなりできてしまいましたね。次するときはオプションもしっかり指定できるようになりたい...