From Fedora Project Wiki
(Unify the kickstart case steps) |
(1.5 GB RAM wasn't enough to download and run stage2, bump the requirements) |
||
(28 intermediate revisions by 5 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:Associated_release_criterion|Beta|kickstart-delivery}} | |||
{{QA/Test_Case | {{QA/Test_Case | ||
|description= | |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 | This test will verify that anaconda can load a kickstart file from a {{filename|file://}} path. This is a typical case for when the kickstart file is located in the {{filename|initrd.img}}. | ||
|setup= | |||
# Prepare a valid kickstart file. | |||
#* You can use an example kickstart available from [[QA:Testcase Kickstart Http Server Ks Cfg]]. | |||
#* If you want to create your own kickstart, you can examine the file {{filename|/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]]. | |||
|actions= | |actions= | ||
<ol> | |||
# Download the installer initial ramdisk. The ramdisk is typically called {{filename|images/pxeboot/initrd.img}} | <li>You need to place your kickstart file inside the ramdisk. You can either use <code>--initrd-inject</code> option of {{package|virt-install}} tool, or do that manually: | ||
<ul> | |||
<li>'''Option #1 - using virt-install''': | |||
Use <code>--initrd-inject <kickstart></code> and <code>--extra-args "inst.ks=file:/<kickstart>"</code> command line arguments. An example command would look like this (you need to change the ''location'' at least): | |||
{{#tag:pre|virt-install --name FedoraTest --ram 3000 --disk pool=default,size=10 --location http://dl.fedoraproject.org/pub/alt/stage/{{FedoraVersionNumber|next|short}}_Beta-1.6/Everything/x86_64/os/ --initrd-inject ks.cfg --extra-args "inst.ks=file:/ks.cfg"}}</li> | |||
<li>'''Option #2 - modifying ramdisk manually''': | |||
<ol> | |||
<li> Download the installer initial ramdisk. The ramdisk is typically called {{filename|images/pxeboot/initrd.img}} | |||
<li> Place the kickstart file into the root directory of the installer initial ramdisk using the {{command|cpio}} command. <pre>echo ks.cfg | cpio -c -o >> initrd.img</pre> | |||
<li> Boot into the installer kernel ({{filename|vmlinuz}}) and the modified initial ramdisk ({{filename|initrd.img}}) using any available means (PXE, virt-install, virt-manager, etc) | |||
<li> At the bootloader prompt, provide a location for the kickstart file at the boot prompt. Using the example above: <pre>inst.ks=file:///ks.cfg </pre> | |||
You also need to provide <code>[https://rhinstaller.github.io/anaconda/boot-options.html#inst-stage2 stage2=]</code> boot option for Anaconda to start correctly. | |||
</ol> | |||
</ul> | |||
</li> | |||
</ol> | |||
|results= | |results= | ||
<ol> | |||
<li> The {{filename|ks.cfg}} should be appended to the initrd. The file presence is '''not''' shown by <code>lsinitrd</code> (it can't display concatenated images). If you need to debug whether the file was included, boot the machine with <code>rd.break=cmdline rd.shell</code> kernel command line argument and use shell to confirm the presence of {{filename|ks.cfg}}. | |||
<li> The installer successfully initiates a kickstart install in accordance with the instructions supplied by the {{filename|ks.cfg}} file included in the initial ramdisk. To ensure the kickstart file is properly loaded, inspect the {{filename|anaconda.log}} for a lines similar to the following: | |||
<pre> | |||
INFO anaconda: Parsing kickstart: /run/install/ks.cfg | |||
</pre> | |||
<code>/run/install/ks.cfg</code> should contain your kickstart file</li> | |||
<li> The installer should honor the kickstart commands provided in the {{filename|ks.cfg}} file </li> | |||
<li> If sufficient commands are provided to fully automate an installation, the installer must not prompt for user input.</li> | |||
</ol> | |||
}} | }} | ||
[[Category:Kickstart Delivery]] | [[Category:Kickstart Delivery]] |
Latest revision as of 08:08, 12 September 2019
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
.
Setup
- Prepare a valid kickstart file.
- You can use an example kickstart available from QA:Testcase Kickstart Http Server Ks Cfg.
- If you want to create your own kickstart, you can 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.
How to test
- You need to place your kickstart file inside the ramdisk. You can either use
--initrd-inject
option of
tool, or do that manually:virt-install
- Option #1 - using virt-install:
Use
--initrd-inject <kickstart>
and--extra-args "inst.ks=file:/<kickstart>"
command line arguments. An example command would look like this (you need to change the location at least):virt-install --name FedoraTest --ram 3000 --disk pool=default,size=10 --location http://dl.fedoraproject.org/pub/alt/stage/41_Beta-1.6/Everything/x86_64/os/ --initrd-inject ks.cfg --extra-args "inst.ks=file:/ks.cfg"
- Option #2 - modifying ramdisk manually:
- 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:
inst.ks=file:///ks.cfg
You also need to provide
stage2=
boot option for Anaconda to start correctly.
- Download the installer initial ramdisk. The ramdisk is typically called
- Option #1 - using virt-install:
Use
Expected Results
- The
ks.cfg
should be appended to the initrd. The file presence is not shown bylsinitrd
(it can't display concatenated images). If you need to debug whether the file was included, boot the machine withrd.break=cmdline rd.shell
kernel command line argument and use shell to confirm the presence ofks.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 theanaconda.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.