トップページ  Index  Search  Changes  Login

DailyBuildsを仮想環境で動かす

QEMUで動かす

公式サイト
https://www.qemu.org/
GUIフロントエンド
https://wiki.qemu.org/Links#GUI_Front_Ends
ReactOS公式WikiのQEMUセクション
https://www.reactos.org/wiki/QEMU
ドキュメンテーション
https://qemu.weilnetz.de/doc/qemu-doc.html
https://git.qemu.org/?p=qemu.git;a=tree;f=docs;hb=master

仮想環境の構築

Host:Linux

https://wiki.qemu.org/Hosts/Linux

Host:BSD

https://wiki.qemu.org/Hosts/BSD

Host:MacOSX

https://wiki.qemu.org/Hosts/Mac

Host:Windows

https://wiki.qemu.org/Hosts/W32

Windows向けインストーラ
32bit
https://qemu.weilnetz.de/w32/
64bit
https://qemu.weilnetz.de/w64/

isoファイル名とハードディスク名は環境に合わせ適宜読み替えて下さい。

ReactOSに与えたメモリ容量とHDD容量は当てずっぽうです。とりあえず動けばいいよね。

"-accel hax" または "--enable-hax" を利用するにはIntel HAXMのインストールが必要です。

0.コマンドプロンプトを起動する
1.起動中のコマンドプロンプトの環境変数にQEMUのパスを追加
set PATH=c:\Program Files\qemu;%PATH%
2.仮想ハードディスクイメージを作成
qemu-img.exe create -f qcow2 ROS-0.4.8-RC.qcow2 20G
qemu-imgで指定可能な仮想ハードディスクイメージのフォーマットについて
公式ドキュメントの Disk image file formats セクション
QEMUで作成可能な仮想ディスクファイルフォーマット 比べてみた

なお、以下のようにするとWindowsからマウント可能なVHD形式の仮想ハードディスクイメージを作成可能

qemu-img.exe create -f vpc ROS-0.4.8-RC.vhd 20G
WindowsでのVHDの接続・切断については以下を参照
Windows 7/Windows Server 2008 R2でVHDファイルを直接マウントする
 Windows10の場合の手順の一例
  1.画面を右クリック
  2.「個人用設定」を選択
  3.「テーマ」を選択
  4.「関連設定」の「デスクトップ アイコンの設定」をクリック
  5.「コンピュータ」にチェックを入れる
  6.デスクトップに表示された「PC」を右クリック
  7.「管理」を選択
  8.記憶域>ディスクの管理
 この先はWindows7での手順と同じ
3.仮想マシンの起動
3-1

↓初回起動(インストール)時

qemu-system-i386.exe -m 512 -cdrom ROS-0.4.8-RC.iso -hda ROS-0.4.8-RC.qcow2 -boot d -localtime -serial file:ROS-0.4.8-RC.log -soundhw pcspk -net nic,model=ne2k_pci -net user

※例えばインストール後の再起動でBootCDが入力待ちをしている時間でCtrl+Alt+Qと打てばQEMUを終了出来る。その後、3-2 のコマンドを入力する。

3-2

↓2回目以降

qemu-system-i386.exe -m 512 -hda ROS-0.4.8-RC.qcow2 -localtime -serial file:ROS-0.4.8-RC.log -soundhw pcspk -net nic,model=ne2k_pci -net user -accel hax

※本セクション執筆時以下を参考にしました。

Ichmy氏の「Qemuで遊ぼうのこーなー」
https://legacyos.ichmy.0t0.jp/qemu/
参考元にあるように、バッチファイルを作っておくと起動が楽です。

QEMUにおける仮想化支援技術の利用

Host:Linux

KVMによる仮想化支援を利用可能
https://wiki.qemu.org/Hosts/Linux

Host:BSD

KVMによる仮想化支援を利用可能
https://wiki.qemu.org/Hosts/BSD
https://www.linux-kvm.org/page/BSD

Host:MacOSX

KQEMUもKVMもダメっぽい?詳しい方修正・追記お願いします。
https://wiki.qemu.org/Hosts/Mac

Host:Windows

Intel HAXMによる仮想化支援を利用可能
https://wiki.qemu.org/Hosts/W32
https://www.qemu.org/2017/11/22/haxm-usage-windows/
  • CD-ROMからのインストール時に"-accel hax"が有効である場合ブートCDが立ち上がらなかった。

サウンドカード

QEMU2.11.0がエミュレーション可能なハードのリスト
Valid sound card names (comma separated):
pcspk       PC speaker
hda         Intel HD Audio
cs4231a     CS4231A
gus         Gravis Ultrasound GF1
adlib       Yamaha YM3812 (OPL2)
ac97        Intel 82801AA AC97 Audio
es1370      ENSONIQ AudioPCI ES1370
sb16        Creative Sound Blaster 16
QEMU2.11.0 Windows版のオーディオに関する環境変数のリスト
>qemu-system-i386.exe -audio-help
Audio options:
  QEMU_AUDIO_DAC_FIXED_SETTINGS: boolean, default = 1
    Use fixed settings for host DAC
  QEMU_AUDIO_DAC_FIXED_FREQ: integer, default = 44100
    Frequency for fixed host DAC
  QEMU_AUDIO_DAC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format for fixed host DAC
  QEMU_AUDIO_DAC_FIXED_CHANNELS: integer, default = 2
    Number of channels for fixed DAC (1 - mono, 2 - stereo)
  QEMU_AUDIO_DAC_VOICES: integer, default = 1
    Number of voices for DAC
  QEMU_AUDIO_DAC_TRY_POLL: boolean, default = 1
    Attempt using poll mode for DAC
  QEMU_AUDIO_ADC_FIXED_SETTINGS: boolean, default = 1
    Use fixed settings for host ADC
  QEMU_AUDIO_ADC_FIXED_FREQ: integer, default = 44100
    Frequency for fixed host ADC
  QEMU_AUDIO_ADC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format for fixed host ADC
  QEMU_AUDIO_ADC_FIXED_CHANNELS: integer, default = 2
    Number of channels for fixed ADC (1 - mono, 2 - stereo)
  QEMU_AUDIO_ADC_VOICES: integer, default = 1
    Number of voices for ADC
  QEMU_AUDIO_ADC_TRY_POLL: boolean, default = 1
    Attempt using poll mode for ADC
  QEMU_AUDIO_TIMER_PERIOD: integer, default = 100
    Timer period in HZ (0 - use lowest possible)

Available drivers:
Name: dsound
Description: DirectSound http://wikipedia.org/wiki/DirectSound
Theoretically supports many playback voices
One capture voice
Options:
  QEMU_DSOUND_LATENCY_MILLIS: integer, default = 10
    (undocumented)
  QEMU_DSOUND_BUFSIZE_OUT: integer, default = 16384
    (undocumented)
  QEMU_DSOUND_BUFSIZE_IN: integer, default = 16384
    (undocumented)

Name: none
Description: Timer based audio emulation
Theoretically supports many playback voices
Theoretically supports many capture voices
No options

Name: wav
Description: WAV renderer http://wikipedia.org/wiki/WAV
One playback voice
Does not support capture
Options:
  QEMU_WAV_FREQUENCY: integer, default = 44100
    Frequency
  QEMU_WAV_FORMAT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32)
    Format
  QEMU_WAV_DAC_FIXED_CHANNELS: integer, default = 2
    Number of channels (1 - mono, 2 - stereo)
  QEMU_WAV_PATH: string, default = qemu.wav
    Path to wave file

Options are settable through environment variables.
Example:
  set QEMU_AUDIO_DRV=wav
  set QEMU_WAV_PATH=c:\tune.wav
  qemu ...

snapshot / 差分バックアップ

公式Wikiの CreateSnapshot セクション
https://wiki.qemu.org/Documentation/CreateSnapshot
YAMAMORI Takenori氏の「フリーのエミュレータQEMUを使おう」の関連ページ
http://www15.big.or.jp/~yamamori/sun/qemu/snapshot.html

ファイルの共有

以下の方法が考えられる

補遺

仮想シリアルポート経由でデバッグログを取る場合、三者の中で恐らく一番設定が簡単。

VirtualBoxで動かす

公式サイト
https://www.virtualbox.org/
ReactOS公式WikiのVirtualBoxセクション
https://www.reactos.org/wiki/VirtualBox

仮想マシンの設定

  • タイプ:Microsoft Windows
  • バージョン:Windows 2003(32bit)
  • メインメモリー:256MB以上を割り当て
  • I/O APIC 無効
  • ハードディスク:20GB程度を割り当て
  • ビデオメモリー:32MBを割り当て
  • 3Dアクセラレーション 有効
  • 2Dビデオアクセラレーション 有効
  • オーディオコントローラー:ICH AC97
  • ネットワークアダプタータイプ:PCnet-FAST 掘Am79C973)

こちらもご覧ください

Release版ReactOSを仮想マシン上で動かす

VirtualBox Guest Additionsをインストールする

補遺

仮想シリアルポートの設定でポートモードを「Rawファイル」に、パス/アドレスにホスト側でログを記録したいファイルのフルパスを指定することでデバッグログをテキストファイルとして取得可能。

VMwareWorkstationPlayerで動かす

公式サイト
https://www.vmware.com/jp.html
https://www.vmware.com/jp/products/workstation-player.html
ReactOS公式WikiのVMwareセクション
https://www.reactos.org/wiki/VMware

