Jump to content











Photo
- - - - -

USB Boot on Qualcomm CPU

arm64

  • Please log in to reply
39 replies to this topic

#1 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 15 August 2018 - 06:36 PM

Hi!

 

Does anyone know how to make a bootable USB device for ARM64 PCs?

 

I am needing to make a bootable USB for the ASUS Nova TP370QL Qualcomm ARM64 CPU based PC...

 

Thank you,

 

-Armixen



#2 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 15 August 2018 - 08:12 PM

Does it have a UEFI BIOS?



#3 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 15 August 2018 - 08:13 PM

Yes, thank you.



#4 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 15 August 2018 - 08:19 PM

Well, any UEFI BIOS should be capable of reading a FAT32 partition.

So can't you just copy the files to a FAT32 USB drive?

There will need to be a \EFI\BOOT\BootAA64.EFI file present on the USB drive.



#5 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 15 August 2018 - 08:22 PM

Thank you.

 

That sounds like a great start - is there a batch file or similar that can do the necessary copying?

 

(edit: for all necessary files&materials)

 

Bonus question - how do I add x86 (WoW) support to my bootable Windows instance?


Edited by armixen, 15 August 2018 - 08:23 PM.


#6 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 15 August 2018 - 08:33 PM

Sorry, don't know anything about ARM Win10. Never seen it before!

These links may help...

https://winaero.com/...ws-10-arm-qemu/

https://withinrafael...ows-10-in-qemu/



#7 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 15 August 2018 - 08:43 PM

I havent tried it, but latest Windows ADK says it supports ARM64, so maybe it has .cmd scripts to make an ARM64 WinPE boot.wim, etc?

https://docs.microso...ted/adk-install



#8 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 15 August 2018 - 10:05 PM

Sorry, don't know anything about ARM Win10. Never seen it before!

These links may help...

https://winaero.com/...ws-10-arm-qemu/

https://withinrafael...ows-10-in-qemu/

 

It would be insufferably slow on QEMU (as the article author notes as well).



#9 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 15 August 2018 - 10:07 PM

I havent tried it, but latest Windows ADK says it supports ARM64, so maybe it has .cmd scripts to make an ARM64 WinPE boot.wim, etc?

https://docs.microso...ted/adk-install

 

That's a great start, thank you!

 

Do you know of existing scripts to create WinRE/WinPE using the ADK for x86 and x64?

 

I can check those locations for the ARM64 variants, I figure...

 

Also big bonus - how do I add x86 (WoW) support to a RE/PE instance?



#10 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 16 August 2018 - 03:53 PM

Sadly, the latest ADK does not support ARM64...

 

Does anyone know of a version that does?



#11 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 16 August 2018 - 04:17 PM

Hmmm.
 
https://docs.microso...-kits-and-tools
 

What’s new in the Windows ADK for Windows 10, version 1709
Support for ARM64 platforms

 
:duff:
Wonko

#12 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 16 August 2018 - 04:24 PM

That's not the latest version though, that would be 1803.

 

Do you think they added to 1709 and pulled from 1803?

 

Any thoughts on how to Wow64-ify an existing RE image?



#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 16 August 2018 - 04:38 PM

That's not the latest version though, that would be 1803.

I know. 
 

Do you think they added to 1709 and pulled from 1803?


No ideas, only reporting what the good MS guys published.

For all it matters it wouldn't be the first time they published deceiving, wrong or plainly false information.
Try 1709, just in case.
 

Any thoughts on how to Wow64-ify an existing RE image?


