からくりブログ

株式会社からくり社員のブログです

Bash on Ubuntu on WindowsにRaspberry Piのクロスコンパイル環境を作ってみる

こんにちは、お久しぶりです。

以前の投稿で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)を有効にします。

wsl5

「設定」→「更新とセキュリティ」を開いて開発者モードを有効にしてください。

wsl2 wsl3  

コマンドプロンプトを起動して「bash」と入力し、新しいアカウントを作成して下さい。

  wsl7    

ビルドに必要なツール類をインストールします。

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

wsl12

通した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

wsl11

 

Bash on Ubuntu on Windowsって素晴らしい!

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>