ラベル KVM の投稿を表示しています。 すべての投稿を表示
ラベル KVM の投稿を表示しています。 すべての投稿を表示

2009年4月15日水曜日

Ubuntu:今週のびっくりどっきりレシピ(違

まだ魚は三枚におろせませんが、料理が割と好きです。

Ubuntu のリポジトリにもそれらしいソフトを発見。喜び勇んで導入しました。

Package: gfaim
Section: multiverse/misc
Description: A small utility that allows you to find quickly a lot of recipes
Gfaim is a small utility written using GTK+ which allows you to find a lot of
recipes easily by typing the name of the ingredient you want. Its database
contains more then 10 000 recipes. Please note that those recipes are written
in French.
# ふらんす語 f^^; 多分読めねぇ。

Package: krecipes
Section: universe/kde
Description: recipes manager for KDE
Krecipes is a KDE application designed to manage recipes. It can help you to
do your shopping list, search through your recipes to find what you can do
with available ingredients and a diet helper. It can also import or export
recipes from files in various format (eg RecipeML or Meal-Master) or from
databases.





しかぁし、バグなのかどちらも立ち上がりませんでした。うえぇん。

これは報告せねばなるまい、LP に。#今週中に〜やるべかなぁ〜。TODO 増えた〜。

バグ潰しで Ubuntu を手伝いたい時、検証用に仮想環境があると色々便利です。例えば、上のスクリーンショットは KVM による仮想環境で撮ったものをゲストOS で USBフラッシュメモリに保存し、ホストOS で開いて Web にアップしました。

Let's ばぐれぽ。

※ 自分の場合、ubuntu-vm-builder は以下の構成で落ち着きました。

仮想環境の構築
sudo ubuntu-vm-builder kvm jaunty --mirror=http://jp.archive.ubuntu.com/ubuntu -m 512 --cpus=2 --rootsize=8192

/dev/bus/usb 以下のパーミッションの変更
(もしくはroot権限で仮想環境を実行)

sudo chown -R $USER /dev/bus/usb

仮想環境の起動
env QEMU_AUDIO_DRV=alsa ./run.sh -k ja -soundhw ac97 -usb

仮想環境内で以下をインストール
sudo apt-get install language-support-ja language-support-extra-ja
sudo apt-get install language-pack-ja language-pack-kde-ja language-pack-gnome-ja


sudo tasksel install ubuntu-desktop
sudo tasksel install kubuntu-desktop

ゲストでのUSBデバイスの操作
Ctrl+Alt+2 で QEMU の端末に落ち、デバイスを挿抜
Ctrl+Alt+1 で仮想環境に復帰

USBの扱いに関する主なコマンド
info usb
info usbhost
usb_add
usb_del


各コマンドのヘルプは QEMU の端末から「? コマンド名」で参照可能

2009年4月13日月曜日

Ubuntu:はじめての ubuntu-vm-builder:生まれて初めてKVMでゲストからホストのUSBデバイスにアクセス!

最近環境が整ったので、学期はじめのドタバタの合間に仮想化をごにょごにょっとやってみました。
# 今回の題名、嘘ではありませんが、変。
# 具体的には……何だよ、「生まれて初めて」って。

↓ubuntu-vm-builderについてはこちら
http://gihyo.jp/admin/serial/01/ubuntu-recipe/0061

参考にしたサイト
http://www.nongnu.org/qemu/qemu-doc.html
http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html
http://alien.slackbook.org/dokuwiki/doku.php?id=slackware:qemu
特にこの辺↓
http://www.nongnu.org/qemu/qemu-doc.html#SEC37
http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html#SEC28
#↑/proc/bus/usb と /dev/bus/usb の typo ?(3.9.2 の 3 の手順のところ)

$ chown -R 自分のユーザー名 /dev/bus/usb
などとし /dev/bus/usb 以下のファイルのパーミッションを変更するか、仮想マシンを root 権限で実行することで、ホストからゲストにUSB機器の制御を移せました。そうではない場合(一般ユーザー権限でkvmを実行し/dev/bus/usb以下のパーミッションに手をつけない場合)は/dev/bus/usb/hoge/fuga にアクセス権が無い等のメッセージが出てゲストからはUSB機器を利用出来ませんでした。
lsusbで目的のデバイスのIDを確認後、「-usbdevice host:hoge:fuga」をkvmのオプションに指定しても上手く行きますが、「-usb」のみkvmに渡してゲストOSを起動後 Ctrl+Alt+2 (←F2ではない) でQEMUのコンソールに落ち、「info usbhost」を実行、目的のデバイスを見つけた後、「usb_add host:hoge:fuga」とし、 Ctrl+Alt+1 (←F1ではない) でゲストOSに帰って、とする方が僕には使いやすく感じられました。

↑この例ではフラッシュメモリを使っています。ホストから半ば強引にUSB機器の制御を奪う感じでしたので、ホストでデバイスを利用中にゲストに制御を渡すようなこと(例えばホストでデータを書き込み中のフラッシュメモリの制御をゲストで奪うような)はしないほうが無難に思えました。

それにしても、KVM(QEMU)でゲストからホストのUSBデバイスが使えるのは新鮮でした。



< はじめての ubuntu-vm-builder で、はまったところ >

「……何か重い」

理由1:
ユーザーをグループkvmに加え忘れていた。

↓そりゃ重くもなる。
$ ls -l /dev/kvm
crw-rw----+ 1 root kvm 10, 232 2009-04-13 08:02 /dev/kvm

理由2:
メモリ割り当てが少なかった。
$ cat ./run.sh
#!/bin/sh

exec kvm -m 128 -smp 1 -drive file=disk0.qcow2 "$@"

↑ ubuntu-vm-builder のつくる ./run.sh はデフォルトでメモリを128MBしか割り当ててくれませんでした。これはデスクトップ用途には少ない量。


「……なんか変なエラー。キーボードの認識も変。」

qemu: warning: unknown keycodes `evdev(jp106)_aliases(qwerty)'

理由:
オプションの不足。kvmに渡すのに -k ja を加えたら幸せになりました。

$ ./run.sh -k ja

↓こちらを参考にしました。多謝。
http://znz.s1.xrea.com/t/?date=20090108



< その他 >
設定次第でサウンドも問題なさげです(サウンド回りはいじっていないのでこの節は当てずっぽうです)。
$env QEMU_AUDIO_DRV=pa ./run.sh --soundhw all
とかでどうだろう。

詳細は
$ kvm -soundhw ?

$ kvm -audio-help
でどうぞ。

全体的なことは
$ kvm --help

$ man kvm
で。

また、以下も参考にしました。
http://www.h7.dion.ne.jp/~qemu-win/Audio-ja.html



< 妄想 >
/usr/share/xsessions/ 以下に適当なデスクトップエントリをこさえてkvmをフルスクリーンモードで起動すればちょっとしたドッキリ。kvm終了と同時にセッションが終了するから、ゲストOSのシャットダウン=ホストOSでのログアウト。「えっ!Jaunty なのに Hardy ?」とか、「ひえぇ!Windows3.1だよぅ!」とか、エイプリルフールの仕込みに使えるかな。



< ぐふぅっ >
がー!遊んでないで溜まったTODO減らさにゃならんのに……何やってんだ自分 orz