QA:Testcase Boot Methods Pxeboot

From FedoraProject

(Difference between revisions)
Jump to: navigation, search
(fix a path)
(add virt-manager screenshot)
(One intermediate revision by one user not shown)
Line 1: Line 1:
 
{{QA/Test_Case
 
{{QA/Test_Case
|description=This test confirms that you are able to install a system when booting the installer using '''only''' a kernel and initial ramdisk image.
+
|description=This is to verify that it is possible to boot [[Anaconda]] and install the system by direct kernel+initrd boot. That can be achieved either by using [http://en.wikipedia.org/wiki/Preboot_Execution_Environment PXE boot] or by booting the kernel directly in a virtual machine.
{{admon/note|Pxeboot Images Required|This test case requires having pxeboot images made available for a system. For further information on PXE, please see  [http://en.wikipedia.org/wiki/Preboot_Execution_Environment http://en.wikipedia.org/wiki/Preboot_Execution_Environment]}}
+
 
|setup=
 
|setup=
# Set up a PXE server
+
<ol>
# Have the server serve out the {{filename|vmlinuz}} and {{filename|initrd.img}} files found in the {{filename|(arch)/os/images/pxeboot}} directory of the tree for the Fedora release, pre-release or candidate build you wish to test
+
<li>You will need {{filename|vmlinuz}} and {{filename|initrd.img}} files. Those are located in the {{filename|(arch)/os/images/pxeboot}} directory of the tree for the Fedora compose you wish to test.</li>
 +
<li>You will need a remote location containing Anaconda's {{filename|LiveOS/}} directory (containing the installer) and optionally also a package repository. Development composes are usually available at [http://dl.fedoraproject.org/pub/alt/stage/ dl.fedoraproject.org/pub/alt/stage/] (doesn't contain package repository). If you have a local mirror, you can make it accessible over any protocol supported by [[Anaconda_Boot_Options#repo|inst.repo]] boot option.</li>
 +
<li>''Option 1:'' Set up a PXE server.
 +
<ul>
 +
<li>This is not an easy task and requires some administrator knowledge. You can read the [http://docs.fedoraproject.org/en-US/Fedora/17/html/Installation_Guide/sn-pxe-server-manual.html appropriate section in the Installation guide for Fedora 17].</li>
 +
<li>The custom pxelinux config file can look like this:
 +
{{#tag:pre|DEFAULT vesamenu.c32
 +
 
 +
LABEL Fedora {{FedoraVersionNumber|next}}-Alpha-RC1 x86_64
 +
    KERNEL vmlinuz
 +
    INITRD initrd.img
 +
    APPEND inst.repo=http://dl.fedoraproject.org/pub/alt/stage/{{FedoraVersionNumber|next}}-Alpha-RC1/Fedora/x86_64/os/}}</li>
 +
</ul>
 +
</li>
 +
<li>''Option 2:'' Boot kernel directly in a virtual machine.
 +
<ul>
 +
<li>Prepare a virtual machine that can boot kernel+initrd pair directly, e.g. using {{package|virt-manager}} (virt-manager has a ''Direct kernel boot'' field where you can specify the kernel, initrd and any boot options).<br/>
 +
[[image:virt-manager-pxeboot.png|300px]]</li>
 +
</ul>
 +
</li>
 +
</ol>
 
|actions=
 
|actions=
# Boot the test system via PXE, using the {{filename|vmlinuz}} (kernel) and {{filename|initrd.img}} (initrd) files provided by the server, and passing a valid [[Anaconda_Boot_Options#repo|inst.repo]] argument pointing to a server containing a Fedora tree matching the release you are testing (see the [[Anaconda_Boot_Options#repo|inst.repo]] documentation for further instructions)
+
# Boot the system via PXE, or using a virtual machine with appropriate [[Anaconda_Boot_Options#repo|inst.repo]] boot argument (it has to point to the same compose you used for retrieving {{filename|vmlinuz}} and {{filename|initrd.img}}).
 +
# Proceed with installation.
 
|results=
 
|results=
# The kernel/initrd pair boots and, via dracut, handles download of the anaconda image from the specified repository
+
<ol>
# Dracut hands over to anaconda without error
+
<li>The system boots (using PXE or direct kernel boot in a virtual machine) and it downloads anaconda installer from the specified remote location.</li>
# The installer utilizes the package repository specified on the command line
+
<li>The installer starts correctly.</li>
 +
<li>If the remote location contains a yum repository, the said repository is used for installation. This can be checked by examining the {{filename|/tmp/packaging.log}} file. Example output:
 +
{{#tag:pre|
 +
09:34:37,295 DEBUG packaging: adding yum repo anaconda with baseurl http://download.fedoraproject.org/pub/fedora/linux/development/{{FedoraVersionNumber|next}}/x86_64/os/ and mirrorlist None
 +
09:34:37,313 DEBUG packaging: disabling repo fedora
 +
09:34:37,313 DEBUG packaging: disabling repo updates-testing
 +
09:34:37,314 DEBUG packaging: disabling repo updates
 +
}}</li>
 +
<li>The installation completes and the new system initiates boot properly</li>
 +
</ol>
 
}}
 
}}
  
 
[[Category:Installer Boot Methods]]
 
[[Category:Installer Boot Methods]]
 
[[Category:Package_anaconda_test_cases]]
 
[[Category:Package_anaconda_test_cases]]

Revision as of 10:15, 20 December 2012

Contents

Description

This is to verify that it is possible to boot Anaconda and install the system by direct kernel+initrd boot. That can be achieved either by using PXE boot or by booting the kernel directly in a virtual machine.

Setup

  1. You will need vmlinuz and initrd.img files. Those are located in the (arch)/os/images/pxeboot directory of the tree for the Fedora compose you wish to test.
  2. You will need a remote location containing Anaconda's LiveOS/ directory (containing the installer) and optionally also a package repository. Development composes are usually available at dl.fedoraproject.org/pub/alt/stage/ (doesn't contain package repository). If you have a local mirror, you can make it accessible over any protocol supported by inst.repo boot option.
  3. Option 1: Set up a PXE server.
    • This is not an easy task and requires some administrator knowledge. You can read the appropriate section in the Installation guide for Fedora 17.
    • The custom pxelinux config file can look like this:
      DEFAULT vesamenu.c32
      
      LABEL Fedora 22-Alpha-RC1 x86_64
          KERNEL vmlinuz
          INITRD initrd.img
          APPEND inst.repo=http://dl.fedoraproject.org/pub/alt/stage/22-Alpha-RC1/Fedora/x86_64/os/
  4. Option 2: Boot kernel directly in a virtual machine.
    • Prepare a virtual machine that can boot kernel+initrd pair directly, e.g. using Package-x-generic-16.pngvirt-manager (virt-manager has a Direct kernel boot field where you can specify the kernel, initrd and any boot options).
      Virt-manager-pxeboot.png

How to test

  1. Boot the system via PXE, or using a virtual machine with appropriate inst.repo boot argument (it has to point to the same compose you used for retrieving vmlinuz and initrd.img).
  2. Proceed with installation.

Expected Results

  1. The system boots (using PXE or direct kernel boot in a virtual machine) and it downloads anaconda installer from the specified remote location.
  2. The installer starts correctly.
  3. If the remote location contains a yum repository, the said repository is used for installation. This can be checked by examining the /tmp/packaging.log file. Example output:
    09:34:37,295 DEBUG packaging: adding yum repo anaconda with baseurl http://download.fedoraproject.org/pub/fedora/linux/development/22/x86_64/os/ and mirrorlist None
    09:34:37,313 DEBUG packaging: disabling repo fedora
    09:34:37,313 DEBUG packaging: disabling repo updates-testing
    09:34:37,314 DEBUG packaging: disabling repo updates
    
  4. The installation completes and the new system initiates boot properly