Problems with Windows 10 IoT Core on i.MX 8M Mini EVK

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

Problems with Windows 10 IoT Core on i.MX 8M Mini EVK

1,852 Views
tobias_malm
Contributor I

I have a number of problems with Windows 10 IoT Core on i.MX 8M Mini EVK. I managed to build with BSP from the solution in W1860_1_0_1_IMX-IOTCORE-B191011.zip. Using the documentation included in the zip (i.MX_Win10_User's_Guide.pdf)

When i try to create a ffu using the iot-adk-addonkit i get an error when building all packages:

buildpkg All
Processing Appx.Certs.wm.xml
Processing Custom.BCD.wm.xml
Processing Custom.OOBEApp.wm.xml
Processing Custom.Settings.wm.xml
Processing Device.SystemInformation.wm.xml
Processing DeviceLayout.GPT4GB.wm.xml
Processing DeviceLayout.GPT8GB-R.wm.xml
Processing DeviceLayout.MBR4GB.wm.xml
Processing DeviceLayout.MBR8GB-R.wm.xml
Processing Recovery.GPT-BCD.wm.xml
Processing Recovery.GPT-BcdEdit.wm.xml
Processing Recovery.MBR-BCD.wm.xml
Processing Recovery.MBR-BcdEdit.wm.xml
Processing Registry.Version.wm.xml
Processing Security.Bitlocker.wm.xml
Processing Security.DeviceGuard.wm.xml
Processing Security.DeviceGuardTest.wm.xml
Processing Security.SecureBoot.wm.xml
Processing Security.SecureBootTest.wm.xml
Processing Settings.HotKey.wm.xml
Processing OEM.Sample.wm.xml
Processing Arm64CRTRuntime.wm.xml
(PkgBldr.Common) : error : Undefined variable _Redist
Error: C:\IoT\iMX8MMini\Source-arm64\BSP\NXPEVK_iMX8M_Mini_2GB\Packages\Arm64CrtRuntime\Arm64CRTRuntime.wm.xml pkggen failed
False
IoTCorePShell arm64 10.0.0.0 Test

The file Arm64CRTRuntime.wm.xml looks like this:

<?xml version='1.0' encoding='utf-8' standalone='yes'?>
<identity
    xmlns="urn:Microsoft.CompPlat/ManifestSchema.v1.00"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    name="Arm64CRTRuntime"
    namespace="Platform"
    owner="NXP"
    legacyName="IOT.Arm64.Crt.Runtime"
    >
  <!-- workaround to drop VC runtime 140 to system32 directory since it isn't part of
       Arm64 IoT image -->
  <files>
    <file source="$(_Redist)vcruntime140.dll" destinationDir="$(runtime.system32)" />
    <file source="$(_Redist)vccorlib140.dll" destinationDir="$(runtime.system32)" />
    <file source="$(_Redist)msvcp140.dll" destinationDir="$(runtime.system32)" />
  </files>
</identity>

Which I solved by replacing "$(_Redist)" with "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Redist\MSVC\14.16.27012\arm64\Microsoft.VC141.CRT\". I can't find any documentation about it.

Next up the when trying to build the image:

buildimage iMX8MMini_test Test
ADK_VERSION : 10.0.17763.1
IOTCORE_VER : 10.0.17763.253
BSP_VERSION : 10.0.0.0
ADDONKITVER : 6.0.191010.1210
HostOS Info : Microsoft Windows 10 Enterprise - 10.0.18362 - en-US
Validating product feature ids
Reading feature ids in C:\IoT\iMX8MMini\Source-arm64\BSP\NXPEVK_iMX8M_Mini_2GB\Packages\NXPEVK_iMX8M_Mini_2GB_DeviceFM.xml
Reading feature ids in C:\IoT\iMX8MMini\Common\Packages\OEMCommonFM.xml
Reading feature ids in C:\IoT\iMX8MMini\Source-arm64\Packages\OEMFM.xml
Checking Microsoft features in OEMInput file..
Checking OEM features in OEMInput file..
Building product specific packages
Processing Registry.Version.wm.xml
Processing Custom.Cmd.wm.xml
Processing Provisioning.Auto.wm.xml
Processing Recovery.WinPE.wm.xml
Building FM files..
Exporting OEM FM files..
Processing OEMFMList..
Exporting NXPEVK_iMX8M_Mini_2GB BSP FM files
Processing NXPEVK_iMX8M_Mini_2GBFMFileList.xml
Error: FeatureMerger failed to process . See C:\IoT\iMX8MMini\Build\arm64\FIPPackage_NXPEVK_iMX8M_Mini_2GB.log
Error: Failed to create FIP packages
False
IoTCorePShell arm64 10.0.0.0 Test


FIPPackage_NXPEVK_iMX8M_Mini_2GB.log:

info: Trying to load file 'C:\IoT\iMX8MMini\Build\arm64\InputFMs\NXPEVK_iMX8M_Mini_2GBFMFileList.xml' as a FM file list ...
fatal error : Error: Missing package: C:\IoT\iMX8MMini\Build\arm64\pkgs\NXP.iMX.imxdod.cab


So I found the file in the "imx-iotcore\build\solution\iMXPlatform\Build\FFU\bspcabs\ARM64\Release" and copied it to my adk workspace "Build\arm64\pkgs". Wich made the image building work. After that I'm able to boot the device from an mSD card, the win logo is shown as well as some default app and I am able to reach the device's web portal and connect via ssh to it.

Other problems:
Powershell seems to be missing, even with the feature IOT_POWERSHELL specified. I can't connect with remote powershell and I can't call powershell when connected with ssh. I've looked for a powershell.exe (not sure if there should be one) which I can't find.

The web portal doesn't list installed apps. When connecting to the device via ssh and try to start the installed app:

administrator@MINWINPC C:\Data\Users\administrator>iotstartup list
Headed   : DefaultApp_a0hbgz1ps3rka!App

administrator@MINWINPC C:\Data\Users\administrator>iotstartup run defaultapp
ERROR: failed to activate(DefaultApp_a0hbgz1ps3rka!App): 0x80070005

I have tried to add the app via the web portal and adding it to the ffu with the fga flag. The result is the same
the app never starts.

I'm unable to remote debug my apps on the device. I'm using Visual Studio 2019.

Tags (1)
2 Replies

1,502 Views
Frantisek_Prochaska
NXP Employee
NXP Employee

Hi,

the Arm64CRTRuntime problem should be fixed in next release. You can also find the patch in archived Windows 10 IoT Core BSP for NXP i.MX Processors repository here: IMX8: Fix BSP generation for iMX8M (#147) · ms-iot/imx-iotcore@a67a12f · GitHub  .

1,502 Views
vfilip
NXP Employee
NXP Employee

Hi,

regarding powershell support for 64-bit platform - I have received following from Microsoft team:

Here is  -

Register-WinRmPlugin $pluginPath Microsoft.PowerShell

  • If this step is not run, PowerShell Remote will still work, but user will need to specify -ConfigurationName PowerShell.7 when they connect using Enter-PSSession

      • Copy   c:\temp\ps7   folder to a folder on the target arm64 device  (eg, to    c:\ps7  on target device)
    • SSH to target device
    • cd c:\ps7
    • pwsh.exe .\Install-PowerShellRemoting.ps1

     

    You should now be able to use PowerShell remote like other architectures.

    best

    Vojtech Filip