Bug 1733554

Summary: Installation to image file - kernel command line is not generic
Product: Red Hat Enterprise Linux 8 Reporter: Jan Stodola <jstodola>
Component: anacondaAssignee: Anaconda Maintenance Team <anaconda-maint-list>
Status: CLOSED WONTFIX QA Contact: Release Test Team <release-test-team-automation>
Severity: medium Docs Contact:
Priority: medium    
Version: 8.1   
Target Milestone: rc   
Target Release: 8.1   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: 1733545 Environment:
Last Closed: 2021-02-01 07:44:06 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1689193    

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.

Comment 5 RHEL Program Management 2021-02-01 07:44:06 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.