Debian

如何為 arm64 建構 ubuntu?(如何將 ARCH 和 CROSS_COMPILE 變數賦予 debian/rules 命令)

  • June 29, 2021

有人建議我這將是提出這個問題的正確地方,從其他問題看來也是如此。我希望能在這裡得到答案。

(順便說一句,我嘗試建構 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.

根據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.

有些人已經完成了為 arm 編譯的工作,所以我建議你在 ubuntu 伺服器上獲取圖像,然後添加一個桌面環境,我做到了,它很簡單而且效果很好,我給你一個連結您將找到圖像和要遵循的步驟,希望您取得成功。

https://ubuntu.com/download/raspberry-pi

https://ubuntu.com/tutorials/how-to-install-ubuntu-desktop-on-raspberry-pi-4#1-overview

祝你好運!

引用自:https://unix.stackexchange.com/questions/656263