FreeBSD i386 の PAE カーネルのインストールと起動2014年07月14日 08時25分10秒

sys/i386/conf/PAE と言うファイルが既に準備されている。PAE は広くは使われていないので、順に試していくのが安全だろう。最終的に試したのは、FreeBSD 8.4 RELEASE と FreeBSD 10.0 RELEASE。

PAE は GENERIC の設定を元に作られている。巷で聞くように makeoptions NO_MODULES=yes でカーネルモジュールが作られないように設定されている。


$ make buildkernel KERNCONF=PAE

で設定を変えてカーネルを作る。カーネルモジュールを作らないので驚くほど早く終了した。早過ぎて、失敗して止まっていたと錯誤したほどだ。

$ make installkernel KERNCONF=PAE KODIR=/boot/PAE

として、KODIR を用いて /boot/kernel とは別の場所にインストールして、失敗からの退避方法を控えておく。ここらへんの作業は、buildkernel.sh と pae.sh を作って簡単にして作業している。

インストールが終わったので今度は /boot/PAE/kernel からの起動。PAE カーネルは /boot/kernel にインストールしなかったので、起動時に切替える必要がある。kernel.old からの起動と同じ。第三ローダの時に、


OK unload
OK load /boot/PAE/kernel
OK boot

を行う。

カーネルモジュールが無効になっているため、nullfs を始めとする、幾つかのファイルシステムがマウントできず、fstab でコメントアウトして無効化して当座を凌ぐ。他にも、無線も無効になっていてネットワークにも繋がらない。

何はともあれ、標準の PAE は問題なく起動した。これから色々と弄って調整する必要がある。

前回次回