Raspberry Pi 2にLCD-USB10XB-Tつなぐ[1/3] – カーネル再構築編

こんにちは、天野勝です。

GEEKSCHOOL をお手伝いすることになったこともあり、Raspberry Pi 2 Model Bを購入しました。
せっかくのハードウェアなので、GEEKSCHOOL以外でも何かに使えないかといろいろと考えてみました。が、あまり良い使い方思い浮かびません。とりあえず画面が表示された方が使い勝手がよいだろうと考え、家に転がっていたUSBディスプレイ(LCD-USB10XB-T)をつないでみることにしました。

Webを検索すると、先人たちの資料がありましたので、これらを参考に設定をしてみました。

参考にさせていただいたページ

回回 PPE : Petit Panda Extreme 回回 – LCD-USB10XB-TをUbuntuで使う
RPi – Raspberry Pi で USB 接続型モニター(ディスプレイ)を利用する方法
Raspberry Pi Documentation

環境

  • ターゲット
    ハード:Raspberry Pi 2 Model B(以下、RPi2)
    OS:Rasbian
  • 開発機
    ハード:自作PC(CPUはJ1900)
    OS:Ubuntu14.04(64bit)

ターゲットと開発機は、sshで接続します。

カーネルの再コンパイル

LCD-USB10XB-Tを使うには、DiplayLinkのドライバを有効にする必要があります。
しかし、Rasbianでは、このオプションがオフになった状態になっていますので、オプションをオンにしてカーネルをコンパイルします。

開発環境の構築

開発機でカーネルをコンパイルします。そのための環境を整えます。
作業用のディレクトリを作成します。

$ mkdir RPi
$ cd RPi

toolchainをインストールします。

$ git clone https://github.com/raspberrypi/tools.git

toolchainを使えるようにします。
私の場合は、.bashrcにパスを追加しました。

.bashrc


PATH=$PATH:/home/masaru/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian:/home/masaru/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/bin:/home/masaru/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin


カーネルのビルド

カーネルのソースコードを取得します。

$ git clone --depth=1 https://github.com/raspberrypi/linux.git

コンフィグファイルをターゲットであるRPi2からコピーします。

$ cd linux
$ scp pi@RPi2のIPアドレス:/proc/config.gz ./
$ zcat config.gz > .config

コンフィグファイルを修正し、ドライバを有効にします

.config


# CONFIG_FB_UDL is not set

CONFIG_FB_UDL=m

私の場合、2924行目でした。

カーネルをビルドします。
私の環境では、1時間半くらいで終わりました。

$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-

モジュールをビルドします。

$ make modules_install ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- INSTALL_MOD_PATH=../modules/

カーネルの置換

カーネルとモジュールをtarボールにまとめて、RPi2に転送します。

まずはtarボールを作成します。

$ mkdir udlfb_raspi
$ cp arch/arm/boot/zImage udlfb_raspi/kernel7.img
$ cp -pr ../modules udlfb_raspi/
$ tar cvzf udlfb_raspi.tgz udlfb_raspi

sshでRPi2にログインし、RPi2側のバックアップを作成します。

$ ssh pi@RPi2のIPアドレス
$ sudo cp /boot/kernel7.img /boot/kernel7_org.img
$ exit

RPi2に転送します。

$ scp udlfb_raspi.tgz pi@RPi2のIPアドレス:/home/pi

展開してインストールします。

$ ssh pi@RPi2のIPアドレス
$ tar xvzf udlfb_raspi.tgz
$ sudo cp udlfb_raspi/kernel7.img /boot/kernel7.img
$ sudo cp -pr udlfb_raspi/modules/lib/modules/3.18.12-v7+ /lib/modules/

再起動します。

$ sudo reboot

カーネルのバージョンを確認します。

$ uname -a
Linux raspberrypi 3.18.12-v7+ #1 SMP PREEMPT Thu Apr 30 01:21:34 JST 2015 armv7l GNU/Linux

【ディスプレイにXのデスクトップを表示させる編】

“Raspberry Pi 2にLCD-USB10XB-Tつなぐ[1/3] – カーネル再構築編” への 1 件のフィードバック

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中