Detect virtualization capabilities in the installer
Hello,
I have seen that the system is trying to make a virtualization detection, but it's not quite right. At the first boot in cmdline, i have seen that a parameter should not be there. It would be about: kvm-intel.nested=1 and intel_iommu=igfx_off
my system is: a container of type vm - guest KVM It does not have virtualization capabilities.
Intel VT-x, virtualization support enabled in BIOS.
lscpu | grep vmx | wc -l
0
Intel extended page table support enabled to make emulation of guest page tables faster.
lscpu | grep ept | wc -l
0
the installer should correctly detect the type of virtualization, and the processor capabilities to properly configure the cmdline. if the two parameters come in the kernel, it should be done in such a way that the kernel allows dynamic parameters for cmdline. for the beginning, it would be better for the detection to be done at installation.
root@lnx-mgmt ~ # lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 40 bits physical, 48 bits virtual
CPU(s): 10
On-line CPU(s) list: 0-9
Thread(s) per core: 1
Core(s) per socket: 5
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 45
Model name: Intel(R) Xeon(R) CPU E5-2630 0 @ 2.30GHz
Stepping: 7
CPU MHz: 2294.257
BogoMIPS: 4588.51
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
L3 cache: 16384K
NUMA node0 CPU(s): 0-4
NUMA node1 CPU(s): 5-9
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon rep_good nopl xtopology cpuid pni pclmulqdq ssse3 cx16 pcid sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx hypervisor lahf_lm cpuid_fault pti tsc_adjust xsaveopt arat
root@lnx-mgmt ~ # lspci
00:00.0 Host bridge: Intel Corporation 82G33/G31/P35/P31 Express DRAM Controller
00:01.0 VGA compatible controller: Red Hat, Inc. Virtio GPU (rev 01)
00:1a.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#4 (rev 03)
00:1a.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#5 (rev 03)
00:1a.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#6 (rev 03)
00:1a.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller clearlinux/distribution#2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 7500/5520/5500/X58 I/O Hub PCI Express Root Port 0 (rev 02)
00:1d.0 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#1 (rev 03)
00:1d.1 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#2 (rev 03)
00:1d.2 USB controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller clearlinux/distribution#3 (rev 03)
00:1d.7 USB controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller clearlinux/distribution#1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev 92)
00:1f.0 ISA bridge: Intel Corporation 82801IB (ICH9) LPC Interface Controller (rev 02)
00:1f.2 SATA controller: Intel Corporation 82801IR/IO/IH (ICH9R/DO/DH) 6 port SATA Controller [AHCI mode] (rev 02)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 02)
05:01.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:02.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:03.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
05:04.0 PCI bridge: Red Hat, Inc. QEMU PCI-PCI bridge
06:03.0 Unclassified device [00ff]: Red Hat, Inc. Virtio memory balloon
06:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
06:08.0 Communication controller: Red Hat, Inc. Virtio console
06:12.0 Ethernet controller: Red Hat, Inc. Virtio network device
root@lnx-mgmt ~ # cat /proc/cmdline | tr ' ' '\n\r'
root=PARTUUID=84aa5c84-aab7-41c1-af4d-f4e042032e5c
quiet
console=tty0
console=ttyS0,115200n8
init=/usr/bin/initra-desktop
initcall_debug
tsc=reliable
no_timer_check
noreplace-smp
kvm-intel.nested=1
rootfstype=ext4,btrfs,xfs
intel_iommu=igfx_off
cryptomgr.notests
rcupdate.rcu_expedited=1
rcu_nocbs=0-64
rw
loglevel=1
root@lnx-mgmt ~ # uname -a
Linux lnx-mgmt 5.0.17-760.native clearlinux/distribution#1 SMP Thu May 16 21:38:18 UTC 2019 x86_64 GNU/Linux
The clr-installer is really targeted for bare metal installs more than KVM install; we do not even list the kernel-kvm as an option in the installer.
Perhaps you want the KVM or other virtual image options from the download page: https://clearlinux.org/downloads
Or you could switch to the KVM kernel manual after the installation.
I know clr-installer does some basic detection of Virtalbox to set the LTS kernel. Should that functionality be enhanced?
Hello,
I would say yes, to be more automatic. In my case, I had a virtual environment that does not support nested virtualization. And I wish some boot flags didn't exist after installation.
I would like the live-server to have a more precise installation, depending on the environment used. ( virtual or bare metal). I would like when the installer starts, it will automatically do the hardware detection and the virtualization environment used.
Thank you very much.