Fórum Root.cz

Hlavní témata => Windows a jiné systémy => Téma založeno: mhi 12. 12. 2019, 13:02:00

Název: Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 12. 12. 2019, 13:02:00
Snad toto forum snese Windows otazku kdyz se tyka RPI. Snazim se dostat W10 ARM64 (normalni desktop! ne IOT) build na RPI3, ale s posledni verzi skoncim v instalatoru kdy mi to restartne RPI pul hodiny po te co zadam zemi/klavesnici/atd.; pak je cyklus kdy mi to zobrazi tuto obrazovku a za ni, ze se neco nepovedlo a pokusi se mi to aktualizovat system zda to nahodou neprojde podruhe.

Odkazy:

https://github.com/WOA-Project/WOA-Deployer-Rpi
https://uupdump.ml/
https://www.raspberrypi.org/forums/viewtopic.php?t=233017
https://www.youtube.com/watch?v=IQBE1oP_lRo + hromada videi na YT

Jestli mate nekdo fungujici postup (vc. verzi RPI/SDkarty, WOA, buildu W10/ARM64), byl bych moc vdecny za poslani odkazu.

Abych predesel diskusi k cemu to je (desktop je pry neskutecne pomaly a pada to, jen instalatoru trvalo nekolik vterin nez zobrazil seznam zemi a mys se seka!), mym predmetem zajmu je jejich binarny translator-emulator (nevim jak to chodi) pro chod x86 aplikaci na ARM64. Ano, ty Win pry umi spoustet x86 aplikace.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: Idris 12. 12. 2019, 15:44:07
chod x86 aplikaci na ARM64. Ano, ty Win pry umi spoustet x86 aplikace.
Ano, umí, ale je to neskutečně pomalé a na malině to bude ještě mnohem horší.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 12. 12. 2019, 16:04:14
pokud jde jen o tu emulaci x86, a chces to realne pouzit a ne jen zkoumat, podivej se na exagear rpi coz je balik pro raspbian s emulaci x86 a pres wine moznosti poustet win (32bit) programy, nevyhoda je ze je placenej, zalezi proc/co chces... pripadne v raspbian qemu+wine
https://magpi.raspberrypi.org/articles/exagear-desktop-raspberry-pi-3-review
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 12. 12. 2019, 21:03:07
Potrebuju konkretne toto reseni videt (zevnitr), nechci ho pouzivat. Zajima mne, jak vyresili nektere veci, protoze emulovat/prekladat by se mela jen ta cast ktera je pro x86, vsechny nativni veci bezi ARM64. Tzn. na rozhrani x86-ARM64 jsou nejake translatory argumentu mezi ABI a navic i resi zrejme delku adresy.

Pokud tu je nekdo komu W10-on-ARM64 bezi, uvital bych instrukce jake verze ceho slozit dohromady, aby to chodilo. Blbe se zjistuje kde je problem kdyz jedina hlaska co z toho vypadne je ze se neco nepovedlo a tak se pokusi instalator nainstalovat jeste updaty a treba to bude lepsi.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 13. 12. 2019, 11:50:31
Tak se to povedlo, k cili vedlo zkouset to dokola. Funguje posledni WoA Deployer (2.1.1) a W10 17134 arm64. RPI 3 B, nejaka relativne obyc SD karta, min 16GB. Pri instalaci to rebootne a hlasi to stejne jako posledni verze ze neco je spatne a chce to updatovat. V tom okamziku je potreba vytrvat, nedavat tomu spojeni na internet a po nekolika pokusech se objevily zname instalacni obrazovky.

Boot Windows probiha z UEFI shellu, prikazy FS0: / cd efi / cd boot / bootaarch64.efi

Trva to HROZNE DLOUHO a system jako takovy je skoro nepouzitelny, ale nabootovalo to. Pripadam si jako nekdy v roce ~1998 kdy jsem se pokousel rozchodit WinNT na podmerecnem hardware. Boot tech windows do desktopu je otazka treba 10ti minut :-)).

