Bug 1733545 - Installation to image file - kernel command line is not generic
Summary: Installation to image file - kernel command line is not generic
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: anaconda
Version: 7.7
Hardware: All
OS: Linux
Target Milestone: rc
: 7.8
Assignee: Anaconda Maintenance Team
QA Contact: Release Test Team
Depends On:
Blocks: 1670353
TreeView+ depends on / blocked
Reported: 2019-07-26 13:27 UTC by Jan Stodola
Modified: 2021-02-13 07:34 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1733554 (view as bug list)
Last Closed:
Target Upstream Version:

Attachments (Terms of Use)

Description Jan Stodola 2019-07-26 13:27:30 UTC
Description of problem:
When running installation to an image file using anaconda, unexpected parameters can appear on the kernel command line of the created image. The parameters depend on the system where anaconda is executed. Here is an example of the kernel command line in an image file:

[root@localhost ~]# cat /proc/cmdline 
BOOT_IMAGE=/vmlinuz-3.10.0-1062.el7.x86_64 root=UUID=bd7bfb4a-bea0-46ab-9141-7f3ea51e349b ro spectre_v2=retpoline console=ttyS0
[root@localhost ~]#

"spectre_v2=retpoline" was added based on the CPU in the system (see bug 1659626), "console=ttyS0" was inherited from the kernel command line of the host system.

Such parameters should not be added to the kernel command line of installed images. Images should be generic.

Since composer (Image Builder) runs anaconda, images created by composer are affected as well.

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
1. (optional) Have a system with an Intel Skylake/Kaby Lake CPU
2. Modify the kernel command line of the system, add "console=ttyS0" and reboot the system
3. create a kickstart file:

[root@localhost ~]# cat autopart_plain.ks
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
timezone Europe/Prague
rootpw password
clearpart --all --initlabel
autopart --nolvm
bootloader --location=mbr

[root@localhost ~]#

4. dd if=/dev/zero of=/root/disk_console.img bs=1 count=1 seek=5G
5. anaconda -C --image /root/disk_console.img --kickstart /root/autopart_plain.ks --repo <REPO_PATH>
6. boot the image in a VM and check /proc/cmdline

Actual results:
/proc/cmdline contains parameters specific for the system anaconda was running on

Expected results:
/proc/cmdline doesn't contain any system-specific parameters unless they are explicitly requested

Note You need to log in before you can comment on or make changes to this bug.