Skip to contentSkip to conversation

qemu conf: Fix kernel module autoloading for uvesafb on genericx86

PATCH Superseded Alejandro Hernandez 2 participants 3 messages Sep 5, 2017 – Sep 7, 2017

v1 of 2 Superseded Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qemu conf: Fix kernel module autoloading for uvesafb on genericx86

After commit e8b1c653946ef921b65d47e52aea0dc530ef4286, we started seeing errors like the following during boot on genericx86 machines:

uvesafb: failed to execute /sbin/v86d
uvesafb: probe of uvesafb.0 failed with error -22
uvesafb: vbe_init() failed with -22
uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)

These were caused because the uvesa module was being loaded during boot, when it is only meant to be loaded on qemu according to:
6af89812e8a9931ffed63768ed85367519bf7aef

Since genericx86-common.inc includes qemuboot-x86, the module also tries to be loaded on genericx86 machines, this patch removes the instruction from qemuboot-x86 and adds it in specific to both qemux86 machines confs so it is correctly loaded only on those.

[YOCTO #11879]

---
 meta/conf/machine/include/qemuboot-x86.inc | 2 --
 meta/conf/machine/qemux86-64.conf          | 3 +++
 meta/conf/machine/qemux86.conf             | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)
meta/conf/machine/include/qemuboot-x86.inc +0 -2
index 0596e2ed3fb..100d0ccfd1f 100644
@@ -14,7 +14,5 @@ QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=${UVESA_MODE} oprofile.tim
 # Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
 QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet -device virtio-rng-pci"
 
-KERNEL_MODULE_AUTOLOAD += "uvesafb"
-KERNEL_MODULE_PROBECONF += "uvesafb"
 UVESA_MODE ?= "640x480-32"
 module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
meta/conf/machine/qemux86-64.conf +3 -0
index ff6e5491bbc..a270d6698f3 100644
@@ -29,5 +29,8 @@ MACHINE_FEATURES += "x86 pci"
 
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+
 WKS_FILE ?= "directdisk.wks"
 do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
meta/conf/machine/qemux86.conf +3 -0
index f8b09c37f29..5c6539b95f3 100644
@@ -28,5 +28,8 @@ MACHINE_FEATURES += "x86 pci"
 
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+
 WKS_FILE ?= "directdisk.wks"
 do_image_wic[depends] += "syslinux:do_populate_sysroot syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
Signature · 1 line
2.12.3
#1 lore raw

I think this is causing the failures I'm seeing on the autobuilder with generix86 machine:

ERROR: linux-yocto-4.12.7+gitAUTOINC+42965d664f_d09f2ce584-r0 do_package:
Please ensure module uvesafb is listed in KERNEL_MODULE_PROBECONF since module_conf_uvesafb is set

Ross

Quoted 84 lines · Alejandro Hernandez

After commit e8b1c653946ef921b65d47e52aea0dc530ef4286, we started seeing errors like the following during boot on genericx86 machines:

uvesafb: failed to execute /sbin/v86d
uvesafb: probe of uvesafb.0 failed with error -22
uvesafb: vbe_init() failed with -22
uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)

These were caused because the uvesa module was being loaded during boot, when it is only meant to be loaded on qemu according to:
6af89812e8a9931ffed63768ed85367519bf7aef

Since genericx86-common.inc includes qemuboot-x86, the module also tries to be loaded on genericx86 machines, this patch removes the instruction from
qemuboot-x86 and adds it in specific to both qemux86 machines confs so it is correctly loaded only on those.

