私がやったときにもすったもんだはありましたが、 32bit モードで動く x86 版であれば、さほど労せずインストールできると思います (ので、インストール話は省略 m(_ _)m)。
インストール時に気をつけることは、 インストール CD にソースコードが含まれていますが、これをインストールする必要はないということ。 そもそもコンパイルするのは 9-STABLE で現状の最新コードをコンパイルするため、 インストールイメージにあるソースコードには目的のリポジトリの情報も含まれていないためです。
最新のコードを引っ張ってくるため、まず subversion をインストールします。
難しいことはしません。以下のようにパッケージをインストールします。
(すべて root ユーザーで作業しました)
# pkg_add -r subversion次に 9-STBALE の最新のコードを /usr/src 以下にチェックアウトします。
# svn checkout svn://svn.freebsd.org/base/stable/9 /usr/srcここまで来れば、目的は if_re.ko が欲しいだけなので、 buildworld → buildkernel すればいいはずなんですが、 今、動いているのは x86 版の FreeBSD 。
この環境で x64(amd64) のカーネルを作るにはどうするんだ…と調べると、 64bit mode の kernel の作り方 なるドキュメント発見。 これに習って…
# cd /usr/src # rm -rf /usr/obj/* # make cleandir ; make cleandir # make TARGET_ARCH=amd64 buildworld # make KERNCONF=GENERIC TARGET_ARCH=amd64 buildkernelで、何とかコンパイル終了。 ちなみに Atom N280 では buildworld に半日以上かかりましたけど。。。 orz
さてと…オブジェクトファイルしかないが、 これどうやって実行ファイルにするんだ? (_ _;>
当然、x86 の環境でコンパイルした x64 のカーネルを installkernel とかやったら OS 飛ぶよね。。。 それぐらいはさすがにわかります (^^;>
すみません。結論を先に行うと、この方法で作成したモジュールもカーネルも動きませんでした。 その顛末も含めて、もうちょっと続きます。おつきあいください m(_ _)m