# Problems compiling kernel 4.14-7 with genkernel [solved]

## ianw1974

Hi,

Seems there is a problem with the kernel, in that I cannot compile it.  Previous kernels worked OK.  Currently using the 17.0 Gentoo profile, as per the switch that occurred end of November, and the whole system had been recompiled as required by the news article that appeared at this time.  Kernel 4.12 recompiled with genkernel after this as well, so no issues here.  Only seems to be with the newer kernel.

Output below:

```
gentoo /home/ian # genkernel all

* Gentoo Linux Genkernel; Version 3.4.52.4

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.14.7-gentoo for x86_64...

* .. with config file /usr/share/genkernel/arch/x86_64/generated-config

* kernel: Using config from /usr/share/genkernel/arch/x86_64/generated-config

* kernel: >> Running mrproper...

*         >> Running oldconfig...

* kernel: >> Cleaning...

*         >> Compiling 4.14.7-gentoo bzImage...

*         >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y...

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- Grepping log... --

* 

*  HOSTCC  scripts/kconfig/conf.o

*  SHIPPED scripts/kconfig/zconf.lex.c

*  HOSTCC  scripts/kconfig/zconf.tab.o

*  HOSTLD  scripts/kconfig/conf

*scripts/kconfig/conf  --oldconfig Kconfig

*.config:76:warning: override: reassigning to symbol UV_MMTIMER

*.config:125:warning: symbol value 'm' invalid for X86_INTEL_PSTATE

*.config:879:warning: symbol value 'm' invalid for NF_CT_PROTO_DCCP

*.config:881:warning: symbol value 'm' invalid for NF_CT_PROTO_SCTP

*.config:882:warning: symbol value 'm' invalid for NF_CT_PROTO_UDPLITE

*.config:900:warning: symbol value 'm' invalid for NF_NAT_PROTO_DCCP

*.config:901:warning: symbol value 'm' invalid for NF_NAT_PROTO_UDPLITE

*.config:902:warning: symbol value 'm' invalid for NF_NAT_PROTO_SCTP

*.config:2390:warning: override: FB_MB862XX_LIME changes choice state

*.config:2811:warning: symbol value 'm' invalid for AB3100_CORE

*.config:2820:warning: symbol value 'm' invalid for MFD_WM8400

*.config:2821:warning: symbol value 'm' invalid for MFD_WM8350_I2C

*.config:2822:warning: symbol value 'm' invalid for MFD_WM8350

*.config:2823:warning: symbol value 'm' invalid for MFD_WM831X

*.config:3460:warning: symbol value 'm' invalid for POWER_SUPPLY

*--

*Allow for memory compaction (COMPACTION) [Y/n/?] y

*  Page migration (MIGRATION) [Y/?] y

*Enable bounce buffers (BOUNCE) [Y/n/?] (NEW) 

*Enable KSM for page merging (KSM) [Y/n/?] y

*Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096] 4096

*Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y

*--

*  Debug Statements (ACPI_DEBUG) [N/y/?] (NEW) 

*  PCI slot detection driver (ACPI_PCI_SLOT) [Y/n/?] y

*  Container and Module Devices (ACPI_CONTAINER) [Y/?] (NEW) y

*  Memory Hotplug (ACPI_HOTPLUG_MEMORY) [Y/n/?] y

*  Smart Battery System (ACPI_SBS) [N/m/y/?] (NEW) 

*  Hardware Error Device (ACPI_HED) [Y/?] y

*  Allow ACPI methods to be inserted/replaced at run time (ACPI_CUSTOM_METHOD) [N/m/y/?] (NEW) 

*  Boottime Graphics Resource Table support (ACPI_BGRT) [N/y/?] (NEW) 

*  ACPI NVDIMM Firmware Interface Table (NFIT) (ACPI_NFIT) [N/m/y/?] (NEW) 

*  ACPI Platform Error Interface (APEI) (ACPI_APEI) [Y/n/?] y

*    APEI Generic Hardware Error Source (ACPI_APEI_GHES) [Y/n/?] y

*    APEI PCIe AER logging/recovering support (ACPI_APEI_PCIEAER) [Y/n/?] y

*  APEI memory error recovering support (ACPI_APEI_MEMORY_FAILURE) [Y/n/?] y

*  APEI Error INJection (EINJ) (ACPI_APEI_EINJ) [M/n/y/?] m

*  APEI Error Record Serialization Table (ERST) Debug Support (ACPI_APEI_ERST_DEBUG) [M/n/y/?] m

*  DPTF Platform Power Participant (DPTF_POWER) [N/m/y/?] (NEW) 

*  Extended Error Log support (ACPI_EXTLOG) [N/m/y/?] (NEW) 

*--

* Bus options (PCI etc.)

*

*PCI support (PCI) [Y/n/?] y

*  Support mmconfig PCI config space access (PCI_MMCONFIG) [N/y] (NEW) 

*  PCI Express Port Bus support (PCIEPORTBUS) [Y/n/?] y

*    Root Port Advanced Error Reporting support (PCIEAER) [Y/n/?] y

*      PCI Express ECRC settings control (PCIE_ECRC) [Y/n/?] y

*      PCIe AER error injector support (PCIEAER_INJECT) [M/n/y/?] m

*--

*      *

*      round-robin scheduling (IP_VS_RR) [M/n/?] m

*      weighted round-robin scheduling (IP_VS_WRR) [M/n/?] m

*      least-connection scheduling (IP_VS_LC) [M/n/?] m

*      weighted least-connection scheduling (IP_VS_WLC) [M/n/?] m

*      weighted failover scheduling (IP_VS_FO) [N/m/?] (NEW) 

*--

*  * Wireless

*  *

*  Wireless (WIRELESS) [Y] y

*    cfg80211 - wireless configuration API (CFG80211) [M/n/?] m

*      nl80211 testmode command (NL80211_TESTMODE) [N/y/?] n

*      enable developer warnings (CFG80211_DEVELOPER_WARNINGS) [N/y/?] n

*--

*SCSI CDROM support (BLK_DEV_SR) [M/n/y/?] m

*  Enable vendor-specific extensions (for SCSI CDROM) (BLK_DEV_SR_VENDOR) [Y/n/?] y

*SCSI generic support (CHR_DEV_SG) [M/n/y/?] m

*SCSI media changer support (CHR_DEV_SCH) [M/n/y/?] m

*SCSI Enclosure Support (SCSI_ENCLOSURE) [M/n/?] m

*Verbose SCSI error reporting (kernel size += 36K) (SCSI_CONSTANTS) [Y/n/?] y

*--

*  Compile All OSD modules with lots of DEBUG prints (SCSI_OSD_DEBUG) [N/y/?] n

*

* Serial ATA and Parallel ATA drivers (libata)

*

*Serial ATA and Parallel ATA drivers (libata) (ATA) [Y/n/m/?] y

*  Verbose ATA error reporting (ATA_VERBOSE_ERROR) [Y/n/?] y

*--

*  Default debug level (NOUVEAU_DEBUG_DEFAULT) [3] 3

*  Support for backlight control (DRM_NOUVEAU_BACKLIGHT) [Y/n/?] y

*Intel 8xx/9xx/G3x/G4x/HD Graphics (DRM_I915) [M/n/?] m

*  Enable alpha quality support for new Intel hardware by default (DRM_I915_ALPHA_SUPPORT) [N/y/?] (NEW) 

*  Enable capturing GPU state following a hang (DRM_I915_CAPTURE_ERROR) [Y/n/?] (NEW) 

*    Compress GPU error state (DRM_I915_COMPRESS_ERROR) [Y/n/?] (NEW) 

*--

*  iSCSI Extensions for RDMA (iSER) (INFINIBAND_ISER) [M/n/?] m

*  Intel OPA VNIC support (INFINIBAND_OPA_VNIC) [N/m/?] (NEW) 

*  RDMA verbs transport library (INFINIBAND_RDMAVT) [N/m/?] (NEW) 

*  Broadcom Netxtreme HCA support (INFINIBAND_BNXT_RE) [N/m/?] (NEW) 

*

* EDAC (Error Detection And Correction) reporting

*

*EDAC (Error Detection And Correction) reporting (EDAC) [Y/n/m/?] y

*  EDAC legacy sysfs (EDAC_LEGACY_SYSFS) [Y/n/?] y

*  Debugging (EDAC_DEBUG) [N/y/?] n

*  Decode MCEs in human-readable form (only on AMD for now) (EDAC_DECODE_MCE) [M/n/y/?] m

*  Output ACPI APEI/GHES BIOS detected errors via EDAC (EDAC_GHES) [N/y/?] (NEW) 

*  AMD64 (Opteron, Athlon64) (EDAC_AMD64) [M/n/?] m

*    Sysfs HW Error injection facilities (EDAC_AMD64_ERROR_INJECTION) [Y/n/?] y

*--

*  JFS statistics (JFS_STATISTICS) [N/y/?] n

*XFS filesystem support (XFS_FS) [M/n/y/?] m

*  XFS Quota support (XFS_QUOTA) [Y/n/?] y

*  XFS POSIX ACL support (XFS_POSIX_ACL) [Y/n/?] y

*  XFS Realtime subvolume support (XFS_RT) [N/y/?] n

*  XFS Verbose Warnings (XFS_WARN) [N/y/?] (NEW) 

*--

*Inotify support for userspace (INOTIFY_USER) [Y/n/?] y

*Filesystem wide access notification (FANOTIFY) [Y/n/?] y

*  fanotify permissions checking (FANOTIFY_ACCESS_PERMISSIONS) [N/y/?] (NEW) 

*Quota support (QUOTA) [Y/n/?] y

*Report quota messages through netlink interface (QUOTA_NETLINK_INTERFACE) [Y/n/?] y

*Print quota warnings to console (OBSOLETE) (PRINT_QUOTA_WARNING) [Y/n/?] y

*--

*Enable tracing for RCU (RCU_TRACE) [N/y/?] n

*Provide debugging asserts for adding NO_HZ support to an arch (RCU_EQS_DEBUG) [N/y/?] (NEW) 

*Force round-robin CPU selection for unbound work items (DEBUG_WQ_FORCE_RR_CPU) [N/y/?] (NEW) 

*Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] n

*Enable CPU hotplug state control (CPU_HOTPLUG_STATE_CONTROL) [N/y/?] (NEW) 

*Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] (NEW) 

*--

*  CC      kernel/kprobes.o

*  CC      kernel/hung_task.o

*  CC      mm/vmpressure.o

*  CC      kernel/seccomp.o

*  CC      mm/swap_cgroup.o

*  CC      mm/memory-failure.o

*--

*  CC      arch/x86/boot/cpu.o

*  MKPIGGY arch/x86/boot/compressed/piggy.S

*  AS      arch/x86/boot/compressed/piggy.o

*  DATAREL arch/x86/boot/compressed/vmlinux

*  LD      arch/x86/boot/compressed/vmlinux

*ld: arch/x86/boot/compressed/head_64.o: warning: relocation in readonly section `.head.text'

