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

Hi, Isaku

>Akio, could you give me your signoff?
Sorry for my late responce.
I update it for your comments.

Signed-off-by: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>

>On Wed, May 21, 2008 at 06:14:45PM +0900, Isaku Yamahata wrote:
>> On Wed, May 21, 2008 at 05:45:55PM +0900, Akio Takebe wrote:
>> 
>> > Isaku already has posted pv_ops.txt,
>> > Do I had better add this recipe into other(xensource wiki
>> > or xen-ia64 tree)?
>> 
>> My document describes about pv_op itself, on the other hand
>> your document describes how to boot xen domU.
>> So I suppose that it should be Documentation/ia64/xen.txt
>> or something like that.


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: 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.)

 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 <takebe_akio@xxxxxxxxxxxxxx> on 28 May 2008


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