Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

OS X, Linux e tutti gli altri OS

Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:14 am

Buongiorno,

faccio prima un riassunto della situazione che mi ha portato a rivolgervi la domanda.

Chi volesse bypassare la storiella iniziale, può andare avanti e leggere direttamente la domanda indicata con "**DOMANDA**".

il mio obbiettivo è quello di creare con Microsoft Visual Studio delle applicazioni GUI che girino tanto su PC desktop
(architetture CPU classiche, quindi x86, x64, AMD64) che su ARM64, così da poterne fare il deployment per Raspberry Pi 4.

Ho già acquisito i rudimenti essenziali, quindi diciamo che mi sono fatto la mia prima applicazione "hello world", ovvero
un paginetta con un bottone, e ho compilato per .NET Framework 3.5.

Bene, su PC l'applicazione funziona.

Adesso voglio farla girare anche su Raspberry Pi 4.

Per fare ciò, ho bisogno di avere Windows 10 che giri su Raspberry Pi 4.

Esistono 2 filoni principali:

1)
IoT-Core by Microsoft, che ha poco a che fare con il Windows 10 per desktop a cui siamo
abituati (non so se questo progetto ufficiale è stato interrotto dalla Microsoft, credo di si)

2)
Windows10-ARM: progetto non ufficiale, non by Microsoft (almeno così ho capito, correggete ogni virgola se non vi risulta),
progetto autonomo di un gruppo esterno a Microsoft, dove sono stati riscritti molti drivers e dll necessari per consentire a
Windows10 di girare su ARM64 anzichè su x86/x64.
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:24 am

