有人建议我这是问这个问题的正确地方,从其他问题来看似乎也是如此。我希望能在这里得到答案。
(顺便说一句,我尝试构建 ubuntu 的原因是在 ubuntu 内核中添加一些调试信息,以使用 qemu 调试虚拟机上的 ubuntu 安装失败。虚拟机基于 qemu 的 arm64 'virt' 机器,但是有不同的地址映射,并且有一个简单的外围设备模型,可以加载和使用基于 multi2sim 的复杂 .so 文件。)
我通过下载了ubuntu源git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git
。
根据https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel
包含的 Arm 构建过程,我这样做了:
LANG=C fakeroot debian/rules clean
LANG=C fakeroot debian/rules binary-headers binary-generic binary-perarch
我已经在命令之前导出ARCH=arm64 CROSS_COMPILE=aarch64-none-elf
或导出
ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu-
,或者在命令之后导出,但最后以错误结束。其中一条错误消息是You are building kernel with non-retpoline compiler, please update your compiler
,我看到我可以通过更改配置来修复它(https://askubuntu.com/questions/1145943/building-kernel-with-non-retpoline-compiler)。所以我尝试了
LANG=C fakeroot debian/rules editconfigs
但它询问我Do you want to edit config: amd64/config.flavour.generic?
何时为arm64架构做这件事。我尝试提供 ARCH 和 CROSS_COMPILE 选项,但它总是询问我是否要更改 amd64 配置。我如何为其fakeroot debian/rules
构建方法提供 ARCH 和 CROSS_COMPILE 选项?
ps我的工具链信息。
aarch64-linux-gnu-gcc (Linaro GCC 7.5-2019.12) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
或者
aarch64-none-elf-gcc (GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10)) 9.2.1 20191025
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
答案1
基于ARM交叉编译指令,您需要导出以下内容:
export $(dpkg-architecture -aarm64)
export CROSS_COMPILE=aarch64-linux-gnu-
但它问我
Do you want to edit config: amd64/config.flavour.generic?
如果您回答“否”,它最终会询问您是否要编辑arm64
配置。
一旦配置按照您想要的方式设置完毕,
fakeroot debian/rules binary-headers binary-generic binary-perarch
将为您构建软件包,目标为aarch64
.
答案2
有些人已经完成了arm的编译工作,所以我建议你在ubuntu服务器上拍摄镜像,然后添加桌面环境,我做到了,这很简单,效果很好,我给你一个链接您会找到图片和遵循的步骤,希望您能成功。
https://ubuntu.com/download/raspberry-pi
https://ubuntu.com/tutorials/how-to-install-ubuntu-desktop-on-raspberry-pi-4#1-overview
祝你好运!