EINVAL is used in other branches as well. Without errno.h, it ends up
undefined and the build fails. This happens with 32-bit ROSA kernels,
for example.
While at it, made the configs a bit closer to those from Ubuntu:
* disabled IDE drivers which are now barely maintained anyway;
* disabled some debugging facilities (verboseness of some drivers,
etc.);
* made some often used modules like vfat, fuse, ata_piix, etc.,
built-in.
* and so forth.
They take too much space, unfortunately. ~500 Mb per kernel flavour
amounts to 1 Gb of debuginfo packages per each kernel version we keep.
We could build the debuginfo packages on demand, I suppose, and turn
them off by default.
They might be needed to debug the users' issues and should not take too
much space now.
Just in case, build the full debug info rather than a reduced set of it.
...And set it to 3, which should only allow to print the messages with
KERN_EMERG, KERN_ALERT and KERN_CRIT levels. This should make the boot
process less noisy.
Can be overridden with loglevel=n boot option.
The following commit seems to cause problems with hibernation on 32-bit
systems:
commit 92923ca3aacef63c92dc297a75ad0c6dfe4eab37
Author: Nathan Zimmer <nzimmer@sgi.com>
Date: Tue Jun 30 14:56:48 2015 -0700
mm: meminit: only set page reserved in the memblock region
Without this commit, it takes less than 10-15 seconds on our test system
(https://linux-hardware.org/index.php?probe=e6a06c64c7) from
"systemctl hibernate" command till the system powers off. With the
mainline kernels 4.2-4.7, the system resumes OK.
With this commit, it takes more than 2 minutes for that system to
hibernate and it usually hangs on resume.
Let us revert the main parts of this commit in the 32-bit kernels for
now.