ESXi 6.0u2 にしたので Host Client

ESXi 6.0 update2 にした理由の1つには実は Host Client が導入されたからというのがありました。無事に ESXi を更新できたのでこれを確認してみました。

アクセス

Chrome で ESXi のホストにアクセスしてみました。よく見慣れたページですがよくよく見ると、 Host Client のリンクが追加されていました。
esxi60u2-hc_1
これをクリックすると以下のように、以前検証したときに見た画面が表示されました。
esxi60u2-hc_2
ログインを行って表示された画面が以下のようになります。

esxi60u2-hc_3
この時点から vSphere Client の代わりに使えそうな予感が漂ってきます。

ESXi の設定など

前回インストールして環境設定が不十分なところがまだありましたので、ここでこの Host Client で設定ができるかをチェックしてみたいと思います。
またここからは Chrome ではなく Microsoft EDGE にて試しています。
続きを読む


ESXi 6.0u2 更新のその後

危惧していたネットワークの問題も解消されて うまく 6.0 update2 に更新できたので、さらにその後のパッチ適用と気になっていた点の解消などやってました。
昔のデータストアから VM らをインポートしたりして環境復帰できたらこの作業の旅も終わりです。

(Update) とかいう表示

esxcli software profile get で情報を表示させたときに (Update) と頭について、 ESXi 5.5 のベースを使っているようにみえたのでこれらをなんとかしてみました。

調べてみると同じように気になっている人もいるらしく、調査結果がすでにありました。
詳しくは参考サイトの情報を読んでいただければと思います。

今回の自分の環境でも以下の点がまさに一致でした

  • (Updated) という記載は何なのか
  • そもそも未だ 5.5 という記載が残っている

そして今どういう状況なのかという点ですが、「ESXi 5.5 からアップデートしたことを考慮すると ベースは 5.5 でカスタムドライバ入れた状態で、アップデートを適用した独自プロファイルになった状態」と考えられます。

“esxcli software profile update” によって更新作業を行ってきたため、こうなるのもわかってしまえば納得です。システムとしては 6.0 になっているので、一応 ESXi 6.0 のシステムとして稼働しています。

ただ気にはなるので、できることならば Updated の表示を消したいところです。

ネットワークの問題が再燃する覚悟を決めて以降の作業をやってみました.
続きを読む


ESXi 6.0u2 へのアップグレード

前回の続きになりますが、ESXi 5.5 から 6.0 系への更新を進めてみました。

ssh でつないでコンソールからアップデートを適用しました。5.5 の段階でいれた Network のドライバが消えてしまうかとヒヤヒヤしながら作業しましたが、再起動後も問題なく認識されたままでした。消えてしまった事例も見つかるので、sshでつないで esxcli 経由でやったのが成功の秘訣かもしれません。
続きを読む


ESXi 4.1 から 6.0 系への更新を試みる

ESXi 4.1 が安定して稼働していたのですが、今となっては古くなってしまったので、
vSphere Client がなくても Web から操作できるようになったという ESXi 6.0 Update2 への更新を決断しました。

今回の内容は実はそこまで到達するまでに苦戦した道のりの記録です。同じようにアップデートに苦しむ人(苦しんだ人?)の助けになれば幸いです。

バックアップ

ESXi のシステムは USB メモリに格納していたので、まずはこれをバックアップをとっておきます。
自分は DD for Windows を用いてイメージを丸ごと保存しています。

そして今回作業用のUSBメモリを新規に用意しました。
4GB のものでもうまくいくと思いますが、適当に用意したものが 8GB のものだったのでこれで作業しています。
(元々使用していた USB メモリの容量以上であれば問題は起こらないかと思います。)
ちなみに以下のメモリを使っていますが、アクセス速度の点ではイマイチかも。ESXi では致命的にならないのでこれで。



このUSBメモリに先ほどとは逆の手順で DD for Windows でイメージから USB メモリへ書き込み作業を行います。

以降の作業は全てこの USB メモリに対して行います。元々の USB メモリはいざという時に備えてそのまま保存です
続きを読む


RPI2 の Windows10 IoT Core のカーネルデバッグ

Windows10 IoT Core アニバーサリーアップデートを適用した RPI2 で、カーネルデバッグができるように環境を構築してみました。

必要なもの

必要なものは以下の通りです

  • Win10 IoT Core 導入済み RaspberryPI2
  • LANケーブル
  • USB-シリアル変換ケーブル

自分が使用している USB シリアル変換ケーブルは以下のものです。
ちょっとドライバ導入に手間があったりしますが、使えています。


準備(WinDBG)

WinDBG を使う必要があるのでこれを入手します.
これは Windows SDK か Windows Driver Kit に含まれています。
Windows SDK のほうは WinDBG だけインストールも行うことができます。これは インストーラーでどの機能をインストール選択するかの際に、 “Debugging Tools for Windows” のみ選択で、 WinDBG のみをインストールできました。

