カーネルがどのように機能するかについてもっと理解したいと思います。これの一部は、自分でコンパイルすることです。Ubuntuホストでカーネルをクロスコンパイルするにはどうすればよいですか?
カーネルがどのように機能するかについてもっと理解したいと思います。これの一部は、自分でコンパイルすることです。Ubuntuホストでカーネルをクロスコンパイルするにはどうすればよいですか?
回答:
まず、必要な前提条件をインストールする必要があります。sudo
アクセスできると思います。
sudo apt-get install git ncurses-dev make gcc-arm-linux-gnueabi
git
Linuxカーネルチームが使用するバージョン管理システムです。ncurses
コンソールメニューをビルドするためのライブラリです。に必要ですmenuconfig
。make
コンパイルを実行します。gcc-arm-linux-gnueabi
クロスコンパイラです。次に、ソースを取得する必要があります:
git clone https://github.com/raspberrypi/linux raspberrypi-linux
cd raspberrypi-linux
これにより、ソースコードが呼び出されたディレクトリに複製されraspberrypi-linux
、変更されます。
まず、実行して構成ファイルを移動する必要があります
cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
次に、カーネルビルドを構成します
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
オプション: menuconfigを使用してビルドをカスタマイズします
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig
次に、コンパイルを実行します
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
参照資料
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k
Alexは正しいと思いますが、gcc-arm-linux-gnueabiはハードウェア浮動小数点ユニットなしでarm cpus用にコンパイルされています。https://github.com/raspberrypi/toolsでarmhfをサポートするクロスコンパイラを見つけることができます。 ここから始めるのに良いチュートリアルがあります:http ://hertaville.com/2012/09/28/development-environment- raspberry-pi-cross-compiler /
公式文書
https://www.raspberrypi.org/documentation/linux/kernel/building.md(GitHubの)
そこの手順に従うか、何かが古くなったり、十分に明確でない場合はプルリクエストを送信することをお勧めします。これらの手順は、ドキュメントの公式ドキュメントの一部であるため、正確で最新である可能性が最も高いものです。事業。