x86 aplikace to spustit umi, i kdyz je to dost pomale. Nekdy ten translator prozkoumam.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: RDa 13. 12. 2019, 12:09:30
Zda by ke zkoumani nebylo lepsi tohle cele provozovat ve VM, ale takove zrejme jeste nejsou? (x64 host - aarch64 guest)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 13. 12. 2019, 12:23:32
S ohledem na https://github.com/andreiw/RaspberryPiPkg/search?q=qemu&unscoped_q=qemu bych si tipnul, ze dostat TianoCore do QEMU bude dost problem. Ale mozna ne, kdo vi ? Kazdopadne svuj zivot chci travit jinak nez lepenim takovych veci.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: ByCzech 13. 12. 2019, 21:46:50
S ohledem na https://github.com/andreiw/RaspberryPiPkg/search?q=qemu&unscoped_q=qemu bych si tipnul, ze dostat TianoCore do QEMU bude dost problem. Ale mozna ne, kdo vi ? Kazdopadne svuj zivot chci travit jinak nez lepenim takovych veci.

https://packages.debian.org/buster/qemu-efi-aarch64

https://packages.debian.org/buster/qemu-efi-arm
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 14. 12. 2019, 16:49:08
To neresi problem kompatibility tech W10, resp. TianoCore pro Rpi a ovladace pro Win.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 14. 12. 2019, 18:01:53
To neresi problem kompatibility tech W10, resp. TianoCore pro Rpi a ovladace pro Win.
ses si jistej? pro x86 a qemu je balik OVMF obsahujici TianoCore UEFI, v odkazu pro arm vidim ze obsahuje AAVMF UEFI, ktere minimalne dle tohoto Arch arm baliku je TianoCore: https://aur.archlinux.org/packages/edk2-avmf/

TianoCore UEFI s ovladaci pro Windows nesouvisej a to ani na x86, pokud jde o podpurne ovladace pro kvm/qemu, tak pro x86 jde o spice-guest-tools pro Windows a to vidim binarni build jen pro x86, pro GNU/Linux jde o spice-vdagent a to vidim i pro arm... kazdopadne jde o ovladace pro lepsi vyuziti virtualizace disku, site, grafiky a podpurne nastroje jako sdilena schranka... ale neni to nutne pro beh virtualizovanych Windows ani GNU/Linux
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 14. 12. 2019, 21:40:37
staci se podivat jake problemy resili na tom RPI3 aby Win vubec nabootovaly; jestli to nekdo chce rozchodit proti qemu, rad se poucim, da-li sem pak postup. Muj zivot je na to moc kratky.

Neprimo souvisejici vec: Prave se pokousim nabuildovat nejaky C++ MFC projekt s VS2019 na ARM a musim rict ze i to je dobre peklo, cl.exe ktery preklada na x86 vec maximalne minutu bezi jako crosscompiler na ARM asi hodinu. Pac vzdy skoncim s chybou linkovani (knihovny, symboly, ...) a vzdy to rebuilduje z nejakeho duvodu cele, tak to vidim jako projekt na tyden :-)). Zajimalo by mne, jestli ma MS opravdu realne plany s temi ARM Windows, nebo to zajde jako WinRT a jednou potichu vse zase uklidi.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 14. 12. 2019, 22:46:39
nezkousel sem, jen sem venoval par vterin hledani ;-) https://withinrafael.com/2018/02/12/boot-arm64-builds-of-windows-10-in-qemu/
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: RDa 15. 12. 2019, 12:09:39
nezkousel sem, jen sem venoval par vterin hledani ;-) https://withinrafael.com/2018/02/12/boot-arm64-builds-of-windows-10-in-qemu/

Presne tohle jsem myslel! Samozrejme rychlost bude odpovidajici tomu, ze se x86-32 prelozi na aa64, a to se v quemu prelozi na x86-64 :)) Ale v QEMU je konzole, takze lze dumpovat fyzickou pamet a ruzne se v tom hrabat, coz by snad melo pokryt veskere stouraci intence tazatele :) Ale pokud mu slo se na to divat zevnitr.. tak je jednodussi si sehnat zarizeni kde ty aa64 win10 jiz z vyroby jsou, nez se to snazit naroubovat na neco, kam to nemeli v planu optimalizovat z MS.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 15. 12. 2019, 18:59:17
nezkousel sem, jen sem venoval par vterin hledani ;-) https://withinrafael.com/2018/02/12/boot-arm64-builds-of-windows-10-in-qemu/

