On Fri, 17 Oct 2008 11:18:12 +0900 Isaku Yamahata wrote:
> diff --git a/Documentation/ia64/xen.txt b/Documentation/ia64/xen.txt
> new file mode 100644
> index 0000000..a5c6993
> --- /dev/null
> +++ b/Documentation/ia64/xen.txt
> @@ -0,0 +1,183 @@
> + Recipe for getting/building/running Xen/ia64 with pv_ops
> + --------------------------------------------------------
> +
> +This recipe discribes how to get xen-ia64 source and build it,
describes
> +and run domU with pv_ops.
> +
> +===========
> +Requirement
Requirements (?)
> +===========
> +
> + - python
> + - mercurial
> + it (aka "hg") is a open-source source code
an
> + management software. See the below.
> + http://www.selenic.com/mercurial/wiki/
> + - git
> + - bridge-utils
> +
> +=================================
> +Getting and Building Xen and Dom0
> +=================================
> +
> + My enviroment is;
My environment is:
> + Machine : Tiger4
> + Domain0 OS : RHEL5
> + DomainU OS : RHEL5
> +
> + 1. Download source
> + # hg clone http://xenbits.xensource.com/ext/ia64/xen-unstable.hg
> + # cd xen-unstable.hg
> + # hg clone http://xenbits.xensource.com/ext/ia64/linux-2.6.18-xen.hg
> +
> + 2. # make world
> +
> + 3. # make install-tools
> +
> + 4. copy kernels and xen
> + # cp xen/xen.gz /boot/efi/efi/redhat/
> + # cp build-linux-2.6.18-xen_ia64/vmlinux.gz \
> + /boot/efi/efi/redhat/vmlinuz-2.6.18.8-xen
> +
> + 5. make initrd for Dom0/DomU
> + # make -C linux-2.6.18-xen.hg ARCH=ia64 modules_install \
> + O=$(/bin/pwd)/build-linux-2.6.18-xen_ia64
> + # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6.18.8-xen.img \
> + 2.6.18.8-xen --builtin mptspi --builtin mptbase \
> + --builtin mptscsih --builtin uhci-hcd --builtin ohci-hcd \
> + --builtin ehci-hcd
> +
> +================================
> +Making a disk image for guest OS
> +================================
> +
> + 1. make file
> + # dd if=/dev/zero of=/root/rhel5.img bs=1M seek=4096 count=0
> + # mke2fs -F -j /root/rhel5.img
> + # mount -o loop /root/rhel5.img /mnt
> + # cp -ax /{dev,var,etc,usr,bin,sbin,lib} /mnt
> + # mkdir /mnt/{root,proc,sys,home,tmp}
> +
> + Note: You may miss some device files. If so, please create them
> + with mknod. Or you can use tar intead of cp.
> +
> + 2. modify DomU's fstab
> + # vi /mnt/etc/fstab
> + /dev/xvda1 / ext3 defaults 1 1
> + none /dev/pts devpts gid=5,mode=620 0 0
> + none /dev/shm tmpfs defaults 0 0
> + none /proc proc defaults 0 0
> + none /sys sysfs defaults 0 0
> +
> + 3. modify inittab
> + set runlevel to 3 to avoid X trying to start
> + # vi /mnt/etc/inittab
> + id:3:initdefault:
> + Start a getty on the hvc0 console
> + X0:2345:respawn:/sbin/mingetty hvc0
> + tty1-6 mingetty can be commented out
> +
> + 4. add hvc0 into /etc/securetty
> + # vi /mnt/etc/securetty (add hvc0)
> +
> + 5. umount
> + # umount /mnt
> +
> +FYI, virt-manager can also make a disk image for guest OS.
> +It's GUI tools and easy to make it.
> +
> +==================
> +Boot Xen & Domain0
> +==================
> +
> + 1. replace elilo
> + elilo of RHEL5 can boot Xen and Dom0.
> + If you use old elilo (e.g RHEL4), please download from the below
> + http://elilo.sourceforge.net/cgi-bin/blosxom
> + and copy into /boot/efi/efi/redhat/
> + # cp elilo-3.6-ia64.efi /boot/efi/efi/redhat/elilo.efi
> +
> + 2. modify elilo.conf (like the below)
> + # vi /boot/efi/efi/redhat/elilo.conf
> + prompt
> + timeout=20
> + default=xen
> + relocatable
> +
> + image=vmlinuz-2.6.18.8-xen
> + label=xen
> + vmm=xen.gz
> + initrd=initrd-2.6.18.8-xen.img
> + read-only
> + append=" -- rhgb root=/dev/sda2"
> +
> +The append options before "--" are for xen hypervisor,
> +the options after "--" are for dom0.
> +
> +FYI, your machine may need console options like
> +"com1=19200,8n1 console=vga,com1". For example,
> +append="com1=19200,8n1 console=vga,com1 -- rhgb console=tty0 \
> +console=ttyS0 root=/dev/sda2"
> +
> +=====================================
> +Getting and Building domU with pv_ops
> +=====================================
> +
> + 1. get pv_ops tree
> + # git clone
> http://people.valinux.co.jp/~yamahata/xen-ia64/linux-2.6-xen-ia64.git/
> +
> + 2. git branch (if necessary)
> + # cd linux-2.6-xen-ia64/
> + # git checkout -b your_branch origin/xen-ia64-domu-minimal-2008may19
> + (Note: The current branch is xen-ia64-domu-minimal-2008may19.
> + But you would find the new branch. You can see with
> + "git branch -r" to get the branch lists.
> +
> http://people.valinux.co.jp/~yamahata/xen-ia64/for_eagl/linux-2.6-ia64-pv-ops.git/
> + is also available. The tree is based on
> + git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 test)
> +
> +
> + 3. copy .config for pv_ops of domU
> + # cp arch/ia64/configs/xen_domu_wip_defconfig .config
> +
> + 4. make kernel with pv_ops
> + # make oldconfig
> + # make
> +
> + 5. install the kernel and initrd
> + # cp vmlinux.gz /boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU
> + # make modules_install
> + # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6-pv_ops-xenU.img \
> + 2.6.26-rc3xen-ia64-08941-g1b12161 --builtin mptspi \
> + --builtin mptbase --builtin mptscsih --builtin uhci-hcd \
> + --builtin ohci-hcd --builtin ehci-hcd
> +
> +========================
> +Boot DomainU with pv_ops
> +========================
> +
> + 1. make config of DomU
> + # vi /etc/xen/rhel5
> + kernel = "/boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU"
> + ramdisk = "/boot/efi/efi/redhat/initrd-2.6-pv_ops-xenU.img"
> + vcpus = 1
> + memory = 512
> + name = "rhel5"
> + disk = [ 'file:/root/rhel5.img,xvda1,w' ]
> + root = "/dev/xvda1 ro"
> + extra= "rhgb console=hvc0"
> +
> + 2. After boot xen and dom0, start xend
> + # /etc/init.d/xend start
> + ( In the debugging case, # XEND_DEBUG=1 xend trace_start )
> +
> + 3. start domU
> + # xm create -c rhel5
> +
> +=========
> +Reference
> +=========
> +- Wiki of Xen/IA64 upstream merge
> + http://wiki.xensource.com/xenwiki/XenIA64/UpstreamMerge
> +
> +Witten by Akio Takebe <[EMAIL PROTECTED]> on 28 May 2008
Written
> --
---
~Randy
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.linux-foundation.org/mailman/listinfo/virtualization