我从Linus的github克隆了内核源代码,我对usbhid驱动程序进行了一些修改(这可以很好地编译为模块,没有错误),但如果我尝试构建整个内核,我会收到此错误:
AR drivers/gpu/drm/built-in.o
AR drivers/gpu/built-in.o
Makefile:1023: recipe for target 'drivers' failed
make: *** [drivers] Error 2
这就没有什么特别的了。可能是什么问题?
答案 0 :(得分:0)
更新:9-15-18此问题已解决。。内核现在将使用我在下面给出的命令进行编译。
同一问题。 4.19.0-rc3无法在Threadripper 2990WX上编译。顺便说一句,我目前正在运行4.19.0-rc2,没有问题。
这些是我使用的命令。请注意,我也尝试了不使用LD静态标志的情况。
wget https://git.kernel.org/torvalds/t/linux-4.19-rc3.tar.gz && tar -xzf linux-4.19-rc3.tar.gz && cd linux-4.19-rc3 && make -j 64 clean && make -j 64 mrproper && zcat /proc/config.gz >> ./.config && LDFLAGS=--static make -j 64
答案 1 :(得分:0)
问题出在您的配置文件中。我之前也遇到过同样的问题,并且似乎是由于CONFIG
生成的.config
文件中缺少make menuconfig
选项所致。
您需要在.config文件中添加以下两个CONFIG选项:
CONFIG_EXTRA_FIRMWARE_DIR="lib/firmware"
CONFIG_EXTRA_FIRMWARE="<name_of_firmware_along_with_path>"
在某些平台上,GPU使用的固件需要通过与内核拼接来内置。在构建内核时,此固件放置在CONFIG_EXTRA_FIRMWARE
选项提供的目录路径中。并且除非我们不提供CONFIG_EXTRA_FIRMWARE_DIR
路径来告诉内核从何处选择该固件,否则上述构建都会发生。