arm64용 우분투를 빌드하는 방법은 무엇입니까? (`debian/rules` 명령에 ARCH 및 CROSS_COMPILE 변수를 할당하는 방법)

arm64용 우분투를 빌드하는 방법은 무엇입니까? (`debian/rules` 명령에 ARCH 및 CROSS_COMPILE 변수를 할당하는 방법)

누군가 나에게 이 질문을 하는 곳이 여기가 맞다고 제안했고, 다른 질문들로 보아도 마찬가지인 것 같다. 여기서 답을 얻기를 바랍니다.
(그런데 제가 우분투를 빌드하려는 이유는 qemu를 사용하여 가상 머신에서 우분투 설치를 디버깅하기 위해 우분투 커널에 일부 디버깅 정보를 추가하기 위해서입니다. 가상 머신은 qemu를 기반으로 하는 arm64 'virt' 머신이지만 다른 주소 매핑이 있으며 multi2sim을 기반으로 하는 복잡한 .so 파일에서 로드하고 사용할 수 있는 간단한 주변 장치 모델이 있습니다.

를 통해 우분투 소스를 다운로드했습니다 git clone git://kernel.ubuntu.com/ubuntu/ubuntu-focal.git. 포함된 Arm 빌드 프로세스
에 따라 다음을 수행했습니다.https://wiki.ubuntu.com/Kernel/BuildYourOwnKernel

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용으로 컴파일을 했기 때문에 우분투 서버에 미러를 설치한 다음 데스크톱 환경을 추가하는 것이 좋습니다. 제가 해봤는데 쉽고 훌륭하게 작동했습니다. 사진을 찾아 따라갈 수 있는 링크를 알려드리겠습니다. 단계, 성공하길 바랍니다.
https://ubuntu.com/download/raspberry-pi

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

행운을 빌어요!

관련 정보