Sono riuscito, tramite il progetto/sito web UUP-dump (UUP: Unified Update Platform, https://uupdump.net), a scaricare un file batch.cmd.
Lanciando in esecuzione (con diritti di super-admin) tale script sotto Windows, lui autonomamente va a scaricare presso dei repository tutta una serie di files.cab (files .cabinet, compressi), poi li decomprime tutti, ottenendo così i corrispettivi files .esd con i quali Microsoft sta, negli ultimi anni, distribuendo gli aggiornamenti per Windows (corretto?), e poi da questi .esd (files ancora abbastanza compressi e sopratutto crittati) lo script parte per costruirsi le immagini install.wim, boot.wim (quest'ultima dovrebbe essere WinPE ... giusto?) ecc ..., insomma le immagini.wim con le quali, infine, il batch si crea l'immagine finale .iso.

Questa immagine .iso (di circa 6GB, se non ricordo male) è l'immagine con la quale si potrebbe masterizzare/burnerizzare un supporto di memoria come un DVD oppure una pennetta USB: adesso non so se DVD o penna USB, dato che a regola ci sono ISO per i DVD, ISO per le penne USB, ecc ... le varie ISO sono diverse, poichè sono diversi i bootloader per i vari supporti hardware di memorizzazione, ovvero il bootloader che va scritto in un DVD è diverso da quello che va scritto in una flash-USB ecc ...

Ignoro se questa ISO potrebbe essere burnerizzata su DVD oppure USB-pen, dal momento che io l'ho utilizzata con finalità del tutto diverse.
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:27 am

Adesso che possiedo una .iso per Win10 su ARM64, vado a scaricarmi un SW (un .exe) del progetto WoR (Windows on Raspberry):

https://www.worproject.ml

è una wizard, fatta molto bene a mio avviso, che ti guida passo-passo, ti chiede di indicarle una .iso (e quella l'abbiamo creata, grazie allo script uup-dump.cmd di cui sopra) da cui partire, un device di memorizzazione su cui installare la .iso (io ho indicato la microSD da 64GB di cui sopra), inoltre ti chiede se hai i drivers nel tuo PC oppure se vuoi raccogliere i driver più aggiornati online automaticamente (la wizard si occuperebbe di andarseli a cercare lei, conosce lei le repositories a cui attingere i drivers più aggiornati per Win10-ARM), ed io ho chiaramente scelto questa opzione.

La wizard ti chiede se hai nel PC un bootloader UEFI da indicarle, oppure se vuoi che sia la wizard ad occuparsi di andare a cercare e scaricare il bios UEFI per ARM64 più aggiornato, ed io ho chiaramente scelto questa opzione. La wizard ti chiede, in ultima istanza, se vuoi formattare la microSD con le schema MBR oppure GPT: ho scelto MBR sia perchè non ho bisogno delle opzioni avanzate/moderne fornite dallo schema GPT, ovvero non ho bisogno di un avvio sicuro, non ho partizioni sulla microSD, cioè su quello che sarà il disco main del sistema Raspberry Pi 4, maggiori di 2TB, non avrò bisogno di realizzare un sistema dual-boot ... insomma ... il GPT non mi serve, un semplice MBR mi va benissimo, inoltre l'MBR lo so leggere (diciamo che so leggere gli ultimi 66 bytes, ovvero le entry delle 4 partizioni primarie + gli ultimi 2 bytes di magic-number 0x 55 AA), pertanto vada per MBR!
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:34 am

Bene, lancio la wizard, la quale installa correttamente Windows10-ARM sulla mia microSD.

Metto la microSD in Raspberry Pi 4, lo accendo, parte Win10-ARM per la prima volta, attraverso tutta la tediosa fase iniziale di setup/configurazione, ed arrivo al primo avvio di Win10 ... funziona tutto!

è abbastanza lento, me lo ricordavo molto lento su Raspberry Pi 3, sul 4 sembra un pochino più veloce, ma è sempre comunque decisamente lento, il solo OS si prende circa 1.5GB sui 4GB disponibili.

Ho lavorato un pò sulla customizzazione del sistema:

accedendo al bios di Raspberry (pressione del tasto ESC all'avvio), ho:

1)
settato "OFF" sul limite a 3GB di RAM, così da fornire al sistema tutti e 4 i GB del chip RAM montato a bordo della scheda

2)
settato l'overclock della CPU (clock: "max"), sperando di velocizzare un pò l'esecuzione di OS e programmi (massima frequenza di clock possibile implica una potenza dinamica dissipata dalla commutazione delle strutture CMOS maggiore, ma tanto ho sia l'aletta di dissipazione sul BCM2711 che la ventolina a 5Vdc sempre accesa, pertanto non temo nessun surriscaldamento eccessivo dovuto ad iper-attività)

3)
settato "fast boot", quindi caricamento solo dell'indispensabile all'avvio (si avvia "velocemente" una configurazione di base dell'OS).


Una volta avviato Win10-ARM, tramite "msconfig" e "services.msc", ho:

1)
impostato un avvio con servizi grafici di base

2)
disabilitato all'avvio tutta una serie di servizi a mio avviso inutili, come OneDrive, Windows-Defender, Xbox, fax, indicizzatore, WinRE ecc ...

In effetti, in questo modo il sistema si avvia in tempi accettabili e una volta arrivati al desktop di Win10, se si ha la pazienza di aspettare qualche minuto, a quel punto si può utilizzare Win10 su Raspberry Pi 4 in modo abbastanza accettabile.

Ho anche installato .NET Framework 3.5, dopodichè ho provato a lanciare su Win10 - Raspberry Pi 4 un'applicazione compilata su PC x64 con target = .NET Framework 3.5 (la paginetta con il bottone di cui sopra) ... ed effettivamente funziona! Funziona perchè abbiamo uno strato SW di emulazione che consente alle applicazioni di vedere al di sotto una realtà di tipo x86/x64, quando in realtà (noi lo sappiamo) abbiamo un'architettura completamente diversa, ovvero un arm64.
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:38 am

Fin qui, tutto liscio ... ma ecco che adesso arriva (finalmente) la

**DOMANDA** :

su una porta USB di Raspberry Pi 4 ho il mouse, su un'altra la tastiera, quindi me ne avanzano 2.

Su una porta USB voglio mettere un adattatore USB <-> Rs232, e in primis ho usato questo:

https://www.manhattanshop.it/convertito ... ister.html

poichè vorrei farmi un programmino che consente a Raspberry Pi 4 di colloquiare in seriale con il mondo esterno.

Generalmente questi dongle/adattatori USB - seriale "general purpose" sono plug'n'play, pertanto appena inserito mi sarei aspettato di vedere, sotto "gestione dispositivi", comparire una VCOM, ad esempio COM2, in aggiunta alla nativa/sempre presente COM1.

Invece il device "USB-serial D converter" va a finire sotto la voce "altri dispositivi" con tanto di icona a triangolo con punto esclamativo, segno che tale device non viene visto correttamente dall'OS, sicuramente perchè manca il driver.

Provo sia a fargli cercare un driver online, sia ad installare tale driver a mano, scaricando il setup.exe direttamente dal sito del costruttore ... nulla da fare!!! Nonostante ogni tribolazione possibile, la soddisfazione di vedere una nuova COM aggiungersi all'elenco delle VCOM non l'ho ancora avuta.

Perchè non riesco a far vedere a Win10-ARM su Raspberry Pi 4 l'adattatore USB - seriale?
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa

Re: Windows10-ARM su Raspberry Pi 4: problemi con le VCOM

Messaggioda AMG_Novice_Usr » dom mag 23, 2021 11:41 am

Ho provato anche altri 2 tipi di convertitori USB - seriale, uno USB-Rs232, un altro ancora USB-UART TTL (di altri costruttori, con altri drivers installabili a manina), ma nulla da fare ... non c'è verso di avere una VCOM funzionante sul sistema ... perchè?? Eppure su PC desktop, dove c'è sempre Win10, questi adapters USB - seriale funzionano tutti, tutti e 3, mentre invece su Win10-ARM/Raspberry Pi 4 non ne funziona neanche uno!

Sto sbagliando qualcosa?

due indizi che posso dare (probabilmente non centrano nulla, ma ve li do lo stesso):

1)
durante la wizard WoR (Windows On Raspberry), quando ho scelto MBR anzichè GPT, la wizard stessa mi dice: "attenzione! se scegli MBR non potrai fare alcune cose, tipo l'aggiornamento del sistema e ... " e poi adesso non ricordo se dice qualcos'altro, ad ogni modo il nocciolo era questo. Ho pensato che forse non riesce a recuperare online nessun driver, di nessun adattatore USB - seriale, forse in virtù proprio di quel messaggio di warning, poichè ho scelto MBR anzichè GPT?
Mi sembra strano, anche perchè ad esempio il servizio Windows Update sembra funzionare correttamente, ci sto aggiornando il sistema, inoltre ci ho scaricato .NET Framework 3.5, senza il quale le GUI sviluppate con Visual Studio non possono funzionare, quindi dubito che quel messaggio di warning sia veritiero/efficace ...

2)
da bios di Raspberry, ho optato per "fast boot" anzichè "complete boot": forse i drivers o pre-drivers "general purpose" per le VCOM non vengono caricati, da cui tutti i problemi spiegati fin qui?

Grazie in anticipo per l'aiuto!
Avatar utente
AMG_Novice_Usr

Veterano
 
Messaggi: 271
Iscritto il: ven mag 01, 2020 10:10 am
Località: Pisa


Torna a Altri sistemi operativi

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti

cron