Cannot boot into WinPe for Windows 10 IoT

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Cannot boot into WinPe for Windows 10 IoT

34,549 Views
hankwang
Contributor V

Hi,

      I have a 8MP CPU with 4GB DDR. When the system is ready to enter WinPE, the system will crash.

      I use windbg to observe the problem. I see "Missing Image Name". I guess the problem is related to

DDR size?

Since i have an sd card with a windows 10 IoT image, I flashed the EVK bootloader in the sd card.

I can boot into WinPE normally. I only modify the DDR parameter in the same sdcard. The sd card is put

in my system, but the system will crash on boot wiepe screen.

Do you have any ideas?

Missing Image Name.jpg

0 Kudos
Reply
33 Replies

12,918 Views
aber
Contributor III
Hi jakub_zigacek
The DDR hardware is the same as the public version schematic, except for one 4G and one 6G
0 Kudos
Reply

12,913 Views
jakub_zigacek
NXP Employee
NXP Employee

Hi @aber,

we will try to test DDR with same internal organization in EVK with DDR slot. If you want, you can send our DDR timing.c file and we can test it with that too. DDR training will not be for EVK, but it could run.

Best Regards, Jakub

0 Kudos
Reply

12,874 Views
aber
Contributor III

Hi jakub_zigacek

    The attachment is my lpdd4_timing. c. Could you please help me try it out. Thank you~

0 Kudos
Reply

12,849 Views
jakub_zigacek
NXP Employee
NXP Employee

Hi Aber,
I have build firmware with your lpddr4_timing_4g.c and memory set to 4GB in dsc file
giMX8TokenSpaceGuid.PcdBank1MemorySize|0x0000000040000000. WinPE installation and Windows are running fine on our EVK with DDR slot with MT53E1G32D2FW-046 AUT:B chip. This chip should have the same inner organization as yours. Also Memtest86+ was able to run without error.
WinPE BSOD could be caused by different schematic in general. But if you are able to successfully install and run Windows with my binary, which was build from NXP BSP without any other changes than DDR size and timing, I would really propose to try Memtest86+ to test memory setting within UEFI environment.
Best Regards, Jakub

0 Kudos
Reply

12,846 Views
aber
Contributor III
Hi jakub_zigacek
Thank you very much for your reply. Could you please send me the compiled flash.bin so that I can install Windows IoT using a TF card and see if there are any issues.
0 Kudos
Reply

12,836 Views
jakub_zigacek
NXP Employee
NXP Employee

Hi @aber,

I am sorry, but according current NXP policies we are not allowed to give out any source codes and binaries without full release process. 

1. Can you please make sure, that you are building with "-c" parameter for full rebuild? E.g.: ./buildme64.sh -b 8Mp -c -t all -fw -bc debug

2. Are you able to build firmware from BSP for NXP EVK and run in successfully? (If EVK is availlable for you)

3. Is Memtest86+ running with your firmware without error?

Best Regards, Jakub

 
0 Kudos
Reply

12,817 Views
aber
Contributor III

Hi jakub_zigacek

   

1. Can you please make sure, that you are building with "-c" parameter for full rebuild? E.g.: ./buildme64.sh -b 8Mp -c -t all -fw -bc debug

req: I always compile with - c, so I should clear it before compiling

       ./buildme64.sh -b MX8M_PLUS_EVK -t all -c

2. Are you able to build firmware from BSP for NXP EVK and run in successfully? (If EVK is availlable for you)

req:We have tried using the development board for bsp and it was not a problem

3. Is Memtest86+ running with your firmware without error?

req: Memtest86+is a USB boot image, and the running mode has not been found yet

0 Kudos
Reply

12,806 Views
jakub_zigacek
NXP Employee
NXP Employee

Hi @aber,
to run Memtest86+ you need to download free version from their website https://www.memtest86.com/download.htm. Unzip it and browse memtest86-usb.img file with 7-Zip File Manager. Then copy EFI folder from \memtest86-usb.img\0.MemTest86.fat to your Windows installation SD card. You need to replace the EFI folder created on SD card when Windows 10 IoT installation was applied to the SD card.  UEFI will run Memtest86+ instead of WinPE. At least on EVK it works like that for me. I think that UEFI searches for BOOTAA64.efi file and uses the one it finds.

Another possibility is to test available memory from uboot shell with md command, or read something with mmc command from SD card to address on the end of 4GB. But Memtest86 seems easer for me to use. And it test exactly the memory areas reported to Windows as available.

Best Regards, Jakub

0 Kudos
Reply

17,450 Views
hankwang
Contributor V

Hi ,

      Thank you for your reply.  I add your patch in UEFI code. When the system is ready to enter WinPE, the system displays a  blue screen.

       Do you have any idea?

    Also, I tried to use version W1.3.0. The system can enter WinPE and complete Windows 10 IoT Image flash to eMMC.

    

0 Kudos
Reply

17,296 Views
anthonychen-msft
Contributor II

@hankwang 

Can you make sure you are also applying windows10.0-kb5019275-arm64_c6c2abc31137d43e762304bd1542ba413d2b8b9e.msu to the WinPE image as well?

This is our guide for how to update the WinPE image. You will need to install all of the NXP drivers to the WinPE image, as well as update it with the .msu referenced above. https://learn.microsoft.com/en-us/windows-hardware/manufacture/desktop/winpe-mount-and-customize?vie... 

0 Kudos
Reply

16,883 Views
hankwang
Contributor V

Hi I used the new build tool you provided but I still have bsod issue.

In addition, we can know where to download the dolphin test tool for ARM. Just like an attachment file

0 Kudos
Reply

16,934 Views
hankwang
Contributor V

Hi , Yes, I installed this patch in Win10 Image. You can refer to the attachment.

0 Kudos
Reply

13,342 Views
anthonychen-msft
Contributor II

@hankwang @jakub_zigacek 

Thanks. I looked at NXP's build script, and it appears the script automatically installs all patches in the /kbpatch/ folder for the Windows IoT Enterprise image, but does not do the same for the WinPE image. To fix this, please add the following lines to the make-winpe-enterprise.cmd script in Step 2.6, immediately after line 565:

if %NO_PATCH% == no (
    set KB_COUNT=0
    for /f "tokens=*" %%i in ('dir /b %KB_PATCH_DIR%\*.msu') do (
        set /a KB_COUNT+=1
        echo Applying cumulative update %%i from %KB_PATCH_DIR%...
        call :clrEcho 02 "WARNING Depending on size of the update, this processs may take up to 30 minutes, do not stop the process even if it may appear to be frozen"
        echo:
        echo dism /Image:"%WIN_PE_MOUNT_DIR%" /Add-Package /PackagePath="%KB_PATCH_DIR%\%%i"
        dism /Image:"%WIN_PE_MOUNT_DIR%" /Add-Package /PackagePath="%KB_PATCH_DIR%\%%i" || goto ErrExit
    )
)
 
I've also attached the script that I've modified with the above to this thread. To use it, extract the archive, rename it to make-winpe-enterprise.cmd and replace your existing script with this one.
 
Try this out and let me know if that fixes the issue for you.
0 Kudos
Reply