Description

This test will verify that anaconda can load a kickstart file from a file:// path. This is a typical case for when the kickstart file is located in the initrd.img.

How to test

Prepare a valid kickstart file. For help creating a kickstart file, examine the file /root/anaconda-ks.cfg on a previously installed system. This file contains the kickstart instructions used to install that system. For additional guidance on kickstart syntax, see Anaconda/Kickstart

Now you need to place your kickstart file inside the ramdisk. You can either do that manually, or use --initrd-inject option of python-virtinst tool, if you use it:

Option #1 - using a virt-install:
Use --initrd-inject <kickstart> and --extra-args "ks=file:/<kickstart>" command line arguments. An example command would look like this (you need to change the location at least):

Download the installer initial ramdisk. The ramdisk is typically called images/pxeboot/initrd.img

Place the kickstart file into the root directory of the installer initial ramdisk using the cpio command.

echo ks.cfg | cpio -c -o >> initrd.img

Boot into the installer kernel (vmlinuz) and the modified initial ramdisk (initrd.img) using any available means (PXE, virt-install, virt-manager, etc)

At the bootloader prompt, provide a location for the kickstart file at the boot prompt. Using the example above:

ks=file:///ks.cfg

You also need to provide stage2= boot option for Anaconda to start correctly.

Expected Results

The ks.cfg should be appended to the initrd. The file presence is not shown by lsinitrd (it can't display concatenated images). If you need to debug whether the file was included, boot the machine with rd.break=cmdline rd.shell kernel command line argument and use shell to confirm the presence of ks.cfg.

The installer successfully initiates a kickstart install in accordance with the instructions supplied by the ks.cfg file included in the initial ramdisk. To ensure the kickstart file is properly loaded, inspect the anaconda.log for a lines similar to the following:

INFO anaconda: Parsing kickstart: /run/install/ks.cfg

/run/install/ks.cfg should contain your kickstart file

The installer should honor the kickstart commands provided in the ks.cfg file

If sufficient commands are provided to fully automate an installation, the installer must not prompt for user input.