English Page

# TOMOYO Linuxカーネルの作成手順

Last modified: $Date: 2011-11-20 09:56:56 +0900 (Sun, 20 Nov 2011) $

カーネルをコンパイルするためには、以下のパッケージが必要です。

- gcc
- make
- ncurses

make menuconfig を実行し、「File systems」画面の一番下に表示される以下の項目を選択してください。

- [*] SAKURA (Domain-Free Mandatory Access Control) support
- [*] TOMOYO (Domain-Based Mandatory Access Control) support
- <m> SYAORAN (Tamper-Proof Device Filesystem) support

カーネル 2.6 には、 CONFIG_DEBUG_INFO という名前のコンパイルオプションが存在します。このオプションが有効である場合、コンパイルされたコードのサイズが約１０倍の大きさになります。このオプションを有効にすると、 /usr/src/ ディレクトリで約１ＧＢ、 /lib/modules/ ディレクトリで約３００ＭＢの余分なディスク領域を消費します。
ディスク領域を節約したい場合、以下のオプションを無効にしてください。

Kernel hacking --->[ ] Compile the kernel with debug info

以下の一覧から、該当するバージョンを選択してください。

- RedHat Linux 9
- Fedora Core 3
- Fedora Core 4
- Fedora Core 5
- Fedora Core 6
- Fedora 7
- Fedora 8
- Fedora 9
- Fedora 10
- CentOS 4.7
- CentOS 5.2
- Debian Sarge (2.4.27)
- Debian Sarge (2.6.8)
- Debian Etch
- Debian Lenny
- OpenSUSE 10.1
- OpenSUSE 10.2
- OpenSUSE 10.3
- OpenSUSE 11.0
- Asianux 2.0
- Asianux 3.0
- Ubuntu 6.06
- Ubuntu 6.10
- Ubuntu 7.04
- Ubuntu 7.10
- Ubuntu 8.04
- Ubuntu 8.10
- VineLinux 4.2
- バニラ 2.6 カーネル
- バニラ 2.4 カーネル

## RedHat Linux 9

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-rhl9-2.4.20.sh # パッケージを作成する。 rpmbuild -bb --target i386 /tmp/ccs-kernel.spec

## Fedora Core 3

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-fc3-2.6.12.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora Core 4

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-fc4-2.6.17.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora Core 5

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-fc5-2.6.20.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora Core 6

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-fc6-2.6.22.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora 7

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-f7-2.6.23.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora 8

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-f8-2.6.26.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora 9

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-f9-2.6.27.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Fedora 10

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-f10-2.6.27.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## CentOS 4.7

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-c4-2.6.9.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## CentOS 5.2

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-c5-2.6.18.sh # パッケージを作成する。 rpmbuild -bb --target i686 --without kabichk /tmp/ccs-kernel.spec

## Debian Sarge (2.4.27)

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-debian_sarge-2.4.27.sh

## Debian Sarge (2.6.8)

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-debian_sarge-2.6.8.sh

## Debian Etch

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-debian_etch.sh

## Debian Lenny

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-debian_lenny.sh

## OpenSUSE 10.1

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-suse10.1-2.6.16.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## OpenSUSE 10.2

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-suse10.2-2.6.18.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## OpenSUSE 10.3

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-suse10.3-2.6.22.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## OpenSUSE 11.0

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-suse11.0-2.6.25.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## Asianux 2.0

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ax2-2.6.9.sh # パッケージを作成する。 rpmbuild -bb --target i686 /tmp/ccs-kernel.spec

## Asianux 3.0

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ax3-2.6.18.sh # パッケージを作成する。 rpmbuild -bb --target i686 --without kabichk /tmp/ccs-kernel.spec

## Ubuntu 6.06

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_6.06.sh

## Ubuntu 6.10

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_6.10.sh

## Ubuntu 7.04

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_7.04.sh

## Ubuntu 7.10

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_7.10.sh

## Ubuntu 8.04

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_8.04.sh

## Ubuntu 8.10

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-ubuntu_8.10.sh

## VineLinux 4.2

# TOMOYO Linux パッチをダウンロードして展開する。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' tar -zxf ccs-patch-1.5.5-20090401.tar.gz # ビルドスクリプトを実行する。 sh specs/build-vl4.2-2.6.16.sh # パッケージを作成する。 rpmbuild -bb --target i586 /tmp/ccs-kernel.spec

## バニラ 2.6 カーネル

2.6.11 ～ 2.6.28.x に対応しています。以下の手順では 2.6.28.9 を使用するものとします。

# ソースディレクトリへ移動する。 cd /usr/src/ # カーネルのソースをダウンロードする。 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.28.9.tar.bz2 # 展開する。 tar -jxf linux-2.6.28.9.tar.bz2 # 展開されたソースのディレクトリへ移動する。 cd linux-2.6.28.9 # ソースから world writable 属性を取り除く。 find -print0 | xargs -0 chmod go-w -- # TOMOYO Linux カーネルパッチをダウンロードする。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' # 展開する。 tar -zxf ccs-patch-1.5.5-20090401.tar.gz # カーネルパッチを適用する。 patch -sp1 < patches/ccs-patch-2.6.28.diff # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install

## バニラ 2.4 カーネル

2.4.30 ～ 2.4.37 に対応しています。以下の手順では 2.4.37 を使用するものとします。

# ソースディレクトリへ移動する。 cd /usr/src/ # カーネルのソースをダウンロードする。 wget http://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.37.tar.bz2 # 展開する。 tar -jxf linux-2.4.37.tar.bz2 # 展開されたソースのディレクトリへ移動する。 cd linux-2.4.37 # ソースから world writable 属性を取り除く。 find -print0 | xargs -0 chmod go-w -- # TOMOYO Linux カーネルパッチをダウンロードする。 wget -O ccs-patch-1.5.5-20090401.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/27219/ccs-patch-1.5.5-20090401.tar.gz' # 展開する。 tar -zxf ccs-patch-1.5.5-20090401.tar.gz # カーネルパッチを適用する。 patch -sp1 < patches/ccs-patch-2.4.37.diff # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s dep make -s make -s modules modules_install install