ikautak.log

C/C++, Python, CUDA, Android, Linux kernel, Network, etc.

gnumachのビルド

マイクロカーネルを触ってみたくてGNU Hurd調べてたら、GNU MachというIPCメカニズムの上で動いているようだ。
で、まずはGNU machのビルドから入ってみた。

手順は全て↓に書いてある。
http://www.gnu.org/software/hurd/microkernel/mach/gnumach/building.html
ubuntu 12.04 64bitだといろいろ文句言われたが、環境を汚したくなかったのでubuntu 12.04 32bitのPCでやった。

Machソースコードのダウンロード

git clone http://git.savannah.gnu.org/cgit/hurd/gnumach.git/

必要なパッケージのインストール

flexとかbisonとかは公式ページに必要だと書いていなくても、ビルド時に使用されエラーになるので入れる。

sudo apt-get install build-essential autoconf texinfo flex fakeroot bison

configure

cd gnumach
autoreconf --install

mkdir build
cd build
../configure

ヘッダのインストール

まずヘッダだけインストールし、MIGというツールを先にビルドする必要があるらしい。
/usr/local/に入れてしまおうと思ってsudoを付けた。

sudo make install-data

MIGのソースコードのダウンロード

git clone http://git.savannah.gnu.org/cgit/hurd/mig.git

MIGのビルド

cd mig
autoreconf --install

mkdir build
cd build
../configure

make all
sudo make install

Machのビルド

Machのbuildディレクトリに移動してから、

make gnumach.gz

ビルドできる環境ができたから、いろいろ修正してみるか。