*ld: warning: creating a DT_TEXTREL in a shared object.

*--

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

*

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- End log... --

* 

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* 

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

* 

* Please do *not* report compilation failures as genkernel bugs!

*
```

genkernel.log doesn't seem to hint at much, only:

```
Kernel: arch/x86/boot/bzImage is ready  (#1)

*         >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y...

COMMAND: make -j2 -j1 CC="gcc" LD="ld" AS="as" ARCH="x86" firmware_install 

make: *** No rule to make target 'firmware_install'.  Stop.
```

any ideas on what to do?

----------

## The Main Man

Was just about to post myself error about this.

Profile 17 here as well, previous kernel 4.12.12 compiled without errors, kernels before that one also worked fine, same config is always used.

```
* Gentoo Linux Genkernel; Version 3.4.52.4

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.14.7-gentoo for x86_64...

* .. with config file /usr/share/genkernel/arch/x86_64/generated-config

* kernel: Using config from /usr/share/genkernel/arch/x86_64/generated-config

* kernel: >> Running mrproper...

*         >> Running oldconfig...

* kernel: >> Cleaning...

* kernel: >> Invoking menuconfig...

*         >> Compiling 4.14.7-gentoo bzImage...

*         >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y...

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- Grepping log... --

* 

*Allow for memory compaction (COMPACTION) [Y/n/?] y

*  Page migration (MIGRATION) [Y/?] y

*Enable bounce buffers (BOUNCE) [Y/n/?] y

*Enable KSM for page merging (KSM) [Y/n/?] y

*Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096] 4096

*Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y

*--

*    *

*    round-robin scheduling (IP_VS_RR) [M/n/?] m

*    weighted round-robin scheduling (IP_VS_WRR) [M/n/?] m

*    least-connection scheduling (IP_VS_LC) [M/n/?] m

*    weighted least-connection scheduling (IP_VS_WLC) [M/n/?] m

*    weighted failover scheduling (IP_VS_FO) [N/m/?] n

*--

*Enable tracing for RCU (RCU_TRACE) [N/y/?] n

*Provide debugging asserts for adding NO_HZ support to an arch (RCU_EQS_DEBUG) [N/y/?] n

*Force round-robin CPU selection for unbound work items (DEBUG_WQ_FORCE_RR_CPU) [N/y/?] n

*Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] n

*Enable CPU hotplug state control (CPU_HOTPLUG_STATE_CONTROL) [N/y/?] n

*Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] n

*--

*  CC      mm/vmpressure.o

*  CC      kernel/power/process.o

*  CC      arch/x86/kernel/module.o

*  CC      mm/swap_cgroup.o

*  CC      arch/x86/kernel/doublefault.o

*  CC      mm/memory-failure.o

*--

*  GZIP    arch/x86/boot/compressed/vmlinux.bin.gz

*  MKPIGGY arch/x86/boot/compressed/piggy.S

