You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译LicheePi Zero Linux内核时「所选处理器不支持...」错误的解决方法

编译LicheePi Zero Linux内核时的处理器指令支持错误解决方法

我在Windows11的Ubuntu WSL控制台里,跟着不同教程编译LicheePi Zero的Linux内核一直失败。运行以下命令:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j8 all

或者另一教程的命令:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16

都会出现类似错误:

/tmp/cclQPRaQ.s: Assembler messages:
/tmp/cclQPRaQ.s:88: Error: selected processor does not support cpsid i' in ARM mode /tmp/cclQPRaQ.s:91: Error: selected processor does not support dsb ' in ARM mode
/tmp/cclQPRaQ.s:99: Error: selected processor does not support dsb ' in ARM mode /tmp/cclQPRaQ.s:108: Error: selected processor does not support dsb ' in ARM mode
/tmp/cclQPRaQ.s:116: Error: selected processor does not support dsb ' in ARM mode /tmp/cclQPRaQ.s:123: Error: selected processor does not support cpsie i' in ARM mode
/tmp/cclQPRaQ.s:142: Error: selected processor does not support dmb ish' in ARM mode /tmp/cclQPRaQ.s:145: Error: architectural extension mp' is not allowed for the current base architecture
/tmp/cclQPRaQ.s:146: Error: selected processor does not support pldw [r3]' in ARM mode /tmp/cclQPRaQ.s:149: Error: selected processor does not support pld [r3]' in ARM mode
/tmp/cclQPRaQ.s:155: Error: selected processor does not support ldrex r2,[r3]' in ARM mode /tmp/cclQPRaQ.s:157: Error: selected processor does not support strex r1,r2,[r3]' in ARM mode
/tmp/cclQPRaQ.s:162: Error: selected processor does not support dmb ish' in ARM mode make[1]: *** [scripts/Makefile.build:279: arch/arm/mm/fault-armv.o] Error 1 make[1]: *** Waiting for unfinished jobs.... CC arch/arm/kernel/ptrace.o /tmp/ccsW6s1I.s: Assembler messages: /tmp/ccsW6s1I.s:368: Error: selected processor does not support cpsie i' in ARM mode
/tmp/ccsW6s1I.s:754: Error: selected processor does not support dsb ishst' in ARM mode /tmp/ccsW6s1I.s:1012: Error: selected processor does not support cpsie a' in ARM mode
make[1]: *** [scripts/Makefile.build:279: arch/arm/mm/fault.o]
Error 1

问题原因

这些错误是因为内核配置指定的ARM架构版本或处理器型号,和LicheePi Zero的硬件(全志V3s,基于ARMv7-A架构)不匹配,导致汇编器生成了当前处理器不支持的指令。

解决步骤

  • 加载正确的默认配置
    LicheePi Zero对应的内核默认配置文件是sun8i-v3s-licheepi-zero_defconfig,编译前先加载这个配置:

    make ARCH=arm sun8i-v3s-licheepi-zero_defconfig
    

    这一步会自动预设匹配V3s处理器的架构参数,从根源避免指令集不兼容问题。

  • 自定义配置检查(可选)
    如果需要调整内核功能,运行以下命令进入配置界面,确认System Type下的ARM architecture version设置为ARMv7,Processor type选择Allwinner V3s或对应ARMv7-A的选项:

    make ARCH=arm menuconfig
    

    不要随意修改架构相关选项,确保和硬件一致。

  • 重新执行编译
    加载正确配置后,再运行编译命令:

    make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j$(nproc)
    

    用$(nproc)自动匹配WSL可用的核心数,比固定-j8/-j16更适配环境。

额外注意事项

  • 确保交叉编译工具链版本符合内核要求,推荐使用官方指定的arm-linux-gnueabihf-gcc版本(如gcc-9或gcc-10),过高版本可能引发兼容性问题。
  • WSL环境下编译时,预留足够的内存和磁盘空间,避免编译中途中断。

内容的提问来源于stack exchange,提问作者Libreik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 10:48:12