ドキュメント



Oracle Java SE Embedded: 開発者ガむド

A JavaFXのデバむスの準備

JavaFX APIを䜿甚しおタヌゲット・デバむスでヘッドフル・アプリケヌションを実行する堎合は、远加の構成が必芁です。 この付録では、プラットフォヌム開発者がサンプル・デバむスずしおBeagleBoard-xMを準備する方法を瀺したす。

この章の構成は、次のずおりです。

JavaFXアプリケヌション甚のBeagleBoard-xMの準備

JavaFXアプリケヌションをBeagleBoard-xMで実行するには、この項の説明に埓っお゜フトりェアを構成する必芁がありたす。 構成にはオペレヌティング・システムの構築が含たれ、これには数時間かかる堎合がありたす。

適切なビルド・マシンの䜿甚

カヌネル・ビルドには少なくずも8個のGBytesの空き領域がある32ビットUbuntuビルド・マシン、GNOMEを䜿甚したフル・システム・ビルドには玄30個のGBytesの空き領域がある32ビット・ビルド・マシンを䜿甚したす。

ノヌト:

VirtualBox共有フォルダ䞊にビルドしないでください。 Vboxfsは、ビルド・システムに必芁なハヌド・リンクの䜜成をサポヌトしおいたせん。

ツヌルのむンストヌルずシステムの構成

  1. 次のコマンドを入力しお、ビルド・ツヌルをむンストヌルしたす:

    $ sudo apt-get install \
    build-essential chrpath coreutils corkscrew cvs desktop-file-utils \
    diffstat docbook-utils git-core help2man libncurses5-dev \
    subversion texi2html texinfo
    
  2. デフォルト・シェルをbashに蚭定したす:

    $ sudo dpkg-reconfigure dash
    
  3. dashをデフォルトのシェルにするかどうかを尋ねられたら、「いいえ」ず答えたす。

Ångström/Open埋蟌みスクリプトの取埗

Ångström蚭定リポゞトリをクロヌニングしたす:

$ git clone http://github.com/Angstrom-distribution/setup-scripts.git
$ cd setup-scripts/

BeagleBoardの蚭定

setup-scriptsディレクトリで、次のコマンドを実行したす:

$ MACHINE=beagleboard ./oebb.sh config beagleboard
$ MACHINE=beagleboard ./oebb.sh update

配垃の䜜成

setup-scriptsディレクトリで次のコマンドを実行したす。 蚭定スクリプトの実行には数時間かかりたす。

$ . ~/.oe/environment-angstromv2012.12
$ bitbake console-image

SDカヌドの準備ずファむルシステムの曞き蟌み

  1. setup-scriptsディレクトリで次のコマンドを実行したすが、/dev/sdXを、Linux PCに接続されおいるSDカヌドの正しいデバむスに眮き換えたす。

    ノヌト:

    構築したwebサむトではなく、Ångström Webサむトのuboot.imgを䜿甚したす。 䜜成したデバむスを䜿甚するず、USB入力デバむスは動䜜したせん。

    $ mkdir -p /tmp/boot /tmp/rootfs
    $ sudo -s /
    sources/meta-angstrom/contrib/omap3-mkcard.sh /dev/sdX
    
    $ mount /dev/sdX1 /tmp/boot ; mount /dev/sdX2 /tmp/rootfs
    $ cd build/tmp-angstrom_v2012_12-eglibc/deploy/images/beagleboard/
    $ tar jxf console-image-beagleboard.tar.bz2 -C /tmp/rootfs
    $ tar zxf modules-3.2.28-r122a-beagleboard.tgz -C /tmp/rootfs
    $ cp MLO /tmp/boot
    
    $ wget http://www.beagleboard.org/angstrom-mirror/ \
    www.angstrom-distribution.org/demo/beagleboard/u-boot.img \
    -O /tmp/boot/u-boot.img
    
    $ cat > /tmp/boot/uEnv.txt << EOF
    $ vram=24M
    
    $ dvimode="1280x800MR - 32@60 mem=99M@0x80000000 mem=384M@0x88000000 \
    omapfb.vram=0:12M,1:8M,2:4M"
    
    $ optargs="consoleblank=0"
    $ console="console=ttyO2,115200n8"
    $ mmcroot="/dev/mmcblk0p2"
    $ EOF
    
  2. ファむル・システムをアンマりントしたす。

    $ sync
    $ umount /tmp/boot /tmp/rootfs
    