仮想マシンの設定

  • ゲストOS:Microsoft Windows
  • バージョン:Windows XP Professional
  • メモリ:256MB以上を指定
  • ハードディスク:20GB程度を指定
  • ネットワークアダプタ:NAT
  • サウンドカード:どなたか追記お願いします。

VMware Tools のインストール

どなたか追記お願いします。

参考:JIRAのVMwareToolsに関する情報
https://jira.reactos.org/browse/CORE-662?jql=text%20~%20%22VMware%20Tools%22

補遺

仮想シリアルポートの出力先でファイルを指定可能。デバッグログの取得に。

デバッグログを閲覧する / リアルタイムで監視する

起動時に「ReactOS(Debug)」を選択する

up0096.png

LinuxやBSD系のホストの場合

端末エミュレータから

tail -f ログファイルのパス
tail -f /usr/local/share/VirtualMachines/qemu/ROS-0.4.8-RC/ROS-0.4.8-RC.log

Windowsがホストの場合

Windows PowerShellから

Get-Content -Path 確認したいファイルのフルパス -Tail 行数 -Wait -Encoding 文字コード
Get-Content -Path C:\Users\Public\VirtualMachines\qemu\ROS-0.4.8-RC\ROS-0.4.8-RC.log -Tail 10 -Wait
出典
http://tech.guitarrapc.com/entry/2013/04/15/220408
https://qiita.com/rache/items/7ebde61df17f193d79de

以下の情報は古く、修正が必要。(2018年3月時点)

!!!古い情報です!!!

開発者向けバージョンとは

ReactOSの開発はバージョン管理システムであるSubversion(略してSVN)というものを使って行われています。SVNにはリビジョン番号があって、開発者がReactOSのコードを変更するたびにその番号が増えます。つまり、数字が大きいほど新しいです。これが「開発者向けバージョン」(ReactOS Developer versions)のReactOSです。ReactOS 0.3.10などはそこから安定したものを選んでブランチを作り、細かい修正をした後にリリースされます。

これを試す利点

  • ReactOSの新機能をいち早く体験できる(逆に言えばリリースされた時の楽しみが減る)

欠点

  • 不安定な場合がある(特に重大なバグはこのあたり)
  • リリース版と違い、ある程度の安定性が保証されない

準備

2009年9月現在、ReactOSはアルファ版です。 実機でも実行できますが、いろいろと問題があるため仮想マシンのQEMUでやってみましょう。

QEMUの準備

公式のQEMUパッケージをもとにします。

ダウンロードしたら適当な場所に解凍します。 解凍したフォルダのboot.batを以下のように編集します。

@echo off
cd files
qemu -L . -m 128 -hda ReactOS.vmdk -serial file:CON -boot d -cdrom ../ReactOS.iso

勘のいい人は編集前との違いが "-boot d -cdrom ../ReactOS.iso" が増えていることだと気づくかもしれません。軽く解説しておくと

"-boot d" - cdromからブートさせる
"-cdrom ../ReactOS.iso" - cdromに一つ上のフォルダの「ReactOS.iso」を読み込む

ReactOSをダウンロードする

エミュレータの準備は整いましたが、肝心のReactOS本体がなければ意味ありません。

ソースコードに変更があると、ビルドボットが自動的にビルドして、アップロードしてくれます。ReactOS SVN トランクビルドのダウンロードにそのビルドされたものがアップロードされています。

bootcdをダウンロードするか、livecdをダウンロードするかは自分で選択してください。 livecd-*****-rel.7z、bootcd-*****-rel.7z(*****はリビジョン番号)があれば、希望のほうをクリックしてダウンロードしましょう。

下に「リビジョン *****のあらかじめビルドされたファイルはありません!」と表示されている場合は、「ファイルを表示するリビジョン:」の右の「<」をクリックして「表示」をクリックします。 まだ同じ内容が表示されている場合、繰り返し前のリビジョンでビルドされたものがあるか探します。

ダウンロードしたら解凍します。このとき、先ほど準備したQEMUのフォルダの中に解凍してください。 QEMUのフォルダ内にisoファイルができたら、「ReactOS.iso」とリネームします。 これで準備は完了です。

起動

さあ、準備ができたら早速起動させてみましょう。QEMUのあるフォルダを開いて、「boot.bat」を開きます。すると、QEMUが起動します。 QEMUの使い方やReactOSのインストール方法はここでは解説しません。

ちゃんと動かない場合は、通常はすぐ修正されます(起動しないなどの重大な問題の場合)ので、修正されるのを待つかより古いリビジョンを使ってみてください。開発者向けバージョンですので、ちゃんと動かなくても仕方ありません。