From Fedora Project Wiki
(add the 'associated criterion' block) |
(update sample config and log output) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{Template:Associated_release_criterion| | {{Template:Associated_release_criterion|Beta|direct-kernel-boot}} | ||
{{QA/Test_Case | {{QA/Test_Case | ||
Line 9: | Line 9: | ||
<li>''Option 1:'' Set up a PXE server. | <li>''Option 1:'' Set up a PXE server. | ||
<ul> | <ul> | ||
<li>This is not an easy task and requires some administrator knowledge. You can read the [ | <li>This is not an easy task and requires some administrator knowledge. You can read the [https://docs.fedoraproject.org/en-US/fedora/f{{FedoraVersionNumber}}/install-guide/advanced/Network_based_Installations/ appropriate section in the Installation guide for Fedora {{FedoraVersionNumber}}].</li> | ||
<li>The custom pxelinux config file can look like this: | <li>The custom pxelinux config file can look like this: | ||
{{#tag:pre| | {{#tag:pre|default vesamenu.c32 | ||
prompt 1 | |||
timeout 600 | |||
label linux | |||
menu label ^Install Fedora | |||
menu default | |||
kernel fedora/vmlinuz | |||
append initrd=fedora/initrd.img inst.repo=https://dl.fedoraproject.org/pub/alt/stage/{{FedoraVersionNumber|next}}_Beta-1.1/Server/x86_64/os/}}</li> | |||
</ul> | </ul> | ||
</li> | </li> | ||
Line 33: | Line 36: | ||
<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> | <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> | ||
<li>The installer starts correctly.</li> | <li>The installer starts correctly.</li> | ||
<li>If the remote location contains a | <li>If the remote location contains a DNF repository, that repository is used for installation. This can be checked by examining the {{filename|/tmp/packaging.log}} file. Example output: | ||
{{#tag:pre| | {{#tag:pre| | ||
09: | 09:35:25,625 INF packaging: added repo: 'anaconda' - https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os | ||
09: | 09:35:25,647 DBG dnf: repo: downloading from remote: anaconda | ||
09: | 09:35:27,161 INF packaging: enabled repo: '' - ['https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os'] and got repomd | ||
09: | 09:35:27,163 DBG dnf: repo: using cache for: anaconda | ||
09:35:27,163 DBG packaging: repo anaconda: _sync_metadata success from ['https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os'] | |||
09:35:27,165 DBG dnf: repo: using cache for: anaconda | |||
05:35:50,985 DBG dnf: anaconda: using metadata from Tue 20 Aug 2019 02:34:29 AM EDT. | |||
}}</li> | }}</li> | ||
<li>The installation completes and the new system initiates boot properly</li> | <li>The installation completes and the new system initiates boot properly</li> |
Latest revision as of 17:37, 20 August 2019
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
- You will need
vmlinuz
andinitrd.img
files. Those are located in the(arch)/os/images/pxeboot
directory of the tree for the Fedora compose you wish to test. - 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. - 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 41.
- The custom pxelinux config file can look like this:
default vesamenu.c32 prompt 1 timeout 600 label linux menu label ^Install Fedora menu default kernel fedora/vmlinuz append initrd=fedora/initrd.img inst.repo=https://dl.fedoraproject.org/pub/alt/stage/42_Beta-1.1/Server/x86_64/os/
- Option 2: Boot kernel directly in a virtual machine.
- Prepare a virtual machine that can boot kernel+initrd pair directly, e.g. using
virt-manager
(virt-manager has a Direct kernel boot field where you can specify the kernel, initrd and any boot options).
- Prepare a virtual machine that can boot kernel+initrd pair directly, e.g. using
How to test
- 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
andinitrd.img
). - Proceed with installation.
Expected Results
- The system boots (using PXE or direct kernel boot in a virtual machine) and it downloads anaconda installer from the specified remote location.
- The installer starts correctly.
- If the remote location contains a DNF repository, that repository is used for installation. This can be checked by examining the
/tmp/packaging.log
file. Example output:09:35:25,625 INF packaging: added repo: 'anaconda' - https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os 09:35:25,647 DBG dnf: repo: downloading from remote: anaconda 09:35:27,161 INF packaging: enabled repo: '' - ['https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os'] and got repomd 09:35:27,163 DBG dnf: repo: using cache for: anaconda 09:35:27,163 DBG packaging: repo anaconda: _sync_metadata success from ['https://dl.fedoraproject.org/pub/alt/stage/31_Beta-1.1/Server/x86_64/os'] 09:35:27,165 DBG dnf: repo: using cache for: anaconda 05:35:50,985 DBG dnf: anaconda: using metadata from Tue 20 Aug 2019 02:34:29 AM EDT.
- The installation completes and the new system initiates boot properly