FreeBSD on GA-E7AUM-DS2H with Over 2GB of RAM

Written by たちゃな@巫研 < tatyana at miko dot org >

=更新履歴=
公開。(Dec 1, 2009)

Abstract

Gigabyte 製 MPC7A マザーボード GA-E7AUM-DS2H では、

していると、FreeBSD が正常動作しない。

といった方法で回避することもできるが、ここではソフトウェア的な解決を試みる。

What is wrong?

根本的原因は、BIOS が返す SMAP 情報に問題があり、フリーエリアにフレームバッファが重なる箇所が存在するため。

よって、ブートローダにパッチを当て、重なり合いを解消した SMAP 情報を OS に渡すようにすれば問題を解決できる。

How to patch and rebuild a boot loader

パッチ導入の手順としては、まずメモリを 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

Thanks

adidasprince's Chameleon patch に触発され、このパッチを作成した。


return