Bug 1733554 - Installation to image file - kernel command line is not generic
Summary: Installation to image file - kernel command line is not generic
Keywords:
Status: NEW
Alias: None
Product: Red Hat Enterprise Linux 8
Classification: Red Hat
Component: anaconda
Version: 8.1
Hardware: All
OS: Linux
medium
medium
Target Milestone: rc
: 8.1
Assignee: Anaconda Maintenance Team
QA Contact: Release Test Team
URL:
Whiteboard:
Depends On:
Blocks: 1689193
TreeView+ depends on / blocked
 
Reported: 2019-07-26 13:49 UTC by Jan Stodola
Modified: 2020-02-07 17:16 UTC (History)
0 users

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of: 1733545
Environment:
Last Closed:
Type: Bug
Target Upstream Version:


Attachments (Terms of Use)

Description Jan Stodola 2019-07-26 13:49:33 UTC
+++ This bug was initially created as a clone of Bug #1733545 +++

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):
anaconda-21.48.22.156-1.el7
RHEL-7.7

How reproducible:
always

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
cmdline
keyboard --vckeymap=us --xlayouts='us'
lang en_US.UTF-8
timezone Europe/Prague
rootpw password
reboot
clearpart --all --initlabel
autopart --nolvm
bootloader --location=mbr

%packages
%end
[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

--- Additional comment from Jan Stodola on 2019-07-26 15:29 CEST ---

Comment 1 Jan Stodola 2019-07-26 13:51:37 UTC
RHEL-8 clone. It's reproducible with anaconda-29.19.1.6-1.el8 and "console=ttyS0" on the kernel command line of the host system.


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