上野家のホームページ
ナーマル,マリン,ココ
[
新規
|
一覧
|
検索
|
最新
|
ヘルプ
]
PC/RaspberryPi/USBディスプレイを使う
のソース
資料室
PC
/
RaspberryPi
/
USBディスプレイを使う
のソース
[
差分
|
バックアップ
|
リロード
]
[ ]
差分
を表示
PC/RaspberryPi/USBディスプレイを使う
へ行く。
* USBディスプレイを使う [#x16fb237] DisplayLink社は,USBグラフィックアダブタを開発・販売していて,結構多くのUSB接続型ディスプレイ製品に組み込まれている。~ センチュリー社のLCD-8000が,このアダプタが組み込まれているかは確証はないですが,おそらくそうだと思います。 そこで,DisplayLink社のアダプタをRaspberry Pi3とかで使用できるようにする方法です。 DisplayLinkのUSBグラフィックアダプタは,最近のRaspbianのカーネルでは最初からモジュールとしてビルドされているようだ。~ 古いRaspbianのカーネルでは,無効の状態でビルドされているのでそのままでは使用できない。~ もしUSBディスプレイを指してカーネルがデバイスを認識しない場合は,RaspbianのカーネルをUSBグラフィックアダプタを有効にして,ビルドし直す必要がある。~ この場合は,以下のカーネルをUSBディスプレイを有効にしてビルドする必要がある。~ 認識していれば,カーネルのビルドする必要はない。 * カーネルをビルドする場合 [#g4a80457] ** カーネルのクロスコンパイル環境を用意する [#xd500951] Raspberry Pi3とかでセルフビルドすると時間が結構掛かるので,クロス・コンパイルをしてみる。~ 試しに,Windows10のWSLでのUbuntu 18.0.4上でクロスコンパイルしてみた。 WSLのUbuntuにログイン後,ビルドに必要ないろいろなツールをインストールする。 $ sudo apt install build-essential libncurses5-dev device-tree-compiler trace-cmd git bc gperf bison flex libtool autoconf automake 使わないものも入れておいた。 ARMプロセッサー用のToolchainをインストールする。 $ sudo apt install gcc-arm-linux-gnueabihf ** Raspbianで使用されているカーネルのソースコードを取得して,カーネルビルドするための設定を行う [#z6d6bd77] まず,Raspbianのカーネルソースを取得します。 $ mkdir rpi $ cd rpi $ git clone --depth=1 https://github.com/raspberrypi/linux -b rpi-4.9.y 標準のRaspberry Pi3の設定を.configにコピーして,設定メニューを表示してビルド・オプションを編集する。 $ cd linux $ KERNEL=kernel7 $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2709_defconfig $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig 設定メニューが表示されたら, - Device Driversを選んでリターンを押す~ - Graphics Supportを選択する~ - Support for Framebuffer supportを選択する~ - Displaylink USB Framebuffer supportを選択して,スペースキーで有効化(M)する~ Mで,モジュール化するように設定している。 - Escキーを数回押して,最後に設定状態をファイルに保存して終了する~ 設定ファイルは,.configファイルに保存される。 ** カーネルをビルドする [#a9fb33a4] カーネルをビルドする。 $ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs 結構時間がかかる。 ビルドが正常に終了すると,''arch/arm/boot/''に''zImage''(カーネルのイメージファイル)やカーネルモジュールが作成される。 $ ls arch/arm/boot/ Image Makefile bootp compressed dts install.sh zImage; 以下のスクリプトで,カーネルなどが含んだtarボールを作成する。 set -x export KERNEL_RELEASE=`cat include/config/kernel.release` export INSTALL_MOD_PATH=../$KERNEL_RELEASE mkdir -p ../$KERNEL_RELEASE/boot/overlays make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules_install scripts/mkknlimg arch/arm/boot/zImage ../$KERNEL_RELEASE/boot/kernel.img cp arch/arm/boot/dts/*.dtb ../$KERNEL_RELEASE/boot/ cp arch/arm/boot/dts/overlays/*.dtbo ../$KERNEL_RELEASE/boot/overlays/ cd .. tar cvjf $KERNEL_RELEASE.tar.bz2 $KERNEL_RELEASE/ 上のディレクトリに,4.xx.yy.tar.bz2ファイルが出来る。 ** Raspberry Piに作成したファイルを移す [#a3439eff] Raspberry Piに作成したファイルをコピーする。 $ scp 4.xx.yy.tar.bz2 xxxxxx@yyyyy.zzzzz:/home/yuji のようにしてファイルをコピーする。(どんなやり方でもOK) Raspberry Piにログインして,現在使用しているカーネル・イメージをバックアップしておく。 # cp /boot/kernel7.img /boot/kernel7-backup.img カーネルモジュールをインストールする。 # tar xvzf 4.xx.yy.tar.bz2 # modules_install デバイスツリーオーバーレイのインストール # cp arch/arm/boot/dts/overlays/*.dtbo /boot/overlays/ # cp arch/arm/boot/dts/overlays/README /boot/overlays/ カーネルのインストール # cp arch/arm/boot/zImage /boot/kernel7.img Raspberry Pi3を再起動する。 # reboot * USBディスプレイの確認と設定 [#kcad4175] Raspberry Piが起動したら,次のようにしてUSBディスプレイ(DisplayLink社のアダプタ)を認識しているか確認する。 # dmesg | grep DisplayLink xxxxxxxxxxxxxxxxx たぶん,Manufacturer: DisplayLink とか表示されていれば認識している。 USBディスプレイのデバイスファイルは,/dev/fb1になると思う。/dev/f0は,HDMIディスプレイ。~ このデバイスに対して表示するようにすればいいと思う。~ X WindowでこのUSBディスプレイに表示するには,''/usr/share/X11/xorg.conf.d/60-plugable.conf''ファイルを以下のように作成する。 Section "Device" Identifier "displaylink" driver "fbdev" Option "fbdev" "/dev/fb1" Option "ShadowFB" "off" EndSection Section "Monitor" Identifier "monitor" EndSection Section "Screen" Identifier "screen" Device "displaylink" Monitor "monitor" EndSection Section "ServerLayout" Identifier "default" Screen 0 "screen" 0 0 EndSection この後,startxしたりリブートしたりすれば,USBディスプレイに画面が表示される。
PC/RaspberryPi/USBディスプレイを使う のバックアップソース(No. All)
現: 2023-05-02 (火) 11:45:35
yuji
Counter: 301, today: 1, yesterday: 1
Copyright©2008 Yuji Ueno All Rights Reserved.
ログイン
ユーザ名:
パスワード:
IDとパスワードを記憶
パスワード紛失
メインメニュー
ホーム
でぶlog
資料室
最新ページ一覧
全ページ一覧
ヘルプ
» 関連ページ
» Wikiソース
» 編集履歴
» バックアップ一覧
» 添付ファイル一覧
フォーラム
お問い合わせ