[YOCTO #11879]

---
 meta/conf/machine/include/qemuboot-x86.inc | 2 --
 meta/conf/machine/qemux86-64.conf          | 3 +++
 meta/conf/machine/qemux86.conf             | 3 +++
 3 files changed, 6 insertions(+), 2 deletions(-)
meta/conf/machine/include/qemuboot-x86.inc +0 -0
index 0596e2ed3fb..100d0ccfd1f 100644
@@ -14,7 +14,5 @@ QB_KERNEL_CMDLINE_APPEND = "vga=0

uvesafb.mode_option=${UVESA_MODE} oprofile.tim
# Add the 'virtio-rng-pci' device otherwise the guest may run out of
entropy
QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet -device
virtio-rng-pci"

meta/conf/machine/include/qemuboot-x86.inc +0 -2
-KERNEL_MODULE_AUTOLOAD += "uvesafb"
-KERNEL_MODULE_PROBECONF += "uvesafb"
 UVESA_MODE ?= "640x480-32"
 module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
meta/conf/machine/qemux86-64.conf +3 -0
index ff6e5491bbc..a270d6698f3 100644
@@ -29,5 +29,8 @@ MACHINE_FEATURES += "x86 pci"
 
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+
 WKS_FILE ?= "directdisk.wks"
 do_image_wic[depends] += "syslinux:do_populate_sysroot

syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"

meta/conf/machine/qemux86. renamed from meta/conf/machine/qemux86.conf +0 -0

conf
index f8b09c37f29..5c6539b95f3 100644

meta/conf/machine/qemux86.conf +3 -0
@@ -28,5 +28,8 @@ MACHINE_FEATURES += "x86 pci"
 
 MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"
 
+KERNEL_MODULE_AUTOLOAD += "uvesafb"
+KERNEL_MODULE_PROBECONF += "uvesafb"
+
 WKS_FILE ?= "directdisk.wks"
 do_image_wic[depends] += "syslinux:do_populate_sysroot

syslinux-native:do_populate_sysroot mtools-native:do_populate_sysroot dosfstools-native:do_populate_sysroot"
--
2.12.3

--
_______________________________________________
poky mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/poky

#2 lore raw

Hey Ross,

Quoted 5 lines · Ross

I think this is causing the failures I'm seeing on the autobuilder with generix86 machine:

ERROR: linux-yocto-4.12.7+gitAUTOINC+42965d664f_d09f2ce584-r0 do_package: Please ensure module uvesafb is listed in KERNEL_MODULE_PROBECONF since module_conf_uvesafb is set

Ross

Yeah, seems likely, although it didn't happen when I was testing it, I didnt want to duplicate lines of code, and I thought moving these 2 would be enough, but it looks like it wasnt, I'll send a v2 in a bit.

Thanks!

Alejandro

Quoted 96 lines · On 5 September 2017 at 23:08, Alejandro Hernandez…
    After commit e8b1c653946ef921b65d47e52aea0dc530ef4286, we started
    seeing
    errors like the following during boot on genericx86 machines:

    uvesafb: failed to execute /sbin/v86d
    uvesafb: probe of uvesafb.0 failed with error -22
    uvesafb: vbe_init() failed with -22
    uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)

    These were caused because the uvesa module was being loaded during
    boot,
    when it is only meant to be loaded on qemu according to:
    6af89812e8a9931ffed63768ed85367519bf7aef

    Since genericx86-common.inc includes qemuboot-x86, the module also
    tries
    to be loaded on genericx86 machines, this patch removes the
    instruction from
    qemuboot-x86 and adds it in specific to both qemux86 machines confs so
    it is correctly loaded only on those.

    [YOCTO #11879]

    Signed-off-by: Alejandro Hernandez
    <[email protected]
    <mailto:[email protected]>>
    ---
     meta/conf/machine/include/qemuboot-x86.inc | 2 --
     meta/conf/machine/qemux86-64.conf          | 3 +++
     meta/conf/machine/qemux86.conf             | 3 +++
     3 files changed, 6 insertions(+), 2 deletions(-)

    diff --git a/meta/conf/machine/include/qemuboot-x86.inc
    b/meta/conf/machine/include/qemuboot-x86.inc
    index 0596e2ed3fb..100d0ccfd1f 100644
    --- a/meta/conf/machine/include/qemuboot-x86.inc
    +++ b/meta/conf/machine/include/qemuboot-x86.inc
    @@ -14,7 +14,5 @@ QB_KERNEL_CMDLINE_APPEND = "vga=0
    uvesafb.mode_option=${UVESA_MODE} oprofile.tim
     # Add the 'virtio-rng-pci' device otherwise the guest may run out
    of entropy
     QB_OPT_APPEND = "-vga vmware -show-cursor -usb -device usb-tablet
    -device virtio-rng-pci"

    -KERNEL_MODULE_AUTOLOAD += "uvesafb"
    -KERNEL_MODULE_PROBECONF += "uvesafb"
     UVESA_MODE ?= "640x480-32"
     module_conf_uvesafb = "options uvesafb mode_option=${UVESA_MODE}"
    diff --git a/meta/conf/machine/qemux86-64.conf
    b/meta/conf/machine/qemux86-64.conf
    index ff6e5491bbc..a270d6698f3 100644
    --- a/meta/conf/machine/qemux86-64.conf
    +++ b/meta/conf/machine/qemux86-64.conf
    @@ -29,5 +29,8 @@ MACHINE_FEATURES += "x86 pci"

     MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"

    +KERNEL_MODULE_AUTOLOAD += "uvesafb"
    +KERNEL_MODULE_PROBECONF += "uvesafb"
    +
     WKS_FILE ?= "directdisk.wks"
     do_image_wic[depends] += "syslinux:do_populate_sysroot
    syslinux-native:do_populate_sysroot
    mtools-native:do_populate_sysroot
    dosfstools-native:do_populate_sysroot"
    diff --git a/meta/conf/machine/qemux86.conf
    b/meta/conf/machine/qemux86.conf
    index f8b09c37f29..5c6539b95f3 100644
    --- a/meta/conf/machine/qemux86.conf
    +++ b/meta/conf/machine/qemux86.conf
    @@ -28,5 +28,8 @@ MACHINE_FEATURES += "x86 pci"

     MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "v86d"

    +KERNEL_MODULE_AUTOLOAD += "uvesafb"
    +KERNEL_MODULE_PROBECONF += "uvesafb"
    +
     WKS_FILE ?= "directdisk.wks"
     do_image_wic[depends] += "syslinux:do_populate_sysroot
    syslinux-native:do_populate_sysroot
    mtools-native:do_populate_sysroot
    dosfstools-native:do_populate_sysroot"
    --
    2.12.3

    --
    _______________________________________________
    poky mailing list
    [email protected] <mailto:[email protected]>
    https://lists.yoctoproject.org/listinfo/poky
    <https://lists.yoctoproject.org/listinfo/poky>