こんにちは、お久しぶりです。
以前の投稿でRaspberry PiのKernelのビルドを行った事がありましたが、この時はRaspberry Pi上でのセルフコンパイルでしたので、ビルドに非常に時間がかかってしまいました。
この問題を解決するには、性能の良いマシンにLinux環境を構築してクロスコンパイルができるようにする必要があるのですが、環境構築が面倒である為、前回は根性なくあきらめてしまいました・・・。
んが、しかしWindows 10のAnniversary Updateで、UbuntuのbashがWindows上で動作するようになり、面倒くさがり屋の私も俄然やる気が出てきましたw
では、早速環境構築していきましょう!
当然のことながらAnniversary Updateは済ませておいて下さい。ちなみにWindows 10の32bit版ではWindows Subsystem for Linux (WSL)がインストールできないので注意しましょう。
「コントロール パネル\プログラム\プログラムと機能」を開いてWindows Subsystem for Linux (WSL)を有効にします。
「設定」→「更新とセキュリティ」を開いて開発者モードを有効にしてください。
コマンドプロンプトを起動して「bash」と入力し、新しいアカウントを作成して下さい。
ビルドに必要なツール類をインストールします。
cd sudo apt-get install git make gcc libncurses5-dev build-essential git clone https://github.com/raspberrypi/tools
インストールしたツールPATHを通します。
vi ~/.bashrc
一番下に以下の2行を追加してください。
PATH="$PATH":~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64 PATH="$PATH":~/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin
通したPATHを有効にします。
source ~/.bashrc
Kernelのソースをダウンロードします。
git clone --depth=1 https://github.com/raspberrypi/linux
Kernelをビルドします。
cd linux KERNEL=kernel7 make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs