Intel TXTに必要な環境がわかってきたところで、実地検証方法を考えねばなりません。
ここで悩みが二つ
1.Intel TXTが有効になった環境の作り方がわからない
2..Intel TXTが有効に機能している証明方法がわからない
そうはいってもめげてはいられません。
手がかりとなっているのは回答編で紹介したインテルの
資料。ここに、Ubuntu Serverが対応とあります。なじみのあるWindows系のサーバーは一切なし。
そして、Intel TXT機能を利用する為にはTrusted Bootに対応した環境が必要です。Fedora系では自分で組み込む必要があるみたいですが、Ubuntuではディストリビューションに取り込まれていそうな感じ。とりあえず、サーバーをインストールしてみますが、linuxはさっぱりわかりません。
それでもがんばるしかないようです。
まずは下準備。
いままでの調査ではIntel TXTの環境は64bitに限られるとわかりました。これは、BIOS上でIntel TXTを設定するときにIntel VT-xがEnableになっている必要があること、さらに、設定と同時にIntel VT-dが設定されることからも32bitには対応していないことがうかがえます。
この時点で
1.一番下は64bitのUbuntuでXenをHypervisorに使用する
2.その上になんかOSを載せる
ここまでです。先はわかりません。
Installは画面通りに進めますが、日本語表示が出なかったりして悩みます。
Google様にお伺いを立てたところ
VM上にUbuntu入れてXenを設定する説明があるサイトを発見します。
さっそくそれに従ってインストールします。使用したのはUbuntuの最新版13.04です。
インストールは、CDに焼いたイメージを起動して、そのままインストーラを起動するだけです。
オプションで選択したのはロケーションとかキーボードとかとVirtualization Hostにするってところくらい。思ったよりさっくりインストールできます。
Installが完了して、GUIも設定。Ubuntuのデスクトップ画面を拝んだら次はXen。
ここで躓きます。Xenのインストールは
sudo apt-get install xen-hypervisor-4.2
みたいなのを実行してから再起動すると自動設定されるようなのですが、再起動するとHypervisorの起動後に
"no console will be available"
なんて表示が出て起動しません。原因追及しないと先に進めません。
しばらく資料を探しますが、原因がわかりませんでした。そういえば、Ubuntuは4末に新しいのが出たばかり。資料も少ないので、ひとつ前のバージョンをためします。
使ったのはUbuntu Serber 12.10。同じようにInstallをおこないます。
ロケーションに日本語を選択すると文字化けの処置をしないといけないので、今度は英語にしてインストールします。
インストール完了後、hypervisorとTbootをインストール。
実施したコマンドは
sudo apt-get install xen-hypervisor-4.1-amd64
sudo apt-get install virtinst
sudo apt-get install virt-viewer
sudo apt-get install tboot
これで、hypervisorと仮想環境のインストーラ、Trusted Bootモジュールのインストールが完了します。
この状態で、hypervisorのインストールは完了したわけですが、やはり選択して起動すると起動できません。一方、tbootを利用したbootは成功するのですが、TXTを切ってもブートするため、機能しているのかは不明な状態です。
なにか設定が必要なのかもしれませんが、さっぱりわからない状態です。
SINTはIntelのサイトからダウンロードします。CPUやチップセットによって使えるものが違います。
DQ77MK+Core i7 3770の場合は3rd_gen_i5_i7-SINIT_51.zipが必要になります。
ACM入手したらTBootの利用時に読み込めるようにしたいと考えますが、設定方法がいまいち飲み込めません。
http://blog.gmane.org/gmane.comp.boot-loaders.tboot.devel...
上に紹介したしりょうだと、grub.cfgでmoguleとして読み込めば良いようなので、記述を追加してみました。しかし、moduleを読み込めるようにしたとたんに起動が出来なくなります。
最初ファイル名を書き間違えたときは、File not foundと出て起動してきたので、バイナリは読み込んでいるようなのですが、設定か何かが必要なようです。
詰まったのでHPから配布されている
設定資料を読み込みます。
どうやら、TPMの設定が必要な模様。ここでのコマンドはFedora系のようですが、とりあえず入力します。
sudo -s
ldconfig /usr/local/lib
modplobe tpm_tis
tcsd
tpm_takeownership -z
最後のコマンドで、パスワードを設定するのですが、ここでOwnershipの取得に失敗します。
そして、そろそろタイムリミット・・・・。
TBootでのテストは、完了できませんでした・・・・・。
ここを通過しても、このあとにTBootで信頼性が保てない事例を作る方法を、まだ思いついていないので、ゴールは遠いです。