Summary: | sys-kernel/linux-4.2: KVM changes breaks boot and app-emulation/qemu-2.4.0 fails to initialize guest | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sorin Panca <sorin.panca> |
Component: | Current packages | Assignee: | Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | alex_y_xu, kernel, qemu+disabled, sorin.panca, spookyghost |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
See Also: | https://launchpad.net/bugs/1505062 | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Sorin Panca
2015-09-26 09:06:17 UTC
I also found this problem reported on proxmox forum: http://forum.proxmox.com/threads/23636-Proxmox-4-No-display-with-kvm-virtual-machine a few days ago. I've run into this problem as well ("Guest has not initialized the display (yet)."). After numerous tests, I've found this behaviour is peculiar to the qemu 2.4.0-r1 running on any 4.2.x kernel. Qemu 2.4.0-r1 on kernel 4.1.6 works for on my rig. emerge --info Portage 2.2.22 (python 2.7.10-final-0, default/linux/amd64/13.0/no-multilib, gcc-4.9.3, glibc-2.21-r1, 4.2.1-gentoo x86_64) ================================================================= System uname: Linux-4.2.1-gentoo-x86_64-Intel-R-_Core-TM-_i7_CPU_Q_840_@_1.87GHz-with-gentoo-2.2 KiB Mem: 8106544 total, 5652132 free KiB Swap: 8000364 total, 8000364 free Timestamp of repository gentoo: Sun, 27 Sep 2015 18:45:02 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.0::gentoo dev-lang/python: 2.7.10::gentoo, 3.3.5-r2::gentoo, 3.4.3::gentoo dev-util/cmake: 3.3.2::gentoo dev-util/pkgconfig: 0.28-r3::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.17::gentoo sys-apps/sandbox: 2.9::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.12.6::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers) sys-libs/glibc: 2.21-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.us.gentoo.org/gentoo-portage priority: -1000 localhost location: /var/lib/layman masters: gentoo priority: 0 nvidia-drivers-overlay location: /var/lib/layman/x11-drivers/nvidia-drivers masters: gentoo priority: 50 ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -march=native -pipe" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -march=native -pipe" DISTDIR="/usr/portage/distfiles" EMERGE_DEFAULT_OPTS="--quiet-build=n" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://gentoo.osuosl.org/ ftp://ftp.osuosl.org/pub/gentoo http://lug.mtu.edu/gentoo ftp://lug.mtu.edu/gentoo ftp://mirrors.rit.edu ftp://ftpussg.iu.edu http://gentoo.mirrors.easynews.com ftp://gentoo.arcticnetwork.ca/pub/gentoo http://gentoo.arcticnetwork.ca" LANG="en_US.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X acl alsa amd64 berkdb bluetooth bzip2 cdr cli cracklib crypt cxx dbus declarative dri dvd exif flac fortran gallium gdbm gif gpm iconv ipv6 jpeg kde mmx mmxext modules ncurses nls nptl nsplugin ogg opengl openmp pam pcre png policykit qt3support qt5 readline sdl seccomp session sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 svg systemd tcpd tiff truetype udev unicode usb vorbis xml zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx sse sse2 sse3 ssse3 sse4_1 sse4_2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="2.7 3.4" Unset: CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS I decided to add some more info on these tests I've done with qemu and the kernels. 1.) All kernel versions I tested were gentoo-sources 2.) seabios is not the culprit: a temporary forced-install of seabios-1.8.2 with qemu-2.3.1 running on a gentoo-sources 4.2.x kernel works. 3.) I have just a single video card (nvidia geforce 445m). 4.) So far all attempts to boot my VM with qemu-2.4.0-r1 on a 4.2.x kernel fail with the aforementioned "Guest has not initialized the display (yet)." message. A subsequent reboot of the VM from a 4.1.6 kernel shows no evidence (in the VM logs) of the previous failed VM boot attempt from the 4.2.x kernel--The VM is never starting when booted from the 4.2.x kernel but I don't have the debugging chops to determine why. is the iso public ? can you post links to it and the exact commands you're using to boot it ? (In reply to SpanKY from comment #4) > is the iso public ? can you post links to it and the exact commands you're > using to boot it ? you don't need any drive, just use "qemu-system-x86_64 -enable-kvm" (no other options required). <qemu-2.4 will display the BIOS and iPXE (if configured) whereas >=2.4 will display a black screen. if you use VNC or SPICE or open and close the monitor then the message will be displayed. Just to add to Alex Hu's point. If I run "qemu-system-x86_64 --enable-kvm" (using qemu executable from qemu 2.4.x) when the host is running a 4.1.x kernel or less I can boot into the iPXE command. If I run that same command when the host is running a 4.2.x kernel, I get the message "Guest has not initialized the display (yet)." i haven't upgraded to linux-4.2 because it fails to boot on my system i spent time bisecting the kernel back and it was kvm changes that were breaking it :). those changes have been reverted upstream and should be in linux-4.2.4. so when that is released, i'd give that a spin to see if it helps with your problem too. patch landed upstream in cfed1e3de4764fb5b6a02c93ec246424b3bffd21 (4.3-rc5+). maybe we should backport this to 4.2? (In reply to Alex Xu (Hello71) from comment #9) cfed1e3de4764fb5b6a02c93ec246424b3bffd21 is a merge commit. i can't really see us backporting non-critical (really just security) changes, but that's for the kernel team. are you saying that after upgrading your system to the latest mainline, this bug no longer exists ? (In reply to SpanKY from comment #10) > (In reply to Alex Xu (Hello71) from comment #9) > > cfed1e3de4764fb5b6a02c93ec246424b3bffd21 is a merge commit. i can't really > see us backporting non-critical (really just security) changes, but that's > for the kernel team. > > are you saying that after upgrading your system to the latest mainline, this > bug no longer exists ? the merge commit says "SMM" which I diagnosed to be the cause of the issues (at least its emulation); I couldn't find this in the KVM parents, although I imagine it shouldn't be too hard. yes, QEMU initializes the display properly on my Nehalem now. considering all the changes are in the upstream kernel, i'm not sure there's anything for us to do. upstream already said they queued the patches for 4.2.4. FYI: vanilla kernel 4.2.4 still does not solve that. Tested on arm64 with qemu-2.4.0-r1. Downgrade to qemu-2.3.0-r5 works. For me the release of the gentoo-sources 4.3 kernel has solved this problem. My VM starts and id I simply run "qemu-system-x86_64 --enable-kvm", I can enter the iPXE pre-boot command environment (In reply to Mike louth from comment #14) > For me the release of the gentoo-sources 4.3 kernel has solved this problem. > > My VM starts and id I simply run "qemu-system-x86_64 --enable-kvm", I can > enter the iPXE pre-boot command environment Good to know (just tested: 4.2.5 that does NOT fix it here). (In reply to F. Kater from comment #15) > (In reply to Mike louth from comment #14) > > For me the release of the gentoo-sources 4.3 kernel has solved this problem. > > > > My VM starts and id I simply run "qemu-system-x86_64 --enable-kvm", I can > > enter the iPXE pre-boot command environment > > Good to know (just tested: 4.2.5 that does NOT fix it here). Yes, kernel 4.3 fixes it here, too. Qemu 2.4.0 works with it now. FYI: While qemu-2.4.0 works again with kernel 4.3 as stated above, I noticed a memory leak with roughly 1 MB each 5 seconds. (This may or or may not be related to this topic.) So, kernel 4.3 is no option yet here. I can confirm it works with kernel 4.3.0 and qemu 2.4.1. If there are other problems (like memory leaks, etc.), another bug report should be opened. This doesn't mean the combination of software versions in the bug report title works now, so I will close this bug as obsolete. Thank you! |