Raspberry piにDisplayLinkのUSBディスプレイを接続する

この間購入したRaspberry piにUSBディスプレイ(LCD-8000UD)を接続してみました.
イメージ作成環境はvirtualbox上の Ubuntu 12.10 で行いました.
以下設定手順.

– – –
1. raspbianのインストール & カーネルコンフィグの取得

http://www.raspberrypi.org/downloads からRaspbianのイメージを落としてSDカードへ書き込み.
Raspberry piにSDカードを挿入して起動,適当に設定をしてログイン.
/proc/config.gz をRaspberry piから scp か何かで引っ張ってきて,次のようにしてカーネルコンフィグを用意する.

zcat config.gz > .config

2. カーネルイメージ作成
gitと,クロスコンパイル用のgccをインストール.
ついでに ncurses もインストール.

sudo apt-get install git-core gcc-4.6-arm-linux-gnueabi
sudo ln -s /usr/bin/arm-linux-gnueabi-gcc-4.6 /usr/bin/arm-linux-gnueabi-gcc
sudo apt-get install libncurses5-dev

Raspbianのソース & ツールをチェックアウト

mkdir raspberrypi
cd raspberrypi
git clone git://github.com/raspberrypi/tools.git
git clone git://github.com/raspberrypi/linux.git

1. でとっておいた .config を raspberrypi/linux 下に配置

cp ~/.config ~/raspberrypi/linux/

カーネル設定.

cd linux
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- oldconfig
make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- menuconfig

Kernel Configuration画面になったら,”Device Drivers” -> “Graphics Support” -> “Support for Framebuffer support” と進み,”Displaylink USB Framebuffer support” で y を押し,有効にする.
有効にしたら,ESC連打で,Kernel Configuration の初めまで戻って”Save an Alternate Configuration File”から保存してからExit.

カーネルをコンパイルする.

make ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- -k -j6

モジュールコンパイル & カーネルイメージ生成

mkdir ../modules
make modules_install ARCH=arm CROSS_COMPILE=/usr/bin/arm-linux-gnueabi- INSTALL_MOD_PATH=../modules/
cd ../tools/mkimage/
./imagetool-uncompressed.py ../../linux/arch/arm/boot/Image

うまくできていればカレントディレクトに kernel.img ができているはず.

3. カーネルの置き換え
できた kernel.img を raspbian をインストールしたSDカードのルートに上書き保存する.
特にツールとか使わずにエクスプローラから置くだけでいい.

4. xorgの設定
raspberry piを起動し,以下の内容を /etc/X11/xorg.conf として保存する.

Section "Device"
  Identifier "uga"
  driver "fbdev"
  Option "fbdev" "/dev/fb1"
  Option "ShadowFB" "off"
EndSection

Section "Monitor"
  Identifier "monitor"
EndSection

Section "Screen"
  Identifier "screen"
  Device "uga"
  Monitor "monitor"
EndSection

Section "ServerLayout"
  Identifier "default"
  Screen 0 "screen" 0 0
EndSection

あとは,startx すればUSBディスプレイにGUIが映るはず.

IMAG0065

– – –
参考にしたのは主に以下のサイト.
Mimo USB Monitor and Raspberry Pi – anuk nurkhede
Raspberry Pi Kernel Compile – MitchTech
これでダメなら諦めた方が良い程度にRasberry Piのカーネルクロスコンパイル手順をまとめてみた – もぐてっく

はじめ,1つ目と2つ目のサイトを参考にやってみたところ,USBディスプレイ上にGUIの出力はできたものの,マウス入力などを受け付けなかったため3つ目を参考にカーネル設定を変更しました.
カーネルコンパイルとかせずに手っ取り早くUSBディスプレイに接続したい,という人のためにカーネルイメージを上げておきます.
kernel.zip

– – –
すこし手こずりましたが,なんとかUSBディスプレイを接続することが出来ました.
DisplayLink のドライバを使用しているUSBディスプレイなら大体接続できるのではないでしょうか.
USBディスプレイ接続にしたことで,Raspberry pi環境がグッとコンパクトになったので,持ち運べることを活かして遊んでみたいです.

Raspberry piにDisplayLinkのUSBディスプレイを接続する」への1件のフィードバック

  1. ピンバック: Raspberry Pi – 備忘録

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください