I am trying to install a Centos 5.5 xen domU using this method: http://wiki.centos.org/HowTos/Xen/InstallingCentOSDomU

It suggests a kickstart config file served by the local apache. I managed to install it on a physical machine , but when I am trying the installation on a virtualbox instance (dom0 on latest virtualbox) anaconda exits with the following errors:

Running anaconda, the CentOS system installer - please wait...                 
Traceback (most recent call last):
  File "/usr/bin/anaconda", line 733, in ?
    vncksdata = setVNCFromKickstart(opts)
  File "/usr/bin/anaconda", line 277, in setVNCFromKickstart
  File "/usr/lib/python2.4/site-packages/pykickstart/parser.py", line 1209, in readKickstart
    self.handleCommand(lineno, args)
  File "/usr/lib/python2.4/site-packages/pykickstart/parser.py", line 1069, in handleCommand
    raise KickstartParseError, formatErrorMsg(lineno, msg=_("Unknown command: %s" % cmd))
pykickstart.parser.KickstartParseError: The following problem occurred on line 1 of the kickstart file:

Unknown command: <!DOCTYPE

install exited abnormally [1/1] 

an interactive Installation works and I managed to get a funcional xen vm, the kickstart file is downloable via links, I have Selinux disabled. I am pretty sure of the kickstart file syntax, has anyone any hint?


your local apache is serving the incorrect file, i think it is serving an html file instead of the kickstart file.

Unknown command: <!DOCTYPE
| improve this answer | |
  • you were right this is the first line of a 404 served by my apache, I thought the kickstart file link was the one I manually tested with links but I was wrong... – golemwashere Aug 8 '10 at 15:30

It sounds like either your kickstart file contains a DOCTYPE declaration at the beginning or your Apache server is adding it when it sends the content back to the request.

The kickstart file itself should be returned back as text/plain. I typically write my kickstart files in PHP so I can dynamically change values inside but I start the file off with the following header line:

<? header('Content-type: text/plain'); ?>

That ensures the file is returned properly regardless of the file extension in the event that Apache tries to do determine the MIME type.

I'll also add that in my kickstart directory I use the following Apache Directory block as well:

<Directory "/path/to/ks/">
    Options +MultiViews -Indexes

I then name my kickstart files with .php extensions, such as base-centos55.ks.php and then in my PXE boot configuration I append ks=http://xxx.xxx.xxx.xxx/path/to/ks/base-centos55.ks to load the file. The MultiViews option is what allows you to leave the extension off and let Apache determine from what files are available.

| improve this answer | |
  • topdog was right and my kickstart link was wrong... anyway thanks for the insights on dynamical kickstart config files – golemwashere Aug 8 '10 at 15:31

Beware that in the event your kickstart file can not be located in the ks= parameter, the same error will be shown. For instance, I had been trying to use a kickstart file located on a virtual server configured with apache and the installer, rightly so, could not resolve my virtual website. (Using a resolvable, actual IP helped)

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.