El Capitan (v10.11) にて Homebrew パッケージ管理システムを使ったクロスコンパイル環境構築を行いました。
xv6(x86 version 6)は、MIT(マサチューセッツ工科大学)のOperating Systems Engineering (6.828)という講義の教材として使うために、UNIX V6をANSI Cに書換え、x86に移植したOS
ほぼ http://attonblog.blogspot.jp/2015/04/32bit-xv6-yosemite.html こちらのサイトの通り実行しました。
1. Install Xcode. After installing Xcode install the Command Line Tools from the Downloads section of Xcode's preferences. I've installed Xcode Version 7.3.1(7D1014).
*** 最新の Xcode 7.3.1 がインストールされてます。
2. Install Homebrew
$ brew doctor <- 何かおまじないが必要(^_^;)
$ brew install homebrew/versions/gcc49
まずは GCC を導入
$ brew tap dongz9/devel
標準の homebrew にはXv6 の開発環境が無いので、追加のリポジトリ定義ファイルを利用させてもらう
https://github.com/dongz9/homebrew-devel に定義ファイルが管理されている。
$ brew install --HEAD i386-elf-qemu
PC エミュレータをインストール
$ brew install i386-elf-binutils i386-elf-gcc i386-elf-gdb
ツールチェーン言われる一連の開発環境を導入
以上で Mac OSX 上に xv6 の開発環境が出来たので、 xv6 のソースコードを入手します。
$ git clone git://github.com/mit-pdos/xv6-public.git
あとは Makefile で
35: TOOLPREFIX = i386-elf-
と修正して
$ make qemu-nox
で qemu 上でxv6 が動きます。
qumu を終了するには Ctrl-A x
あとは、xv6 のサイト (xv6, a simple Unix-like teaching operating system)や 関連の話題ググると日本語情報を含めて沢山の情報が出てきますので、Unix OS の勉強になります。
* xv6 は ラズパイに移植されたり、仮想記憶を付け加える事もされているそうです。