将Linux内核交叉编译到aarch64 Raspberry Pi 3

问题描述 投票:0回答:1

我正在尝试交叉编译最新的主线 Linux 内核,以便我可以将其用于 RPI3b+ 上的 U-Boot。但是,它无法运行 make。

我已经通过

sudo apt-get install gcc-aarch64-linux-gnu

确保我拥有编译器

我有

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
并且已经跑了
sudo apt-get update

当我运行这个...

git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- defconfig
make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) # This is where it fails

它在执行的最后一行失败了

make ARCH=arm CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc)
  CC      scripts/mod/empty.o
aarch64-linux-gnu-gcc: error: unrecognized argument in option ‘-mabi=aapcs-linux’
aarch64-linux-gnu-gcc: note: valid arguments to ‘-mabi=’ are: ilp32 lp64
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mtp=cp15’
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-mfpu=vfp’
aarch64-linux-gnu-gcc: error: unrecognized command-line option ‘-msoft-float’
make[2]: *** [scripts/Makefile.build:244: scripts/mod/empty.o] Error 1
make[1]: *** [/home/eden/Documents/Testing/uboot/linux/Makefile:1207: prepare0] Error 2
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:240: __sub-make] Error 2

我似乎在互联网上找不到任何此错误的出现。有人可以指出可能出了什么问题吗?

  • 我在 Ubuntu 22.04 - 英特尔 i5 处理器上运行此程序

谢谢

linux-kernel arm64 u-boot
1个回答
0
投票

有人知道可能出了什么问题吗?

在 make 命令中指定

ARCH=arm
似乎是矛盾的,因为您反复提到 “aarch64”。这是两种不同的(尽管相关)架构。

尝试在 make 命令中使用

ARCH=arm64
来代替。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.