WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-ia64-devel

Re: [Xen-ia64-devel] [RFC][DRAFT] linux-2.6/Documentation/ia64/pv_ops.tx

To: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [RFC][DRAFT] linux-2.6/Documentation/ia64/pv_ops.txt
From: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Date: Wed, 21 May 2008 17:45:55 +0900
Cc: Alex Williamson <alex.williamson@xxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 21 May 2008 01:47:22 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <20080521055151.GD26483%yamahata@xxxxxxxxxxxxx>
List-help: <mailto:xen-ia64-devel-request@lists.xensource.com?subject=help>
List-id: Discussion of the ia64 port of Xen <xen-ia64-devel.lists.xensource.com>
List-post: <mailto:xen-ia64-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/cgi-bin/mailman/listinfo/xen-ia64-devel>, <mailto:xen-ia64-devel-request@lists.xensource.com?subject=unsubscribe>
References: <85C8BAF8350985takebe_akio@xxxxxxxxxxxxxx> <20080521055151.GD26483%yamahata@xxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
Hi, Isaku and all

Thank you.
I could bootup paravirtualized domU with your dot config.
And some of /dev files are not copied properly.
/dev/console, /dev/null...

I re-made these by mknod, I could boot it.
I updated my recipe. 

Isaku already has posted pv_ops.txt,
Do I had better add this recipe into other(xensource wiki
or xen-ia64 tree)?

Best Regards,

Akio Takebe

---
       Recipe for getting/building/running Xen/ia64 with pv_ops
       --------------------------------------------------------

This recipe discribes how to get xen-ia64 source and build it,
and run domU with pv_ops.

===========
Requirement
===========

  - python
  - mercurial
    it (aka "hg") is a open-source source code 
    management software. See the below.
    http://www.selenic.com/mercurial/wiki/
  - git
  - bridge-utils

=================================
Getting and Building Xen and Dom0
=================================

  My enviroment 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:Some device files may not be copied properly.
    In the case of that, you should make these manually with mknod.

 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 
    (you can see git branch -r to get the branch lists.)

 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?highlight=%28pv_ops%29

Witten by Akio Takebe <takebe_akio@xxxxxxxxxxxxxx> on 21 May 2008


_______________________________________________
Xen-ia64-devel mailing list
Xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-ia64-devel