public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops.
@ 2008-10-17  2:18 Isaku Yamahata
  2008-10-17  4:45 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with Randy Dunlap
  2008-10-17  5:46 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
  0 siblings, 2 replies; 3+ messages in thread
From: Isaku Yamahata @ 2008-10-17  2:18 UTC (permalink / raw)
  To: linux-ia64

Recipe for useing xen/ia64 with pv_ops domU.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
---
 Documentation/ia64/xen.txt |  183 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ia64/xen.txt

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,
+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@96 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,modeb0  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 
+     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\x19200,8n1 console=vga,com1". For example,
+append="com1\x19200,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 <takebe_akio@jp.fujitsu.com> on 28 May 2008
-- 
1.6.0.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with
  2008-10-17  2:18 [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
@ 2008-10-17  4:45 ` Randy Dunlap
  2008-10-17  5:46 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
  1 sibling, 0 replies; 3+ messages in thread
From: Randy Dunlap @ 2008-10-17  4:45 UTC (permalink / raw)
  To: linux-ia64

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@96 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,modeb0  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 
> +     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\x19200,8n1 console=vga,com1". For example,
> +append="com1\x19200,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 <takebe_akio@jp.fujitsu.com> on 28 May 2008

   Written

> -- 

---
~Randy

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops.
  2008-10-17  2:18 [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
  2008-10-17  4:45 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with Randy Dunlap
@ 2008-10-17  5:46 ` Isaku Yamahata
  1 sibling, 0 replies; 3+ messages in thread
From: Isaku Yamahata @ 2008-10-17  5:46 UTC (permalink / raw)
  To: linux-ia64

Thank you for the review.
Here is the updated one. I also found one more typo with a spell checker.

From 922c22bf141059f9ad99686d5682d80fac413341 Mon Sep 17 00:00:00 2001
From: Isaku Yamahata <yamahata@valinux.co.jp>
Date: Wed, 28 May 2008 17:13:53 +0900
Subject: [PATCH] ia64/xen: a recipe for using xen/ia64 with pv_ops.

Recipe for useing xen/ia64 with pv_ops domU.

Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: Randy Dunlap <randy.dunlap@oracle.com>

---
 Documentation/ia64/xen.txt |  183 ++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 183 insertions(+), 0 deletions(-)
 create mode 100644 Documentation/ia64/xen.txt

diff --git a/Documentation/ia64/xen.txt b/Documentation/ia64/xen.txt
new file mode 100644
index 0000000..c61a99f
--- /dev/null
+++ b/Documentation/ia64/xen.txt
@@ -0,0 +1,183 @@
+       Recipe for getting/building/running Xen/ia64 with pv_ops
+       --------------------------------------------------------
+
+This recipe describes how to get xen-ia64 source and build it,
+and run domU with pv_ops.
+
+======
+Requirements
+======
+
+  - python
+  - mercurial
+    it (aka "hg") is an 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 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@96 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 instead of cp.
+
+ 2. modify DomU's fstab
+    # vi /mnt/etc/fstab
+       /dev/xvda1  /            ext3    defaults        1 1
+       none        /dev/pts     devpts  gid=5,modeb0  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 
+     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\x19200,8n1 console=vga,com1". For example,
+append="com1\x19200,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
+
+Written by Akio Takebe <takebe_akio@jp.fujitsu.com> on 28 May 2008
-- 
1.6.0.2



On Thu, Oct 16, 2008 at 09:45:32PM -0700, Randy Dunlap wrote:
> 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@96 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,modeb0  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 
> > +     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\x19200,8n1 console=vga,com1". For example,
> > +append="com1\x19200,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 <takebe_akio@jp.fujitsu.com> on 28 May 2008
> 
>    Written
> 
> > -- 
> 
> ---
> ~Randy
> 

-- 
yamahata

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2008-10-17  5:46 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-10-17  2:18 [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata
2008-10-17  4:45 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with Randy Dunlap
2008-10-17  5:46 ` [PATCH 32/33] ia64/xen: a recipe for using xen/ia64 with pv_ops Isaku Yamahata

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox