About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / ia64 / xen.txt


Based on kernel version 4.16.1. Page generated on 2018-04-09 11:53 EST.

1	       Recipe for getting/building/running Xen/ia64 with pv_ops
2	       --------------------------------------------------------
3	
4	This recipe describes how to get xen-ia64 source and build it,
5	and run domU with pv_ops.
6	
7	============
8	Requirements
9	============
10	
11	  - python
12	  - mercurial
13	    it (aka "hg") is an open-source source code
14	    management software. See the below.
15	    http://www.selenic.com/mercurial/wiki/
16	  - git
17	  - bridge-utils
18	
19	=================================
20	Getting and Building Xen and Dom0
21	=================================
22	
23	  My environment is;
24	    Machine  : Tiger4
25	    Domain0 OS  : RHEL5
26	    DomainU OS  : RHEL5
27	
28	 1. Download source
29	    # hg clone http://xenbits.xensource.com/ext/ia64/xen-unstable.hg
30	    # cd xen-unstable.hg
31	    # hg clone http://xenbits.xensource.com/ext/ia64/linux-2.6.18-xen.hg
32	
33	 2. # make world
34	
35	 3. # make install-tools
36	
37	 4. copy kernels and xen
38	    # cp xen/xen.gz /boot/efi/efi/redhat/
39	    # cp build-linux-2.6.18-xen_ia64/vmlinux.gz \
40	      /boot/efi/efi/redhat/vmlinuz-2.6.18.8-xen
41	
42	 5. make initrd for Dom0/DomU
43	    # make -C linux-2.6.18-xen.hg ARCH=ia64 modules_install \
44	      O=$(pwd)/build-linux-2.6.18-xen_ia64
45	    # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6.18.8-xen.img \
46	      2.6.18.8-xen --builtin mptspi --builtin mptbase \
47	      --builtin mptscsih --builtin uhci-hcd --builtin ohci-hcd \
48	      --builtin ehci-hcd
49	
50	================================
51	Making a disk image for guest OS
52	================================
53	
54	 1. make file
55	    # dd if=/dev/zero of=/root/rhel5.img bs=1M seek=4096 count=0
56	    # mke2fs -F -j /root/rhel5.img
57	    # mount -o loop /root/rhel5.img /mnt
58	    # cp -ax /{dev,var,etc,usr,bin,sbin,lib} /mnt
59	    # mkdir /mnt/{root,proc,sys,home,tmp}
60	
61	    Note: You may miss some device files. If so, please create them
62	    with mknod. Or you can use tar instead of cp.
63	
64	 2. modify DomU's fstab
65	    # vi /mnt/etc/fstab
66	       /dev/xvda1  /            ext3    defaults        1 1
67	       none        /dev/pts     devpts  gid=5,mode=620  0 0
68	       none        /dev/shm     tmpfs   defaults        0 0
69	       none        /proc        proc    defaults        0 0
70	       none        /sys         sysfs   defaults        0 0
71	
72	 3. modify inittab
73	    set runlevel to 3 to avoid X trying to start
74	    # vi /mnt/etc/inittab
75	       id:3:initdefault:
76	    Start a getty on the hvc0 console
77	       X0:2345:respawn:/sbin/mingetty hvc0
78	    tty1-6 mingetty can be commented out
79	
80	 4. add hvc0 into /etc/securetty
81	    # vi /mnt/etc/securetty (add hvc0)
82	
83	 5. umount
84	    # umount /mnt
85	
86	FYI, virt-manager can also make a disk image for guest OS.
87	It's GUI tools and easy to make it.
88	
89	==================
90	Boot Xen & Domain0
91	==================
92	
93	 1. replace elilo
94	    elilo of RHEL5 can boot Xen and Dom0.
95	    If you use old elilo (e.g RHEL4), please download from the below
96	    http://elilo.sourceforge.net/cgi-bin/blosxom
97	    and copy into /boot/efi/efi/redhat/
98	    # cp elilo-3.6-ia64.efi /boot/efi/efi/redhat/elilo.efi
99	
100	 2. modify elilo.conf (like the below)
101	    # vi /boot/efi/efi/redhat/elilo.conf
102	     prompt
103	     timeout=20
104	     default=xen
105	     relocatable
106	
107	     image=vmlinuz-2.6.18.8-xen
108	             label=xen
109	             vmm=xen.gz
110	             initrd=initrd-2.6.18.8-xen.img
111	             read-only
112	             append=" -- rhgb root=/dev/sda2"
113	
114	The append options before "--" are for xen hypervisor,
115	the options after "--" are for dom0.
116	
117	FYI, your machine may need console options like
118	"com1=19200,8n1 console=vga,com1". For example,
119	append="com1=19200,8n1 console=vga,com1 -- rhgb console=tty0 \
120	console=ttyS0 root=/dev/sda2"
121	
122	=====================================
123	Getting and Building domU with pv_ops
124	=====================================
125	
126	 1. get pv_ops tree
127	    # git clone http://people.valinux.co.jp/~yamahata/xen-ia64/linux-2.6-xen-ia64.git/
128	
129	 2. git branch (if necessary)
130	    # cd linux-2.6-xen-ia64/
131	    # git checkout -b your_branch origin/xen-ia64-domu-minimal-2008may19
132	    (Note: The current branch is xen-ia64-domu-minimal-2008may19.
133	    But you would find the new branch. You can see with
134	    "git branch -r" to get the branch lists.
135	    http://people.valinux.co.jp/~yamahata/xen-ia64/for_eagl/linux-2.6-ia64-pv-ops.git/
136	    is also available. The tree is based on
137	    git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 test)
138	
139	
140	 3. copy .config for pv_ops of domU
141	    # cp arch/ia64/configs/xen_domu_wip_defconfig .config
142	
143	 4. make kernel with pv_ops
144	    # make oldconfig
145	    # make
146	
147	 5. install the kernel and initrd
148	    # cp vmlinux.gz /boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU
149	    # make modules_install
150	    # mkinitrd -f /boot/efi/efi/redhat/initrd-2.6-pv_ops-xenU.img \
151	      2.6.26-rc3xen-ia64-08941-g1b12161 --builtin mptspi \
152	      --builtin mptbase --builtin mptscsih --builtin uhci-hcd \
153	      --builtin ohci-hcd --builtin ehci-hcd
154	
155	========================
156	Boot DomainU with pv_ops
157	========================
158	
159	 1. make config of DomU
160	   # vi /etc/xen/rhel5
161	     kernel = "/boot/efi/efi/redhat/vmlinuz-2.6-pv_ops-xenU"
162	     ramdisk = "/boot/efi/efi/redhat/initrd-2.6-pv_ops-xenU.img"
163	     vcpus = 1
164	     memory = 512
165	     name = "rhel5"
166	     disk = [ 'file:/root/rhel5.img,xvda1,w' ]
167	     root = "/dev/xvda1 ro"
168	     extra= "rhgb console=hvc0"
169	
170	 2. After boot xen and dom0, start xend
171	   # /etc/init.d/xend start
172	   ( In the debugging case, # XEND_DEBUG=1 xend trace_start )
173	
174	 3. start domU
175	   # xm create -c rhel5
176	
177	=========
178	Reference
179	=========
180	- Wiki of Xen/IA64 upstream merge
181	  http://wiki.xensource.com/xenwiki/XenIA64/UpstreamMerge
182	
183	Written by Akio Takebe <takebe_akio@jp.fujitsu.com> on 28 May 2008
Hide Line Numbers


About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog