Info: Version 1.7.x is available.
Last modified: $Date: 2013-01-17 23:04:43 +0900 (Thu, 17 Jan 2013) $
TOMOYO Linux とは、 Linux に強制アクセス制御機能を追加することでセキュリティを向上させるための実装です。 強制アクセス制御機能を提供する実装としては SELinux や LIDS 等がありますが、 TOMOYO Linux は SELinux ほど多機能すぎず、 LIDS のようにハードリンクの問題を受けないため、 組込み用途でも簡単に利用できます。
コンパイル済みカーネルを以下のアドレスからダウンロードできます。コンパイル済みカーネルを使う場合は「2:Debian の Armadillo-9 へのインストール」まで飛んでください。
コンパイル済みカーネルを使わずに、カスタマイズしたい場合は以下の手順を実行してください。
http://armadillo.atmark-techno.com/20061028-1 から VMware Player 用のクロスコンパイル環境をダウンロードします。 この手順書では http://download.atmark-techno.com/atde/atde-20061028.zip を使用します。
クロスコンパイル環境にユーザ atmark 、パスワード atmark としてログインします。
http://download.atmark-techno.com/armadillo-9/source/ からカーネルのソースをダウンロードします。 この手順書では linux-2.4.31-a9-3.tar.gz または linux-2.6.12.3-a9-16.tar.gz を使用します。
cd wget http://download.atmark-techno.com/armadillo-9/source/linux-2.4.31-a9-3.tar.gz tar -zxf linux-2.4.31-a9-3.tar.gz cd linux-2.4.31-a9-3 |
または、
cd wget http://download.atmark-techno.com/armadillo-9/source/linux-2.6.12.3-a9-16.tar.gz tar -zxf linux-2.6.12.3-a9-16.tar.gz cd linux-2.6.12.3-a9-16 |
http://sourceforge.jp/projects/tomoyo/ から TOMOYO Linux 用カーネルパッチをダウンロードします。 この手順書では http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/30297/ccs-patch-1.6.9-20130117.tar.gz を使用します。
wget -O ccs-patch-1.6.9-20130117.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/30297/ccs-patch-1.6.9-20130117.tar.gz' wget -O ccs-patch-1.6.9-20130117.tar.gz.asc 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/30297/ccs-patch-1.6.9-20130117.tar.gz.asc' gpg ccs-patch-1.6.9-20130117.tar.gz.asc tar -zxf ccs-patch-1.6.9-20130117.tar.gz |
linux-2.4.31-a9-3.tar.gz を使う場合は、カーネル 2.4.31-a9-3 用のパッチを適用します。
patch -p1 < patches/ccs-patch-2.4.31-armadillo-9.diff |
linux-2.6.12.3-a9-16.tar.gz を使う場合は、カーネル 2.6.12.3-a9-16 用のパッチを適用します。
patch -p1 < patches/ccs-patch-2.6.12-armadillo-9.diff |
普通のカーネルと区別できるようにするために、必要に応じて Makefile の EXTRAVERSION の末尾に -ccs を追加します。
http://download.atmark-techno.com/armadillo-9/dist/ から atmark-dist をダウンロードします。 この手順書では atmark-dist-20061228.tar.gz を使用します。
cd wget http://download.atmark-techno.com/armadillo-9/dist/atmark-dist-20061228.tar.gz tar -zxf atmark-dist-20061228.tar.gz cd atmark-dist-20061228 |
linux-2.4.31-a9-3.tar.gz を使う場合は、以下のようにシンボリックリンクを張ります。
ln -s ../linux-2.4.31-a9-3 linux-2.4.x |
linux-2.6.12.3-a9-16.tar.gz を使う場合は、以下のようにシンボリックリンクを張ります。
ln -s ../linux-2.6.12.3-a9-16 linux-2.6.x |
あとは atmark-dist Developers Guide で述べられている手順どおりです。 コンパイルが完了すると images ディレクトリに linux.bin.gz というファイルと romfs ディレクトリに lib/modules/ というディレクトリが作成されます。これらを後ほどコンパクトフラッシュ内にコピーするので、カーネルコンフィグと共にまとめておきます。
linux-2.4.31-a9-3.tar.gz を使う場合は、以下のように実行します。
mkdir romfs/boot cp -p images/linux.bin.gz romfs/boot/Image.gz cp -p linux-2.4.x/.config romfs/boot/config-2.4.31-a9-3-ccs cd romfs su -c 'chown -R root.root boot/ lib/; chmod -R g-s boot/ lib/' tar -zcf ~/kernel-2.4.31-a9-3-tomoyo_1.6.6.tar.gz boot/ lib/modules/ |
linux-2.6.12.3-a9-16.tar.gz を使う場合は、以下のように実行します。
mkdir romfs/boot cp -p images/linux.bin.gz romfs/boot/Image.gz cp -p linux-2.6.x/.config romfs/boot/config-2.6.12.3-a9-16-ccs cd romfs su -c 'chown -R root.root boot/ lib/; chmod -R g-s boot/ lib/' tar -zcf ~/kernel-2.6.12.3-a9-16-tomoyo_1.6.6.tar.gz boot/ lib/modules/ |
この手順書では容量512MBのコンパクトフラッシュ(CF)を使用します。
基本的に Software Manual で述べられている手順どおりです。
Hermitコマンドプロンプトを起動するために、 JP2 をショート状態にします。 CF を抜いてあることを確認してから、 Armadillo-9 の電源を入れます。
hermit> というプロンプトが表示されるので、以下のコマンドを実行します。
hermit> clearenv |
Armadillo-9 の電源を切ります。
オンボードFlashメモリ内のLinuxカーネルで起動させるために、 JP2 をオープン状態にします。 CF を挿してあることを確認してから、 Armadillo-9 の電源を入れます。
ユーザ名 root 、パスワード root でログインします。
[root@armadillo9 (ttyAM0) /]# というプロンプトが表示されるので、システム時刻を修正します。 MMDDhhmmCCYY の部分は現在時刻を指定してください。
date MMDDhhmmCCYY hwclock -w |
CF のパーティション分割を行います。この手順書では CF が /dev/hdc として認識される場合で説明します。
fdisk /dev/hdc |
パーティションをフォーマットします。この手順書では /dev/hdc1 のみを使用する場合で説明します。
mke2fs -O none /dev/hdc1 |
パーティションをマウントします。
mount /dev/hdc1 /mnt/ cd /mnt/ |
http://download.atmark-techno.com/armadillo-9/debian/ から CF にインストールする環境をダウンロードします。 この手順書では arm-sarge-20050310-1.tgz ~ arm-sarge-20050310-5.tgz を使用するものとします。
[root@armadillo9 (ttyAM0) /mnt]# というプロンプトが表示されるので以下のコマンドを実行してください。
wget http://download.atmark-techno.com/armadillo-9/debian/arm-sarge-20050310-1.tgz wget http://download.atmark-techno.com/armadillo-9/debian/arm-sarge-20050310-2.tgz wget http://download.atmark-techno.com/armadillo-9/debian/arm-sarge-20050310-3.tgz wget http://download.atmark-techno.com/armadillo-9/debian/arm-sarge-20050310-4.tgz wget http://download.atmark-techno.com/armadillo-9/debian/arm-sarge-20050310-5.tgz tar -zxf arm-sarge-20050310-1.tgz rm -f arm-sarge-20050310-1.tgz tar -zxf arm-sarge-20050310-2.tgz rm -f arm-sarge-20050310-2.tgz tar -zxf arm-sarge-20050310-3.tgz rm -f arm-sarge-20050310-3.tgz tar -zxf arm-sarge-20050310-4.tgz rm -f arm-sarge-20050310-4.tgz tar -zxf arm-sarge-20050310-5.tgz rm -f arm-sarge-20050310-5.tgz |
パーティションをアンマウントします。
cd / umount /mnt/ |
ログアウトします。
ユーザ名 root 、パスワード root でログインします。
[root@armadillo9 (ttyAM0) /]# というプロンプトが表示されるので、パーティションをマウントします。この手順書では /dev/hdc1 が / としてマウントされる場合で説明します。
mount /dev/hdc1 /mnt/ |
CF にインストールされた環境をカスタマイズするために /mnt/ へ chroot して bash を起動します。
chroot /mnt/ bash |
proc ファイルシステムをマウントします。
mount -t proc none /proc |
/etc/network/interfaces や /etc/resolv.conf 等を設定します。
ソフトウェアを最新版にアップデートします。
apt-get update apt-get -y upgrade |
ダウンロードまたは作成した kernel-2.4.31-a9-3-tomoyo_1.6.6.tar.gz または kernel-2.6.12.3-a9-16-tomoyo_1.6.6.tar.gz を / 以下に展開します。
cd / wget -O kernel-2.4.31-a9-3-tomoyo_1.6.6.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/32753/kernel-2.4.31-a9-3-tomoyo_1.6.6.tar.gz' tar -zxf kernel-2.4.31-a9-3-tomoyo_1.6.6.tar.gz |
または
cd / wget -O kernel-2.6.12.3-a9-16-tomoyo_1.6.6.tar.gz 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/32753/kernel-2.6.12.3-a9-16-tomoyo_1.6.6.tar.gz' tar -zxf kernel-2.6.12.3-a9-16-tomoyo_1.6.6.tar.gz |
コンパイル済み TOMOYO Linux 用ツールをダウンロードします。また、ポリシーの初期設定を行います。
wget -O ccs-tools_1.6.6-1_arm.deb 'http://sourceforge.jp/frs/redir.php?m=jaist&f=/tomoyo/32753/ccs-tools_1.6.6-1_arm.deb' dpkg -i ccs-tools_1.6.6-1_arm.deb /usr/lib/ccs/init_policy.sh |
chroot 環境を終了し、 /dev/hdc1 をアンマウントしてから Armadillo-9 の電源を切ります。
exit umount /mnt/proc/ umount /mnt/ |
Hermitコマンドプロンプトを起動するために、 JP2 をショート状態にします。 CF を抜いてあることを確認してから、 Armadillo-9 の電源を入れます。
hermit> というプロンプトが表示されるので、以下のコマンドを実行します。
hermit> setenv console=ttyAM0,115200 root=/dev/hdc1 noinitrd |
Armadillo-9 の電源を切ります。
CF を挿してあることを確認してから、 Armadillo-9 の電源を入れます。
これでインストールは完了です。ここから先は http://tomoyo.sourceforge.jp/ja/1.6.x/install.html を参照してください。