SlideShare a Scribd company logo
Raspberry Piで
Qt5をはじめよう
    Sub Head


    by sazus



  10/27/2012 Qt名古屋勉強会#6
Agenda




  1. Raspberry Piについて              
  2. Qt5のクロスコンパイル
  3. エミュレータで実行
Raspberry Piについて


        Raspberry Piって?
  学校で基本的なコンピュータ科学の教育を促進す
  る、ラズベリーパイ財団が英国で開発したlinuxベー
  スで動作する名刺サイズなboard。
Raspberry Piについて


           Raspberry Pi Spec
  System On Chip    Broadcpm BCM2835
  CPU               700MHz
                    ARM Type: ARM11
  GPU               Broadcom VideoCore 4
                    (OpenGL ES 2.0対応)
  Memory            256MB
                    (SoC内蔵 GPUと共有)
  USB ポート(Host)     2
  USB ポート(device)   なし(microBついてる
                       けど、電源供給用)
Raspberry Piについて


           Raspberry Pi Spec
  Video Output      コンポジット(PAL/NTSC)
                    HDMI( rev1.3&1.4)
  Audio Out         Jack(3.5mm) / HDMI
  Storage           SDCard
  Network           10BASE-T/100BASE-TX
                    AUTO-MDIX機能あるよ
  Peripheral        UART/SPI/I2C/GPIO
  Power             5V 700mA (最大 )
Raspberry Piについて


        Raspberry Pi Spec
Raspberry Piについて




           こんな代物が
Raspberry Piについて




        なんと、$42!!!
Raspberry Piについて


               ご購入は、RS
  http://goo.gl/l9aIS
  (http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi)
Raspberry Piについて




               ただし
Raspberry Piについて




    生産が追いついてない orz
Raspberry Piについて


        今ポチったら・・




  ...クリスマスまでには来るかもしれない。
Qt5のクロスコンパイル




       本 題
 Qt5のクロスコンパイル