No, but I suspect that the "normal" WOW64 layer (which is roughly a "DLL translation layer") is different from the ARM WOW64 (which is more an "instruction translation layer") so it is likely that what we do have (to add the WOW64 to x64 PE's) won't apply "as is" to the ARM WOW64 layer.

:duff:
Wonko



#14 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 16 August 2018 - 04:51 PM

It seems complicated.

 

For example, there's no c:\windows\system32\loadwow64.exe on the ARM64 PC. However, that file also doesn't exist on a regular AMD64 PC either. So that is why the PESE stuff probably needs to use the ISO, and cannot work with the installed OS files. But how does the native OS even load WOW then?

 

According to this page:

 

https://docs.microso...ntation-details

 

Its just a couple of files that vary on the ARM64 architecture (the software emulator stuff). So it still might be mostly compatible with the existing process.

 

I'm trying to download an ARM ISO ATM to see where it leads, and also trying the 1709 ADK to see if I can build a PE USB stick with it.

 

On that note, are there any pre-existing PE packages for use with DISM to add x86 support to a PE ARM bootable USB? Something official from Microsoft or a third party?

 

What a curious case, this ARM64...



#15 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 16 August 2018 - 08:33 PM

So I have been able to access Winre.wim in the r:\recovery\windowsre folder, finally.

 

I believe I can also copy this file to my `real` PC where I can edit it and such.

 

I also have these files, downloaded from the relevant places:

 

Microsoft-Windows-Client-Features-WOW64-Package.ESD
Microsoft-Windows-EditionPack-Enterprise-WOW64-Package.ESD
Microsoft-Windows-EditionSpecific-Enterprise-WOW64-Package.ESD
Microsoft-Windows-RegulatedPackages-WOW64-Package.ESD

 

I have a feeling if I can merge these ESD's with the Winre.wim file, I would be done, no?

 

Does anyone have any idea on how to do this merge?

 

Thanks all!



#16 Guest_AnonVendetta_*

Guest_AnonVendetta_*
  • Guests

Posted 17 August 2018 - 12:43 AM

Qualcomm CPU? Like what is used in many, if not most, Android phones? I have never heard of a PC that uses this brand of CPU, I think Intel and AMD have this market locked up tight.



#17 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 17 August 2018 - 03:10 AM

Qualcomm CPU? Like what is used in many, if not most, Android phones? I have never heard of a PC that uses this brand of CPU, I think Intel and AMD have this market locked up tight.

 

Asus Nova something something is the brand/model...



#18 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 August 2018 - 08:22 AM

Qualcomm CPU? Like what is used in many, if not most, Android phones? I have never heard of a PC that uses this brand of CPU, I think Intel and AMD have this market locked up tight.

It is the new kid on the block, at the moment there are just a few tablet/laptop devices  using the Snapdragon 835 CPU, JFYI:

 

https://www.qualcomm...ile-pc-platform

https://www.qualcomm...ys-connected-pc

 

(but they are already working with the newer (possibly 25-40% faster) 845 CPU)

 

The idea is that of an "always on, always connected" PC :

https://www.pcmag.co...-novago-tp370ql

https://www.pcmag.co...-snapdragon-835

 

In a nutshell, the good MS guys completely failed with the Surface and Windows RT, but since the idea was soooo good (according to them it is the customers that didn't understand it ;) ) they are re-submitting the same thing, this time with (stupid) Windows 10 S, the OS that made some - little - sense for smartphones (you know the division they closed) but that doesn't make any sense on a PC.

 

My personal estimate is that - outside the corporate world where a dumbed down and locked-locked OS may have some uses - 99.99% of people will take the step to go for Windows 10 Pro.

 

The approach (and the low-low power hardware) is however interesting  :) .

 

:duff:

Wonko 



#19 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 16066 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 17 August 2018 - 08:33 AM

So I have been able to access Winre.wim in the r:\recovery\windowsre folder, finally.

 

I believe I can also copy this file to my `real` PC where I can edit it and such.

 

I also have these files, downloaded from the relevant places:

 

Microsoft-Windows-Client-Features-WOW64-Package.ESD
Microsoft-Windows-EditionPack-Enterprise-WOW64-Package.ESD
Microsoft-Windows-EditionSpecific-Enterprise-WOW64-Package.ESD
Microsoft-Windows-RegulatedPackages-WOW64-Package.ESD

 

I have a feeling if I can merge these ESD's with the Winre.wim file, I would be done, no?

 

Does anyone have any idea on how to do this merge?

 

Thanks all!

 

And where would you do the merge, and how would you test if the merge is successful (without a VM to test it in)?  :dubbio:

 

The ESD probably needs to be converted to .wim (the procedure shouldn't be different from this):

https://theitbros.co...ndows-wim-file/

so that you can see what is inside them, I don't think you can apply the .esd directly. :unsure:

 

:duff:

Wonko



#20 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 17 August 2018 - 10:12 AM

It is the new kid on the block, at the moment there are just a few tablet/laptop devices  using the Snapdragon 835 CPU, JFYI:

 

https://www.qualcomm...ile-pc-platform

https://www.qualcomm...ys-connected-pc

 

(but they are already working with the newer (possibly 25-40% faster) 845 CPU)

 

The idea is that of an "always on, always connected" PC :

https://www.pcmag.co...-novago-tp370ql

https://www.pcmag.co...-snapdragon-835

 

In a nutshell, the good MS guys completely failed with the Surface and Windows RT, but since the idea was soooo good (according to them it is the customers that didn't understand it ;) ) they are re-submitting the same thing, this time with (stupid) Windows 10 S, the OS that made some - little - sense for smartphones (you know the division they closed) but that doesn't make any sense on a PC.

 

My personal estimate is that - outside the corporate world where a dumbed down and locked-locked OS may have some uses - 99.99% of people will take the step to go for Windows 10 Pro.

 

The approach (and the low-low power hardware) is however interesting  :) .

 

:duff:

Wonko 

 

Well, there is something of merit in this latest release...

 

You can switch to Pro mode from S, which I did, after all my efforts failed:

 

- I tried to boot from Rufus created, freshly downloaded ARM 1803 Windows 10 ISO USB installer. This hung during the NTFS service initialization stage, even though it displayed aarm64 properly at the bootup stage. So I could not boot from USB. I was forced to use NTFS with Rufus, because the 1803 Windows 10 ISO ARM downloader actually created a WIM file larger than 4GB as part of its process.

 

- I attempted to merge several ESD files into the Winre.WIM file that I extracted, even after manually converting them to CAB files; but these were rejected by DISM with error "5" (Access Denied) as they were somehow unqualified to be merged with the RE instance WIM.

 

So I bit the bullet and switched to Pro mode from S; it took just a second (or two). I don't know how they've done it Wonko, but my favorite archiver (DiskZIP) even runs in this Pro mode successfully. While it would not compress my disk due to an error while trying to set up for reboot, the shell extensions worked - which was a surprise, to be sure. I know DiskZIP doesn't have ARM64 support - so how Microsoft got their shell extensions to work in an ARM64 compiled explorer.exe process is a mystery to me! The archives-as-folders feature did not work, but how is Microsoft supporting the other right-clicks? This is truly amazing.



#21 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 17 August 2018 - 10:15 AM

And where would you do the merge, and how would you test if the merge is successful (without a VM to test it in)?  :dubbio:

 

The ESD probably needs to be converted to .wim (the procedure shouldn't be different from this):

https://theitbros.co...ndows-wim-file/

so that you can see what is inside them, I don't think you can apply the .esd directly. :unsure:

 

:duff:

Wonko

 

It was somewhat trivial to change the ESD file format to CAB (for some reason DiskZIP doesn't create CABs, but I was able to find a PowerShell function to create folder-based CABs preserving paths properly). But the merge is denied, and I am pretty sure there is no process to merge WIMs with WIMs - other than under a different index, which would defeat the purpose.

 

Of course, all this I did on my `real` PC (including the ISO download process referenced above, which I was able to source from this very site).



#22 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 August 2018 - 10:17 AM

https://docs.microso...m-x86-emulation



#23 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 17 August 2018 - 10:23 AM

 

Yeeees, but this is very different from traditional WOW. On a 64-bit OS, for example, 32 bit shell extensions don't work - they will not be loaded into the explorer.exe process. I wonder what Microsoft have done different this time...this is a unique approach, and it is not documented online.



#24 steve6375

steve6375

    Platinum Member

  • Developer
  • 7566 posts
  • Location:UK
  • Interests:computers, programming (masm,vb6,C,vbs), photography,TV,films
  •  
    United Kingdom

Posted 17 August 2018 - 10:26 AM

https://www.zdnet.co...it-app-support/



#25 armixen

armixen

    Member

  • Members
  • 32 posts
  •  
    Australia

Posted 17 August 2018 - 10:37 AM

 

Thank you, nice article.

 

But it still doesn't describe how the shell extension magic works...

 

You cannot normally load non-native DLLs into a native process, which is why shell extensions need to be native code.

 

Even the way they are doing it betrays that something extra is going on; for example "compress into <selected file>.some archive" is what appears on native x86/x64 DiskZIP, but on this one it just says "compress into.some archive" - while still working properly!

 

It would be cool if other people checked other archives, and reported on how they are implemented...







Also tagged with one or more of these keywords: arm64

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users