xv6
http://pdos.csail.mit.edu/6.828/2014/xv6.html
OS Xではcross-compilerが必要なので以下の手順でtoolchainを用意してからbuildします。
#i386-jos-elf toolchainを準備する
以下のサイトで説明してくれているので、参考に、というかほとんどそのままです。ありがとうございます!
http://d.hatena.ne.jp/gionXY/20130909/1378660645
http://daoyuan.li/i386-jos-elf-toolchain-on-os-x-lion/
http://blogs.yahoo.co.jp/i_love_raspberry_pi/39244842.html
また、以下も参考になります。
http://www.ifp.illinois.edu/~nakazato/tips/xgcc.html
以下、$PREFIX
は任意のインストールディレクトリ名
##binutils
$ wget http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz
$ tar xvf binutils-2.25.tar.gz
$ mkdir build-binutil
$ cd build-binutil
$ ../binutils-2.25/configure --disable-nls --target=i386-jos-elf --disable-werror --prefix=$PREFIX
$ make all
$ make install
##gcc
$ wget http://public.p-knowledge.co.jp/gnu-mirror/gnu/gcc/gcc-4.9.2/gcc-4.9.2.tar.gz
$ tar xvf gcc-4.9.2.tar.gz
$ mkdir build-gcc
$ cd build-gcc
$ ../gcc-4.9.2/configure --disable-nls --target=i386-jos-elf --disable-werror --enable-languages=c --without-headers --prefix=$PREFIX
$ make all-gcc
$ make install-gcc
#xv6をbuild & run
git repositoryからsourceを取得
$ git clone git://pdos.csail.mit.edu/xv6/xv6.git
Makefileをちょっと修正
TOOLPREFIX
とQEMU
のコメントアウトを削除。
上のtoolchainのインストールディレクトリをTOOLPREFIX
に指定する。
-# TOOLPREFIX = i386-jos-elf
+TOOLPREFIX = $PREFIX/i386-jos-elf-
-# QEMU = qemu-system-i386
+QEMU = qemu-system-i386
qemuが入っていない場合はHomebrewなどでインストール。
$ brew install qemu
ビルド、実行
$ cd xv6
$ make
$ make qemu-nox