我想在 Gentoo Linux 上编译一个新的内核 4.14.8-gentoo-r1。我eselect kernel set 2
在进入目录之前使用创建了符号链接并在该目录中/usr/src/linux
执行。genkernel all
不幸的是,在编译 Linux 内核 4.14.8-gentoo-r1 时,我收到以下错误:
pecan@tux /usr/src/linux $ sudo 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.8-gentoo-r1 for x86_64...
* .. with config file /usr/share/genkernel/arch/x86_64/generated-config
* kernel: --mrproper is disabled; not running 'make mrproper'.
* >> Running oldconfig...
* kernel: --clean is disabled; not running 'make clean'.
* kernel: >> Invoking menuconfig...
* >> 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 ipc/syscall.o
* CC kernel/irq/proc.o
* CC mm/swap_cgroup.o
* CC ipc/ipc_sysctl.o
* CC kernel/irq/migration.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 [email protected]. 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!
*
谁能帮我?
答案1
此问题已在Gentoo 论坛和Gentoo 错误追踪器前阵子。正如错误报告中提到的,您可以FIRMWARE_INSTALL=no
在您的 中进行设置genkernel.conf
,或者将 genkernel 升级到不稳定版本(该线程还建议CONFIG_FIRMWARE_IN_KERNEL=y
在您的.config
文件中进行设置,但请验证这是否是您想要使用的东西。)您可能需要注意作为4.14,Linux 不再有内核固件,这就是您收到该错误消息的原因:genkernel 试图创造一些不再存在的东西。