Info: Version 1.4 is available.
Last modified: $Date: 2013-03-04 22:48:51 +0900 (Mon, 04 Mar 2013) $
TOMOYO Linux では、いくつかのコンパイル済みのカーネルをパッケージにして提供していますが、アーキテクチャが異なる場合やカスタマイズしたい場合には、カーネルをコンパイルする必要があります。カーネルをコンパイルするためには、以下のパッケージが必要です。
TOMOYO Linux は、必要な機能だけを組み込めるようになっています。 menuconfig の中から、「File systems」を選択して、一番下までスクロールすると以下の項目が表示されます。
以下の機能説明を参照しながら、利用したい機能を選択してください。
ファイルに対する読み書き実行を制限する機能プログラムがアクセスできるファイルやディレクトリ等のパス名を「操作対象」単位で制御することができます。 権限の粒度は以下のようになっています。
この機能を利用するには、以下の項目を選択してください。
なお、この機能は TOMOYO Linux のドメイン遷移を制限するために必須の機能です。この機能を利用しない場合にはドメイン遷移を制限できないので「TOMOYO (Domain-Based Mandatory Access Control) support」が正しく機能しません。 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ケイパビリティの利用を制限する機能プログラムが行うことができる操作内容を「操作種別」単位で制御することができます。 標準の Linux で使用されているケイパビリティは POSIX ケイパビリティと呼ばれるものです。最大で32種類の権限までしか定義できないという制約があるため、特定の権限(特に CAP_SYS_ADMIN 権限)が様々な用途に利用されてしまい、詳細な権限分割を行えないという問題点を抱えています。そのため、 TOMOYO Linux では、 POSIX ケイパビリティには手を加えずに、 TOMOYO Linux 独自の基準で定義したケイパビリティを使用しています。 ケイパビリティの粒度は以下のようになっています。
この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCP/IP ネットワークの利用を制限する機能プログラムが使用できるアドレスとポートを制限することができます。 例えば、 DNS サーバの IP アドレスとポート 53 への UDP 通信だけを許可したい場合や、 SSH サーバが接続を受け付けるクライアントの IP アドレスの範囲を制限したいときに使用します。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCP/IP ネットワークのポートの利用を制限する機能プログラムが使用できるポートを制限することができます。 例えば、 WWW サーバに対して TCP の 80 番ポートと TCP の 443 番ポートでの待機だけを許可したいときや、 WWW クライアントに対して TCP の 80 番ポートと TCP の 443 番ポートへの接続だけを許可したいときに使用します。 この機能を利用するには、以下の項目を選択してください。この機能の全部は Network Address Port Control support に含まれているので、 Network Address Port Control support を使用する場合には不要です。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シグナルの種類と送信先の組み合わせを制限する機能プログラムが使用できるシグナルの種類と送信先を制限することができます。 この機能は、攻撃者が任意のプロセスに対してシグナルを送ることで任意のサービスを強制終了させてしまうのを防ぎたいときに使用します。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
シグナルの種類と送信先の組み合わせを制限する機能プログラムが使用できるシグナルの種類と送信先を制限することができます。 この機能は、攻撃者が任意のプロセスに対してシグナルを送ることで任意のサービスを強制終了させてしまうのを防ぎたいときに使用します。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
プログラム実行時に渡される名前を制限する機能プログラム実行時に渡される名前を制限することができます。 プログラムを実行するときには、プログラム名とそのプログラムへの引数が argv[] という文字列型配列で渡されます。最初の要素である argv[0] にはプログラム名が入っています。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
マウント可能な「デバイスファイルとマウントポイントとファイルシステム」の組み合わせの制限および「特定のマウントオプション」を強制的に適用する機能Linux では、システム管理者権限があれば任意のディレクトリに任意のファイルシステムをマウントすることが可能です。つまり、システム管理者権限で動作しているプロセスの制御を奪われた場合、 /bin/ ディレクトリの上に tmpfs を被せて悪意あるプログラムに置き換えられたり、 /var/www/ ディレクトリの上に tmpfs を被せて WWW コンテンツを隠蔽されたりすることがあるわけです。 ケイパビリティを使えばマウント操作を行えるドメインを制限することができますが、権限が与えられさえすれば任意のマウント操作ができてしまい、望ましくありません。 この機能を利用すると、マウントを許可する組合せを制限することができます。 また、この機能には、特定のマウントオプションの適用を強制する機能も含まれています。 例えば、「 /tmp/ パーティションではデバイスファイルにアクセスさせないために nodev オプションを強制したい」という場合に利用すると、利用者が dev オプションを指定しても nodev オプションが適用された状態でマウントされます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
特定のマウントポイントのアンマウントを禁止する機能Linux では、システム管理者権限があれば任意のマウントポイントをアンマウントすることが可能です。つまり、システム管理者権限で動作しているプロセスの制御を奪われた場合、 /proc/ ディレクトリにマウントされている proc ファイルシステムをアンマウントすることでアプリケーションの動作を狂わせたりすることがあるわけです。 ケイパビリティを使えばアンマウント操作を行えるドメインを制限することができますが、権限が与えられさえすれば任意のアンマウント操作ができてしまい、望ましくありません。 この機能を利用すると、特定のマウントポイントがアンマウントされることを禁止することができます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
マウント済みのマウントポイントを隠蔽するようなマウント要求を拒否する機能Linux では、システム管理者権限があれば既にマウントされているマウントポイントの上に他のパーティションを重ねてマウントすることが可能です。つまり、システム管理者権限で動作しているプロセスの制御を奪われた場合、既にマウントされている /var/ パーティションの上に tmpfs をマウントすることでアプリケーションの動作を狂わせたりすることがあるわけです。 ケイパビリティを使えばマウント操作を行えるドメインを制限することができますが、権限が与えられさえすれば任意のマウント操作ができてしまい、望ましくありません。 この機能を利用すると、マウント済みのマウントポイントを隠蔽するようなマウント要求を拒否することができます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
chroot で移動可能なディレクトリを制限する機能Linux では、システム管理者権限があれば任意のディレクトリに chroot で移動することが可能です。つまり、システム管理者権限で動作しているプロセスの制御を奪われた場合、意味のないディレクトリへ chroot で移動することでアプリケーションの動作を妨害されてしまうことがあるわけです。 ケイパビリティを使えば chroot を行えるドメインを制限することができますが、権限が与えられさえすれば任意のディレクトリへ chroot ができてしまい、望ましくありません。 この機能を利用すると、 chroot で移動することを許可するディレクトリを制限することができます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
pivot_root の利用を禁止する機能chroot は / ディレクトリを移動するのに対し、 pivot_root は / ディレクトリを交換します。システムの起動時に1度だけ使われる場合が多いですが、システムの起動後は通常は使われない機能です。 この機能を利用すると、システムの起動後に pivot_root を使用することを禁止することができます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TCP/IP ネットワークで自動的に割り当てられるローカルポートを制限する機能Linux では、ポート番号として 0 を指定して bind() を呼び出した場合や、 bind() を呼び出さずに connect() を呼び出した場合などに、 /proc/sys/net/ipv4/ip_local_port_range というファイルで指定されている範囲の中から未使用のローカルポート番号が自動的に割り当てられます。しかし、このファイルで指定可能な値は最小値と最大値のみであり、特定のポート番号を除外する機能はありません。 例えば、ポート 8080 をプロキシサーバ用に予約しておきたい場合でも、このファイルに 1024 65535 という値が書き込まれているとポート 8080 が自動割り当てによって他のアプリケーションに割り当てられてしまい、プロキシサーバを起動しようとしたらポートが既に使用中であるために起動できないという場合が生じてしまいます。また、クライアントがサーバのポート 8080 に接続してみたら、プロキシサーバ以外のアプリケーションに繋がってしまったという場合も生じてしまいます。 この機能を利用すると、特定のポート番号を自動割り当ての対象から除外(つまり /proc/sys/net/ipv4/ip_local_port_range に複数の範囲を指定できるようにするのと同じ機能を提供)することができます。 この機能を利用するには、以下の項目を選択してください。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
デバイスファイルの改ざんを防止できる /dev ディレクトリ用のファイルシステム/dev ディレクトリには多数のデバイスファイルが存在しています。そして、デバイスファイルが常に正しいデバイスと繋がっていることは、セキュリティ上、不可欠です。 例えば、 /dev/null がメジャー番号 1 マイナー番号 3 のキャラクタ型デバイスとしてではなく、メジャー番号 8 マイナー番号 0 のブロック型デバイス( /dev/sda )として存在していた場合、たちまち SCSI ハードディスクの内容が破壊されてしまいます。また、 /dev/null が通常ファイルとして存在していた場合、情報漏えいに繋がる可能性があります。 そこで、デバイスファイルの名前とその属性との対応を強制することができる SYAORAN ファイルシステムを /dev ディレクトリにマウントすることにより、例えば、 /dev/null は常にメジャー番号 1 マイナー番号 3 のキャラクタ型デバイスであることを保証することができます。 この機能を利用するには、以下の項目を選択してください。
udev を使用するディストリビューションの場合、 udev が自動的に /dev ディレクトリに tmpfs をマウントしてしまうため、 SYAORAN ファイルシステムが隠蔽されてしまいます。これを防ぐために、 udev を使用するディストリビューションで使用する場合は、以下の項目も選択してください。
|
カーネル 2.6 には、 CONFIG_DEBUG_INFO という名前のコンパイルオプションが存在します。このオプションが有効である場合、コンパイルされたコードのサイズが約10倍の大きさになります。このオプションを有効にすると、 /usr/src/ ディレクトリで約1GB、 /lib/modules/ ディレクトリで約300MBの余分なディスク領域を消費します。
ディスク領域を節約したい場合、以下のオプションを無効にしてください。
Kernel hacking --->[ ] Compile the kernel with debug info |
以下の一覧から、該当するバージョンを選択してください。
# カーネルのソースをダウンロードしてインストールする。 wget http://ftp.riken.go.jp/Linux/fedoralegacy/redhat/9/updates/i386/kernel-source-2.4.20-46.9.legacy.i386.rpm rpm -ivh kernel-source-2.4.20-46.9.legacy.i386.rpm # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.4.20-46.9.legacy/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.4.20-46.9.legacy.txt # カーネルコンフィグ以外の一時ファイルを削除する。 mv .config config make -s distclean mv config .config # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s dep modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://ftp.riken.go.jp/Linux/fedoralegacy/fedora/3/updates/SRPMS/kernel-2.6.12-2.3.legacy_FC3.src.rpm rpm -ivh kernel-2.6.12-2.3.legacy_FC3.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.12/linux-2.6.12/ /usr/src/linux-2.6.12-2.3.legacy_FC3 # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.12-2.3.legacy_FC3/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -2.3.legacy_FC3/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.12-2.3.legacy_FC3.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://download.fedora.redhat.com/pub/fedora/linux/core/updates/4/SRPMS/kernel-2.6.17-1.2142_FC4.src.rpm rpm -ivh kernel-2.6.17-1.2142_FC4.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.17/linux-2.6.17/ /usr/src/linux-2.6.17-1.2142_FC4 # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.17-1.2142_FC4/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -1.2142_FC4/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.17-1.2142_FC4.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://download.fedora.redhat.com/pub/fedora/linux/core/updates/5/SRPMS/kernel-2.6.20-1.2300.fc5.src.rpm rpm -ivh kernel-2.6.20-1.2300.fc5.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.20/linux-2.6.20.i586/ /usr/src/linux-2.6.20-1.2300.fc5 # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.20-1.2300.fc5/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -1.2300.fc5/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.20-1.2300.fc5.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://download.fedora.redhat.com/pub/fedora/linux/core/6/source/SRPMS/kernel-2.6.20-1.2925.fc6.src.rpm rpm -ivh kernel-2.6.20-1.2925.fc6.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.20/linux-2.6.20.i586/ /usr/src/linux-2.6.20-1.2925.fc6 # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.20-1.2925.fc6/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -1.2925.fc6/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.20-1.2925.fc6.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://mirrors.kernel.org/centos/4.4/updates/SRPMS/kernel-2.6.9-42.0.10.EL.src.rpm rpm -ivh kernel-2.6.9-42.0.10.EL.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i586 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.9/linux-2.6.9/ /usr/src/linux-2.6.9-42.0.10.EL # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.9-42.0.10.EL/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -42.0.10.EL/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.9-42.0.10.EL.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://beta.centos.org/centos/5/os/SRPMS/kernel-2.6.18-1.2747.el5.src.rpm rpm -ivh kernel-2.6.18-1.2747.el5.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i686 /usr/src/redhat/SPECS/kernel-2.6.spec mv /usr/src/redhat/BUILD/kernel-2.6.18/linux-2.6.18.i686/ /usr/src/linux-2.6.18-1.2747.el5 # ソースのディレクトリへ移動する。 cd /usr/src/2.6.18-1.2747.el5/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -1.2747.el5/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.18-1.2747.el5.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 apt-get install kernel-source-2.4.27 tar -jxf /usr/src/kernel-source-2.4.27.tar.bz2 # ソースのディレクトリへ移動する。 cd kernel-source-2.4.27/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.4.27-10sarge5.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s dep install modules modules_install # initrd を作成する。 mkinitrd -o /boot/initrd.img-2.4.27-10sarge5-ccs 2.4.27-10sarge5-ccs |
# カーネルのソースをダウンロードしてインストールする。 apt-get install kernel-source-2.6.8 tar -jxf /usr/src/kernel-source-2.6.8.tar.bz2 # ソースのディレクトリへ移動する。 cd kernel-source-2.6.8/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.8-16sarge6.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s install modules modules_install # initrd を作成する。 mkinitrd -o /boot/initrd.img-2.6.8-16sarge6-ccs 2.6.8-16sarge6-ccs |
# カーネルのソースをダウンロードしてインストールする。 wget http://ftp.novell.co.jp/pub/suse/suse/update/10.1/rpm/i586/kernel-source-2.6.16.27-0.9.i586.rpm rpm -ivh kernel-source-2.6.16.27-0.9.i586.rpm # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.16.27-0.9/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.16.27-0.9_SUSE.txt # 出力先のディレクトリへ移動する。 cd /usr/src/linux-2.6.16.27-0.9-obj/i386/default/ # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 wget http://ftp.novell.co.jp/pub/suse/suse/update/10.2/rpm/i586/kernel-source-2.6.18.8-0.1.i586.rpm rpm -ivh kernel-source-2.6.18.8-0.1.i586.rpm # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.18.8-0.1/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.18.8-0.1_SUSE.txt # 出力先のディレクトリへ移動する。 cd /usr/src/linux-2.6.18.8-0.1-obj/i386/default/ # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 apt-get install linux-source-2.6.18 tar -jxf /usr/src/linux-source-2.6.18.tar.bz2 # ソースのディレクトリへ移動する。 cd linux-source-2.6.18/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.18-11etch.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s install modules modules_install # initrd を作成する。 mkinitrd -o /boot/initrd.img-2.6.18-ccs 2.6.18-ccs |
# カーネルのソースをダウンロードしてインストールする。 wget http://ftp.miraclelinux.com/pub/Miracle/ia32/standard/4.0/updates/SRPMS/kernel-2.6.9-42.10AX.src.rpm rpm -ivh kernel-2.6.9-42.10AX.src.rpm # コンパイルの準備をする。 rpmbuild -bp --target i686 /usr/src/asianux/SPECS/kernel-2.6.spec mv /usr/src/asianux/BUILD/kernel-2.6.9/linux-2.6.9/ /usr/src/linux-2.6.9-42.10AX # ソースのディレクトリへ移動する。 cd /usr/src/linux-2.6.9-42.10AX/ # バージョン番号を修正する。 sed -i 's/EXTRAVERSION = -prep/EXTRAVERSION = -42.10AX/' Makefile # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.9-42.10AX.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s modules modules_install install |
# カーネルのソースをダウンロードしてインストールする。 apt-get install linux-source-2.6.17 tar -jxf /usr/src/linux-source-2.6.17.tar.bz2 # ソースのディレクトリへ移動する。 cd linux-source-2.6.17/ # TOMOYO Linux パッチをダウンロードして適用する。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' tar -zxf ccs-patch-1.3.2-20070519.tar.gz patch -sp1 < ccs-patch-2.6.17.14-ubuntu1.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s install modules modules_install # initramfs を作成する。 mkinitramfs -o /boot/initrd.img-2.6.17.14-ubuntu1-ccs 2.6.17.14-ubuntu1-ccs |
2.6.11 以降に対応しています。以下の手順では 2.6.20 を使用するものとします。
# カーネルモジュールをインストールするディレクトリを作成する。 mkdir -p /lib/modules/2.6.20-ccs # ソースディレクトリへ移動する。 cd /usr/src/ # カーネルのソースをダウンロードする。 wget https://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.20.tar.bz2 # 展開する。 tar -jxf linux-2.6.20.tar.bz2 # 展開されたソースのディレクトリへ移動する。 cd linux-2.6.20 # ソースから world writable 属性を取り除く。 find -print0 | xargs -0 chmod go-w -- # TOMOYO Linux カーネルパッチをダウンロードする。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' # 展開する。 tar -zxf ccs-patch-1.3.2-20070519.tar.gz # カーネルパッチを適用する。 patch -sp1 < ccs-patch-2.6.20.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s make -s install modules modules_install |
2.4.30 以降に対応しています。以下の手順では 2.4.34 を使用するものとします。
# カーネルモジュールをインストールするディレクトリを作成する。 mkdir -p /lib/modules/2.4.34-ccs # ソースディレクトリへ移動する。 cd /usr/src/ # カーネルのソースをダウンロードする。 wget https://www.kernel.org/pub/linux/kernel/v2.4/linux-2.4.34.tar.bz2 # 展開する。 tar -jxf linux-2.4.34.tar.bz2 # 展開されたソースのディレクトリへ移動する。 cd linux-2.4.34 # ソースから world writable 属性を取り除く。 find -print0 | xargs -0 chmod go-w -- # TOMOYO Linux カーネルパッチをダウンロードする。 wget -O ccs-patch-1.3.2-20070519.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/23849/ccs-patch-1.3.2-20070519.tar.gz' # 展開する。 tar -zxf ccs-patch-1.3.2-20070519.tar.gz # カーネルパッチを適用する。 patch -sp1 < ccs-patch-2.4.34.txt # TOMOYO Linux 用のオプションを選択する。 make -s menuconfig # 通常通りコンパイルする。 make -s dep make -s make -s modules modules_install install |