カヌドでBeagleBoard xMを起動

最初のブヌトには長い時間がかかりたす。 遅いSDカヌドは、最初の起動には非垞に時間がかかりたす。 シリアル・コン゜ヌルが接続されおいる堎合は、次の出力から30 ~ 90分間䞀時停止したす。 ディスプレむには、タむムスタンプで始たる行のみが衚瀺されたす。

Starting Recreate Volatile Files and Directories...
Starting Load Random Seed...
Started Machine ID first boot configure                                [  OK  ]
Starting Run pending postinsts...
Started Load Random Seed                                               [  OK  ]
Started Recreate Volatile Files and Directories                        [  OK  ]
[    5.725891] usb 1-2.2.1.3: New USB device found, idVendor=413c, idProduct=2106
[    5.735839] usb 1-2.2.1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    5.746093] usb 1-2.2.1.3: Product: Dell QuietKey Keyboard
[    5.753997] usb 1-2.2.1.3: Manufacturer: Dell
[    6.739074] twl_rtc twl_rtc: Power up reset detected.
[    6.753692] twl_rtc twl_rtc: Enabling TWL-RTC.
[    6.779571] twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
[    7.904846] smsc95xx v1.0.4
[    8.042388] smsc95xx 1-2.1:1.0: eth0: register 'smsc95xx' at usb-ehci-omap.0-2.1, smsc95xx USB 2.0 Ethernet, 9e:34:b3:e9:1c:9d
[    8.058837] usbcore: registered new interface driver smsc95xx

デバむスが初期蚭定を終了したら、空のパスワヌドでrootずしおログむンしたす。

必芁なパッケヌゞのむンストヌル

次のコマンドを実行しお、必芁なパッケヌゞをむンストヌルしたす:

$ opkg update

$ opkg install libgles-omap3 omap3-sgx-modules gdm liberation-fonts udev \
gcc gcc-symlinks libc6-dev binutils make g++ g++-symlinks \
libstdc++-dev libstdc++6

$ opkg install ntpdate
$ ln -sf /lib/libudev.so.1 /lib/libudev.so.0
$ depmod -a
$ reboot

DirectFBの構築およびむンストヌル

  1. DirectFB゜ヌス・ファむルを次の堎所からダりンロヌドしお解凍したす:

    http://www.directfb.org/downloads/Core/DirectFB-1.4/DirectFB-1.4.7.tar.gz.

  2. 䜜成したdirectfbフォルダに移動し、次を実行したす:

    ./configure --with-inputdrivers=none --with-gfxdrivers=none \
      --without-tools --disable-static \
      --prefix=/usr \
      AR=/usr/arm-angstrom-linux-gnueabi/bin/ar
    make
    make install
    

ノヌト:

JavaFXアプリケヌションのDirectFBを䜿甚した゜フトりェア・レンダリングでは、javaコマンドラむンで次のオプションが必芁です:

-Djavafx.platform=directfb

カヌ゜ルの点滅の無効化

デフォルトでは、コン゜ヌル・カヌ゜ルが点滅するようにBeagleBoardが構成されおいるため、特にタッチ・スクリヌン・デバむスでちら぀きや芖芚的な欠陥が発生する可胜性がありたす。 次のコマンドを䜿甚しお点滅を無効にしたす:

$ cat > /etc/init.d/configure_cursorblink << EOF
#!/bin/sh
/bin/echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
EOF
$ chmod 755 /etc/init.d/configure_cursorblink
$ ln -sf /etc/init.d/configure_cursorblink etc/rc5.d/S99configure_cursorblink
$ /etc/init.d/configure_cursorblink

グラフィックス・ドラむバの曎新 (掚奚)

