arm linux、android、raspberrypi windowsとアプ …kapper1224.sakura.ne.jp/netwalker osc...

18
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 SpeakerKapper 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 http://kapper1224.sakura.ne.jp

Upload: others

Post on 28-May-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

1ARM Linux、Android、RaspberryPiでWindowsとアプリをX86エミュで動かそう

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

1、 自己紹介 Self introduction 2、x86 Emulation on ARM devices3、Qemu i386 Emulation on ARM devices4、x86 Emulation on ARM Andriod5、x86 Emulation on ExaGear-Desktop & Wine 1 board PC, and ARM Chromebook6、x86 Emulation on ExaGear-Desktop & Wine ARM RspberryPi, RaspberryPi27, x86 Emulation on DOSBox and Bochs8, 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 ImageOn chromebook

This Presentation:Slideshare & PDF filespublication of my HPhttp://kapper1224.sakura.ne.jp

Page 2: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

2

Self Introduction● My name: Kapper

● Twitter account:@kapper1224

● HP:http://kapper1224.sakura.ne.jp

● Slideshare: http://www.slideshare.net/kapper1224

● 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.

Page 3: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

3Recent test こんな事やってます1.Linux distributions on Android 2. Hacking with SmartWatch

3. Windows and Wine on ARM 4. Plesentations in Asia(HongKong,Taiwan) Opensouce Conference

Page 4: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

4

今回のテーマ This Presentation● 今回はマニアックにARMからx86をエミュレート

To emulate the x86 from ARM devices

● RaspberryPiやARM ChromebookでもWindowsWindows 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.

Page 5: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

5Target ARM devices on PC Market

ChineseTablet

SmartWatch

Android SmartPhone

AndroidWindows

Tablet

WindowsNotebook PC

iPad

Chromebook

Macbook

RaspberryPi

Android Stick1board PC

WindowsPC

GoogleGlass

Mobile PCDesktop PC

iPhone

0 inch 6 inch 10 inch

$200

$100

$500

$1000

MacPC

Display Size

ChromeBox

$149~$350

AppleWatch

Page 6: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

1.0GHz 1.6GHz 1.9GHz 2.2GHz 2.5GHzCortex-A8 Cortex-A9 Cortex-A15 Cortex-A57 Cortex-A72

0123456789

The same frequency

Relative single   thread performance

ARM devices Benchmark score

Reference:A Walk Through the Cortex-A Mobile Roadmaphttp://community.arm.com/groups/processors/blog/2013/11/19/a-walk-through-the-cortex-a-mobile-roadmap

ARM Cortex-A roadmap

ARMdevices BOINC benchmark

x86

Reference:Kapper blog

Estimation

ARM

Page 7: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

7

x86 Emulationon ARM Linux Devices

Page 8: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

8In 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 Linux Zaurus

Win95 on bochs/XQt LinuxZaurusMy ARM LinuxZaurus

● In 2004, 2ch board, ARM LinuxZaurus Emulatorhttp://pc5.2ch.net/test/read.cgi/mobile/1074209920/

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のソフトを動かしたり、アプリを動かしていましたから。

Page 9: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

9x86 Emulations on ARM DevicesEmulation OS Root

DeviceEmulated OS Spec Comment

Qemu LinuxAndroidRaspberryPi

No WindowsMacOSX?Linux,*BSD

Slow Tegra K-1⇒PenⅡ 266MHzVer1.5〜(ARM GUI)

Qemu+Wine LinuxAndroidRaspberryPi

Required +Windows APP Slow Difficultkernel 3G/1G onlychroot environment

Exagear-Desktop LinuxRaspberryPi

Required Ubuntu,Debian Fast Tegra K-1⇒Pen4 1.8GHz

Exagear-Desktop+Wine

LinuxRaspberryPi

Required Ubuntu+WineWindows APP

Fast Tegra K-1⇒Pen4 1.8GHz

DOSBox LinuxAndroidRaspberryPiiOS,DS,PSP

No DOS,WIndows9x(i386〜i586)

Slow Tegra K-1⇒PenⅡ 266MHzNEON SupportsVoodoo1+Glide

Bochs LinuxAndroidRaspberryPiiOS,PSP

No Windows〜XP(i386〜x86-64)Linux,*BSD

Slow Tegra K-1⇒PenⅡ 266MHz

XNP2(PC-98 Emulation)

LinuxAndroidRaspberryPiiOS

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)

Page 10: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

10x86 Qemu Emulation on ARM devices

Cortex-A15Tegra K-12.1GHz

Core i5-2540M2.60GHz

Cortex-A15Tegra K-12.1GHz

Core i5-2540M2.60GHz

Acer Chromebook13Qemu Win2000HDBench4.6.1

CF-S10Qemu Win2000HDBench4.6.1

Acer Chromebook13BOINC Benchmarck

CF-S10BOINC Benchmarck

0

5,000

10,000

15,000

20,000

25,000

30,000

35,000

40,000

1,3014,062

9142,941

12,119

35,526

6,1188,064

floating point MIPS (Whetstone) per CPU

integer MIPS (Dhrystone) per CPU

QemuWIndows2000

HDBenchBOINC 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 isx86:ARM=3:1(proportional to the floating point?)

ARM x86ARM x86

NetBSD Teokure Live ImageOn chromebook

Page 11: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

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

Page 12: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

12x86 Emulation on ExaGear-Desktop1 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

Page 13: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

13

Maujan(Wine) on ARM RaspberryPi2HDBench3.40(Wine) on ARM RaspberryPi2

x86 Emulation on ExaGear-DesktopARM 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.

Page 14: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

14

DOSBox on 3DSDOSBox on Android Wear

https://youtu.be/GZx-LJH5J_I

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 iOShttps://www.youtube.com/watch?v=ZgX2BkM_6q4

Page 15: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

15

HP200LX APP on DOSBoxhttp://masaland.cocolog-nifty.com/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

Page 16: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

16x86 Emulation on Qemu-user-staticdebootstrap 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 http://ftp.debian.org/debian/#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

Page 17: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

17RaspberryPi2+Qemu-i386-static

Wine patch for 2G/2G kernel

Page 18: ARM Linux、Android、RaspberryPi Windowsとアプ …kapper1224.sakura.ne.jp/Netwalker osc hamanako201601.pdfARM Linux、Android、RaspberryPi で 1 WindowsとアプリをX86エミュで動かそう

18Next My PresentationOSC 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/28HongKong 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