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: Akio Takebe <takebe_akio@xxxxxxxxxxxxxx>
Subject: Re: [Xen-ia64-devel] [RFC][DRAFT] linux-2.6/Documentation/ia64/pv_ops.txt
From: Isaku Yamahata <yamahata@xxxxxxxxxxxxx>
Date: Wed, 21 May 2008 18:41:36 +0900
Cc: Alex Williamson <alex.williamson@xxxxxx>, xen-ia64-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 21 May 2008 02:41:51 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxx
In-reply-to: <8BC8BB1F153725takebe_akio@xxxxxxxxxxxxxx>
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> <8BC8BB1F153725takebe_akio@xxxxxxxxxxxxxx>
Sender: xen-ia64-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Mutt/1.5.6i
Some inlined comment.

On Wed, May 21, 2008 at 05:45:55PM +0900, Akio Takebe wrote:
> 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.

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

The current branch is surely xen-ia64-domu-minimal-2008may19.
But in future the new branch would be created. So please warn it here.

> 
>  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

?highligt=... should be removed.

-- 
yamahata

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