Dekuji za tip! Nekdy to vyzkousim, nedovedu si ale predstavit jak moc stabilni a pouzitelne to bude (i na tom RPi to je temer nemozne pouzivat, ostatne i on tam pise, ze na i7cce to jede jak snek).

RPi3 mi tedy zatim staci, VS 2019 preklada native ARM binarky, takze si muzu skrze Win32 debug API (~ muj nastroj) sahnout do memory space jineh procesu a zkoumat to jak budu chtit. Asi tam budu muset jeste udelat disassembler pro ten A64.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 15. 12. 2019, 19:13:05
RPi3 mi tedy zatim staci, VS 2019 preklada native ARM binarky, takze si muzu skrze Win32 debug API (~ muj nastroj) sahnout do memory space jineh procesu a zkoumat to jak budu chtit. Asi tam budu muset jeste udelat disassembler pro ten A64.
no zalezi jak moc ti na vyzkumu zalezi, ale asi bych to nejmenci co, poridil RPi4 s 4GB RAM, bude to jiste o "dost" rychlejsi, Cortex A52 Vs A72, DDR2 Vs DDR4, moznost misto img na microSD ho dat na USB-SSD do USB3, atd...
jina vec by byla kdyby ti zalezelo mnohem vice na vyzkumu, pak treba MS SurfaceX kde je ARM64 CPU od Qualcom upravenej pro Windows a bezej tam Windows 10 s translatorem na x86
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: Idris 15. 12. 2019, 19:24:59
RPi3 mi tedy zatim staci, VS 2019 preklada native ARM binarky, takze si muzu skrze Win32 debug API (~ muj nastroj) sahnout do memory space jineh procesu a zkoumat to jak budu chtit. Asi tam budu muset jeste udelat disassembler pro ten A64.
no zalezi jak moc ti na vyzkumu zalezi, ale asi bych to nejmenci co, poridil RPi4 s 4GB RAM, bude to jiste o "dost" rychlejsi, Cortex A52 Vs A72, DDR2 Vs DDR4, moznost misto img na microSD ho dat na USB-SSD do USB3, atd...
jina vec by byla kdyby ti zalezelo mnohem vice na vyzkumu, pak treba MS SurfaceX kde je ARM64 CPU od Qualcom upravenej pro Windows a bezej tam Windows 10 s translatorem na x86
Mám Surface Pro X a emulace x86 šlape celkem svižně, akorát to žere baterku. Na zkoumání ideální, ale dost drahá hračka.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 15. 12. 2019, 19:49:29
RPi4 mam, jen nebyl cas to na nem rozjet, resp. nemel jsem u sebe vsechny komponenty nutne pro RPi4.

Krome toho se mi na RPi objevila ikonka teploty (tam co byva obcas blesk :) ), asi budu muset dat nejaky chladic a rychlejsi SD kartu. Pomalost je ale opravdu desiva, v Edge pri zadavani URL mi to dokonce vynechava pismenka (nepocitam, ze to je spis takova offline prace, kdy napisu URL a pak cekam co se tam napsalo;-) ).

