Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 436820 - sys-kernel/genkernel-3.4.42 with kernel 3.6 - ERROR: None of the initramfs we tried are supported by your kernel (config file "/usr/share/genkernel/arch/x86/kernel-config"), strange!?
Summary: sys-kernel/genkernel-3.4.42 with kernel 3.6 - ERROR: None of the initramfs we...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: genkernel (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Genkernel Maintainers
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2012-10-01 17:37 UTC by Toralf Förster
Modified: 2012-10-03 17:49 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
/var/log/genkernel.log (genkernel.log,140.09 KB, text/plain)
2012-10-01 17:37 UTC, Toralf Förster
Details
/etc/genkernel.conf (genkernel.conf,8.89 KB, text/plain)
2012-10-03 12:51 UTC, Toralf Förster
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Toralf Förster gentoo-dev 2012-10-01 17:37:34 UTC
Created attachment 325484 [details]
/var/log/genkernel.log

I'm unsure whether it is agenkernel /linux kernel / .config / PEBKAC issue, but I get :

* ERROR: None of the initramfs we tried are supported by your kernel (config file "/usr/share/genkernel/arch/x86/kernel-config"), strange!?
* 
* -- Grepping log... --
* 
*  CC      kernel/trace/power-traces.o
*  CC      drivers/acpi/acpica/evsci.o
*  CC      drivers/ata/libata-sff.o
*  CC      drivers/acpi/acpica/evxface.o
*kernel/trace/trace_events_filter.c: In function ‘ftrace_function_set_filter_cb’:
*kernel/trace/trace_events_filter.c:2074:8: warning: ‘ret’ may be used uninitialized in this function [-Wuninitialized]
*--
*  CC [M]  drivers/hwmon/coretemp.o
*  CC [M]  drivers/gpu/drm/drm_info.o
*  CC [M]  fs/nfs/mount_clnt.o
*  CC [M]  drivers/i2c/i2c-core.o
*drivers/gpu/drm/drm_info.c: In function ‘drm_vma_info’:
*drivers/gpu/drm/drm_info.c:241:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
*--
* Running with options: --no-clean --kerneldir=/usr/src/linux-3.6.x/ all
* Using genkernel.conf from /etc/genkernel.conf
* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86/config.sh ..
* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86/modules_load ..
*
* ERROR: None of the initramfs we tried are supported by your kernel (config file "/usr/share/genkernel/arch/x86/kernel-config"), strange!?
* 
* -- End log... --
Comment 1 Toralf Förster gentoo-dev 2012-10-02 18:41:17 UTC
gah - now even for kernel 3.5.5 and 3.4.12 it doesn't work any longer - same output
Comment 2 Sebastian Pipping gentoo-dev 2012-10-03 11:31:07 UTC
For a quick reply: The word "compression" is missing in the error message.  Please first share your genkernel.conf and your kernel config with us, at least the part on compression, i.e. the keys

  CONFIG_RD_GZIP
  CONFIG_RD_BZIP2
  CONFIG_RD_LZMA
  CONFIG_RD_XZ
  CONFIG_RD_LZO

for the kernel config and

  COMPRESS_INITRD
  COMPRESS_INITRD_TYPE

from genkernel.conf.
Comment 3 Toralf Förster gentoo-dev 2012-10-03 12:51:34 UTC
Created attachment 325586 [details]
/etc/genkernel.conf

tfoerste@n22 ~/devel/linux $ zgrep CONFIG_RD /usr/src/linux-3.*/.config
/usr/src/linux-3.4.x/.config:CONFIG_RD_GZIP=y
/usr/src/linux-3.4.x/.config:CONFIG_RD_BZIP2=y
/usr/src/linux-3.4.x/.config:CONFIG_RD_LZMA=y
/usr/src/linux-3.4.x/.config:CONFIG_RD_XZ=y
/usr/src/linux-3.4.x/.config:CONFIG_RD_LZO=y
/usr/src/linux-3.4.x/.config:# CONFIG_RDS is not set
/usr/src/linux-3.5.x/.config:CONFIG_RD_GZIP=y
/usr/src/linux-3.5.x/.config:CONFIG_RD_BZIP2=y
/usr/src/linux-3.5.x/.config:CONFIG_RD_LZMA=y
/usr/src/linux-3.5.x/.config:CONFIG_RD_XZ=y
/usr/src/linux-3.5.x/.config:CONFIG_RD_LZO=y
/usr/src/linux-3.5.x/.config:# CONFIG_RDS is not set
/usr/src/linux-3.6.x/.config:CONFIG_RD_GZIP=y
/usr/src/linux-3.6.x/.config:CONFIG_RD_BZIP2=y
/usr/src/linux-3.6.x/.config:CONFIG_RD_LZMA=y
/usr/src/linux-3.6.x/.config:CONFIG_RD_XZ=y
/usr/src/linux-3.6.x/.config:CONFIG_RD_LZO=y
/usr/src/linux-3.6.x/.config:# CONFIG_RDS is not set
Comment 4 Toralf Förster gentoo-dev 2012-10-03 12:52:43 UTC
erm - FWIW I returned today to the stable genkernel therefore the genkernel.conf is now the one of the stable version.
(And the stable version works well).
Comment 5 Sebastian Pipping gentoo-dev 2012-10-03 13:00:35 UTC
You .log file shows that the kernel config being used is the one from

  /usr/share/genkernel/arch/x86/kernel-config

That file does not set any CONFIG_RD_ options (yet) so what you ran into here is conflicting defaults.

I would advise that you pick another kernel config using parameter --kernel-config=FILE.
Comment 6 Toralf Förster gentoo-dev 2012-10-03 13:16:27 UTC
(In reply to comment #5)
> You .log file shows that the kernel config being used is the one from
> 
>   /usr/share/genkernel/arch/x86/kernel-config
> 
> That file does not set any CONFIG_RD_ options (yet) so what you ran into
> here is conflicting defaults.
> 
> I would advise that you pick another kernel config using parameter
> --kernel-config=FILE.


I'm building my kernel always with this command line :

$> for i in 4 5 6; do sudo genkernel --no-clean --kerneldir=/usr/src/linux-3.$i.x/ all; done

And the config option is set :

tfoerste@n22 ~/devel/linux $ zgrep CONFIG_RD_ /proc/config.gz 
CONFIG_RD_GZIP=y
CONFIG_RD_BZIP2=y
CONFIG_RD_LZMA=y
CONFIG_RD_XZ=y
CONFIG_RD_LZO=y

tfoerste@n22 ~/devel/linux $ uname -a
Linux n22 3.5.5 #34 SMP Tue Oct 2 20:28:27 CEST 2012 i686 Intel(R) Core(TM) i5-2540M CPU @ 2.60GHz GenuineIntel GNU/Linux


FWIW:
I'm always following Linus' git tree and install new stable kernel versions with a command like this :
$> git diff v3.4.11..v3.4.12 | (cd /usr/src/linux-3.4.x/; sudo patch -p1)

followed by the genkernel command line given above.
Comment 7 Sebastian Pipping gentoo-dev 2012-10-03 13:48:33 UTC
(In reply to comment #6)
> And the config option is set :
> 
> tfoerste@n22 ~/devel/linux $ zgrep CONFIG_RD_ /proc/config.gz 
> CONFIG_RD_GZIP=y
> CONFIG_RD_BZIP2=y
> CONFIG_RD_LZMA=y
> CONFIG_RD_XZ=y
> CONFIG_RD_LZO=y

/proc/config.gz is not taken into account, unless you explicitly make genkernel do that.  (Needs a fairly recent genkernel, though.)

What does

  $ grep _RD_ /etc/kernels/kernel-config-x86-3.6.0

say?  Your genkernel said to have copied your actual config to that place.

One way or another, either (A) you configure genkernel to produce an uncompressed initramfs or (B) you get compression support into the kernel config.
Comment 8 Toralf Förster gentoo-dev 2012-10-03 14:01:28 UTC
(In reply to comment #7)

> What does
> 
>   $ grep _RD_ /etc/kernels/kernel-config-x86-3.6.0
> 
> say?  Your genkernel said to have copied your actual config to that place.

$  grep -H _RD_ /etc/kernels/kernel-config-x86-3.6.0 
/etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_GZIP=y
/etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_BZIP2=y
/etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_LZMA=y
/etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_XZ=y
/etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_LZO=y
Comment 9 Sebastian Pipping gentoo-dev 2012-10-03 14:16:04 UTC
(In reply to comment #8)
> $  grep -H _RD_ /etc/kernels/kernel-config-x86-3.6.0 
> /etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_GZIP=y
> /etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_BZIP2=y
> /etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_LZMA=y
> /etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_XZ=y
> /etc/kernels/kernel-config-x86-3.6.0:CONFIG_RD_LZO=y

Alright.  I suppose this is what happens:

 1. The kernel config from /usr/share/genkernel/arch/x86/kernel-config
    is copied to /usr/src/linux-3.6.x/.config,
    no CONFIG_RD_*=y yet.

 2. Command "( cd /usr/src/linux-3.6.x/ && yes '' | make oldconfig )" is run,
    adding CONFIG_RD_*=y lines to .config.

 3. genkernel checks /usr/share/genkernel/arch/x86/kernel-config for
    CONFIG_RD_*=y rather than the new /usr/src/linux-3.6.x/.config .
Comment 10 Toralf Förster gentoo-dev 2012-10-03 14:59:59 UTC
(In reply to comment #9)
>  1. The kernel config from /usr/share/genkernel/arch/x86/kernel-config
>     is copied to /usr/src/linux-3.6.x/.config,

I use "--no-clean " to avoid that.
Comment 12 Sebastian Pipping gentoo-dev 2012-10-03 16:58:25 UTC
+*genkernel-3.4.43 (03 Oct 2012)
+
+  03 Oct 2012; Sebastian Pipping <sping@gentoo.org> +genkernel-3.4.43.ebuild:
+  Bump to 3.4.43
+
Comment 13 Toralf Förster gentoo-dev 2012-10-03 17:31:01 UTC
(In reply to comment #11)
> Fixed on master:
> http://git.overlays.gentoo.org/gitweb/?p=proj/genkernel.git;a=commitdiff;
> h=773a8801d64f3cb1f7b9106623f827fc098b8b09

/me just wonders whether this line

if [ -f "${KERNEL_DIR}"/.config ]; then

will be always true - or is this check before the compilation step ?
Comment 14 Sebastian Pipping gentoo-dev 2012-10-03 17:49:48 UTC
(In reply to comment #13)
> /me just wonders whether this line
> 
> if [ -f "${KERNEL_DIR}"/.config ]; then
> 
> will be always true

Most of the times, not always.  It's only meant to catch those few cases where no .config is around (and no kernel is compiled), as with my case here.


> - or is this check before the compilation step ?

No, it's checked after.