Qt5のクロスコンパイル


              Qt5のコンパイル
        もうすでに、神がおこなっております。

 Qt5をRaspberry Pi用にビルドする。
 http://goo.gl/OTmlz
 (http://relog.xii.jp/archives/2012/09/qt5raspberry_pi.html)
Qt5のクロスコンパイル


      Qt5のコンパイル


         以  上  !
Qt5のクロスコンパイル


             Qt5のコンパイル
☆Raspberry PiのQtデバイス情報
 Qt5 port functional state (Raspbian Wheezy)
   http://qt-project.org/wiki/RaspberryPi

☆Qt5のRaspberry Piクロスコンパイル ガイド。
 Beginner's guide to cross-compile Qt5 on RaspberryPi
   http://qt-project.org/wiki/RaspberryPi_Beginners_guide
Qt5のクロスコンパイル


             Qt5のコンパイル
☆Raspberry PiのQtデバイス情報
 Qt5 port functional state (Raspbian Wheezy)
   http://qt-project.org/wiki/RaspberryPi

☆Qt5のRaspberry Piクロスコンパイル ガイド。
 Beginner's guide to cross-compile Qt5 on RaspberryPi
   http://qt-project.org/wiki/RaspberryPi_Beginners_guide
Qt5のクロスコンパイル


      Qt5のコンパイル


  なんか、メンドイ・・・
Qt5のクロスコンパイル


      Qt5のコンパイル


  もっと簡単に、環境構築
Qt5のクロスコンパイル


       Qt5のコンパイル
   bakeqtpi.bash
      ネーミングが、イイ(*´∀`)
Qt5のクロスコンパイル


        Qt5のコンパイル
   bakeqtpi.bashのやってること(1/2)
    ・Rasbian(wheezy) の取得
      Debianベースのlinux SDカードimage

    ・gcc-4.7-linaro-rpi-gnueabihf
      Qt5クロスコンパイル用Cross Compiler
    ・Qt5のgitからの、Source取得
        config / make / install
Qt5のクロスコンパイル


          Qt5のコンパイル
   bakeqtpi.bashのやってること(2/2)
    ・Qt5のモジュールは、
          qtbase・qtimageformats ・qtsvg・qtjsbackend・qtscript
        qtxmlpatterns ・qtdeclarative・qtsensors・qt3d・qtgraphicaleffects
           qtlocation・qtquick1・qtsystems・qtmultimedia


    ・hard float用のpatch当て 
      qtjsbackendモジュールへ展開。

    ・その他つまずきそうな箇所の
                細かい?フォロー。
Qt5のクロスコンパイル


      Qt5のコンパイル


  それでも、めんどい・・

   まだ、いろいろ準備しない
      といけないし・・
Qt5のクロスコンパイル


      Qt5のコンパイル
   ベークQtパイをさらに名古屋テイスト
          で煮詰めてみる。




           +
Qt5のクロスコンパイル


         Qt5のコンパイル
 味噌煮Qtパイ
 (git://github.com/sazus/miso-ni-qtpi.git)
Qt5のクロスコンパイル


        Qt5のコンパイル
  miso-ni-qtpi.bashでの追加(1/2)
     ・Qt5クロスコンパイルに必要なパッケージの導入。
     build-essential・perl・python・unzip
     64bitなら、ia32-libs・libc6-dev-i386・lib32z1-dev


    ・Rasbian(wheezy) の最新取得
      2012-09-18-wheezy-raspbian.zip

    ・Qt5のgitから、v5.0.0-beta1のタグ
      にてブランチ作成。
        branch-v5.0.0-beta1
Qt5のクロスコンパイル


         Qt5のコンパイル
  miso-ni-qtpi.bashでの追加(2/2)
     ・qtbase・qtdeclarativeモジュール
      については、examleもbuild
     ・qtdeclarativeモジュールのTOOL
       qmlscene等

     ・Qt5ライブラリパスの追加
       LD_LIBRARY_PATH=/usr/local/qt5pi/lib/
Qt5のクロスコンパイル


      Qt5のコンパイル

          なんと!
  3stepで、SDcard焼付けまで。
Qt5のクロスコンパイル


       Qt5のコンパイル


  1. gitを入れる。
  2. 味噌煮Qtパイ(miso-ni-qtpi)をclone・実行。
  3. ddで焼付け。
Qt5のクロスコンパイル


         Qt5のコンパイル

  環境:
  HOST OS    :Ubuntu 12.10 64bit

  TARGET OS : Raspbian Wheezy (Hard float)
                              Ver.2012-09-18
  ToolChain : gcc-4.7-linaro-rpi-
              gnueabihf.tbz
               (http://blueocean.qmh-
                project.org/gcc-4.7-linaro-
                rpi-gnueabihf.tbz)
Qt5のクロスコンパイル


         Qt5のコンパイル

STEP1 gitを入れる。

  $ sudo apt-get install git
Qt5のクロスコンパイル


          Qt5のコンパイル

STEP2 味噌煮Qtパイ(miso-ni-qtpi)をclone・実行。

   $ cd ~
   $ git clone git://github.com/sazus/miso-ni-qtpi.
   git
   $ cd ./miso-ni-qtpi
   $ ./miso-ni-qtpi.sh 32bit
         or
   $ ./miso-ni-qtpi.sh 64bit
Qt5のクロスコンパイル


        Qt5のコンパイル

STEP3 ddで、SDカードへimageの焼付け。

  $ cd ~/miso-ni-qtpi/bakeqtpi/
  $ sudo dd bs=1M if=2012-09-18-wheezy-
  raspbian.img
   of=/dev/sdx; sync

  ※/dev/sdxは、SDカード デバイスファイル
エミュレータで実行




     エミュレータで叩いてみる
エミュレータで実行


     エミュレータできるの?
エミュレータで実行


                          QEMU

 参考にしたサイト
 Running Raspbian inside Linaro QEM

 http://goo.gl/f8u53
 (http://seabright.co.nz/2012/08/24/running-raspbian-inside-
 linaro-qemu/)
エミュレータで実行


                QEMUの導入
$ mkdir -p ~/opt/qemu
$ cd ~/opt/qemu

$ wget https://launchpad.net/qemu-
linaro/trunk/2012.08/+download/qemu-linaro-
1.1.50-2012.08.tar.gz

$ tar vzxf qemu-linaro-1.1.50-2012.08.tar.gz
$ cd ./qemu-linaro-1.1.50-2012.08
エミュレータで実行


                           QEMU build
$ ./configure --target-list=arm-softmmu
LDFLAGS           -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g
make           make
install      install
python         python
smbd           /usr/sbin/smbd
host CPU         x86_64
host big endian no
target list   arm-softmmu
・・・
OpenGL support yes          ←OpenGLサポートしてる!!
libiscsi support no
build guest agent yes
coroutine backend ucontext
エミュレータで実行


                QEMU build
 $ make 2>&1 | tee make.log
エミュレータで実行


                 QEMU 対応CPU
 $ cd ./arm-softmmu
 $ ./qemu-system-arm -cpu ?
 Available CPUs:
  arm1026 arm1136 arm1136-r2 arm1176 arm11mpcore
 arm926      arm946    cortex-a15 cortex-a8 cortex-a8-r2
  cortex-a9 cortex-m3 pxa250      pxa255    pxa260
  pxa261    pxa262    pxa270      pxa270-a0 pxa270-a1
  pxa270-b0 pxa270-b1 pxa270-c0 pxa270-c5 sa1100
  sa1110    ti925t    any
エミュレータで実行


                QEMU 対応board
 $ ./qemu-system-arm --machine ?
 Supported machines are:
 beagle          Beagle board (OMAP3530)
 beaglexm        Beagle board XM (OMAP3630)
 versatileab     ARM Versatile/AB (ARM926EJ-S)
 ・・・
 collie nuri smdkc210 connex verdex highbank
 integratorcp kzm mainstone musicpal n800
 n810 n900 sx1 sx1-v1 overo cheetah realview-eb
 realview-eb-mpcore realview-pb-a8 realview-pbx-a9
 akita spitz borzoi terrier lm3s811evb lm3s6965evb
 tosa versatilepb vexpress-a9 vexpress-a15
 xilinx-zynq-a9 z2
エミュレータで実行


                 QEMU 対応board
 Raspberry Piや、BCM2835搭載boardがない…。

 とりあえず、サイトに書いてあった
 versatileab   ARM Versatile/AB (ARM926EJ-S)
 で動かしてみる
エミュレータで実行


       QEMU 必要なimageの取得
 kernel :
  サイトに記載してあったkernel3.2をダウンロード     
 $ cd ~/opt/qemu
 $ wget http://juju.net.nz/michaelh/files/zImage-raspbian-3.2

 root file system image:
     qt5でbuildに使用したSDimage
     2012-09-18-wheezy-raspbian.img
エミュレータで実行


                 QEMU 実行
 $ cd ./arm-softmmu

 $ ./qemu-system-arm -M versatilepb -cpu arm1176 -m
 256 -hda ../../../Raspbian/2012-09-18-wheezy-raspbian.
 img -kernel ../../zImage-raspbian-3.2 -append
 "dwc_otg.lpm_enable=0 console=ttyAMA0,115200
 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2
 rootfstype=ext4 elevator=deadline rootwait" -serial
 stdio -redir tcp:2222::22
エミュレータで実行


          QEMU 実行




     root file system が読めない...。
エミュレータで実行


        QEMU 実行




        た、倒された!!
エミュレータで実行


            QEMU 実行

 その時、師匠からのお告げが!!!!

 2012-08-16-wheezy-raspbian.imgで
 出来たけど何か?
エミュレータで実行


           QEMU 実行
    2012-08-16-wheezy-raspbian.img
    で作りなおして、実行
エミュレータで実行


        QEMU 実行




        倒せるぞ!!
エミュレータで実行


         QEMU 実行

    OpenGLのvideoドライバない!
エミュレータで実行


        QEMU 実行




       見事に倒された!!!!
エミュレータで実行


       QEMU まとめ

    誰か、倒せる猛者絶賛募集中!
エミュレータで実行


        QEMU まとめ

    ・とりあえず、linuxで遊ぶなら
      エミュレータでもOK
    ・Qt5でOpenGLを使ったAPPは
      やっぱboradがいるかも....

More Related Content

PDF
ZynqMP勉強会
PDF
高位合成ツールVivado hlsのopen cv対応
PDF
Pynq祭り資料
PDF
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
PDF
OCIランタイムの筆頭「runc」を俯瞰する
PDF
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
PDF
GoBGP活用によるSD-WANプラクティス
PPTX
Great Ideas in GraalVM
ZynqMP勉強会
高位合成ツールVivado hlsのopen cv対応
Pynq祭り資料
Ansibleを使ってローカル開発環境を作ろう ( #PyLadiesTokyo Meetup )
OCIランタイムの筆頭「runc」を俯瞰する
ZynqMPのブートとパワーマネージメント : (ZynqMP Boot and Power Management)
GoBGP活用によるSD-WANプラクティス
Great Ideas in GraalVM

What's hot (20)

PDF
Infinite Debian - Platform for mass-producing system every second
PDF
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
PDF
20分でわかるgVisor入門
PDF
SDNアプローチによるBGP経路監視の提案
PDF
FPGAスタートアップ資料
ODP
MPSoCのPLの性能について
PDF
【Unite Tokyo 2019】Understanding C# Struct All Things
PDF
Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機
PDF
Vivado hlsのシミュレーションとhlsストリーム
PDF
XML-RPC : Pythonが「電池付属」と呼ばれる理由
PPTX
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
PDF
A quick tour of the Cysharp OSS
PDF
Pynqでカメラ画像をリアルタイムfastx コーナー検出
PDF
2017年のFPGA Community活動について
PDF
Qt5 の Input Method
PDF
Vivado hls勉強会4(axi4 master)
PPTX
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
PDF
NextGen Server/Client Architecture - gRPC + Unity + C#
PDF
pkgsrc とは何か? - よもやま話
PDF
GPD WINでStretchを動かす
Infinite Debian - Platform for mass-producing system every second
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
20分でわかるgVisor入門
SDNアプローチによるBGP経路監視の提案
FPGAスタートアップ資料
MPSoCのPLの性能について
【Unite Tokyo 2019】Understanding C# Struct All Things
Raspberry Pi Zero とカメラモジュールで作るライブ配信実験機
Vivado hlsのシミュレーションとhlsストリーム
XML-RPC : Pythonが「電池付属」と呼ばれる理由
GraalVMで使われている、他言語をJVM上に実装する仕組みを学ぼう
A quick tour of the Cysharp OSS
Pynqでカメラ画像をリアルタイムfastx コーナー検出
2017年のFPGA Community活動について
Qt5 の Input Method
Vivado hls勉強会4(axi4 master)
ラプラシアンフィルタをZedBoardで実装(ソフトウェアからハードウェアにオフロード)
NextGen Server/Client Architecture - gRPC + Unity + C#
pkgsrc とは何か? - よもやま話
GPD WINでStretchを動かす
Ad

Viewers also liked (20)

DOCX
IIM Consortia
PDF
Chevrolet(update19 03-56)
PPTX
Development power point.
PPTX
Ppt ekologi (ms.2010)
PDF
Ford(update26 03-56)
PDF
Métricas Web com Google Analytics: indo muito além das visitas
PPT
3 rules of web designing
PPT
Projecte ARC
PDF
Benz deller(ex30 06_56)
PPTX
Unit 4 best
PPTX
Photography Unit 4 Final pieces.
PDF
traffic attorney Austin
PPTX
Lucas ripoll
PPTX
Prsnttn orissa textiles AAYUSH JUYAL
PPT
Some web design ideas
PDF
GIT - GOOD PRACTICES
PPTX
Grammar book for spanish
PPTX
Bahan tambah ukuran panjang
PDF
Doc vi nha tuyen dung
PPTX
Best personal work so far
IIM Consortia
Chevrolet(update19 03-56)
Development power point.
Ppt ekologi (ms.2010)
Ford(update26 03-56)
Métricas Web com Google Analytics: indo muito além das visitas
3 rules of web designing
Projecte ARC
Benz deller(ex30 06_56)
Unit 4 best
Photography Unit 4 Final pieces.
traffic attorney Austin
Lucas ripoll
Prsnttn orissa textiles AAYUSH JUYAL
Some web design ideas
GIT - GOOD PRACTICES
Grammar book for spanish
Bahan tambah ukuran panjang
Doc vi nha tuyen dung
Best personal work so far
Ad

Similar to Starting qt5beta at_raspberry_pi Qtnagoya#6 (20)

PDF
Osc2013 tokyospring
PDF
Getting started raspberry pi osc hamamatsu
PDF
NetBSD/evbarm on Raspberry Pi
PDF
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
PDF
Raspberry pi + gentoo
PDF
Pdp11 on-fpga
PPTX
組込みAndroid入門実習
PDF
Firefox OS + Raspberry Pi
PDF
2020 01-11-koedo
PDF
最近遊んだLinuxボードたち
 
PDF
Raspberry pi最新情報アップデート&いろいろ比較
PDF
Big Raspberry JAM TOKYO 2013 Hardware
PDF
簡単に楽しくはじめよう!Raspberry Pi入門
PDF
20130713 オープンハードセミナー raspberry_piに何かつないで遊ぼう
ODP
Linuxベースのシングルボード色々
PDF
Ras piでrt linux
PDF
簡単に楽しく始めよう!Raspberry Pi入門
PDF
PyQtではじめるGUIプログラミング
PDF
楽しく始めるRaspberry Pi、および最新動向(OSC 2014 Tokyo/Spring)
PPTX
Raspberry Pi勉強会(前編)-京大機械研究会
Osc2013 tokyospring
Getting started raspberry pi osc hamamatsu
NetBSD/evbarm on Raspberry Pi
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
Raspberry pi + gentoo
Pdp11 on-fpga
組込みAndroid入門実習
Firefox OS + Raspberry Pi
2020 01-11-koedo
最近遊んだLinuxボードたち
 
Raspberry pi最新情報アップデート&いろいろ比較
Big Raspberry JAM TOKYO 2013 Hardware
簡単に楽しくはじめよう!Raspberry Pi入門
20130713 オープンハードセミナー raspberry_piに何かつないで遊ぼう
Linuxベースのシングルボード色々
Ras piでrt linux
簡単に楽しく始めよう!Raspberry Pi入門
PyQtではじめるGUIプログラミング
楽しく始めるRaspberry Pi、および最新動向(OSC 2014 Tokyo/Spring)
Raspberry Pi勉強会(前編)-京大機械研究会

More from Kazuo Asano (@kazuo_asa) (6)

PDF
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
PDF
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
PDF
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
PDF
Qt creatorでremote_debug
PDF
Make a graph at Qt(used Qwt library)
PDF
Qt5.1 Presentation System at raspberry pi(Qt Nagoya #9)
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 Nagoya
Qtではじめるクロスプラットフォームアプリケーション開発 osc2019 hamanako
NGK2018B マルチプラットフォームQtと日本Qtユーザー会の紹介
Qt creatorでremote_debug
Make a graph at Qt(used Qwt library)
Qt5.1 Presentation System at raspberry pi(Qt Nagoya #9)

Starting qt5beta at_raspberry_pi Qtnagoya#6

  • 1. Raspberry Piで Qt5をはじめよう Sub Head by sazus 10/27/2012 Qt名古屋勉強会#6
  • 2. Agenda 1. Raspberry Piについて               2. Qt5のクロスコンパイル 3. エミュレータで実行
  • 3. Raspberry Piについて Raspberry Piって? 学校で基本的なコンピュータ科学の教育を促進す る、ラズベリーパイ財団が英国で開発したlinuxベー スで動作する名刺サイズなboard。
  • 4. Raspberry Piについて Raspberry Pi Spec System On Chip Broadcpm BCM2835 CPU 700MHz ARM Type: ARM11 GPU Broadcom VideoCore 4 (OpenGL ES 2.0対応) Memory 256MB (SoC内蔵 GPUと共有) USB ポート(Host) 2 USB ポート(device) なし(microBついてる けど、電源供給用)
  • 5. Raspberry Piについて Raspberry Pi Spec Video Output コンポジット(PAL/NTSC) HDMI( rev1.3&1.4) Audio Out Jack(3.5mm) / HDMI Storage SDCard Network 10BASE-T/100BASE-TX AUTO-MDIX機能あるよ Peripheral UART/SPI/I2C/GPIO Power 5V 700mA (最大 )
  • 6. Raspberry Piについて Raspberry Pi Spec
  • 7. Raspberry Piについて こんな代物が
  • 8. Raspberry Piについて なんと、$42!!!
  • 9. Raspberry Piについて ご購入は、RS http://goo.gl/l9aIS (http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi)
  • 11. Raspberry Piについて 生産が追いついてない orz
  • 12. Raspberry Piについて 今ポチったら・・ ...クリスマスまでには来るかもしれない。
  • 13. Qt5のクロスコンパイル 本 題 Qt5のクロスコンパイル
  • 14. Qt5のクロスコンパイル Qt5のコンパイル もうすでに、神がおこなっております。 Qt5をRaspberry Pi用にビルドする。 http://goo.gl/OTmlz (http://relog.xii.jp/archives/2012/09/qt5raspberry_pi.html)
  • 15. Qt5のクロスコンパイル Qt5のコンパイル 以  上  !
  • 16. Qt5のクロスコンパイル Qt5のコンパイル ☆Raspberry PiのQtデバイス情報  Qt5 port functional state (Raspbian Wheezy)    http://qt-project.org/wiki/RaspberryPi ☆Qt5のRaspberry Piクロスコンパイル ガイド。  Beginner's guide to cross-compile Qt5 on RaspberryPi    http://qt-project.org/wiki/RaspberryPi_Beginners_guide
  • 17. Qt5のクロスコンパイル Qt5のコンパイル ☆Raspberry PiのQtデバイス情報  Qt5 port functional state (Raspbian Wheezy)    http://qt-project.org/wiki/RaspberryPi ☆Qt5のRaspberry Piクロスコンパイル ガイド。  Beginner's guide to cross-compile Qt5 on RaspberryPi    http://qt-project.org/wiki/RaspberryPi_Beginners_guide
  • 18. Qt5のクロスコンパイル Qt5のコンパイル なんか、メンドイ・・・
  • 19. Qt5のクロスコンパイル Qt5のコンパイル もっと簡単に、環境構築
  • 20. Qt5のクロスコンパイル Qt5のコンパイル bakeqtpi.bash    ネーミングが、イイ(*´∀`)
  • 21. Qt5のクロスコンパイル Qt5のコンパイル bakeqtpi.bashのやってること(1/2) ・Rasbian(wheezy) の取得   Debianベースのlinux SDカードimage ・gcc-4.7-linaro-rpi-gnueabihf   Qt5クロスコンパイル用Cross Compiler ・Qt5のgitからの、Source取得 config / make / install
  • 22. Qt5のクロスコンパイル Qt5のコンパイル bakeqtpi.bashのやってること(2/2) ・Qt5のモジュールは、 qtbase・qtimageformats ・qtsvg・qtjsbackend・qtscript     qtxmlpatterns ・qtdeclarative・qtsensors・qt3d・qtgraphicaleffects qtlocation・qtquick1・qtsystems・qtmultimedia ・hard float用のpatch当て    qtjsbackendモジュールへ展開。 ・その他つまずきそうな箇所の             細かい?フォロー。
  • 23. Qt5のクロスコンパイル Qt5のコンパイル それでも、めんどい・・ まだ、いろいろ準備しない といけないし・・
  • 24. Qt5のクロスコンパイル Qt5のコンパイル ベークQtパイをさらに名古屋テイスト で煮詰めてみる。 +
  • 25. Qt5のクロスコンパイル Qt5のコンパイル 味噌煮Qtパイ (git://github.com/sazus/miso-ni-qtpi.git)
  • 26. Qt5のクロスコンパイル Qt5のコンパイル miso-ni-qtpi.bashでの追加(1/2) ・Qt5クロスコンパイルに必要なパッケージの導入。 build-essential・perl・python・unzip 64bitなら、ia32-libs・libc6-dev-i386・lib32z1-dev ・Rasbian(wheezy) の最新取得 2012-09-18-wheezy-raspbian.zip ・Qt5のgitから、v5.0.0-beta1のタグ にてブランチ作成。 branch-v5.0.0-beta1
  • 27. Qt5のクロスコンパイル Qt5のコンパイル miso-ni-qtpi.bashでの追加(2/2) ・qtbase・qtdeclarativeモジュール  については、examleもbuild ・qtdeclarativeモジュールのTOOL qmlscene等 ・Qt5ライブラリパスの追加 LD_LIBRARY_PATH=/usr/local/qt5pi/lib/
  • 28. Qt5のクロスコンパイル Qt5のコンパイル なんと! 3stepで、SDcard焼付けまで。
  • 29. Qt5のクロスコンパイル Qt5のコンパイル 1. gitを入れる。 2. 味噌煮Qtパイ(miso-ni-qtpi)をclone・実行。 3. ddで焼付け。
  • 30. Qt5のクロスコンパイル Qt5のコンパイル 環境: HOST OS :Ubuntu 12.10 64bit TARGET OS : Raspbian Wheezy (Hard float) Ver.2012-09-18 ToolChain : gcc-4.7-linaro-rpi- gnueabihf.tbz (http://blueocean.qmh- project.org/gcc-4.7-linaro- rpi-gnueabihf.tbz)
  • 31. Qt5のクロスコンパイル Qt5のコンパイル STEP1 gitを入れる。 $ sudo apt-get install git
  • 32. Qt5のクロスコンパイル Qt5のコンパイル STEP2 味噌煮Qtパイ(miso-ni-qtpi)をclone・実行。 $ cd ~ $ git clone git://github.com/sazus/miso-ni-qtpi. git $ cd ./miso-ni-qtpi $ ./miso-ni-qtpi.sh 32bit or $ ./miso-ni-qtpi.sh 64bit
  • 33. Qt5のクロスコンパイル Qt5のコンパイル STEP3 ddで、SDカードへimageの焼付け。 $ cd ~/miso-ni-qtpi/bakeqtpi/ $ sudo dd bs=1M if=2012-09-18-wheezy- raspbian.img of=/dev/sdx; sync ※/dev/sdxは、SDカード デバイスファイル
  • 34. エミュレータで実行 エミュレータで叩いてみる
  • 35. エミュレータで実行 エミュレータできるの?
  • 36. エミュレータで実行 QEMU 参考にしたサイト Running Raspbian inside Linaro QEM http://goo.gl/f8u53 (http://seabright.co.nz/2012/08/24/running-raspbian-inside- linaro-qemu/)
  • 37. エミュレータで実行 QEMUの導入 $ mkdir -p ~/opt/qemu $ cd ~/opt/qemu $ wget https://launchpad.net/qemu- linaro/trunk/2012.08/+download/qemu-linaro- 1.1.50-2012.08.tar.gz $ tar vzxf qemu-linaro-1.1.50-2012.08.tar.gz $ cd ./qemu-linaro-1.1.50-2012.08
  • 38. エミュレータで実行 QEMU build $ ./configure --target-list=arm-softmmu LDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -g make make install install python python smbd /usr/sbin/smbd host CPU x86_64 host big endian no target list arm-softmmu ・・・ OpenGL support yes ←OpenGLサポートしてる!! libiscsi support no build guest agent yes coroutine backend ucontext
  • 39. エミュレータで実行 QEMU build $ make 2>&1 | tee make.log
  • 40. エミュレータで実行 QEMU 対応CPU $ cd ./arm-softmmu $ ./qemu-system-arm -cpu ? Available CPUs: arm1026 arm1136 arm1136-r2 arm1176 arm11mpcore arm926 arm946 cortex-a15 cortex-a8 cortex-a8-r2 cortex-a9 cortex-m3 pxa250 pxa255 pxa260 pxa261 pxa262 pxa270 pxa270-a0 pxa270-a1 pxa270-b0 pxa270-b1 pxa270-c0 pxa270-c5 sa1100 sa1110 ti925t any
  • 41. エミュレータで実行 QEMU 対応board $ ./qemu-system-arm --machine ? Supported machines are: beagle Beagle board (OMAP3530) beaglexm Beagle board XM (OMAP3630) versatileab ARM Versatile/AB (ARM926EJ-S) ・・・ collie nuri smdkc210 connex verdex highbank integratorcp kzm mainstone musicpal n800 n810 n900 sx1 sx1-v1 overo cheetah realview-eb realview-eb-mpcore realview-pb-a8 realview-pbx-a9 akita spitz borzoi terrier lm3s811evb lm3s6965evb tosa versatilepb vexpress-a9 vexpress-a15 xilinx-zynq-a9 z2
  • 42. エミュレータで実行 QEMU 対応board Raspberry Piや、BCM2835搭載boardがない…。 とりあえず、サイトに書いてあった versatileab ARM Versatile/AB (ARM926EJ-S) で動かしてみる
  • 43. エミュレータで実行 QEMU 必要なimageの取得 kernel : サイトに記載してあったkernel3.2をダウンロード      $ cd ~/opt/qemu $ wget http://juju.net.nz/michaelh/files/zImage-raspbian-3.2 root file system image: qt5でbuildに使用したSDimage 2012-09-18-wheezy-raspbian.img
  • 44. エミュレータで実行 QEMU 実行 $ cd ./arm-softmmu $ ./qemu-system-arm -M versatilepb -cpu arm1176 -m 256 -hda ../../../Raspbian/2012-09-18-wheezy-raspbian. img -kernel ../../zImage-raspbian-3.2 -append "dwc_otg.lpm_enable=0 console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/sda2 rootfstype=ext4 elevator=deadline rootwait" -serial stdio -redir tcp:2222::22
  • 45. エミュレータで実行 QEMU 実行 root file system が読めない...。
  • 46. エミュレータで実行 QEMU 実行 た、倒された!!
  • 47. エミュレータで実行 QEMU 実行 その時、師匠からのお告げが!!!! 2012-08-16-wheezy-raspbian.imgで 出来たけど何か?
  • 48. エミュレータで実行 QEMU 実行 2012-08-16-wheezy-raspbian.img で作りなおして、実行
  • 49. エミュレータで実行 QEMU 実行 倒せるぞ!!
  • 50. エミュレータで実行 QEMU 実行 OpenGLのvideoドライバない!
  • 51. エミュレータで実行 QEMU 実行 見事に倒された!!!!
  • 52. エミュレータで実行 QEMU まとめ 誰か、倒せる猛者絶賛募集中!
  • 53. エミュレータで実行 QEMU まとめ ・とりあえず、linuxで遊ぶなら エミュレータでもOK ・Qt5でOpenGLを使ったAPPは やっぱboradがいるかも....