Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

x86 Emulation on ARM devices, and Wine on ARMhf ExaGear-Desktop


Published on

2016/1/23 14:30〜OSC浜名湖2016で発表する資料です。
ARM Linux上でx86エミュを纏めて全面改訂しました。

東海道らぐ 2015年6月の資料です。
Tokaido LinuxUserGroup 06/2015 Presentation.
HongKong OSC2105

Published in: Mobile

x86 Emulation on ARM devices, and Wine on ARMhf ExaGear-Desktop

  1. 1. 1 ARM Linux、Android、RaspberryPiで WindowsとアプリをX86エミュで動かそう x86 Emulation on ARM devices, and Wine on ARMhf ExaGear-Desktop 1、 自己紹介 Self introduction 2、x86 Emulation on ARM devices 3、Qemu i386 Emulation on ARM devices 4、x86 Emulation on ARM Andriod 5、x86 Emulation on ExaGear-Desktop & Wine 1 board PC, and ARM Chromebook 6、x86 Emulation on ExaGear-Desktop & Wine ARM RspberryPi, RaspberryPi2 7, x86 Emulation on DOSBox and Bochs 8, x86 Emulation on Qemu-user-static debootstrap and schroot 9, Next My Presentations OSC Nagoya, Taiwan MOPCON Speaker: Kapper OSC Hamanako2016 2016/1/23 14:30~ Place:浜松 Hamamatsu 浜松市市民協働センター 2F ギャラリー NetBSD Teokure Live Image On chromebook This Presentation: Slideshare & PDF files publication of my HP
  2. 2. 2 Self Introduction ● My name: Kapper ● Twitter account:@kapper1224 ● HP: ● Slideshare: ● My Hobby:Linux、*BSD、and Mobile ARM Devices ● My favorite words:Record than experiment important ● Test Model:Netwalker(PC-Z1,T1)、Nokia N900、DynabookAZ、RaspberryPi       Nexus7(2012、2013)、Hercules eCAFE EX HD、Jetson TK-1、       OpenPandora、ARM Chromebook、ZTE OPEN C(FirefoxOS)       台湾Android電子辞書 無敵CD-920、CD-928         ● Recent Activity:  Netwalker on the Linux from Scratch.  Hacking of Android Nexus7.  I have recently often use the ARM Chromebook.
  3. 3. 3 Recent test こんな事やってます 1.Linux distributions on Android 2. Hacking with SmartWatch 3. Windows and Wine on ARM 4. Plesentations in Asia(HongKong,Taiwan) Opensouce Conference
  4. 4. 4 今回のテーマ This Presentation ● 今回はマニアックにARMからx86をエミュレート To emulate the x86 from ARM devices ● RaspberryPiやARM ChromebookでもWindows Windows on RaspberryPi and ARM Chromebook ● 古いアプリや環境をARMでも再現 Operation the old Windows apps and OS on ARM ● LinuxZaurusやNetwalkerなどの12年の経験のまとめ I put together my 12 years of experience about ARM Linux ● 処理速度が上がれば色々と・・・実現出来るかも? I can be variously realized if rises ARM processing speed? ● 海外で発表する資料と共有する為に一部英語で作っています。 ご了承願います。 I am made presentation materials in English in order to share content and information for oversea presentations. Please understand.
  5. 5. 5 Target ARM devices on PC Market Chinese Tablet Smart Watch Android Smart Phone Android Windows Tablet Windows Notebook PC iPad Chromebook Mac book RaspberryPi Android Stick 1board PC Windows PC Google Glass Mobile PCDesktop PC iPhone 0 inch 6 inch 10 inch $200 $100 $500 $1000 Mac PC Display Size ChromeBox $149~$350 Apple Watch
  6. 6. 1.0GHz 1.6GHz 1.9GHz 2.2GHz 2.5GHz Cortex-A8 Cortex-A9 Cortex-A15 Cortex-A57 Cortex-A72 0 1 2 3 4 5 6 7 8 9 The same frequency Relative single   thread performance ARM devices Benchmark score Reference:A Walk Through the Cortex-A Mobile Roadmap ARM Cortex-A roadmap ARMdevices BOINC benchmark x86 Reference:Kapper blog Estimation ARM
  7. 7. 7 x86 Emulation on ARM Linux Devices
  8. 8. 8 In 2004,Windows95 on ARM LinuxZaurus MSDOS on bochs/XQt ● I was operated in the bochs emulator the Windows95 using the first ARM Linux Zaurus in Japan in 2004 ● ARM LinuxZaurus was emulated x86 about 486 20MHz on Xscale 400MHz. ● My Website documentations Linux Zaurus上でBochs、Win95を動かす方法について About the method of using Bochs and Win95 on Li nux Zaurus Win95 on bochs/XQt LinuxZaurus My ARM LinuxZaurus ● In 2004, 2ch board, ARM LinuxZaurus Emulator 221 :いつでもどこでも名無しさん:04/03/26 13:14 ID:??? Bochsを使ってZaurusでWindows95を起動してみました。 ただ、今の所では凄く遅いです。 起動に10分以上、 マイコンピュータを開くのに30秒ほど掛かりますが、 思ったほど遅くは無いようです。 気が長い人なら気合いで使えるかもしれません。 とりあえず設定等を最適化してみようと思います。 まともに使うならDOSかWindows3.1で運用するのが良いかと。 とりあえずDOS端末として使ってみる事にします。 225 :いつでもどこでも名無しさん:04/03/26 20:07 ID:??? >>222,223 昔PC9801FAで95を動かした時はもっと遅かったので。 Pen266MHz位でBochsを動かしたのと似たような動作です。 bochsの体感速度はベンチ取れないので表現しにくいです。 >>224 元々DOS世代のユーザーなんで。 200LXのソフトを動かしたり、アプリを動かしていましたから。
  9. 9. 9 x86 Emulations on ARM Devices Emulation OS Root Device Emulated OS Spec Comment Qemu Linux Android RaspberryPi No Windows MacOSX? Linux,*BSD Slow Tegra K-1 ⇒PenⅡ 266MHz Ver1.5〜(ARM GUI) Qemu+Wine Linux Android RaspberryPi Required +Windows APP Slow Difficult kernel 3G/1G only chroot environment Exagear-Desktop Linux RaspberryPi Required Ubuntu,Debian Fast Tegra K-1 ⇒Pen4 1.8GHz Exagear-Desktop +Wine Linux RaspberryPi Required Ubuntu+Wine Windows APP Fast Tegra K-1 ⇒Pen4 1.8GHz DOSBox Linux Android RaspberryPi iOS,DS,PSP No DOS, WIndows9x (i386〜i586) Slow Tegra K-1 ⇒PenⅡ 266MHz NEON Supports Voodoo1+Glide Bochs Linux Android RaspberryPi iOS,PSP No Windows〜XP (i386〜x86-64) Linux,*BSD Slow Tegra K-1 ⇒PenⅡ 266MHz XNP2 (PC-98  Emulation) Linux Android RaspberryPi iOS No DOS、 Windows95? Slow Tegra K-1 ⇒? Internet dogmatic investigation of Kapper (if I wrong it, I'm sorry. ) VMWare and Virtualbox are not working on ARM devices.(Only x86)
  10. 10. 10 x86 Qemu Emulation on ARM devices Cortex-A15 Tegra K-1 2.1GHz Core i5-2540M 2.60GHz Cortex-A15 Tegra K-1 2.1GHz Core i5-2540M 2.60GHz Acer Chromebook13 Qemu Win2000 HDBench4.6.1 CF-S10 Qemu Win2000 HDBench4.6.1 Acer Chromebook13 BOINC Benchmarck CF-S10 BOINC Benchmarck 0 5,000 10,000 15,000 20,000 25,000 30,000 35,000 40,000 1,301 4,062 914 2,941 12,119 35,526 6,118 8,064 floating point MIPS (Whetstone) per CPU integer MIPS (Dhrystone) per CPU Qemu WIndows2000 HDBench BOINC Bench Windows98、2000 on chromebook ● You can use the x86 emulator will be like can be moved and Wine Windows apps and Steam and Skype. ● The x86 emulator also works such as Windows and NetBSD. TegraK-1 in Using Qemu Pentium2 266MHz equivalent Win98 is in HDBench, it was to use and Pentium4 1.8GHz equivalent to ExaGear-Desktop. ● In ARM Devices,Qemu is x86:ARM=3:1 (proportional to the floating point?) ARM x86ARM x86 NetBSD Teokure Live Image On chromebook
  11. 11. 11 x86 Emulation on Android ● You can operate the Windows or NetBSD by the use of Android even x86 emulation ● PC: Bochs,Qemu,DOSBox,Linbo PC emulation MAC:vMacMini ● In the case of Qemu、Windows and NetBSD, and the others operation. NetBSD Teokure Live Image(Qemu) on Nexus7 Windows9x、2000(Qemu) on Nexus7
  12. 12. 12 x86 Emulation on ExaGear-Desktop 1 board PC, and ARM Chromebook ● ExaGear-Desktop is 4.5 times faster than qemu. ● i686 Ubuntu12.04LTS on ARMhf Ubuntu 14.04,12.04 ● Boinc Benchmarchs:@ ARM Chromebook CB5-311 TegraK-1 Integer points (ARMhf Base) : 6118 ⇒ (i686): 1800  29.4% Flotings points (ARMhf Base) : 914 ⇒(i686): 700 76.6% about Pentium4 1.8GHz on ARM.(Qemu =Pentium2 266MHz) ● Windows applications on Wine, on ARM devices. Bonanza(Wine) on ARM ChromebookTouhou(Wine) on ARM Chromebook
  13. 13. 13 Maujan(Wine) on ARM RaspberryPi2HDBench3.40(Wine) on ARM RaspberryPi2 x86 Emulation on ExaGear-Desktop ARM RaspberryPi, RaspberryPi2 ● ExaGear-Desktop RaspberryPi is 5 times faster than Qemu. ● i386 Debian7Wheezy on ARMhf Raspbian,Ubuntu14.04,Debian7 ● HDBench Benchmarchs:@ ARM Raspberry Pi2 Integer points (ExaGear i686) : 7586 (Qemu i386: 1999 26.4%) Flotings points (ExaGear i686) :6224 (Qemu i386: 384 6.2%) about MMX Pentium 200MHz on ARM. (Qemu =Pentium 40MHz?) ● Windows applications on Wine, on ARM devices.
  14. 14. 14 DOSBox on 3DS DOSBox on Android Wear x86 Emulation on DOSBox and Bochs ● DOSBox can operate 〜Windows9x in the i386〜i586 emulator DOSBox has been ported MobileOSs, about Android, iOS, WindowsMobile, Blackberry, PSP, Vita, 3DS and others. It is a way to activate the img file in the DOSBox command line  imgmount c hd0.img -size 512,63,16,1021 -fs fat  boot -l c ● Bochs will start once 〜WindowsXP is now supports up to i686〜 x86-64.(But too slow) DOSBox on iOS m/watch?v=ZgX2BkM_6q4
  15. 15. 15 HP200LX APP on DOSBox blog/2012/10/nokiahp200lx-c1.html x86 Emulation on DOSBox and bochs ● Old apps and emulator works with DOSBox ● Old MacOS、the OtherOS and APP opereted any ARM devices ● DOSBox SVN build can run CD-ROM boot and operate i386Linux? ● To high-speed operation x86 emulator is in RaspberryPi Mini vMAC on DOSBox Simcity2000 on DOSBox
  16. 16. 16 x86 Emulation on Qemu-user-static debootstrap and schroot● Using Qemu and schroot to operate the x86 environment on ARM ● Qemu-i386-static and binfmt-support, you can operate x86 app ● Install schroot and debootstrap in ARM Debian,Ubuntu. #sudo -s #apt-get install debootstrap schroot binfmt-support qemu qemu-user-static #cp /etc/schroot/schroot.conf /etc/schroot/schroot.conf.old #mkdir debian_i386_wheezy #debootstrap --foreign --arch i386 wheezy debian_i386_wheezy #cp /usr/bin/qemu-i386-static debian_i386_wheezy/usr/bin #chroot debian_i386_wheezy /debootstrap/debootstrap --second-stage #apt-get update && upgrade #apt-get install (x86 app) #exit #(Edit /etc/schroot/schroot.conf) #schroot -c debian_i386_wheezy ● Debian supports multi-lib,but doesn't support multi-binary. If you use 「apt-get install *:i386」command,overwrite the x86 binary on the ARM binary(/usr/bin).So Qemu requires chroot environment. ● Wine only works with normal user. Wine doesn't work with superuser account. So you have to use the schroot command. Linux(ARM base) Linux (x86 Chroot) x86 Wine
  17. 17. 17 RaspberryPi2+Qemu-i386-static Wine patch for 2G/2G kernel
  18. 18. 18 Next My Presentation OSC Nagoya、Kyoto、Taiwan MOPCON ● OSC Nagoya Kyoto、and Taiwan MOPCON my exhibition schedule ● Content:OSC Nagoya:Hacking of Android? :OverSea:Hacking with ARM devices   ● FOSSASIA2016 Singapole 3/18〜20 OSC Nagoya  5/28 HongKong OSC 6/M? OSC Kyoto 8/E? Taiwan COSCUP 8/M? KOF(Kansai Open Forum) 11/? Taiwan MOPCON 10/E? ● ・・・And Tokaido Linux Users Group