Written by たちゃな@巫研 < tatyana at miko dot org >
=更新履歴=
公開。(Dec 1, 2009)
Gigabyte 製 MPC7A マザーボード GA-E7AUM-DS2H では、
していると、FreeBSD が正常動作しない。
といった方法で回避することもできるが、ここではソフトウェア的な解決を試みる。
根本的原因は、BIOS が返す SMAP 情報に問題があり、フリーエリアにフレームバッファが重なる箇所が存在するため。
よって、ブートローダにパッチを当て、重なり合いを解消した SMAP 情報を OS に渡すようにすれば問題を解決できる。
パッチ導入の手順としては、まずメモリを 2GB に落とすなどした状態で FreeBSD をインストールし、OS のソースにパッチを当てる。
$ mkdir ~/Sources
$ cd ~/Sources
$ wget http://miko.org/~tatyana/tech/FreeBSD/FreeBSD_8.0_GA-E7AUM-DS2H_Over2GB.diff
$ openssl rmd160 FreeBSD_8.0_GA-E7AUM-DS2H_Over2GB.diff
RIPEMD160(FreeBSD_8.0_GA-E7AUM-DS2H_Over2GB.diff)= 4db2af229dbae62bc17b479151c668c8924e4af2
$ cd /usr/src
$ sudo patch -p0 < ~/Sources/FreeBSD_8.0_GA-E7AUM-DS2H_Over2GB.diff
パッチ適用後、ブートローダをビルド&インストールする。
$ cd /usr/src/sys/boot $ sudo make clean $ sudo make obj $ sudo make depend $ sudo make $ cd i386/loader $ sudo make install $ cd ../.. $ sudo make clean
adidasprince's Chameleon patch に触発され、このパッチを作成した。