書くことないです。

ayamadoriが独り言を呟く日記。

Ubuntu serverを11.04→11.10にupgradeしてみた。【追記あり】

【追記(2012/1/7)】
リンク先にあるように、下記[解決策(その1)]には不具合があるようです。幸い自分の環境では出てなかったですが。
メンテナさんのところでこの問題に対応した最新版が公開されているので、今後はそちらを使うことを強くお奨めします。

まあこうして記事に書くということはトラブったということなのだけれど。

問題

地デジチューナのドライバがコンパイルエラーを起こしてmakeできなかった。エラー表示は以下。

/home/hoge/pt1/driver/pt1_pci.c:24:28: error: linux/smp_lock.h: そのようなファイルやディレクトリはありません

原因

どうやらkernel 2.6.39からsmp_lock.hが無くなったのが原因らしい。
(ちなみにうちのUbuntu 11.10は現在kernel 3.0.0)

解決策(その1)

http://baalzephon.dyndns.org/tech/index.php?Linux%2F%E3%83%86%E3%83%AC%E3%83%93%E9%96%A2%E9%80%A3%2FPT2

の"2.6.39対応"にあるように、lock_kernel/unlock_kernelをspin_lock/spin_unlockに置き換えれば良い。これでmakeも通るし、ちゃんと動作してる。
ちなみに該当部コメントアウトではmakeできなかった。

解決策(その2)

http://yusukezzz.net/blog/archives/2063

にあるように、(kernel.orgから)2.6.38 のソースを取ってきて include/linux/smp_lock.h を 2.6.39 ソースの同じディレクトリに置けば良い、らしい。カーネルのビルドとかやったことないし、やり方も良く分からんから試してない。
それに、カーネル側を修正するより新しいカーネルにドライバを合わせるほうがアプローチとして正しい気がする。


OS自体のupgradeは問題なかったんだけど、ここでつまづいたのは初めてだ。いままではSamba周りのトラブルが多かった。
ついでに言えばそのSambaもupgrade以来速度が遅くなった気がするのだけれど、実際に測ってはいないしとりあえず動いてるので様子見。

結論

よく分かりもしないのに出てすぐ手を出すのはやめようね!