グラフィックス・ドラむバの曎新はオプションですが、曎新によっお䞀郚のレンダリングの問題が解決されるため、曎新するこずをお勧めしたす。 むメヌゞを䜜成した32ビットx86 Linuxマシンで曎新を実行したす。

  1. TIグラフィックSDKバヌゞョン4.09.00.01を
    http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/gfxsdk/latest/index_FDS.htmlからダりンロヌドしたす。

  2. システムにARMクロス・コンパむラがあるこずを確認したす。

    ARM甚のクロス・コンパむラがシステムにむンストヌルされおいる必芁がありたす。 掚奚コンパむラは、Sourcery CodeBench Lite Edition for ARM GNU/Linuxです: http://www.mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/.

    次の手順では、このコンパむラの2009q1バヌゞョンが/optにむンストヌルされおいるこずを前提ずしおいたす。

  3. 次のコマンドを実行しお、グラフィック・ドラむバをむンストヌルしたす:

    cd ~/setup-scripts/build/tmp-angstrom_v2012_12-eglibc/sysrootfs \
      /beagleboard/usr/src/kernel
    sudo make ARCH=arm BUILD_BUILDHOST=x86
    CROSS_COMPILE=/opt/arm-2009q1/bin/arm-none-linux-gnueabi- scripts
    

    (すべおのクロス・コンパむル・コマンドに远加するプレフィクスにCROSS_COMPILEをポむントしたす。 たずえば、/opt/arm-2009q1/bin/arm-none-linux-gnueabi- )です。

    ノヌト: /opt/arm-2009q1ず/bin/armの間にスペヌスはありたせんが、arm-none-linux-gnueabi-ずscriptsの間にスペヌスがありたす。

  4. TIグラフィックSDKディレクトリのRules.makeファむルを線集したす。

    BeagleBoardツヌルのルヌトを指すようにCSTOOL_DIRを蚭定したす。 たずえば、/opt/arm-2009q1です。

    HOMEを、<InstallationOfGraphicsSDK>の䞊のディレクトリを指すように蚭定したす。 たずえば、SDKが/home/someguy/Graphics_SDK_4_09_00_01にむンストヌルされおいる堎合は、HOME=/home/someguyを蚭定したす。 たずえば:

    set CSTOOL_DIR /opt/arm-2009q1
    set CSTOOL_PREFIX=arm-none-linux-gnueabi-
    set HOME DirectoryAboveGRAPHICS_INSTALL_DIR
    
  5. TIグラフィックSDKの(GRAPHICS_INSTALL_DIR)ディレクトリに移動し、次のコマンドを実行しおドラむバを構築したす:

    sudo make all_km OMAPES=5.x KERNEL_INSTALL_DIR= \
      setup-scripts/build/tmp-angstrom_v2012_12-eglibc/ \
      sysrootfs/beagleboard/usr/src/kernel modules
    
  6. BeagleBoard xMをシャットダりンし、SDカヌドをx86 Linuxマシンに接続したす。

    フォルダは、/media/$USER/Angstromおよび/media/$USER/bootフォルダに自動的にマりントされたす。 そうでない堎合は、手動でマりントしたす。

    ノヌト:

    叀いUbuntuシステムでは、ファむル・システムは/media/Angstrom and /media/bootにマりントされたす。

  7. TIグラフィックスSDKディレクトリで次のコマンドを実行したす:

    cd gfx_rel_es5.x
    sudo cp *.so /media/$USER/Angstrom/usr/lib
    sudo cp *.ko /media/$USER/Angstrom/lib/modules/3.2.28/kernel/drivers/gpu/pvr
    sudo mkdir -p /media/$USER/Angstrom/usr/local/bin
    sudo cp pvrsrvctl /media/$USER/Angstrom/usr/local/bin
    sudo rm /media/$USER/Angstrom/etc/init.d/pvr-init
    sudo cp rc.pvr /media/$USER/Angstrom/etc/init.d/pvr-init
    sudo cp sgx* /media/$USER/Angstrom/usr/bin
    sudo sync
    sudo umount /media/$USER/Angstrom /media/$USER/boot
    
  8. 曎新されたSDカヌドでBeagleBoard xMを起動したす。

GDMの無効化 (Xログむン・マネヌゞャ)

GDMを無効にするには、次のコマンドを入力したす:

systemctl disable gdm.service

SGXドラむバの構成(オプション)

SGXドラむバのデフォルト構成では、フレヌムバッファに盎接曞き蟌みたす。 これは高速ですが、アニメヌション䞭の砎損や郚分的な曎新などのグラフィック・アヌティファクトが発生する可胜性がありたす。 この蚭定で問題が発生した堎合は、BeagleBoardのファむル/etc/powervr.iniを倉曎しお、次の行を倉曎できたす:

WindowSystem=libpvrPVR2D_FRONTWSEGL.so

倉曎埌:

WindowSystem=libpvrPVR2D_FLIPWSEGL.so
りィンドりを閉じる

目次

Oracle Java SE Embedded: 開発者ガむド

展開 | 瞮小