在参考https://github.com/johnnyfan1979/public_doc/blob/main/documentation/DE25_Nano/DE25%20Nano%20Build%20Linux%20image%20from%20scratch.md 制作DE25-Nano 的image的时候遇到报错:
lib/display_options.c: In function ‘print_freq’:
lib/display_options.c:61:9: internal compiler error: Illegal instruction
61 | unsigned long d = 1e9;
| ^~~~~~~~
CC drivers/mtd/spi/sf_probe.o
CC drivers/mtd/spi/spi-nor-ids.o
CC fs/ubifs/recovery.o
CC drivers/mtd/spi/spi-nor-core.o
CC fs/ubifs/replay.o
0x741a7dc4251f ???
./signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See <https://bugs.linaro.org/> for instructions.
make[1]: *** [scripts/Makefile.build:256: lib/display_options.o] Error 1
make: *** [Makefile:1921: lib] Error 2
make: *** Waiting for unfinished jobs....

可能是之前下载的ARM 工具链(gcc-arm-11.2-2022.02-x86_64-aarch64-none-linux-gnu)编译时使用了某些当前 CPU 不支持的指令集(可能是 AVX2、AVX512 等)。
解决办法:使用系统自带的交叉编译器
# 1. 安装 Ubuntu 自带的 ARM 交叉编译器 sudo apt update sudo apt install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu # 2. 设置环境变量 export CROSS_COMPILE=aarch64-linux-gnu- export ARCH=arm64 export PATH=/usr/bin:$PATH # 确保使用系统编译器 # 3. 清理并重新构建 U-Boot cd /home/doreen/DE25_Nano_A5_sdmmc/u-boot-socfpga make distclean make socfpga_agilex5_de25_nano_defconfig make -j $(nproc)
浙公网安备 33010602011771号