この間購入した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が映るはず.
– – –
参考にしたのは主に以下のサイト.
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 – 備忘録