• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

A quick tutorial of installing Windows RT 8.1 on recent Lumia

Search This thread

TeknoRider

Senior Member
May 7, 2015
86
31
Probably due to some drivers, since RT managed to boot and can show the bsod i's say Unpatched/Unsigned drivers, or corrupted registry, take this with a grain of salt tho
 

J0SH1X

Senior Member
Jan 3, 2014
1,516
2,146
Aachen
Probably due to some drivers, since RT managed to boot and can show the bsod i's say Unpatched/Unsigned drivers, or corrupted registry, take this with a grain of salt tho

sry i was in some other thing but forgot to paste a link to hastebin i have some drivers loading up like pep bam qmux and gpio i2c shared memory and synapticstouch are still missing
 

lumia 640

New member
Feb 5, 2018
3
0
میتونی از ffu یه گوشی که با ویندوز 10 اومده استفاده کنی .من لومیا 640 خودم رو با ffu گوشی 650 انلاک کردم
 

xboxmod

Senior Recognized Developer
May 20, 2007
994
2,009
39
Gap
someone managed to install it without issues ?

Valentine's day post :D
just wait a little, lots of people work on this !


WP_20180214_04_51_20_Pro.jpg
 

Attachments

  • WP_20180214_04_51_20_Pro.jpg
    WP_20180214_04_51_20_Pro.jpg
    181.1 KB · Views: 268
Last edited:
  • Like
Reactions: TeknoRider

TeknoRider

Senior Member
May 7, 2015
86
31
You sir, truly desserve credit :good:
Let's hope everything work well :cowboy:

Edit : since ben managed to get battery working on the 640, you just need to take its files and to put them in your RT installation, right ?
 
Last edited:

gus33000

Senior Member
Aug 9, 2016
452
585
Bordeaux
It should be noted that sharing a premade image has a 80% risk of not working for most people, I've tried sharing drivers and on my phone they didn't work, but they worked on the other phone, same model, most likely because of firmware. In other news found a new way to integrate drivers that is way easier to implement if I was going to automate the whole process, currently experimenting with this idea. If it works out you may see the light of a proper RT installer some day... :)
 

TeknoRider

Senior Member
May 7, 2015
86
31
Is there any way someone could make a more noob-friendly tutorial ? I'd love to try by myself, but the tutorial is a bit too complex for me...
 

Top Liked Posts

  • There are no posts matching your filters.
  • 34
    2/18 Update:
    USB charging and controller works, audio probably works. Here's some update on this project:

    Battery
    Put C:\DPP and C:\EFIESP back. Nokia's driver reads C:\EFIESP\Battery.json in kernel mode (WTF). If you have NokiaEnergyDriver.sys and other PMIC/PEP/MIPI BIF (on some models) drivers installed, you should get battery show up.

    Sign drivers?
    Yes. Sign everything to prevent bad things from happening. I used a commercial certificate for conveience :p, but you don't have to do that. Here's a handy script that generates a self-signed certificate and installs it on your phone: https://gist.github.com/imbushuo/4de89ad18a0f538d8ebd18bf6daca56a

    Download it, run it as administrator and specify ImageDir to your phone's partition (in mass storage mode). Then sign all your drivers binaries (and catalogs as well) with the fingerprint provided.

    When signing your drivers, remember timpstamp all drivers. DigiCert's help documentation is useful for signing binaries.

    Turn off UMCI
    See https://forum.xda-developers.com/showpost.php?p=36394268&postcount=222. Set UMCIAuditMode key to allow all desktop applications and UMDF drivers load.

    Make USB work
    You will need several supplemental drivers from Windows Phone: BattFltr.sys, CAD.sys, ufx01000.sys, ufxsynposys.sys (or ufxchipidea.sys, depends on your chipset). Copy registry keys (HKLM\ControlSet001\Services and HKLM\ControlSet001\Enum\ROOT\CAD / HKLM\ControlSet001\Enum\ROOT\BattFltr) add supplemental WDF registry keys. Some files are attached as attachments, so you can take a look to get some idea about that.

    Make Windows Store Apps work on unsupported resolution
    See my blog post.

    ---------

    While this project is not totally finished (e.g. No Battery status/charging unknown, no cellular, no audio), I decided to post this thread as many people asked me about the tutorial. This is just a brief tutorial, you need to have plenty of time on this to make this happen. Be careful as some steps are very dangerous.

    This tutorial is provided AS-IS, without any implicit or expressed warranties. By reading this brief tutorial, you are agreed that you are taking your own risk trying this. I am not responsible for any possible consequences of installing Windows RT or other non-Windows Phone OS on Lumia phones. If your phone ships with Windows 10 Mobile, then this tutorial might not fit you. You can try drivers from other models, but I have no guarantee on this.

    General workflow
    - Unlock your phone with WPInternals 2.4
    - Enter mass storage mode, copy registry files from MainOS partition
    - Copy files from DPP partition
    - Download Windows RT 8.1 ISO (publicly available on Internet, Google it)
    - Download a Lumia 2520 recovery image for some files (I will post these files later)
    - Download a Windows Phone 8.1 firmware for your phone
    - Extract drivers, re-assembly INF files
    - Patch some drivers (see my note)
    - Self-sign some drivers (see my note)
    - Make sure you know what you are doing: Delete MainOS and Data partition, create new NTFS partition for Windows RT. Do not touch other partitions.
    - Apply system image (dism works fine)
    - Copy DPP files back (C:\DPP)
    - Modify sysprep tasks (see my note)
    - Apply BCD configuration
    - Boot
    - Let OOBE fail once
    - Go to mass storage mode again, mount registry and force OOBE run again
    - Have fun

    Notes on this project

    ACPI
    Reading ACPI DSDT table will help you understand your phone architecture. ACPI tables are located in PLAT partition. It is easy to extract them with 7-zip (after converting FFU to VHD). To decompile dsdt.aml, you need to download iASL tool, which is available on Internet.

    Certain devices, like touch screen or panel, require other devices have driver loaded and enabled. This is not shown in Qualcomm's ACPI implementation. In my case, I need PEP, PEP 3rd, GPIO, BAM, I2C Device, QMUX, Shared Memory drivers loaded to make touchscreen work. It varies by model.

    Re-assembly INF files
    Mount SYSTEM registry from your phone or FFU, go to DriverDatabase\DriverPackages\<Some Driver Package>, each key in driver package key matches INF sections respectively. See some driver INF files to get some idea.

    Remember to check ControlSet001\Service for additional information if necessary. If you are working on Windows Phone 8.1 firmware, check \Windows\System32\Packages to make sure you've got correct files and registry configs. These files are gzipped.

    Patch drivers
    Certain drivers read DPP partition for device-specific calibration information. While Qualcomm shares the codebase between Windows RT and Windows Phone, DPP partition is handled differently between platforms. You can search Unicode string "PhoneNT" to determine whether drivers read DPP or not.

    To fool drivers think they are living in Windows Phone, you can create another multi-string value in the ProductOptions key. I created a value called "AnotherSuite" and filled "PhoneNT" in. Then I modified all "ProductSuite" Unicode strings in drivers to "AnotherSuite". Remember to re-calculate linker checksum (dependencies) and PE checksum.

    This is critical to make wireless (Wi-Fi and Bluetooth) subsystem work.

    Graphics
    DO NOT use user-mode driver module from WP on Windows RT. The Windows Phone Qualcomm GPU driver does not implement DirectX 9, which is required by Windows desktop. Using WP UM driver will crash DWM.

    To correctly enable GPU acceleration, use kernel driver and decoder module from your firmware, and user mode driver from Lumia 2520's recovery image. At least this works on Lumia 640 XL.

    Touchscreen
    Touchscreen works, however, WP driver reports wrong metric system to Windows RT. To workaround this, modify SYSTEM\TOUCH key, make some value larger than expected. See my value for 640XL in attachment.

    Remove some sysprep tasks
    Remove BCD and WinRE specialization and generalization tasks from sysprep task definition. OOBE will fail still. Boot to mass storage mode, mount SYSTEM registry, change setup type to 1 (see your current OS for ideas about other values), change program path to oobe\msoobe.exe. You should be able to see normal OOBE then.

    BCD and Driver Signing
    Test signing should be on. Disabling integrity check is recommended (though documentation says this key is ignored prior to Windows 10). Copy catalogs to the new OS, and self-sign drivers you patched.

    Kernel Debugger
    To enable WinDbg KD, modify your phone BCD:
    Code:
    bcdedit /store <Path> /dbgsettings usb TARGETNAME:WOATARGET
    bcdedit /store <Path> /set {Your OS GUID} Debug On

    Connect your phone to PC, start WinDbg, USB kernel debugging, target name "WOATARGET".

    Have fun with Windows RT on Lumia, I am going to continue working on audio and battery :)
    4
    It should be noted that sharing a premade image has a 80% risk of not working for most people, I've tried sharing drivers and on my phone they didn't work, but they worked on the other phone, same model, most likely because of firmware. In other news found a new way to integrate drivers that is way easier to implement if I was going to automate the whole process, currently experimenting with this idea. If it works out you may see the light of a proper RT installer some day... :)
    4
    Friends i have full L2520 installation iso with drivers etc...

    I uploaded it to server ;)

    https://drive.google.com/open?id=0B3Zc3kB_-SP0N0hNLWo3Q2E2dTA

    King regards :highfive:

    Have fun !! ;)
    2
    didnt you forgot to make efiesp guid to a efi partition else bcd cant be updated

    Qualcomm's firmware is weird, so I didn't do that. (They hard-coded something) Maybe I will try it later with a dev board and see what will happen.
    1
    Download Windows 8.1 RT ISO

    While this project is not totally finished (e.g. No Battery status/charging unknown, no cellular, no r FFU, go to DriverDatabase\DriverPackages\<Some Driver Package>, each key in driver package key matches INF sections res

    Hey bro, go to support.microsoft.com/en-au/surfacerecoveryimage, scroll down, you will see "1. Select your Surface device", choose Surface RT, next, fill in Serial Number box: 051905124352, and click Continue button, the download will start. (~2.90GB)
    I tried to do by this way :D
    Good Luck!