*  AS      arch/x86/boot/compressed/piggy.o

*  DATAREL arch/x86/boot/compressed/vmlinux

*  LD      arch/x86/boot/compressed/vmlinux

*ld: arch/x86/boot/compressed/head_64.o: warning: relocation in readonly section `.head.text'

*ld: warning: creating a DT_TEXTREL in a shared object.

*--

* Running with options: all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

*

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- End log... --

* 

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* 

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

* 

* Please do *not* report compilation failures as genkernel bugs!

* 

```

----------

## ianw1974

I'm going to try emerging genkernel-next and using this instead of genkernel.  From a quick google, it's possible that genkernel-next can solve the problem.

As to why standard genkernel isn't working, that I've no idea......

----------

## ianw1974

Unmerging genkernel and emerging genkernel-next solves the problem in that the kernel and modules can be compiled.

----------

## The Main Man

Interesting, I always thought genkernel-next is mainly for systemd (which I don't use), but I don't know much about it, maybe it's time for genkernel to retire then ?

----------

## The Main Man

Actually, it works with genkernel, it just needs this to be set in the kernel config :

```
CONFIG_FIRMWARE_IN_KERNEL=y
```

----------

## ianw1974

Did you set it in the config file for the kernel?  Or the genkernel.conf?

I don't use systemd either.  Perhaps genkernel-next will replace genkernel at some point.  Maybe it will end up similar like revdep-rebuild, the original script still exists but as revdep-rebuild.sh.

----------

## Olis

According to this bug kernel 4.14 no longer supports in-kernel firmware at all. Upgrading to (unstable) genkernel-3.5.2.4 seems to fix the problem.

But take care that you don't run into problems because of this bug then.

----------

## The Main Man

 *ianw1974 wrote:*   

> Did you set it in the config file for the kernel?  Or the genkernel.conf?

 

Config file for the kernel, in my case it's here :

/usr/share/genkernel/arch/x86_64/generated-config

Search for CONFIG_FIRMWARE_IN_KERNEL, in my case it was unset (# CONFIG_FIRMWARE_IN_KERNEL is not set), change that to :

```
CONFIG_FIRMWARE_IN_KERNEL=y
```

You can also do it with menuconfig if you prefer it that way, it's in Device Drivers->Generic Driver Options, option you need to select is "Include in-kernel firmware blobs in kernel binary"

----------

## tano70

i have this error:

```
GentooDesktop ~ # genkernel all

* Gentoo Linux Genkernel; Version 3.4.52.4

* Running with options: --kernel-config=/usr/src/linux/.config --no-mrproper all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.14.8-gentoo-r1 for x86_64...

* .. with config file /usr/src/linux-4.14.8-gentoo-r1/.config

* kernel: --mrproper is disabled; not running 'make mrproper'.

*         >> Running oldconfig...

* kernel: >> Cleaning...

*         >> Compiling 4.14.8-gentoo-r1 bzImage...

*         >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y...

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- Grepping log... --

* 

*Allow for memory compaction (COMPACTION) [Y/n/?] y

*  Page migration (MIGRATION) [Y/?] y

*Enable bounce buffers (BOUNCE) [Y/n/?] y

*Enable KSM for page merging (KSM) [Y/n/?] y

*Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096] 4096

*Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y

*--

*    *

*    round-robin scheduling (IP_VS_RR) [M/n/?] m

*    weighted round-robin scheduling (IP_VS_WRR) [M/n/?] m

*    least-connection scheduling (IP_VS_LC) [M/n/?] m

*    weighted least-connection scheduling (IP_VS_WLC) [M/n/?] m

*    weighted failover scheduling (IP_VS_FO) [N/m/?] n

*--

*  rj54n1cb0c support (SOC_CAMERA_RJ54N1) [N/m/?] n

*  tw9910 support (SOC_CAMERA_TW9910) [M/n/?] m

*

* drm/i915 Debugging

*

*Force GCC to throw an error instead of a warning when compiling (DRM_I915_WERROR) [N/y/?] n

*Enable additional driver debugging (DRM_I915_DEBUG) [N/y/?] n

*Enable additional driver debugging for fence objects (DRM_I915_SW_FENCE_DEBUG_OBJECTS) [N/y/?] n

*Enable additional driver debugging for detecting dependency cycles (DRM_I915_SW_FENCE_CHECK_DAG) [N/y/?] (NEW) 

*Enable selftests upon driver load (DRM_I915_SELFTEST) [N/y/?] n

*Enable low level request tracing events (DRM_I915_LOW_LEVEL_TRACEPOINTS) [N/y/?] n

*Enable extra debug warnings for vblank evasion (DRM_I915_DEBUG_VBLANK_EVADE) [N/y/?] n

*--

*Enable tracing for RCU (RCU_TRACE) [N/y/?] n

*Provide debugging asserts for adding NO_HZ support to an arch (RCU_EQS_DEBUG) [N/y/?] n

*Force round-robin CPU selection for unbound work items (DEBUG_WQ_FORCE_RR_CPU) [N/y/?] n

*Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] n

*Enable CPU hotplug state control (CPU_HOTPLUG_STATE_CONTROL) [N/y/?] n

*Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] n

*--

*  CC      fs/proc/fd.o

*  CC      crypto/ablkcipher.o

*  CC      mm/swap_cgroup.o

*  CC      arch/x86/kernel/cpu/microcode/intel.o

*  CC      fs/proc/proc_tty.o

*  CC      mm/memory-failure.o

*--

*  LZ4     arch/x86/boot/compressed/vmlinux.bin.lz4

*  MKPIGGY arch/x86/boot/compressed/piggy.S

*  AS      arch/x86/boot/compressed/piggy.o

*  DATAREL arch/x86/boot/compressed/vmlinux

*  LD      arch/x86/boot/compressed/vmlinux

*ld: arch/x86/boot/compressed/head_64.o: warning: relocation in readonly section `.head.text'

*ld: warning: creating a DT_TEXTREL in a shared object.

*--

* Running with options: --kernel-config=/usr/src/linux/.config --no-mrproper all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

*

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- End log... --

* 

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* 

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

* 

* Please do *not* report compilation failures as genkernel bugs!

* 

GentooDesktop ~ # 
```

how can i resolve it?  I also tried the solution of post number 9 but I did not get any results

----------

## Philippe23

@tano70: What's the output from "grep CONFIG_FIRMWARE_IN_KERNEL /usr/src/linux-4.14.8-gentoo-r1/.config"?

----------

## tano70

 *Philippe23 wrote:*   

> @tano70: What's the output from "grep CONFIG_FIRMWARE_IN_KERNEL /usr/src/linux-4.14.8-gentoo-r1/.config"?

 

```
GentooDesktop ~ # grep CONFIG_FIRMWARE_IN_KERNEL /usr/src/linux-4.14.8-gentoo-r1/.config

# CONFIG_FIRMWARE_IN_KERNEL is not set
```

ok now it was not actually set up. but yesterday I set it correctly on "y" and the kernel compilation stopped!

I raised the compilation, after having set the variable indicated on "y", now let's see if it is successful

it is stopped:

```
GentooDesktop ~ # genkernel all

* Gentoo Linux Genkernel; Version 3.4.52.4

* Running with options: --kernel-config=/usr/src/linux/.config --no-mrproper all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

* Linux Kernel 4.14.8-gentoo-r1 for x86_64...

* .. with config file /usr/src/linux-4.14.8-gentoo-r1/.config

* kernel: --mrproper is disabled; not running 'make mrproper'.

*         >> Running oldconfig...

* kernel: >> Cleaning...

*         >> Compiling 4.14.8-gentoo-r1 bzImage...

*         >> Installing firmware ('make firmware_install') due to CONFIG_FIRMWARE_IN_KERNEL != y...

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- Grepping log... --

* 

*Allow for memory compaction (COMPACTION) [Y/n/?] y

*  Page migration (MIGRATION) [Y/?] y

*Enable bounce buffers (BOUNCE) [Y/n/?] y

*Enable KSM for page merging (KSM) [Y/n/?] y

*Low address space to protect from user allocation (DEFAULT_MMAP_MIN_ADDR) [4096] 4096

*Enable recovery from hardware memory errors (MEMORY_FAILURE) [Y/n/?] y

*--

*    *

*    round-robin scheduling (IP_VS_RR) [M/n/?] m

*    weighted round-robin scheduling (IP_VS_WRR) [M/n/?] m

*    least-connection scheduling (IP_VS_LC) [M/n/?] m

*    weighted least-connection scheduling (IP_VS_WLC) [M/n/?] m

*    weighted failover scheduling (IP_VS_FO) [N/m/?] n

*--

*  rj54n1cb0c support (SOC_CAMERA_RJ54N1) [N/m/?] n

*  tw9910 support (SOC_CAMERA_TW9910) [M/n/?] m

*

* drm/i915 Debugging

*

*Force GCC to throw an error instead of a warning when compiling (DRM_I915_WERROR) [N/y/?] n

*Enable additional driver debugging (DRM_I915_DEBUG) [N/y/?] n

*Enable additional driver debugging for fence objects (DRM_I915_SW_FENCE_DEBUG_OBJECTS) [N/y/?] n

*Enable additional driver debugging for detecting dependency cycles (DRM_I915_SW_FENCE_CHECK_DAG) [N/y/?] (NEW) 

*Enable selftests upon driver load (DRM_I915_SELFTEST) [N/y/?] n

*Enable low level request tracing events (DRM_I915_LOW_LEVEL_TRACEPOINTS) [N/y/?] n

*Enable extra debug warnings for vblank evasion (DRM_I915_DEBUG_VBLANK_EVADE) [N/y/?] n

*--

*Enable tracing for RCU (RCU_TRACE) [N/y/?] n

*Provide debugging asserts for adding NO_HZ support to an arch (RCU_EQS_DEBUG) [N/y/?] n

*Force round-robin CPU selection for unbound work items (DEBUG_WQ_FORCE_RR_CPU) [N/y/?] n

*Force extended block device numbers and spread them (DEBUG_BLOCK_EXT_DEVT) [N/y/?] n

*Enable CPU hotplug state control (CPU_HOTPLUG_STATE_CONTROL) [N/y/?] n

*Notifier error injection (NOTIFIER_ERROR_INJECTION) [N/m/y/?] n

*--

*  AR      arch/x86/kernel/cpu/built-in.o

*  CC      arch/x86/kernel/fpu/init.o

*  CC      mm/swap_cgroup.o

*  CC      kernel/uid16.o

*  CC      kernel/module.o

*  CC      mm/memory-failure.o

*--

*  LZ4     arch/x86/boot/compressed/vmlinux.bin.lz4

*  MKPIGGY arch/x86/boot/compressed/piggy.S

*  AS      arch/x86/boot/compressed/piggy.o

*  DATAREL arch/x86/boot/compressed/vmlinux

*  LD      arch/x86/boot/compressed/vmlinux

*ld: arch/x86/boot/compressed/head_64.o: warning: relocation in readonly section `.head.text'

*ld: warning: creating a DT_TEXTREL in a shared object.

*--

* Running with options: --kernel-config=/usr/src/linux/.config --no-mrproper all

* Using genkernel.conf from /etc/genkernel.conf

* Sourcing arch-specific config.sh from /usr/share/genkernel/arch/x86_64/config.sh ..

* Sourcing arch-specific modules_load from /usr/share/genkernel/arch/x86_64/modules_load ..

*

* ERROR: Failed to compile the "firmware_install" target...

* 

* -- End log... --

* 

* Please consult /var/log/genkernel.log for more information and any

* errors that were reported above.

* 

* Report any genkernel bugs to bugs.gentoo.org and

* assign your bug to genkernel@gentoo.org. Please include

* as much information as you can in your bug report; attaching

* /var/log/genkernel.log so that your issue can be dealt with effectively.

* 

* Please do *not* report compilation failures as genkernel bugs!

* 

GentooDesktop ~ # 
```

Last edited by tano70 on Thu Dec 21, 2017 3:14 pm; edited 1 time in total

----------

## Philippe23

I'd suggest running "genkernel --menuconfig all" and manually checking the box.  @kajzer mentioned a different location (/usr/share/genkernel/arch/x86_64/generated-config) than I normally interact with.  Having genkernel run menuconfig for you will make sure it adjusts the right .config file.

 *Quote:*   

> You can also do it with menuconfig if you prefer it that way, it's in Device Drivers->Generic Driver Options, option you need to select is "Include in-kernel firmware blobs in kernel binary"

 

----------

## The Main Man

 *Philippe23 wrote:*   

>  @kajzer mentioned a different location (/usr/share/genkernel/arch/x86_64/generated-config) than I normally interact with.  

 

In /etc/genkernel.conf I have this option enabled :

```
# Run 'make oldconfig' before compiling this kernel?

OLDCONFIG="yes"
```

I guess that's why the config is located in the location I specified.

But no matter the location, wherever that config file is that option (CONFIG_FIRMWARE_IN_KERNEL=y) should be set in there, or manually via menuconfig.

Then kernel compiles fine 100%

To be absolutely sure if that option is set one should run "genkernel --menuconfig all" and either search for it or navigate to it manually and see if it's set.

----------

