Raspberry Pi 2 カーネル4.0.7のクロスコンパイルメモ
(参考サイト)
Kernel Building - Raspberry Pi Documentation
RaspberryPi - Raspberry Piのカーネルをクロスコンパイルする - Qiita
Raspberry Pi2のカーネルの再構築とGW-450Dを使えるようにする。 - 石を売る
raspberry pi 2のカーネルソースとツール取得
githubから取得。git pullしないなら--depth 1 をつけた方が早く取得できると思う。
$ git clone https://github.com/raspberrypi/linux.git $ git clone https://github.com/raspberrypi/tools.git
取得した時点で4.0.7だった。
pi@raspberrypi ~ $ uname -a Linux raspberrypi 4.0.7-v7+ #3 SMP PREEMPT Wed Jul 8 23:31:48 JST 2015 armv7l GNU/Linux
環境構築 CentOS 6.6 x86_64
いろいろと怒られたので、zlib.i686とlibstdc++.i686をyumで導入した。
$ sudo yum install zlib.i686 libstdc++.i686
ビルド
config設定
下記コマンドでデフォルトのコンフィグで.configが生成される。旧Raspberry Piの場合は引数が違うらしいので注意。
$ make ARCH=arm bcm2709_defconfig
カーネル、カーネルモジュール、デバイスツリーのビルド
gitで取得したtoolsのパスをCROSS_COMPILE以降に適切に入力する。
64bit CentOSでトライしたものの、x64だとライブラリが不足していたので32bitツールチェインでコンパイルした。
$ make ARCH=arm CROSS_COMPILE=../tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- zImage modules dtbs
コンパイルされたものを集める
適当なディレクトリを作っておいて、そちらにモジュールやらカーネルイメージやらを集める。 下記のコマンドだとtemp以下に集まる。
$ mkdir temp $ mkdir temp/overlays $ make ARCH=arm CROSS_COMPILE=../tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin/arm-linux-gnueabihf- INSTALL_MOD_PATH=./temp modules_install $ scripts/mkknlimg arch/arm/boot/zImage temp/kernel7.img $ cp arch/arm/boot/dts/*.dtb temp $ cp arch/arm/boot/dts/overlays/*.dtb* temp/overlays $ cp arch/arm/boot/dts/overlays/README temp/overlays
sourceとbuildのシンボリックリンクが出来ていたので、転送サイズを減らすためにも消しておく。
シンボリックリンクを削除するので、パスの最後に/を付けないように注意。
$ rm temp/lib/modules/4.0.7-v7+/source temp/lib/modules/4.0.7-v7+/build
インストール
Raspberry Pi2の場合、カーネルイメージは/boot/kernel7.imgらしい。7が付いていない方は旧Raspberry Pi用とのこと。
適当なディレクトリ下に集めた雑多なファイルをRaspberry Pi2にscpして、下記コマンドをRaspberry Pi上で実行する。
$ sudo cp temp/kernel7.img /boot/kernel7.img $ sudo cp -r temp/lib / $ sudo chown -R root /lib/modules $ sudo chgrp -R root /lib/modules $ sudo cp temp/*dtb /boot $ sudo cp -r temp/overlays/ /boot
終わったら再起動する。失敗すると虹色画面で止まってしまうので、LED点灯が消えたら電源OFFして、SDカードの中身を修復してやりなおし。
Raspberry Pi2 Model B ボード&ケースセット (Standard, Clear)
- 出版社/メーカー: TechShare
- メディア: エレクトロニクス
- この商品を含むブログ (5件) を見る