mboost-dp1
Qemu / wine / arm
- Forside
- ⟨
- Forum
- ⟨
- Support
Mojn!
Er der nogen herinde der har erfaring med Qemu og Wine?
Jeg har planer for en Raspberry PI, men det kræver at jeg afvikler et x86 program, skrevet til Windows - på en ARM Linux maskine ...
Jeg har set at folk har prøvet at få Win95 installeret, og spillet 3D Pinball på en R-Pi, så det kan lade sig gøre.
Mit problem er så - hvordan ind i helvede virker Qemu? Er der nogen der kan hjælpe mig på det punkt? Eller hvordan man compiler i Wine? Har prøvet til OSX, og det mislykkedes total o_O
tl;dr
Få mit Win98 program til at virke i Rasbian!
Er der nogen herinde der har erfaring med Qemu og Wine?
Jeg har planer for en Raspberry PI, men det kræver at jeg afvikler et x86 program, skrevet til Windows - på en ARM Linux maskine ...
Jeg har set at folk har prøvet at få Win95 installeret, og spillet 3D Pinball på en R-Pi, så det kan lade sig gøre.
Mit problem er så - hvordan ind i helvede virker Qemu? Er der nogen der kan hjælpe mig på det punkt? Eller hvordan man compiler i Wine? Har prøvet til OSX, og det mislykkedes total o_O
tl;dr
Få mit Win98 program til at virke i Rasbian!
Wine er ikke nogen emulator. Det er blot et kompatibilitetslag. Dermed gør den det altså ikke muligt at køre x86 kode på en ARM CPU. Qemu derimod udfører en fuldstændig emulation. Dog skal du ikke regne med nogen god performance. Netop fordi der udføres en fuldstændig emulation går det ret langsomt. Og hvis du skal boote et komplet OS under Qemu, så kommer det til at tage tid.
Den bedste performance ville man få med en løsning der ligger et sted mellem Qemu og Wine. Du har brug for en CPU emulation, men i stedet for en komplet emulation af en PC, hvor du skal køre et operativsystem ovenpå, så ville det være bedre om programmet kommunikerer direkte med host operativsystemet gennem en simpel oversættelse af systemkald som Wine gør.
Jeg ved ikke om sådan en hybridløsning allerede findes, men jeg tror det er det, som ville give det bedste resultat.
Hvis ikke performance er vigtigt, så er Qemu nok den nemmeste måde at få noget til at køre. Installer Qemu, start den op og installer Windows under Qemu.
Den bedste performance ville man få med en løsning der ligger et sted mellem Qemu og Wine. Du har brug for en CPU emulation, men i stedet for en komplet emulation af en PC, hvor du skal køre et operativsystem ovenpå, så ville det være bedre om programmet kommunikerer direkte med host operativsystemet gennem en simpel oversættelse af systemkald som Wine gør.
Jeg ved ikke om sådan en hybridløsning allerede findes, men jeg tror det er det, som ville give det bedste resultat.
Hvis ikke performance er vigtigt, så er Qemu nok den nemmeste måde at få noget til at køre. Installer Qemu, start den op og installer Windows under Qemu.
#4
Wine Is Not an Emulator - WINE
Anyway, jeg ved udmærket godt hvad forskellen på qemu og Wine er, måden man får det til at virke over (så vidt jeg kan læse) er følgende:
ARM > QEMU > x86 WiNE > x86 Program til Windows
Det jeg ikke kender til, er brugen af Qemu, jeg skal blot afvikle et program der fylder hvad - 4 mb?
Wine Is Not an Emulator - WINE
Anyway, jeg ved udmærket godt hvad forskellen på qemu og Wine er, måden man får det til at virke over (så vidt jeg kan læse) er følgende:
ARM > QEMU > x86 WiNE > x86 Program til Windows
Det jeg ikke kender til, er brugen af Qemu, jeg skal blot afvikle et program der fylder hvad - 4 mb?
dub (6) skrev:Hvis du er rigtig modig så kan du kigge på Darwine. De har rodet med Wine+QEMU men projektet er dødt og jeg ved ikke hvor langt de kom med det.
Det ser umiddelbart mest ud til at de tænker på Mac OS/PPC segmentet, jeg synes i hvert fald ikke at jeg kan finde noget der omhandler ARM på deres side.
Jeg vil dog helt klart prøve at downloade det når jeg får min RPI
QEMU emulerer en PC og det vil sige at det du kører på QEMU skal være et operativsystem. Det vil sige at du kan f.eks. starte med en ARM installere Linux på den, så kan du køre QEMU derpå og Linux på den QEMU. På den Linux kan du så køre Wine hvorpå du kan køre dit Windows program.Thoroughbreed (5) skrev:måden man får det til at virke over (så vidt jeg kan læse) er følgende:
ARM > QEMU > x86 WiNE > x86 Program til Windows
Hvis CPU emulationen fra QEMU blev integreret med APIen fra Wine, så kunne man fjerne det ekstra OS lag og få et resultat som er mere effektivt. Om det er præcist dette som Darwine gør, ved jeg ikke.
Alternativt kan du køre QEMU og Windows på QEMU. Det giver nok bedre kompatibilitet end Wine. Godt nok giver Wine bedre integration mellem Windows applikationen og det OS Wine kører på. Men den integration er underordnet, når det alligevel allerede er blevet lagt ind i QEMU.
Det vil sige at stakken ville være ARM, Linux, QEMU, Windows. Hvis du gerne vil undgå at bruge Windows kan du prøve med ReactOS i stedet for Windows.
Der er to fuldstændigt forskellige udfordringer i at flytte Wine til den platform. Det ene er CPU arkitekturen. Wine er udviklet til at køre på Linux x86. Hvis man vil køre det på PPC er der brug for en CPU emulation. Derudover er APIerne i Linux forskellige fra Mac OS X. Den største forskel er at Apple har valgt at give Mac OS X et helt andet grafiksystem end alle andre Unix systemer. Der er ingen X i Mac OS X.Thoroughbreed (7) skrev:Det ser umiddelbart mest ud til at de tænker på Mac OS/PPC segmentet, jeg synes i hvert fald ikke at jeg kan finde noget der omhandler ARM på deres side.
Men hvis de har modificeret Wine til at køre på Mac OS X på PPC, så er der en god chance for at de har gjort alt det arbejde der er nødvendigt for at køre det på Linux på en ARM.
De har været nødt til at lave CPU emulationen, og hvis ellers den del er lavet portabelt, så kan den lige så vel bruges på ARM som på PPC. Derudover må de have opdateret koden til at køre på et andet grafiksystem. De ændringer skal du bare smide væk og bruge den originale kode fra Wine.
Jeg har ingen anelse om hvor meget arbejde der skal til for at få det til at virke. Men der er ikke nødvendigvis tale om at der skal skrives store mængder ny kode.
#9
Nej?..
Det jeg har læst, i en 3 siders tråd (hvor der stort set kun er en mand der skriver), så har han fået det til at virke uden et ekstra OS lag
ARM Raspbian > Qemu > Wine > Hello.exe > Hello world
Anyway, da jeg har sådan ca nada erfaring med Qemu/Wine leder jeg blot efter en der kan give mig en guide til hvordan det præcist virker, en Qemu/Wine 101
Nej?..
Det jeg har læst, i en 3 siders tråd (hvor der stort set kun er en mand der skriver), så har han fået det til at virke uden et ekstra OS lag
ARM Raspbian > Qemu > Wine > Hello.exe > Hello world
Anyway, da jeg har sådan ca nada erfaring med Qemu/Wine leder jeg blot efter en der kan give mig en guide til hvordan det præcist virker, en Qemu/Wine 101
Btw kasper, tag det ikke tungt - det er ikke ondt ment :)
Desuden har du sikkert meget mere forstand på *NIX end jeg har ;)
Anyway, jeg kender heller ikke til at skrive kode - er faktisk slet ikke nørdet nok til at være på Newz! Jeg har mere forstand på elektriske kredsløb (bl.a. også derfor at jeg vil have en Raspberry PI, med GPIO'en!)
Det program jeg vil afvilke, tror jeg faktisk er ufatteligt simpelt (det lytter på audio-in, og i tilfælde af X-lyd så skriver den Y på skærmen, og sender en mail)
o_O
Desuden har du sikkert meget mere forstand på *NIX end jeg har ;)
Anyway, jeg kender heller ikke til at skrive kode - er faktisk slet ikke nørdet nok til at være på Newz! Jeg har mere forstand på elektriske kredsløb (bl.a. også derfor at jeg vil have en Raspberry PI, med GPIO'en!)
Det program jeg vil afvilke, tror jeg faktisk er ufatteligt simpelt (det lytter på audio-in, og i tilfælde af X-lyd så skriver den Y på skærmen, og sender en mail)
kasperd (9) skrev:Der er ingen X i Mac OS X.
o_O
Er det pocsag du skal dekode?
http://www.baycom.org/~tom/ham/linux/multimon.html
Og der findes endda en debian ARM package
http://www.baycom.org/~tom/ham/linux/multimon.html
Og der findes endda en debian ARM package
vibeweb (12) skrev:Er det pocsag du skal dekode?
http://www.baycom.org/~tom/ham/linux/multimon.html
Og der findes endda en debian ARM package
Jeg må ærligt sige, at jeg ved ikke hvad min kammerat decoder - jeg er bare ham der står for udstyret ;)
Jeg står for e-mail, samt SMS alarmerne, om det er Pocsag eller whatnot, vil jeg ikke udtale mig om.
MEN - jeg vil helt klart undersøge det du linker til, og gå videre med det!
- edit -
Okay, er jeg dum? Eller kan jeg ikke finde en ARM-version du snakker om? o_O
- edit2 -
Ooooh, du mener at man kan få en ARM version af Debian .. I see .. Spørgsmålet er så, kan man afvikle x86 Linux versioner på en ARM-linux som f.eks Raspbian? (Det ved Kasper sikkert! ^_^)
Glem Wine, hold dig til QEMU.Thoroughbreed (10) skrev:Anyway, da jeg har sådan ca nada erfaring med Qemu/Wine leder jeg blot efter en der kan give mig en guide til hvordan det præcist virker, en Qemu/Wine 101
1. Lav en HD fil: dd if=/dev/null of=/var/local/hd-image bs=1m seek=10000
2. Start QEMU med HD fil og ISO fil: qemu-system-i386 -hda /var/local/hd-image -cdrom windows.iso
3. Installer Windows og luk QEMU ned
4. Start QEMU med HD fil: qemu-system-i386 -hda /var/local/hd-image
Bemærk at i ældre udgaver af QEMU hedder kommandoen blot qemu og ikke qemu-system-i386. Og bemærk at det er længe siden jeg har brugt QEMU, og jeg havde ikke lige nogen ISO fil ved hånden til at teste med.
Filnavnene og størrelsen på den virtuelle harddisk vælger du selvfølgelig selv.
kasperd (14) skrev:Glem Wine, hold dig til QEMU.
1. Lav en HD fil: dd if=/dev/null of=/var/local/hd-image bs=1m seek=10000
2. Start QEMU med HD fil og ISO fil: qemu-system-i386 -hda /var/local/hd-image -cdrom windows.iso
3. Installer Windows og luk QEMU ned
4. Start QEMU med HD fil: qemu-system-i386 -hda /var/local/hd-image
Bemærk at i ældre udgaver af QEMU hedder kommandoen blot qemu og ikke qemu-system-i386. Og bemærk at det er længe siden jeg har brugt QEMU, og jeg havde ikke lige nogen ISO fil ved hånden til at teste med.
Filnavnene og størrelsen på den virtuelle harddisk vælger du selvfølgelig selv.
Er det virkeligt nødvendigt at installere windows, bare for at afvikle et enkelt program? Og hvis du lige tager et kig i #13
- er det muligt at afvikle et i386 program i en ARM udgave af Debian? Eller er arkitekturen så forskellig, at selv Linux har svært ved det?
Thoroughbreed (13) skrev:
- edit2 -
Ooooh, du mener at man kan få en ARM version af Debian .. I see .. Spørgsmålet er så, kan man afvikle x86 Linux versioner på en ARM-linux som f.eks Raspbian? (Det ved Kasper sikkert! ^_^)
Nej, jeg mener skam at der findes en arm(el) pakke til debian, som du _måske_ vil kunne bruge i rasbian
http://packages.debian.org/squeeze/multimon
Jeg tror det er den nemmeste måde at køre et Windows program. Men hvis Windows programmet er beregnet til at rode med hardware på lavt niveau, så bliver opgaven straks meget vanskeligere. Hvis du kan finde et Linux program, som kan løse opgaven, så bliver det straks meget nemmere.Thoroughbreed (15) skrev:Er det virkeligt nødvendigt at installere windows, bare for at afvikle et enkelt program?
Som udgangspunkt nej. Men Debian har ry for at gøre meget for at deres main repository kun indeholder opensource, så det ville være mærkeligt om ikke der ligger noget kildekode, som kan oversættes til ARM.Thoroughbreed (13) skrev:kan man afvikle x86 Linux versioner på en ARM-linux
vibeweb (16) skrev:Thoroughbreed (13) skrev:
- edit2 -
Ooooh, du mener at man kan få en ARM version af Debian .. I see .. Spørgsmålet er så, kan man afvikle x86 Linux versioner på en ARM-linux som f.eks Raspbian? (Det ved Kasper sikkert! ^_^)
Nej, jeg mener skam at der findes en arm(el) pakke til debian, som du _måske_ vil kunne bruge i rasbian
http://packages.debian.org/squeeze/multimon
Multimon ligger endda i rasbians eget repository http://archive.raspbian.org/raspbian/pool/main/m/m...
så gogo apt-get install multimon
Nu mangler jeg bare min Raspberry PI >_<
Mon Raspbian kan køre på min i386 PC?!
Jeg siger tusind tak so-far! Håber jeg får min PI inden tråden dør :)
Mon Raspbian kan køre på min i386 PC?!
Jeg siger tusind tak so-far! Håber jeg får min PI inden tråden dør :)
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.