Xen

Qemu + gdbでXen上のOSカーネルを見る

Xen

とりあえず、gdb上でどうやってユーザモードのバイナリを見るかというタッチの話。Xenにとって、上に載せるOSがアプリケーションに相当することに注意する。 サマリ qemuのgdbスタブはこのようなシチュエーションのために作られた物でない。 たとえば、ユー…

mini-osをDOM0にしたら何が起こるのか

Xen

(XEN) *** Serial input -> DOM0 (type 'CTRL-a' three times to switch input to Xen) (XEN) Freed 112kB init memory. Bootstrapping... Xen Minimal OS! Page fault at linear address ffff812000002400, rip 000000000001a2e7, regs 000000000004fd78, s…

Xenはprefixを変えるようにできていない

Xen

多くのスクリプトで/etc/xen等のパスがハードコードされているのでどうしようもない。 特にudevのコンテキスト(= hotplugが呼ぶスクリプト中)でxenstoreにアクセスするのが地味に困る。。 udevが起動したスクリプトがxenstoreにアクセスできない場合、単にタ…

mini-os写経会の準備

Xen

http://storage.osdev.info/pub/tmp/interface/ http://storage.osdev.info/pub/tmp/mini-os/ XenのInterface manual(XenにOSを移植したい人向けのマニュアル)とmini-osのGLOBALを準備した。どっちもソースコードを単に処理しただけ。 目標は、minischemeをX…

paravirt_opsなDOM0

Xen

従来、XenのDOM0にはXenのパッチを当てたLinux(xenと一緒にDLできるやつ)が必要で、結局DOM0のパッチはLinux本流には取り込まれなかったので色々と面倒になっていた。(パッチできるカーネルも2.6.18とかかなり昔のバージョンしかなかった。) 今は、paravirt_…

paravirt_ops / KXen

Xen

要約 : paravirt_opsだけでは機能しない。Xen側の仮想ハードウェアとのインターフェースも必要。 APIのセットはarch/x86/include/asm/paravirt.hにある。 つまり、あるOSをparavirt_opsクリーンにしたとしても、仮想ハードウェアとのインターフェースという…

HVMでspinlockが遅い

Xen

結論 : HVMが何か遅いと思ったらSMPを無効にして新規インストールしろ APICも無効にしないとダメっぽい。。 Cygwinがほんとうにあまりにも遅いのでWindowsのカーネルプロファイラ(kernrate)で見てみた。 Time 26975 hits, 25000 events per hit -------- Mod…

Windows7 (x64) on Xen HVM

というわけで、Win7 x64もインストールした。Win64環境は(IA64を別とすると)初めてなのでなんとも言えない。大きな間違いがあるかもしれない。 インストール 普通に終了。 Ready Driverのインストール 今後のWindowsは署名をしていないデバイスドライバを受…

windows7 on xen

Xen

インストールはつつがなく終了。問題は、(Vista同様)ビデオがVBE経由になることで、これはすこぶる遅い。MS的にはTerminal Serviceを使って欲しいのだろう。。 他は常識的な速度で動作する。

UbuntuをPVMで使う

意外と難易度が高い。 インストールはHVMとして行い、/bootにあるカーネルとinitrdだけをDom0側に持ってきて使う。PV-GRUBは正常に動作しないことが有った。 HVMをセットアップし、LiveCDから普通にインストールする パッケージlinux-xenとtightvncを追加(VN…

日本語環境でstubdomのビルドに失敗する

Xen

/home/oku/follow/xen-3.3.0/stubdom/../extras/mini-os/include/mini-os/types.h:22:20: error: stddef.h: そのようなファイルやディレクトリはありません原因はstubdom/Makefileの GCC_INSTALL = $(shell gcc -print-search-dirs | sed -n -e 's/install: …

mini-osを動かす

Xen

Xenを普通にビルドするとextras/mini-os/中にファイルmini-osとしてカーネルがビルドされる。 $ file mini-os mini-os: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), statically linked, not stripped単純なコンフィギュレーションを書いて、通常…

HVMに導入したWindowsが何もしていなくてもCPUを喰う

Xen

「何もしていなくても」というのはユーザの感覚であって、何かしらやっているという意識が必要。 今回のケースではSecunia PSIが原因だった。ログオフ時とログイン時の負荷が違うときは常駐タスクをチェックする価値があるかも知れない。

USB/IPを使用して仮想マシンにリモートのUSBデバイスを繋ぐ

DH-ONE/U2がリモートのデバイス。まだ動作はしていない。追記 : この情報は古い。現在USB/IPはkernel.orgのカーネルに統合されていて、staging内に存在する。ただしユーザランドのツール、つまり各種コマンドのためにusbipのツールをビルドする必要は有る。…