ad Surface X: a jak je to jinak pouzitelne kdyz vezmeme ARM/ARM64 svet (bez translace) ? Ja dam sanci jeste tomu RPi, myslim, ze mi to bude stacit, jen aby to nepadalo.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 15. 12. 2019, 20:18:30
RPi4 mam [...] asi budu muset dat nejaky chladic a rychlejsi SD kartu [...]
tak idealne k RPi4 USB/UASP (https://en.wikipedia.org/wiki/USB_Attached_SCSI)-SSD=>USB3, ohledne microSD karty, doporucuju "ADATA Industrial" (https://www.suntech.cz/produkt/402621-transcend-16gb-microsdhc-prumyslova-karta-mlc-class-10/), pouzivam jen to, at uz CokolivPI, nebo autoradio, je to v podstate SSD (MLC, WearLeveling, ECC korekce) ma to lepsi iops nez Samsung microSD co sem pouzival predtim, nedelal sem testy, ale pocitove napr pri "apt update && apt upgrade" kdy s puvodni kartou sem sel na 2 kafe protoze to bylo desne pomale a zaroven byl system pri tom nepouzitelnej, s tou ADATA je to pocitove jako netbook s eMMC, system to viditelne nebrzdi a zivotnost bude take nekde uplne jinde... nicmene pro ideal jak sem psal na zacatku RPi4 s SSD ;-)

EDIT: ad chlazeni, koukni na fullsize pasiv, pro RPi4 (https://rpishop.cz/pasivni/1901-chladici-sada-krabicka-pro-raspberry-pi-4b-cerna.html) nebo pro RPi3 (https://rpishop.cz/pasivni/1723-chladici-sada-pro-raspberry-pi-2b3b3b.html)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: redustin 15. 12. 2019, 21:46:51
Citace
pri "apt update && apt upgrade" kdy s puvodni kartou sem sel na 2 kafe protoze to bylo desne pomale a zaroven byl system pri tom nepouzitelnej

http://www.abclinuxu.cz/poradna/linux/show/412885#9

mmap + sync, na pomalém storage je to smrt. Řešením je příslušné adresáře (defakto keše) přesunout do tmpfs.

Ten chladič jsem bral z ebaye, stojí půlku https://www.ebay.com/itm/Fit-For-Raspberry-Pi-4B-Protective-Box-CNC-Aluminum-Alloy-Case-Cover-Enclosure/392383854476 . Funguje opravdu skvěle.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: Idris 15. 12. 2019, 22:27:25
ad Surface X: a jak je to jinak pouzitelne kdyz vezmeme ARM/ARM64 svet (bez translace) ?
Když pominu bugy OS (které se ve verzi pro AMD64 nevyskytují, ty snad odstraní aktualizací), tak celkem jo. Browser v pohodě, Office taky, překladač MSVC a .NET jede, a hlavně (pro mě) nativní WSL. Nemám to jako hlavní stroj, ani přenosný, ale dovedu si to tak představit, data přes LTE bez problémů, baterka nad deset hodin. Kromě her tam člověk nenarazí na zásadní problém.

Výkon CPU a paměti (má velkou cache) je hodně slušný, nemá na iPad Pro, ale hravě strčí do kapsy třeba Surface Go (to ovšem i můj TI 84+) i i3 desáté generace.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: michal_h 16. 12. 2019, 21:58:55
ohledne microSD karty, doporucuju "ADATA Industrial" (https://www.suntech.cz/produkt/402621-transcend-16gb-microsdhc-prumyslova-karta-mlc-class-10/), pouzivam jen to, at uz CokolivPI, nebo autoradio, je to v podstate SSD

Zminujes ADATA, ale na linku je Transcend, co je spravne?
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 18. 12. 2019, 14:20:00
Do vetraku k RPi opravdu jit nechci, nicmene nasel jsem nejake zakladni desky a na nich chladice chipsetu, ktere presne pasuji do RPi - jenom je potreba odfrezovat mezeru pro nektere soucastky, u RPi4 navic udelat ruzne hluboke kapsy, aby to sedlo na vic obvodu (nevim zda to ma smysl, ale mam CNC, tak to klidne udelam). Cim se takovy chladic prilepi? Mam jen nejake historicke 'thermal paste' co byly k procesorum, ale ty jej predpokladam neudrzi. Nebo ano?

Koupil jsem celou radu SD karet 64GB, vyzkousim ktera jak funguje a pak sem pripadne napisu.
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: k3dAR 18. 12. 2019, 14:27:22
Zminujes ADATA, ale na linku je Transcend, co je spravne?
diky za opravu, spravne je ADATA (https://www.suntech.cz/kategorie/?srchtxt=adata+industrial+micro+sd&fts=1) - o te sem psal, z tema mam zkusenosti...
(tu Transcend (https://www.suntech.cz/produkt/402621-transcend-16gb-microsdhc-prumyslova-karta-mlc-class-10/) sem chtel puvodni zminit jako levnejsi alternativu, ale s ni zkusenosti nemam)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: Ħαℓ₸℮ℵ ␏⫢ ⦚ » 18. 12. 2019, 19:28:48
Transcend s ECC jsou ve 2 variantách..
https://www.transcend-info.com/Products/No-727 - zlaté rychlost 26/80 (45/80 u 64GB) 32GB za 200Kč na aukru

šedé - bílé  údajně 20MB/

Nevím jaký by mohl být rozdíl v těchto 2

https://www.transcend-info.com/Products/No-993
https://www.transcend-info.com/Products/No-727

Compare > šedá (993) 3D NAND flash, zlatá (727) MLC NAND flash. otázka je jak se to projeví...
paradoxně u zlaté není uvedeno kolik  tb( šedá 64 85TB)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 04. 02. 2020, 21:38:18
Kdyby to nekoho zajimalo jak prelozit "rucne" bez MS Visual C++ (community edition) nejaky program pro WinOnARM, staci z MSVC comm ed. odkopirovat slozky MSVC a Windows Kit ; preklad probiha na x86 (nebo x64), funguje to i na Windows 7

Kompilace test.c do test.exe pro ARM 32bit s linkovanim user32.lib(.dll):

T:\MSVC\14.24.28314\bin\Hostx86\arm\cl test.c /IT:\msvc\14.24.28314\include /IT:\msvc\winkit\10\include\10.0.18362.0\um /IT:\msvc\winkit\10\include\10.0.18362.0\shared /IT:\msvc\winkit\10\include\10.0.18362.0\ucrt /link /LIBPATH:T:\msvc\winkit\10\lib\10.0.18362.0\um\arm /LIBPATH:T:\msvc\14.24.28314\lib\arm /LIBPATH:T:\msvc\Winkit\10\lib\10.0.18362.0\ucrt\arm user32.lib

14.24 ... je z MSVC
10.0.18... je verze WinKitu

nahradou arm za arm64 ziskame 64bitovy ARM build, nahradou za x86 nebo x64 naopak intelackou verzi


pro zajimavost zde jsou velikosti, je to helloworld ktery udela messagebox+printf:

-rwx------+ 1 mhi None  87040 Feb  4 21:17 test_arm.exe
-rwx------+ 1 mhi None 113664 Feb  4 21:16 test_arm64.exe
-rwx------+ 1 mhi None 119296 Feb  4 21:18 test_x64.exe
-rwx------+ 1 mhi None 101888 Feb  4 21:18 test_x86.exe

Existuje i nejake reseni pro Linux, ale netestoval jsem ho https://github.com/mstorsjo/msvc-wine (kazdopadne to zvazim, MSVC je jedna z mala veci ktere me nuti pouzivat Windows)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 04. 02. 2020, 22:40:52
Zapomnel jsem dodat, ze vysledny ARM(32bit) .exe je spustitelny ve Wine na ARM platforme a to vc. Androidu (jako takovy je Wine ale na Androidu nepouzitelny, spis je to takova perlicka ze to jde)
Název: Re:Windows 10 ARM na Raspberry PI
Přispěvatel: mhi 01. 01. 2021, 19:33:16
Pro ty co zajima problematika binar translatoru (JITu) x86->aarch64 je pekny clanek: https://blogs.blackberry.com/en/2019/09/teardown-windows-10-on-arm-x86-emulation

Mam nejake dumpy sveho x86 procesu z pameti z WoA, zatim nechapu spoustu veci, ale nejak to chodi (byt na RPi3 to je naprosto nepouzitelne, aplikace ktera trochu flickeruje na intelu na tom ARMu jede tak, ze vidim jak se kresli jednotlive casti okna :-) ). Musim prijit na to jak pomoci nejakeho debugapi vytahnout info o cpu contextu daneho threadu, aby se dalo zrekonstruovat co to vlastne dela.