Starting qt5beta at_raspberry_pi Qtnagoya#6

2,482 views

Published on

[Raspberry PiでQt5をはじめよう]
- Raspberry Piについて
- Qt5のクロスコンパイル
- エミュレータで実行
------------------------------------------------------------------------
- Whats Raspberry Pi?
- How to Qt5 cross compiles about Raspberry Pi.
- Can it emulation Qt5?

Published in: Technology
  • Be the first to comment

Starting qt5beta at_raspberry_pi Qtnagoya#6

  1. 1. Raspberry PiでQt5をはじめよう Sub Head by sazus 10/27/2012 Qt名古屋勉強会#6
  2. 2. Agenda 1. Raspberry Piについて               2. Qt5のクロスコンパイル 3. エミュレータで実行
  3. 3. Raspberry Piについて Raspberry Piって? 学校で基本的なコンピュータ科学の教育を促進す る、ラズベリーパイ財団が英国で開発したlinuxベー スで動作する名刺サイズなboard。
  4. 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. 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. 6. Raspberry Piについて Raspberry Pi Spec
  7. 7. Raspberry Piについて こんな代物が
  8. 8. Raspberry Piについて なんと、$42!!!
  9. 9. Raspberry Piについて ご購入は、RS http://goo.gl/l9aIS (http://jp.rs-online.com/web/generalDisplay.html?id=raspberrypi)
  10. 10. Raspberry Piについて ただし
  11. 11. Raspberry Piについて 生産が追いついてない orz
  12. 12. Raspberry Piについて 今ポチったら・・ ...クリスマスまでには来るかもしれない。
  13. 13. Qt5のクロスコンパイル 本 題 Qt5のクロスコンパイル
  14. 14. Qt5のクロスコンパイル Qt5のコンパイル もうすでに、神がおこなっております。 Qt5をRaspberry Pi用にビルドする。 http://goo.gl/OTmlz (http://relog.xii.jp/archives/2012/09/qt5raspberry_pi.html)
  15. 15. Qt5のクロスコンパイル Qt5のコンパイル 以  上  !
  16. 16. Qt5のクロスコンパイル Qt5のコンパイル☆Raspberry PiのQtデバイス情報 Qt5 port functional state (Raspbian Wheezy)   http://qt-project.org/wiki/RaspberryPi☆Qt5のRaspberry Piクロスコンパイル ガイド。 Beginners guide to cross-compile Qt5 on RaspberryPi   http://qt-project.org/wiki/RaspberryPi_Beginners_guide
  17. 17. Qt5のクロスコンパイル Qt5のコンパイル☆Raspberry PiのQtデバイス情報 Qt5 port functional state (Raspbian Wheezy)   http://qt-project.org/wiki/RaspberryPi☆Qt5のRaspberry Piクロスコンパイル ガイド。 Beginners guide to cross-compile Qt5 on RaspberryPi   http://qt-project.org/wiki/RaspberryPi_Beginners_guide
  18. 18. Qt5のクロスコンパイル Qt5のコンパイル なんか、メンドイ・・・
  19. 19. Qt5のクロスコンパイル Qt5のコンパイル もっと簡単に、環境構築
  20. 20. Qt5のクロスコンパイル Qt5のコンパイル bakeqtpi.bash    ネーミングが、イイ(*´∀`)
  21. 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. 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. 23. Qt5のクロスコンパイル Qt5のコンパイル それでも、めんどい・・ まだ、いろいろ準備しない といけないし・・
  24. 24. Qt5のクロスコンパイル Qt5のコンパイル ベークQtパイをさらに名古屋テイスト で煮詰めてみる。 +
  25. 25. Qt5のクロスコンパイル Qt5のコンパイル 味噌煮Qtパイ (git://github.com/sazus/miso-ni-qtpi.git)
  26. 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. 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. 28. Qt5のクロスコンパイル Qt5のコンパイル なんと! 3stepで、SDcard焼付けまで。
  29. 29. Qt5のクロスコンパイル Qt5のコンパイル 1. gitを入れる。 2. 味噌煮Qtパイ(miso-ni-qtpi)をclone・実行。 3. ddで焼付け。
  30. 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. 31. Qt5のクロスコンパイル Qt5のコンパイルSTEP1 gitを入れる。 $ sudo apt-get install git
  32. 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. 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. 34. エミュレータで実行 エミュレータで叩いてみる
  35. 35. エミュレータで実行 エミュレータできるの?
  36. 36. エミュレータで実行 QEMU 参考にしたサイト Running Raspbian inside Linaro QEM http://goo.gl/f8u53 (http://seabright.co.nz/2012/08/24/running-raspbian-inside- linaro-qemu/)
  37. 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. 38. エミュレータで実行 QEMU build$ ./configure --target-list=arm-softmmuLDFLAGS -Wl,--warn-common -Wl,-z,relro -Wl,-z,now -pie -m64 -gmake makeinstall installpython pythonsmbd /usr/sbin/smbdhost CPU x86_64host big endian notarget list arm-softmmu・・・OpenGL support yes ←OpenGLサポートしてる!!libiscsi support nobuild guest agent yescoroutine backend ucontext
  39. 39. エミュレータで実行 QEMU build $ make 2>&1 | tee make.log
  40. 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. 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. 42. エミュレータで実行 QEMU 対応board Raspberry Piや、BCM2835搭載boardがない…。 とりあえず、サイトに書いてあった versatileab ARM Versatile/AB (ARM926EJ-S) で動かしてみる
  43. 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. 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. 45. エミュレータで実行 QEMU 実行 root file system が読めない...。
  46. 46. エミュレータで実行 QEMU 実行 た、倒された!!
  47. 47. エミュレータで実行 QEMU 実行 その時、師匠からのお告げが!!!! 2012-08-16-wheezy-raspbian.imgで 出来たけど何か?
  48. 48. エミュレータで実行 QEMU 実行 2012-08-16-wheezy-raspbian.img で作りなおして、実行
  49. 49. エミュレータで実行 QEMU 実行 倒せるぞ!!
  50. 50. エミュレータで実行 QEMU 実行 OpenGLのvideoドライバない!
  51. 51. エミュレータで実行 QEMU 実行 見事に倒された!!!!
  52. 52. エミュレータで実行 QEMU まとめ 誰か、倒せる猛者絶賛募集中!
  53. 53. エミュレータで実行 QEMU まとめ ・とりあえず、linuxで遊ぶなら エミュレータでもOK ・Qt5でOpenGLを使ったAPPは やっぱboradがいるかも....

×