現: 2023-05-02 (火) 11:45:35 yuji ソース
Line 1: Line 1:
 +* 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

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 167, today: 1, yesterday: 0