Discussion:
Boot all yes config kernel with QEMU
Tobin C. Harding
2018-10-23 02:56:42 UTC
Permalink
Hi,

I'd like to build and boot an allyesconfig kernel with QEMU. Building
is no problem but when I try to boot it I get problems because the host
system does not support features requested by the VM.

How does one go about testing an allyesconfig kernel?

Back story: I'm trying to set up some CI infrastructure to run
scripts/leaking_addresses.pl against the various stable kernels.

thanks,
Tobin.
v***@vt.edu
2018-10-23 04:22:44 UTC
Permalink
Post by Tobin C. Harding
I'd like to build and boot an allyesconfig kernel with QEMU. Building
is no problem but when I try to boot it I get problems because the host
system does not support features requested by the VM.
How does one go about testing an allyesconfig kernel?
As you have noticed, there's no guarantee that a allyesconfig kernel will boot in
a VM because the VM doesn't support something. Note that you're going to have
the exact same issues booting on real hardware - you'll discover that there's configs
that won't boot on real hardware either - and even if it boots, you'll probably not have
the I/O devices to test even a third of the drivers unless you have a really well stocked
test lab.

But then, all(yes|mod|no)config aren't intended for actual booting and testing - they're
pretty much build testing all the options in one build.

Basically, one of two things happen after building an all-something-config:

1) The build completes and you get on with your life

2) The build fails, and you get to send an email telling the maintainer that
their driver for the Frobnozz 1300 Widget won't build in =y in kernel 4.21-rc2,
or whatever your build died on.
Tobin C. Harding
2018-10-23 06:16:42 UTC
Permalink
Post by v***@vt.edu
Post by Tobin C. Harding
I'd like to build and boot an allyesconfig kernel with QEMU. Building
is no problem but when I try to boot it I get problems because the host
system does not support features requested by the VM.
How does one go about testing an allyesconfig kernel?
As you have noticed, there's no guarantee that a allyesconfig kernel will boot in
a VM because the VM doesn't support something. Note that you're going to have
the exact same issues booting on real hardware - you'll discover that there's configs
that won't boot on real hardware either - and even if it boots, you'll probably not have
the I/O devices to test even a third of the drivers unless you have a really well stocked
test lab.
But then, all(yes|mod|no)config aren't intended for actual booting and testing - they're
pretty much build testing all the options in one build.
1) The build completes and you get on with your life
2) The build fails, and you get to send an email telling the maintainer that
their driver for the Frobnozz 1300 Widget won't build in =y in kernel 4.21-rc2,
or whatever your build died on.
I love this answer :) thanks Valdis. If you are taking a walk and feel
like pondering something; any ideas how I could get the most files
possible to show up in /proc and /sys?

thanks,
Tobin.
Greg KH
2018-10-23 08:36:22 UTC
Permalink
Post by Tobin C. Harding
Post by v***@vt.edu
Post by Tobin C. Harding
I'd like to build and boot an allyesconfig kernel with QEMU. Building
is no problem but when I try to boot it I get problems because the host
system does not support features requested by the VM.
How does one go about testing an allyesconfig kernel?
As you have noticed, there's no guarantee that a allyesconfig kernel will boot in
a VM because the VM doesn't support something. Note that you're going to have
the exact same issues booting on real hardware - you'll discover that there's configs
that won't boot on real hardware either - and even if it boots, you'll probably not have
the I/O devices to test even a third of the drivers unless you have a really well stocked
test lab.
But then, all(yes|mod|no)config aren't intended for actual booting and testing - they're
pretty much build testing all the options in one build.
1) The build completes and you get on with your life
2) The build fails, and you get to send an email telling the maintainer that
their driver for the Frobnozz 1300 Widget won't build in =y in kernel 4.21-rc2,
or whatever your build died on.
I love this answer :) thanks Valdis. If you are taking a walk and feel
like pondering something; any ideas how I could get the most files
possible to show up in /proc and /sys?
It all depends on your hardware/system. /sys reflects the devices in
the system at the time, physical and virtual.

If you create 20000 virtual scsi devices, you will have 20000 devices in
sysfs along with all of their assorted files and directories. People
have used virtual devices to stress-test sysfs since the very beginning.

Hope this helps,

greg k-h

Continue reading on narkive:
Search results for 'Boot all yes config kernel with QEMU' (Questions and Answers)
7
replies
linux or windows?
started 2006-08-12 16:48:22 UTC
software
Loading...