2018の23日目の記事です。KVMをAmazonが独自拡張したと言うインスタンスのタイプが追加されました。その後、同じような仕組みのm5インスタンスと言うもの追加されているようです。利用できることが必須になっているようです。c5インスタンスでのNetBSD/amd64の動作確認結果は聞いたことはありませんでした。そもそもc5インスタンスで起動できるAMIの作り方も良く分かりませんでした。c5インスタンス用のAMIの作成をまとめておくことは意味があるかもしれません。EC2のAMIは、直接ダウンロードしてみることはできないようです。LinuxのAMI用のスナップショットを見ることはできないようです。BIOSブート(UEFIブートではない)であることが分かりました。UEFIブートができないことにGPTを使っていたやり方を思い出せば良さそうです。Adapterの行をGENERIC設定ファイルに追加した追加したGENERIC_ENA設定ファイルでビルドします。vnd(4)を使ってブロックデバイスとして扱えるようにします。2GBのルートパーティションを作成します。私の場合には/dev/dk5として扱えるようになります。1GBのスワップパーティションを作成します。私の場合には/dev/dk6として扱えるようになります。ルートパーティションからBIOSブートするように設定します。ルートパーティションをFFSv2でフォーマットします。FFSv2で起動できるようにブートローダーを配置します。ユーザーランドをインストールするために/mntにマウントします。以下でユーザーランドをビルドします。ユーザーランドを/mntをルートにしてインストールします。ブートローダーをインストールします。EC2の公開鍵の配置のためのスクリプトを追加します。AMIのウェブページにある以下のような内容です。実行可能に設定します。起動時の設定をします。rootユーザーでログインできるようにします。以下でファイルシステムの設定をします。/dev以下のノードを作成します。vnd0を開放します。vnd0これで、ディスクイメージファイルは完成です。以下で、AMIファイルを作成して行きます。そのスナップショットをとってAMIを作成します。操作は、Pythonで書かれたawsコマンドを使います。pkgsrcからawsコマンドをインストールします。起動完了してrunningステータスになっているか確認します。runningステータスになっていることを確認して次に進みます。2のインスタンスに作成したEBSボリュームを接続します。接続できたことを確認します。送信側セキュリティー設定(ポートごとの通過できる通信の設定)を実施します。受信側のセキュリティー設定を実施します。2のディスク領域にディスクイメージファイルを転送します。接続したEBSボリュームにディスクイメージファイルを書き込みます。これがスナップショットになり、AMIになります。/dev/sdfに接続したEBSボリュームを取り外します。取り外したEBSボリュームのスナップショットを取得します。これにはしばらく時間がかかります。2のインスタンスを消します。スナップショットを使ってAMIを作成します。これで、ami-088a6d6fc2dccd87bというIDのAMIが作成されました。ENAが有効で、c5.largeインスタンスに使えるように仮想化タイプもhvmにしました。このAMIを使ってc5.largeインスタンスを起動させてみます。NetBSD/amd64-currentを起動させることができます。Screenshotを選びます。残念ながらMSI-X割り込みの関係でエラーになってカーネルパニックしてしまっています。アップロードしてEBSボリュームに書き込むのを繰り返してデバッグするしかなさそうです。ある環境で仕事をせざるを得ない。Protectionのバージョンは14.0.xxxである。10.2というのがあって、まあ、企業で必要とするロギングはできるものなのであろう。Firefoxのアドオンを勝手に追加されるのは気に入らない。e10sとか阻害されても面白くないし。言うことで、試しに排除できるかやってみた。ExcelからVBAでアクセスしたい。個々の端末にODBCデータソースを設定するのはスクリプトで可能かもしれないが、面倒なのでADOとOLEDBの組み合わせでアクセスすることを考えている。