誰かが私にこの質問をするところがここが正しいと提案し、他の質問で見ても同じようだ。ここで答えを得ることを願っています。
(しかし、私がUbuntuを構築したいのは、qemuを使用して仮想マシンでUbuntuのインストールをデバッグするためにUbuntuカーネルにいくつかのデバッグ情報を追加するためです)。マッピングがあり、multi2simに基づく複雑な.soファイルからロードして使用できる単純なペリフェラルモデルがあります。
経由でUbuntuソースをダウンロードしました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-
、またはコマンドの後にエクスポートしましたが、エラーが発生しました。エラーメッセージの1つは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
。