Hi Folks:
I figured out the problem. Unattended network boot installs do not work because the XCP installation reboots itself which leads to an endless loop.
I fixed it temporarily by creating a pxelinux.cfg menu that looks like this.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 | default menu.c32 prompt 0 timeout 100 # 10 seconds ontimeout bootlocal menu width 80 menu margin 10 menu title Boot Options label xenserver menu indent 4 menu label ^Remote Installation kernel mboot.c32 append xenserver/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,tty --- xenserver/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://<IP-address>/master/answerfile.xml install --- xenserver/install.img label bootlocal menu default menu indent 4 menu label ^Local Boot localboost 0 |
I had to install a newer version of syslinux (3.75) to make the timeout work because the one that comes with CentOS 5.5 by default is really old (3.11) and has a bug in it that causes the timeout stuff to not work.
I can now install remotely by choosing the “R” option but by default it will do a localboot.
This is not an acceptable solution for a datacenter that wants to support automatic setup when a blade or rackmount is powered up but it will do for now.
Cheers,
Joe
From: Joe Linoff
Sent: Saturday, November 20, 2010 4:34 PM
To: xen-users@xxxxxxxxxxxxxxxxxxx
Cc: Joe Linoff
Subject: XCP 0.5 PXE/TFTP infinite boot loop problem
Hi Folks:
I need some help or some hints about how to debug an infinite boot loop for an XCP 0.5 host. I am almost sure that it is pilot error but I can’t figure out what I did wrong. Any insights would be greatly appreciated.
My test network is configured to PXE/TFTP install xenserver on several hosts by MAC address. I used the template in Appendix B of the installation guide. Everything seems to be working just fine. The PXE boot finds the TFTP server and installs xenserver. The answerfile is successfully invoked. The configuration process completes and everything looks fine but then it reboots itself and the process starts again.
I don’t have access to the console right now (this is on a rack in a remote location) and I had to go home so I am trying to create a setup that will reproduce the problem locally but that will take awhile. For remote debugging I am using wireshark to analyze the dhcp server/xcp host communication which allows me to observe the loop via packet interactions unfortunately I don’t have access to the console. The fact that it setups correctly and uses the answerfile seems to indicate that the DHCP setup it okay.
Here is the syslinux pxlinux.cfg file that I am using. Note that I had to remove the absolute paths from the example in the installation guide to make it work. Also note that I added an extra layer in the /tftpboot directory hierarchy but that shouldn’t matter because TFTP is finding everything.
DEFAULT xenserver
LABEL xenserver
KERNEL mboot.c32
APPEND xenserver/xen.gz dom0_mem=752M com1=115200,8n1 console=com1,tty --- xenserver/vmlinuz xencons=hvc console=hvc0 console=tty0 answerfile=http://10.45.2.1/tcc/xenserver/answerfile install --- xenserver/install.img
Here is the one that I intend to use after the host is installed for boots from the local disk:
DEFAULT bootlocal
LABEL bootlocal
LOCALBOOT 0
Here is the answerfile:
<?xml version="1.0"?>
<installation>
<primary-disk gueststorage="yes">sda</primary-disk>
<keymap>us</keymap>
<root-password>tabula</root-password>
<source type="url">http://<server>/tcc/xenserver/packages</source>
<post-install-script type="url">http://<server>/tcc/xenserver/scripts/post-install-script</post-install-script>
<admin-interface name="eth0" proto="dhcp"></admin-interface>
<timezone>America/Los_Angeles</timezone>
</installation>
Here is the post-install script:
#!/bin/bash
# do nothing for now
Thanks,
Joe