2008年11月25日にFedora 10 正式版がリリースされました。
Fedora 10 正式版でもFedora 9同様にDomain0としての動作は未サポートのままです。
つまりFedora 9同様にFedora 10付属のXen 3.3ベースのXenハイパバイザーをブートできません。
※そのハイパバイザーをブートすると「elf_init: not an ELF binary」エラーになります。
しかしFedora 10にはXenner(version 0.46)というXenハイパバイザーエミュレータが付属しています。
XennerはKVMが組み込まれた通常カーネル環境でPVゲストを実行でき、その使用方法も非常に簡単です。
(Xenner自体はKVMゲストとして動作し、KVM上でXen DomainUインタフェースを提供するユティリティです)
ここではFedora 10のXenner上でFedora 10自体をXennerゲストとして実行させてみる手順を紹介します(すべて32ビット環境です)。
尚、今回使用したCPUはCore 2 Duo E6600です。
CONFIG_XEN=y CONFIG_HVC_XEN=y CONFIG_XEN_BLKDEV_FRONTEND=m CONFIG_XEN_NETDEV_FRONTEND=m CONFIG_PARAVIRT_GUEST=y |
title Fedora (2.6.27.5-117.fc10.i686.PAE) root (hd0,2) kernel /boot/vmlinuz-2.6.27.5-117.fc10.i686.PAE ro root=UUID=e815145b-db7e-4285-bc6c-4e6ba68fda1f rhgb quiet initrd /boot/initrd-2.6.27.5-117.fc10.i686.PAE.img |
kernel = "/root/vmlinuz-2.6.27.5-117.fc10.i686.PAE" ramdisk = "/root/initrd-2.6.27.5-117.fc10.i686.PAE.img" memory = 512 name = "fc10U" vif = [ 'mac=54:52:00:4d:1b:ec, bridge=xenbr0' ] disk = [ 'tap:aio:/root/fc10pvboot/pvfc10.img,xvda,w' ] root = "/dev/xvda1 ro" extra = "3 xencons=tty" |
Loading /lib/kbd/keymaps/i386/qwerty/jp106.map |
Error: (2, 'Invalid kernel', 'xc_dom_find_loader: no loader found\n') |
[emu] <1>irq route: vec 33 = evtchn 1, type ext, vcpu 0, io-apic pin 0, xenstore |
title Fedora (2.6.21-2950.fc8xen) root (hd0,1) kernel /boot/xen.gz-2.6.21-2950.fc8 module /boot/vmlinuz-2.6.21-2950.fc8xen ro root=LABEL=/1 rhgb quiet module /boot/initrd-2.6.21-2950.fc8xen.img |
LANG=C /usr/sbin/virt-install -n fc9domu2 -r 512 -f /root/fc9domu2.img -s 4 \ -b virbr0 -p -l http://ftp.riken.jp/Linux/fedora/releases/9/Fedora/i386/os |
# mount -o loop,offset=32256 fc9domu2.img /mnt # mkdir wkinitrd # cd wkinitrd # gzip -dc /mnt/boot/initrd-2.6.25-2.fc9.i686.xen.img | cpio -id # cat init #!/bin/nash mount -t proc /proc /proc setquiet echo Mounting proc filesystem echo Mounting sysfs filesystem mount -t sysfs /sys /sys echo Creating /dev <<途中略>> echo "Loading ext3 module" modprobe -q ext3 echo "Loading xen-blkfront module" modprobe -q xen-blkfront mkblkdevs echo Creating root device. mkrootdev -t ext3 -o defaults,ro UUID=48a5c771-6c3d-43ee-9b75-ab71fbf192b3 echo Mounting root filesystem. mount /sysroot echo Setting up other filesystems. setuproot loadpolicy echo Switching to new root and running init. switchroot echo Booting has failed. sleep -1 # cd # umount /mnt |
/usr/bin/xenner -m 512 -name xnr-f10domu -boot c \ -kernel /root/f8xen/virtinst/vmlinuz-2.6.25-2.fc9.i686.xen \ -initrd /root/f8xen/virtinst/initrd-2.6.25-2.fc9.i686.xen.img \ -append "root=UUID=b8c19cae-b122-4678-8b7f-4f2443e4d6a2 ro quiet 3 console=xvc0" \ -hda /root/f8xen/pvfc10.img \ -network 54:52:00:4d:1b:ec,virbr0 |
[emu] <1>grant_table_op: query_size [emu] <1>grant_table_op: query_size [emu] <1>grant_table_op: setup_table 1 [emu] <1>grant_table_op: query_size [emu] <1>irq route: vec 38 = evtchn 6, type ext, vcpu 0, io-apic pin 2, other [emu] <1>grant_table_op: query_size [emu] <1>grant_table_op: setup_table 2 [emu] <1>irq route: vec 39 = evtchn 7, type ext, vcpu 0, io-apic pin 3, other [emu] <1>emulate_rdmsr: ignore: rcx 0x17 [emu] <1>emulate_wrmsr: ignore: 0x8b 0x0:0x0 [emu] <1>emulate_rdmsr: ignore: rcx 0x8b [emu] <1>emulate_wrmsr: ignore: 0x79 0x0:0xe003f030 [emu] <1>emulate_wrmsr: ignore: 0x8b 0x0:0x0 [emu] <1>emulate_rdmsr: ignore: rcx 0x8b |
1228738379 54:52:00:4d:1b:ec 192.168.122.2 * * |
/usr/bin/xenner -m 512 -name xnr-fc9domu2 -boot c \ -kernel /root/fc9domu2/vmlinuz-2.6.25-2.fc9.i686.xen \ -initrd /root/fc9domu2/initrd-2.6.25-2.fc9.i686.xen.img \ -append "root=UUID=7d747ed7-6352-4544-9ab7-69bb13fd3a4c ro quiet 3 console=xvc0" \ -hda /root/fc9domu2/fc9domu2.img \ -network 00:16:3e:31:6c:0c,virbr0 |