2008年10月30日にUbuntu 8.10(Intrepid Ibex)がリリースされました。
Ubuntu 8.10にはXenner(KVM上のXenエミュレータ)が付属しています(xenner 0.41)。
しかしそのXennerは期待通りの動作はしません。
しかしxenner 0.46をソースから組み込むことでUbuntu 8.10でXennerを利用できるようになります。
ここではUbuntu 8.10環境(ライブ環境、実環境)でXennerを手軽に体験する手順を紹介します。
尚、今回使用したCPUはIntel Core 2 Duo E6600です。
またホストOSはUbuntu 8.10 日本語 Remix CDのリブート不要なライブ実行環境とします(実メモリは3GB以上を推奨)。
※下記手順の中のviはvim等お好みのエディタで読み替えて下さい。
# ln -sf /bin/bash /bin/sh |
checking for libdir name ... lib checking for arch ... i686 checking for io_setup in aio ... no checking for evtchn_port_or_error_t in /usr/include/xenctrl.h ... yes checking for xen/sys/evtchn.h ... yes Make.config written, edit if needed |
install -d /usr/bin /usr/sbin /usr/lib/xenner /etc/rc.d/init.d install -s xenner xenner-stats /usr/bin install -s evtchnd blkbackd netbackd /usr/sbin install emu32.elf hvm32.elf hvm32.bin libxenctrl.so.3.2.0 /usr/lib/xenner ln -s libxenctrl.so.3.2.0 /usr/lib/xenner/libxenctrl.so.3.2 install xenner.init /etc/rc.d/init.d/xenner |
qemu -no-kqemu -m 128 -boot d -cdrom /root/ubuntu-8.10-server-i386.iso ¥ -hda jeosu810/jeosu810.img -net nic -net user -k ja |
qemu -no-kqemu -m 128 -hda jeosu810/jeosu810.img -net nic -net user -k ja |
# cd jeosu810 # fdisk -lu jeosu810.img 設定する必要があります シリンダ数. あなたは特別機能メニューからこれを行なうことができます Disk jeosu810.img: 0 MB, 0 bytes 255 heads, 63 sectors/track, 0 cylinders, total 0 sectors Units = セクタ数 of 1 * 512 = 512 bytes Disk identifier: 0x0003e783 デバイス Boot Start End Blocks Id System jeosu810.img1 * 63 803249 401593+ 83 Linux # mount -o loop,offset=$((512*63)) jeosu810.img /mnt # cp -a /mnt/boot/vmlinuz-2.6.27-7-server . # cp -a /mnt/boot/initrd.img-2.6.27-7-server . # cat /mnt/boot/grub/menu.lst |grep "^kernel"|head -n 1 kernel /boot/vmlinuz-2.6.27-7-server root=UUID=f8524d7f-73ba-42e2-a6cd-96f028152f8d ro quiet splash # umount /mnt # cd |
Starting xenner daemons mount -t tmpfs vmcore /var/run/xenner [ OK ] evtchnd [ OK ] xenstored [ OK ] blkbackd [ OK ] netbackd [ OK ] touch: cannot touch `/var/lock/subsys/xenner': No such file or directory |
# sleep 1 # echo -n " " # action "chmod 666 /var/run/xenstored/socket*" \ # chmod 666 /var/run/xenstored/socket* # echo -n " xenconsoled" # daemon --check xenconsoled $xenconsoled # echo |
# echo -n " xenconsoled" # killproc xenconsoled # echo |
# xvc0 - getty # # This service maintains a getty on xvc0 from the point the system is # started until it is shut down again. start on runlevel 2 start on runlevel 3 start on runlevel 4 start on runlevel 5 stop on runlevel 0 stop on runlevel 1 stop on runlevel 6 respawn script if [ ! -c /dev/xvc0 ]; then mknod --mode=600 /dev/xvc0 c 204 191; fi exec /sbin/getty 38400 xvc0 end script |
# start xvc0 xvc0 (start) waiting xvc0 (start) starting xvc0 (start) pre-start xvc0 (start) spawned, プロセス #### xvc0 (start) post-start, (メイン) プロセス #### xvc0 (start) running, プロセス #### |
/usr/bin/xenner -m 128 -name livexnr-jeosu810 -boot c \ -kernel /root/jeosu810/vmlinuz-2.6.27-7-server \ -initrd /root/jeosu810/initrd.img-2.6.27-7-server \ -hda /root/jeosu810/jeosu810.img \ -append "root=UUID=f8524d7f-73ba-42e2-a6cd-96f028152f8d ro quiet console=xvc0" \ -network 52:54:00:12:34:56,vnet0 |
[emu] <1>irq route: vec 42 = evtchn 10, type ext, vcpu 0, io-apic pin 4, other |
1227431517 52:54:00:12:34:56 192.168.122.140 ubuntu * |
(1)まずパーティション構成定義ファイルを作成します。 # vi vbpart.root500 ※ルートパーティション全体を500MBにする設定です。 「root 500」という1行の内容にします。 (2)以下のコマンドで0.5GBのKVMゲスト(JeOS 8.10)仮想ディスクを作成します。
・ユーザ名はubuntuでそのパスワードもubuntuとなります。 ・vmbuilderでKVMゲストにインストールされるパッケージ一覧 尚、/root/ubuntu-kvmディレクトリに以下の仮想ディスクファイルが生成されます。 ・disk0.qcow2 ※qcow v2の形式です。 (インストール過程では/tmpに固定サイズのdisk0.imgとして生成されたものが最終的にqcow2形式に変換されます)。 (3)KVMゲストへのopenssh-serverのインストール [アプリケーション]メニューの[システムツール]−[仮想マシンマネジャ]を起動します。 次にその仮想マシンマネジャに自動登録されたKVMゲスト(ubuntu仮想マシン)を起動します。 ubuntu仮想マシンにubuntuユーザでログインして以下のコマンドを実行します。 $ sudo apt-get update $ sudo apt-get install openssh-server ※openssh-serverパッケージのインストール $ sudo passwd root ※rootユーザのパスワードを設定します(sshでのログイン用)。 $ sudo shutdown -h now (4)仮想ディスクの形式変換 以下のコマンドでqcow v2形式のdisk0.qcow2からraw形式の仮想ディスクイメージ(disk0raw500mb.img)を作成します。 # cd ubuntu-kvm # qemu-img convert disk0.qcow2 -O raw disk0raw500mb.img # cd (5)仮想ディスクイメージからの起動ファイル取り出し操作の実行 ここでは以下の操作を行います。
(6)PVゲストのxenner起動コマンド PVゲストの起動コマンドは以下の内容となります。
(7)PVゲストのQEMUでのXenner的利用 Ubuntu 8.10付属のQEMUはncursesライブラリ対応パッチが適用されておりSDLウィンドウ無しの使い方ができます。 qemu起動コマンドで「-curses」オプションを指定することで640x480のVGA的表示ができます。 更に以下の手順でXenner的利用も可能となります。
|
/usr/bin/xenner -m 512 -name xnr-ubt804 -boot c \ -kernel /root/xenner/vmlinuz-2.6.24-19-xen \ -initrd /root/xenner/initrd.img-2.6.24-19-xen \ -hda /root/xenner/anyubt8041flat4gb.img \ -append "root=UUID=906e293e-9e84-4f04-a559-908a75ac020d ro quiet console=xvc0" \ -network 00:16:3e:6c:2e:95,vnet0 |
/usr/bin/xenner -m 512 -name xnr-ubt804 -boot c \ -kernel /boot/vmlinuz-2.6.27-7-server \ -initrd /boot/initrd.img-2.6.27-7-server \ -hda /root/xenner/anyubt8041flat4gb.img \ -append "root=UUID=906e293e-9e84-4f04-a559-908a75ac020d ro quiet xencons=xvc0 console=xvc0" \ -network 00:16:3e:6c:2e:95,vnet0 |