カーネル 2.6.34 → 2.6.36 でハマる

ひさびさに Gentoo をメンテしようと、まずカーネルコンパイルなんぞやってみたら大ハマり。

まず make modules_install をかけるとエラーでこける。カーネルで躓いたことは多々あれどコンパイルエラーはあまりないのでいきなり途方にくれる。しかたなく 2.6.36 系のカーネルのバージョンを新旧いろいろ変えてみたけど解決せず。

エラーメッセージは 『〜〜mismatch』 とかで、これ自体はたまに見かけるけど普通に通ってたやつ。今まで平気でなんでダメなんだろうってことで解決法がピンとこないのでググッてみたところ、どうもカーネルコンフィグの設定ファイルがおかしくなりすぎている気配が濃厚。

そういえばずいぶん昔から oldconfig あてまくって使ってきたから壊れてんのかなと、仕方なくまっ更な状態から menuconfig でひたすらカーネルセッティング。どこが必要なやつでどこをいじるべきかとか、そういうのはもう忘れているので、半ばやけくそ気味にひたすら有効にしていく。この作業自体は当たりだったみたいで、その後どうにかコンパイルが通る。その後 grub.conf を書き換えたりして久々にリブートをかける。


そして


てわけで今度はカーネルパニックでハマる。

ちっとも実運用していないながらほぼ名前だけで TOMOYO Linux なんてものを使っているのだけど、その TOMOYO Linux のシーケンスの次で profile がどーのこーのでこけているのが見えている。セッティングでプロファイルなんてそんなところあるかなぁと思いつつ TOMOYO のオフィシャルサイトを見直すと

TOMOYO 2.2 用のポリシーと TOMOYO 2.3 用のポリシーとの間には互換性がありません。既に TOMOYO 2.2 用のポリシーを策定済みであっても、 /etc/tomoyo/ ディレクトリを削除(またはリネーム)してから上記のコマンドを実行する必要があります。さもないと、起動時にカーネルパニックに遭遇します。

http://tomoyo.sourceforge.jp/2.3/phase-1.html.ja


正常に動いていたカーネル 2.6.34 は TOMOYO 2.2 系で、今回入れようとしている 2.6.36 は 2.3 系になるらしいのでなんかとっても怪しい。もう疲れていたのでおもむろに設定ファイルのあるディレクトリをリネームして最新版のツールを入れて初期化してみる。

$ sudo su -
# emerge -av tomoyo-tools
# mv /etc/tomoyo /etc/tomoyo-2.2
# /usr/lib64/tomoyo/init_policy


/etc/tomoyo 配下に設定ファイルが作成されたのを確認して再度リブート、ようやくブートした。


現在は引き続き各種アップデート作業中。カーネルコンパイルしなおしたのでドライバ周りを見直さないといけないし。もうなにしろ全然メンテしていなかったので emerge world で 500 超のパッケージのアップデートがかかるらしい。 Gentoo では大変苦労する GCC やlib なんちゃらのアップデート、さらに xorg-1.9 や GNOME-2.32 なんていう大物もあるので先がとっても思いやられるのである。(苦笑)