ドライバの開発という点では Windows Driver Kit を使用しますが、デバッグ目的であれば Windows SDK を選択するのでよいのかなと思います。なお今回使用した Windows Software Development Kit は,Windows 10.0.14393.33 というバージョンのものとなっていました。
続きを読む


Windows10 IoT Core のアニバーサリーアップデート

デスクトップの Windows10 にアニバーサリーアップデートが来たように、 Windows 10 IoT Core についても アニバーサリーアップデートが来ました。今回はこれの導入手順や新機能などを紹介してみたいと思います。

導入について

以前にIoT Core を導入している場合で、 Windows 10 IoT Core Dashboard がインストールされている環境では、 Dashboard を起動すると以下のようにウィンドウが表示されて、更新を促されるので更新を行います。
win10-iot-update-01

ちなみに Windows 10 IoT Core Dashboard は以下のページから取得可能です。
Microsoft Windows 10 IoT Core Get Start
こららの詳細は、以前の導入記事を参照していただければと思います。

win10-iot-update-02
Dashboard から必要事項を入力して microSD カードにイメージデータを書き込みます
他に作業することはないのでしばらく待ちます。

書き込みが完了した microSD カードを Raspberry Pi 2 に装着して、電源をいれます。
初回起動にはそこそこの時間(5分程度)がかかるので、画面が落ち着くまで待ちます。

ちなみに OS のバージョンとしては 10.0.14393.0 となっていました
続きを読む


gcc 組込み関数(memcpyとか)のインライン展開抑制

アライメントに寛容な x86 の話ではなく、 ARM プロセッサのお話になります。OSが動いていてソフトウェア例外を処理できるような状況では非アライメントなデータであってもなんとか動くので表面化しませんが、そのアタリをケアしない状況ではプログラムが停止してしまう原因の1つです。

さて非アライメントなデータ列をコピーしたりクリアしたりする際に、memcpy, memset などを使用することがあります。
デバッグ時にはうまく動いていたのに、最適化を有効にしたリリースビルドでは, このあたりでうまく動作せずに例外を出してしまったりすることがあります。

仕方なくこれらの関数の自前版を用意してこちらを使うようにしてしまうのも1つの手です。しかし memcpy, memset などのまま対処することも可能なことがわかりましたのでここで紹介したいと思います。
ここまでに言い忘れてしまいましたが、 gcc を使用した開発環境でのお話です。

原因

そもそも最適化によって何が起こり、正常に動かなくなってしまうのか。この原因は gcc が自分の組み込み関数を使用し、最適化によってインライン展開されてしまうことによります。

インライン展開されてもアライメント寛容なコードであればまだ良かったりしますが、速度重視のために最適化されているのでそうはならないのが現実です。

対策

gcc のコンパイルオプションで実はこのインライン展開の抑制が可能です。
-fno-builtin-(functionname) というオプションになります。なので、 memset,memcpy らを抑制する場合には、 -fno-builtin-memset, -fno-builtin-memcpy といったようなオプションを指定することとなります。


マウスによるウィンドウのリサイズや移動処理を実装 (wayland)

前回のモデル描画を実装してみたところで中身が入った感じなので、ウィンドウとしてリサイズができるように処理を追加していきたいと思います。
実はこのウィンドウサイズのリサイズの処理のためにも、 EGL を使った描画実装に変更したのです。

まずは動作状況をお見せします。以下のような感じで動作するようになりました。

wayland-resize-window
続きを読む


MSDN ディスクセットの Windows2000 でインストール

MSDN の Windows2000 をなんとかして Let’s Note CF-R5 にインストール した話になります。

Windows XP, Windows7, Windows8 と色々と試してみた CF-R5 ですが、どれもこれも動作が重くてつらい感じでした。そんな中、Windows 2000 もアリだという点に気づいたので試してみました。

色々と苦労もありましたが無事にインストール完了し他のOSとは違って軽快に動いている気がします。現時点においては起動直後で 200MB 程度のメモリ使用にとどまっています。

苦労のポイントは以下の点でした

  • Windows2000用のドライバの入手性
  • Windows2000のインストールディスクの問題

最初のドライバの入手については、頑張って探して見つける以外に方法がないので、ここでは説明しません。

Windows2000のインストールディスクについての話をこれから説明していきます。 続きを読む


Windows7SP1 ディスクに ロールアップKB3125574 を統合する

つい先日 Windows7 SP1 向けに、各パッチの集大成である「KB3125574ロールアップ」が提供開始となりました。Windowsを新規でインストールした直後に Windows Update を実行すると大量のパッチファイルの適用のために長い時間がかかりました。今回のロールアップを使うとパッチ適用のための時間を短縮することができます。

この「KB3125574ロールアップ」は 2016/4 までの約5年ほどの大量のパッチの集大成となっています。時間短縮目的で導入することが多いと思うので、オフラインインストールのパッケージを取得して共有しておくことがオススメだと思います。このオフラインインストーラーの入手は 「Microsoft Update カタログ」というところから取得します。ダウンロードセンターで配布していないようなのと、上記サイトには必ず InternetExplorer でアクセスする必要がある、という点に注意してください。まだ IEが手放せないようです。

続きを読む