kernel 编译错误 修改贴

AI助手已提取文章相关产品:

1:Console input/output is redirected. Run 'make oldconfig' to update configuration.

在kernel 配置文件中缺失了 CONFIG_MTK_MT6628_FM  项。


编译 kernel log:
**** Cleaning ****
[: 1: mediatek/custom/out/ztenj77_sz_cu_ics2/kernel/usb/: unexpected operator
clean mediatek kernel source tree
find /home/disk2/luguang/p820/org/p820_77/kernel/../mediatek/config/out/ztenj77_sz_cu_ics2/autoconfig -name kconfig -type f -print | xargs rm -f
  CLEAN   scripts/basic
  CLEAN   scripts/kconfig
  CLEAN   include/config include/generated
  CLEAN   .config
**** Configuring / ..//mediatek/config/out/ztenj77_sz_cu_ics2/autoconfig/kconfig / ****
[COPY] /home/disk2/luguang/p820/org/p820_77/kernel/../mediatek/config/out/ztenj77_sz_cu_ics2/autoconfig/kconfig --> mediatek-configs
[COPY] /home/disk2/luguang/p820/org/p820_77/kernel/../mediatek/config/out/ztenj77_sz_cu_ics2/autoconfig/kconfig --> .config
  HOSTCC  scripts/basic/fixdep
  GEN     /home/disk2/luguang/p820/org/p820_77/kernel/out/Makefile
  HOSTCC  scripts/kconfig/conf.o
  SHIPPED scripts/kconfig/zconf.tab.c
  SHIPPED scripts/kconfig/lex.zconf.c
  SHIPPED scripts/kconfig/zconf.hash.c
  HOSTCC  scripts/kconfig/zconf.tab.o
  HOSTLD  scripts/kconfig/conf
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (VIDEO_VIVI && FB_VGA16 && FB_S3 && FB_VT8623 && FB_ARK && USB_SISUSBVGA_CON && MTK_FB_SUPPORT_ASSERTION_LAYER) selects FONT_8x16 which has unmet direct dependencies (HAS_IOMEM && VT && (FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON))
*
* Restart config...
*
*
* Drivers Configurations
*
MediaTek Accessory Detection Support (MTK_ACCDET) [Y/n] y
Bluetooth network device (for DUN/PAN) (MTK_BT_NET_DEV) [Y/n/?] y
MediaTek CCMNI driver (MTK_NET_CCMNI) [Y/n] y
MediaTek NFC driver (MTK_NFC) [N/m/y] n
MediaTek Connectivity Combo Chip Support (MTK_COMBO) [M/n/y] m
  MediaTek Combo Chip BT Support (MTK_COMBO_BT) [M/n] m
  MediaTek Combo Chip GPS Support (MTK_COMBO_GPS) [M/n] m
  MediaTek Combo Chip FM Support (MTK_COMBO_FM) [M/n] m
  MediaTek combo chip Wi-Fi support (MTK_COMBO_WIFI) [M/n] m
MediaTek AR1000 Chip FM Support (MTK_AR1000_FM) [N/m/y] n
MediaTek MT6616 Chip FM Support (MTK_MT6616_FM) [N/m/y] n
MediaTek MT6620 Chip FM Support (MTK_MT6620_FM) [N/m/y] n
MediaTek MT6626 Chip FM Support (MTK_MT6626_FM) [N/m/y] n
MediaTek MT6628 Chip FM Support (MTK_MT6628_FM) [N/m/y] (NEW) aborted!
Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[5]: *** [silentoldconfig] Error 1
make[4]: *** [silentoldconfig] Error 2
make[3]: *** [sub-make] Error 2
**** Building ****
  GEN     /home/disk2/luguang/p820/org/p820_77/kernel/out/Makefile
scripts/kconfig/conf --silentoldconfig Kconfig
warning: (VIDEO_VIVI && FB_VGA16 && FB_S3 && FB_VT8623 && FB_ARK && USB_SISUSBVGA_CON && MTK_FB_SUPPORT_ASSERTION_LAYER) selects FONT_8x16 which has unmet direct dependencies (HAS_IOMEM && VT && (FRAMEBUFFER_CONSOLE || SGI_NEWPORT_CONSOLE || STI_CONSOLE || USB_SISUSBVGA_CON))
*
* Restart config...
*
*
* Drivers Configurations
*
MediaTek Accessory Detection Support (MTK_ACCDET) [Y/n] y
Bluetooth network device (for DUN/PAN) (MTK_BT_NET_DEV) [Y/n/?] y
MediaTek CCMNI driver (MTK_NET_CCMNI) [Y/n] y
MediaTek NFC driver (MTK_NFC) [N/m/y] n
MediaTek Connectivity Combo Chip Support (MTK_COMBO) [M/n/y] m
  MediaTek Combo Chip BT Support (MTK_COMBO_BT) [M/n] m
  MediaTek Combo Chip GPS Support (MTK_COMBO_GPS) [M/n] m
  MediaTek Combo Chip FM Support (MTK_COMBO_FM) [M/n] m
  MediaTek combo chip Wi-Fi support (MTK_COMBO_WIFI) [M/n] m
MediaTek AR1000 Chip FM Support (MTK_AR1000_FM) [N/m/y] n
MediaTek MT6616 Chip FM Support (MTK_MT6616_FM) [N/m/y] n
MediaTek MT6620 Chip FM Support (MTK_MT6620_FM) [N/m/y] n
MediaTek MT6626 Chip FM Support (MTK_MT6626_FM) [N/m/y] n
MediaTek MT6628 Chip FM Support (MTK_MT6628_FM) [N/m/y] (NEW) aborted!
Console input/output is redirected. Run 'make oldconfig' to update configuration.

make[6]: *** [silentoldconfig] Error 1
make[5]: *** [silentoldconfig] Error 2
make[4]: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'.  Stop.
make[3]: *** [sub-make] Error 2

解决办法:

CONFIG_MTK_MT6628_FM=m 加一句这个


您可能感兴趣的与本文相关内容

<think>嗯,用户现在遇到了问题,输入了cd fbtft然后make,结果出现了一堆错误提示。首先,我需要理解用户的具体情况。用户可能是在尝试编译某个项目,比如fbtft驱动,这是一个用于树莓派等单板计算机的LCD屏幕驱动的项目。用户已经成功进入了该目录,但在执行make时遇到了错误。 接下来,我要考虑用户可能的背景。他们可能对Linux系统有一定了解,能够使用基本的命令如cd和make,但可能对编译过程或错误处理不太熟悉。因此,我的回答需要详细,但又要避免使用过于专业的术语,确保用户能够理解。 用户的问题显示他们遇到了编译错误,可能的原因有很多,比如缺少依赖库、内核头文件未安装、权限问题、代码版本不兼容等。我需要逐一分析这些可能性,并给出对应的解决方案。 首先,检查依赖项是必要的。在编译过程中,常见的错误来源是缺少必要的开发工具或库。需要提醒用户安装build-essential、make、gcc等基本工具,以及可能的特定依赖如libncurses-dev或bison、flex。 其次,内核头文件的问题。许多驱动项目需要与当前运行的内核版本匹配的内核头文件。用户可能没有安装这些头文件,或者安装的版本不匹配。需要指导用户安装linux-headers-generic(针对Ubuntu/Debian)或对应的包,并检查版本是否一致。 权限问题也是一个可能因素。虽然用户使用了sudo apt update,但在编译时可能需要使用sudo make install,特别是如果安装到系统目录的话。但需要注意,有时候以root权限运行make可能会导致问题,所以需要根据具体情况建议。 代码版本不兼容也是一个常见问题。用户可能从GitHub克隆了代码仓库,但主分支可能不稳定,或者与当前内核版本不兼容。建议用户切换分支或标签,使用更稳定的版本。 此外,查看具体的错误信息是关键。不同的错误提示指向不同的问题。例如,如果出现“无法找到内核源码”的错误,说明内核头文件未正确安装或路径不对。如果出现函数未定义的引用,可能是代码依赖的库未安装,或者代码本身存在版本问题。 还有可能需要处理编译器版本的问题,尤其是当项目较旧时,新版本的gcc可能会有兼容性问题。建议用户尝试降低编译器版本或修改Makefile中的编译器标志。 最后,如果所有方法都失败,建议用户寻求社区帮助,提供完整的错误日志,以便更精准地解决问题。同时,提醒用户注意代码的维护状态,如果项目已停止维护,可能需要寻找替代方案。 总结来说,我需要分步骤引导用户检查依赖、内核头文件、权限、代码版本,并根据错误信息具体分析。同时,保持回答结构清晰,逐步解决问题,确保用户能够按照指导一步步排查和解决错误。</think>当你在`fbtft`目录下执行`make`命令时出现错误,通常与**编译环境配置、依赖缺失或代码兼容性**有关。以下是逐步排查和解决的方案: --- ### 1. **检查依赖项** 编译驱动或内核模块需要以下工具和库: - **安装编译工具链**: ```bash sudo apt install build-essential make gcc ``` - **安装内核头文件**(必须与当前内核版本一致): ```bash sudo apt install linux-headers-$(uname -r) ``` --- ### 2. **验证内核头文件路径** - **确认头文件位置**: 确保`/lib/modules/$(uname -r)/build`是一个有效符号链接。 若链接失效,手动修复: ```bash sudo ln -s /usr/src/linux-headers-$(uname -r) /lib/modules/$(uname -r)/build ``` --- ### 3. **常见错误及解决方案** #### **错误类型1:`无法找到内核源码`** ```text Makefile: 没有规则可制作目标“/lib/modules/.../build” ``` - **原因**:内核头文件未安装或路径错误。 - **解决**:重新安装内核头文件(见步骤1)。 #### **错误类型2:`函数未定义的引用`** ```text undefined reference to `some_function` ``` - **原因**:代码依赖的库未安装。 - **解决**:安装缺失的库,例如: ```bash sudo apt install libncurses-dev bison flex ``` #### **错误类型3:`权限被拒绝`** - **解决**:尝试以`sudo make`执行(需谨慎,可能导致权限混乱)。 --- ### 4. **代码适配性问题** - **问题背景**:`fbtft`驱动可能未适配最新内核。 - **解决方法**: 1. 切换到稳定分支(例如旧版内核适配的分支): ```bash git checkout legacy # 或其他分支名 ``` 2. 手动修改代码中的函数名(需参考内核文档或社区讨论)。 --- ### 5. **完整编译流程示例** ```bash # 安装依赖 sudo apt update && sudo apt install build-essential linux-headers-$(uname -r) # 进入代码目录 cd fbtft # 清理旧编译文件(若有) make clean # 编译(可能需要指定内核路径) make KERNEL_SRC=/lib/modules/$(uname -r)/build ``` --- ### 6. **若仍失败** - **提供错误日志**:将完整的错误信息粘到社区(如GitHub Issues或论坛)。 - **检查代码维护状态**:若`fbtft`已停止维护,可尝试替代驱动(如`notro/fbtft`官方库)。 --- ### 流程图总结 ```text 安装依赖 → 检查内核头文件 → 修复路径 → 重新编译 ↓ 失败 → 检查错误类型 → 针对性解决 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值