如何在 arch linux 主机上交叉编译 raspbian 内核?

如何在 arch linux 主机上交叉编译 raspbian 内核?

我有一个 raspberrypi 3B,想要在其上编译并安装新内核,但我只有一个 arch linux(x86_64) 主机来编译它。

官方文档我在尝试交叉编译内核时陷入困境,似乎我缺少正确的交叉编译器。

❯ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig
scripts/Kconfig.include:39: compiler 'arm-linux-gnueabihf-gcc' not found
make[1]: *** [scripts/kconfig/Makefile:88: bcm2709_defconfig] Error 1
make: *** [Makefile:603: bcm2709_defconfig] Error 2

问题是我不知道要安装什么,文档中建议的包crossbuild-essential-armhf似乎不存在于官方存储库中,也不存在于 AUR 中。

它在拱门存储库中是否有其他名称?我安装了arm-none-eabi-gcc,但似乎不是我需要的。查看 arch wiki 我发现这一页它没有多大帮助,但它给我的印象是我需要构建和编译我自己的交叉编译器。是这样吗? arch linux中有没有现成的arm交叉编译器?

另外,一旦我设法交叉编译它,我在 arch 与 raspbian 中的不同版本的软件包(例如 glibc)是否会遇到问题?如果是这样,有没有简单的方法来处理这个问题?

任何帮助将不胜感激

编辑:看看这些包是什么,似乎我真正需要的是,gcc-arm-linux-gnueabihf但这在 pacman 上也不存在。我能找到的最接近的东西是arm-linux-gnueabihf-gcc在 AUR 中,但我无法编译它,因为我需要第一阶段交叉编译器,这也因其他原因而失败。我觉得这不应该仅仅存在于 aur 中,我是否遗漏了 pacman 存储库中明显的东西?

相关内容