のらりくらり

物理化学分野のポスドクです。プログラミング、読書、自転車などが好きです。

bochsをビルドしてみた

仮想マシンbochsをビルドしてみた。
環境はMac OS X SnowLeopard(10.6.6)。
confの設定が初めよくわかんなかったからその件のメモφ(..)
ソース落としてきてから、コンパイル先のディレクトリへ移動。

   > cd bochs-2.4.5
   > sh .conf.macosx
   > make
   > make install

でいいんだけど、うまくいかない。
大学でもらった資料ではよくわかんなかったから、調べてみると
http://stackoverflow.com/questions/1677324/compiling-bochs-on-mac-os-x-snow-leopard
でそれっぽいものを発見。
bochsってデバッガはオプションなんだな。ついでに逆アセンブラも使うために、それも含めて.conf.macosxをφ(`д´)カキカキ

ちょこっとだけど書き加えたconfファイルを以下に。

".conf.macosx"

#!/bin/sh

# this sets up the compile for MacOS X
#
# To support plugins on macosx, you must have "dlcompat" installed.  You can
# get dlcompat by installing the fink package "dlcompat-devel".  On the SF
# compile farm, dlcompat is in /sw/include and /sw/lib, so we have added
# those paths to the environment variables.

set echo
CFLAGS="-arch i386 -m32 -pipe -O3 -I/sw/include -fomit-frame-pointer -finline-functions -falign-loops=16 -falign-jumps=16 -falign-functions=16 -falign-labels=16 -falign-loops-max-skip=15 -falign-jumps-max-skip=15 -fprefetch-loop-arrays $CFLAGS"
CPATH="/sw/include"
CPPFLAGS=""
CXXFLAGS="$CFLAGS"
LDFLAGS="-arch i386 -m32 -L/sw/lib"
CXX="g++ -arch i386 -m32"

#CFLAGS, LDFLAGSに"-arch i386 -m32"を書き加えた。
#それとCXXについて書いて、下にもexport CXXを追加。

export CFLAGS
export CPATH
export CPPFLAGS
export CXXFLAGS
export LDFLAGS
export CXX

#デバッガオプションとかは、configureのオプション指定なので、それもここで設定。
#したの--enable-debuggerと--enable-disasmがそれ。

./configure --enable-sb16 \
	    --enable-ne2000 \
	    --enable-all-optimizations \
            --enable-cpu-level=6 \
            --enable-x86-64 \
            --enable-pci \
            --enable-acpi \
	    --enable-debugger \
	    --enable-disasm \
            --enable-clgd54xx \
            --enable-usb \
	    --enable-plugins \
	    ${CONFIGURE_ARGS}


なんとかビルド通った。
あとはコマンド検索パスを追加して終わり。
今回は/usr/local/に置いたから、
/usr/local/bochs/bochs.app/Contents/MacOS
を追加。これで起動できるようになった。
あとは、.bochsrcの設定か。。。

終わり。