OSXでRaspberry Pi用カーネルモジュールをコンパイルするには。

Raspberry Pi Zeroは、まだ届きません。待ち遠しい…。
待ってる間に開発環境をOSXで整備しときます。
Raspberry Pi (raspbian)にはgccも含まれているので、実機上でカーネルもカーネルモジュールもコンパイルできてしまうんですけどね。

tmp $ gcc --version
gcc (Debian 4.6.3-14+rpi1) 4.6.3
Copyright (C) 2011 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.

が、もちろん非力なCPUとメモリなので、PC上でコンパイルしたい。
で、調べたらARM Cross Compiling with Mac OS XにOSX用インストーラがアップされていました。linaroってあるけど、linaroがOSXバイナリも提供してるんだろうか…?

Raspberry Pi用toolchainのインストール

とりあえず、上記サイトから以下のいずれかをダウンロードして解凍します。

  • arm-linux-gnueabihf-raspbian 4.8 2014.04 for Mac OS X (2308)
  • arm-linux-gnueabihf-raspbian 4.9 2014.05 for Mac OS X (5485)

すると、拡張子が.macのインストーラが生成されるので、ダブルクリックして実行します。
その際、セキュリティ設定が開発元情報ないとインストール許しません状態になっている、セキュリティ意識の高い方は、今回に限り緩めてもらって、「このまま開く」ボタンを押してください。

あとは「続ける」ボタンを連打するだけ。

インストールが完了したら、~/.bash_profileとか編集して/usr/local/linaro/arm-linux-gnueabihf-raspbian/binにパスを通しましょう。

$ cat ~/.bash_profile
export PATH="/usr/local/linaro/arm-linux-gnueabihf-raspbian/bin:$PATH"

Raspberry Piカーネルソースの取得とコンパイル

Raspberry Pi公式ページまんまですが、toolchainさえインストールしてパス通しちゃえば、以下のようにしてコンパイル可能です。

$ git clone --depth=1 https://github.com/raspberrypi/linux rpi_kernel
$ cd rpi_kernel
$ KERNEL=kernel
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcmrpi_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs

http://blog.ebiken.me/how-to-linux-char-dev/

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

Close Bitnami banner
Bitnami