2014年3月29日土曜日

Subversion

WLANのドライバを得ようとして、カーネルのソースが存在しないことを思い出させられた。そういえばこのインストール時のDistributionは 6-users でカスタム無し。必要十分なだけ、最小限の手順を整理する方針のはずが、皮肉にもここで仇に。

sysinstallであるいはカーネル再構築に必要な部分だけ補完できないか? ソースだけなら問題ないだろう!?と思ったものの、実際に試してみるとNG。CTMやCVSupというツールの案内があったもののハンドブックによればかなり古いツールで非推奨、Subversionに手を出すことに。

https://www.freebsd.org/doc/ja/books/handbook/svn.html

この記述を鵜呑みにSubversionをportsからインストール...を始めたものの、ドハ重い。無知な自分が浅はかにバージョンとライブラリのチェックぐらいのシンプルなアプリケーション・・・などとと思いきやとんだ見当違い、CPU使用率も相応に。


はい、ここに至ってやっとというか、またしてもというか。私はまるで、詐欺犯罪に加担する稚拙で迂闊でボク悪くないバカ市民のように、たいへん浅はかであることを思い知らされた感が。


教訓 : FreeBSD公式Webサイトのハンドブックは何らかの手順を示しているかもしれない、が、閲覧者に不都合でないとは限らない。


しようがないので、公式ハンドブックでない、見ず知らずのマッタクの他人様を頼りに

svn checkout svn://svn.freebsd.org/base/release/8.4.0

と始めたものの、これまた所要時間がとんでもない。そもそも全てをチェックすることは無用であって、今ここで必要であるのは、

Building kernel module... "/usr/share/mk/bsd.kmod.mk", line 12: "can't find kernel source tree"

build failed. Exiting.

この対策、kernel部分のみ。では、どこにカーネルが? 感謝すべきはこちら様。

http://d.hatena.ne.jp/syohex/20110129/1296301046
http://hankakusai.basekernel.co.jp/cgi-bin/adiary/adiary.cgi/0508

これらを拝読して、ナニをどう行うべきかについて察しがつきました。でより具体的なコマンドについても参考になる実例が、


# svn checkout svn://svn.FreeBSD.org/base/releng/9.1 /usr/src

このように。これを私の条件下に合わせて変更すると、

# svn checkout svn://svn.FreeBSD.org/base/release/8.4.0/bin/ /usr/src/bin
# svn checkout svn://svn.FreeBSD.org/base/release/8.4.0/share/ /usr/src/share/


ところで、カーネル再構築にはたしか? sys以下も必要だったような・・・曖昧模糊でふざけた記憶が。sys以下は巨大膨大で、明らかにゴミなデータはディスクスペースとしても時間としても手間としても、わざわざ咥え込みたくはない。ではどうすれば!? 最小限と思われるところを、目隠しでブルートフォースです。このショボイ発想、いじめられた幼い児童の逆ギレと大差ないですね。



とりあえず
# svn checkout svn://svn.FreeBSD.org/base/release/8.4.0/sys/kern/ /usr/src/sys/kern/

これだけではNG。次に


# svn checkout svn://svn.FreeBSD.org/base/release/8.4.0/sys/boot/ /usr/src/sys/boot/
# svn checkout svn://svn.FreeBSD.org/base/release/8.4.0/sys/dev/ /usr/src/sys/dev/

を実行。ただし、boot以下の別CPUはごっそり削除。結果まだ足りない、toolsともうひとつ何かを加えてようやく、ドライバ生成ツールが完了。


で、いそいそとWLANドライバを組み込もうとして今度は完全フリーズ。ブラックアウトこそしないものの微動だにしない状態に。FreeBSDでもクラッシュはあるんだなぁとしみじみ。

というわけで、私がsys以下の何を加えたか忘れてしまったのも、このクラッシュによって書きかけのメモが失われたことと、突発の事態に直前のことなど吹っ飛んだからです。



やれやれ。



0 件のコメント:

コメントを投稿