Issues building WEC7 OS

The web browser components are not included in the pre-built WEC7 OS image, and I need these, so I’m trying to build my own OS. There are a couple of issues that I expect will be easy to solve for someone more knowledgeable than me.

  • I downloaded the version 1.2 BSP and
    workspace from here:
    iMX6 WEC Software | Toradex Developer Center.

  • My WINCE installation is at D:\WINCE700, so I copied the BSP folder (TORADEXIMX6BIN) to D:\WINCE700\platform. I think this is all that needs to be done to install the BSP, but I’m not certain. Is there anything else?

  • The 1st issue is when I open the workspace. I get a warning about Unsupported Configurations in OS Design. The dialog lists ToradexiMX6 ARM7 debug, release, and checked.

[upload|CcGX6lRmn0cCWLuWS0u/+dLr6nw=]

  • I dismiss the warning with the OK button. The project seems to load fine, and the TORADEXIMX6BIN appears under the platform folder in the Solution Explorer.

[upload|BwCm5vmD3ec+gwORcApmg7wsxa0=]

  • Then I do a release build with Build->Rebuild IMX6_core7. The build actually completes without errors.
  • The 2nd issue is that when the build completes, I can’t seem to find the output files in …\RelDir\TORADEXIMX6BIN_ARMV7_Release. There are a lot of files there, but none of the files that are in the standard OS image (e.g. nk7.bin, eboot-colibri.img, etc.) seem to have been produced. Am I missing a build step?

Thanks in advance for any advice in these matters.

For point 1, that is ok. Those are the configuration for source BSP, we provide the same OS design we use to build the standard image, and those configurations are not available on other machines. Usually, as you said, copying the BSP folder under WINCEX00\PLATFORM is all you need to do to install the BSP.
For build you can select “Advanced Build\Clean Sysgen” this should be the same as Build\Rebuil… but those commands are remapped by VS so I prefer to use the Platform builder command.
Check that the TORADEXIMX6BIN_ARMV7_Release configuration is selected.
Build should generate a nk.bin and an eboot.spl file, those are the files you can use to flash your module.

Thanks for the prompt reply.

So I did the Clean Sysgen with the following command:
613-toradex3.jpg

And I did find the NK.bin file when it completed. But the only eboot files produced are these:
eboot.exe (276KB)
eboot.map(198 KB)
eboot.rel (72 KB)

There does not seem to be an eboot.spl file present.

Can you check contents of C:\WINCE700\build.log,C:\WINCE700\build.err,C:\WINCE700\build.wrn ?
There you should find some errors.

There are 3 log files produced by the build: build.log, build.out, and build.wrn. There is no build.err file.

I looked through all three files and saw lots of warnings but no errors.

I have posted the log files here in case you wanted to have a look: https://drive.google.com/file/d/0B75fBmfP8FI4MXNyQkhISWJLMnc/view?usp=sharing

Do you have any other suggestions?

The log says that D:\WINCE700\osdesigns\IMX6_Core7\RelDir\TORADEXIMX6BIN_ARMV7_Release\nk.bin
has been created.
There was an error executing post-make image step, but this should be normal if you don’t have the image compression tool (this is a tool we provide separately).
Can you check the contents of post make image step in your release configuration?

It looks like there is no post make image actions (am I looking in the right place?)

616-toradex4.jpg

Can you please upload your os design on share.toradex.com so we can test it?

I have uploaded the OS design to https://share.toradex.com/mfuxx58n1c2bv2e

The only changes I made to the downloaded OS design is to add the following to IMX6_Core7.pbxml

<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IESAMPLE" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_MSHTML" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IMGUTIL" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_PNGFILT" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IETHEME" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IEFRAME" />
<Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_CTLPNL2" />

I should point out that the build results were the same even before I made this addition: i.e. the nk.bin file is produced but the eboot.spl file is not.

Sorry, my mistake.
You should have nk.bin (to get nbx you need to use our image compression tool that is a paid tool, but you can flash .bin images using update tool and bootloader).
Bootloader is not built when you build the image. The standard eboot.spl from our download package can be used with any custom image since changing the configuration of the image does not change it. We also have a bootloader kit (that I mistakenly thought was involved in your case), also available for some support hours, but you need it only if you plan to do some low-level customization of the bootloader.

Sorry, my mistake” No problems. I really appreciate all the help.

So to be clear: it is sufficient to rename my new nk.bin file to nk7.bin and replace the nk7.bin file in the downloaded OS package, and then to flash that image.

My nk.bin file is quite a bit larger than the downloaded one, which is to be expected since I added stuff to it.

I’ll proceed with the tests and if everything works I’ll come back here and post a final answer to close this issue.

Well, I’m a bit stuck.

I’m using the Easy Installer and I managed to install the latest OS from the Toradex site successfully. I also downloaded imx6_wince7image-tezi_1.2-20170719 and put that on a USB key, and that shows up in the Easy Installer interface as well.

Now I want to program my custom-built OS. However, it looks like the Easy Installer needs a file named nk7.nbx, but the build from the downloaded work-space only produces a file called nk.bin.

How can I use the Easy Installer to program my custom OS? Is there a conversion from nk.bin to nk7.nbx?

The Easy Installer supports only compressed images, you can compress them using the image compression tool. This is a tool we provide for a fee and can be integrated in your build process to generate a .nbx file from your build output.

Hi again. Sorry about not responding to this thread in a more timely manner. Other things keep me busy sometimes. I’ve made good progress with my custom OS build but there is one remaining issue that I hope is simple to resolve. So far I am able to do the following successfully

  • Rebuild the OS in the workspace I downloaded from your site.
  • Compress the image using packimage.exe
  • Replace nk7.nbx in an existing tezi folder with the one from my OS build.
  • Program that image from a USB key using the Easy Installer.

The OS boots fine so that’s all good. Just for fun, and to ensure things are working properly, I included Wordpad in the OS and it does in fact appear on the Colibri, so my procedure is sound.

However, the changes I made to include the web browser components do not seem to have any effect. I don’t actually know if I’m doing that correctly.

To include the web browser components, all I did was add the following to the IMX6_Core7.pbxml file, in the FeatureCollection (from Internet Explorer Catalog Items and Sysgen Variables (Compact 7) | Microsoft Learn)

    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IESAMPLE" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_MSHTML" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IMGUTIL" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_PNGFILT" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IETHEME" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_IE7_IEFRAME" />
    <Feature Name="Item" CatalogItemId="Item:MS:SYSGEN_CTLPNL2" />

This appears to have had no effect on the OS build. There are no errors during the build, but neither is IE7 present after programming the OS.

So the question is: what else is required in order to include IE7 in the OS build?

Thanks for any advice you can offer.

Never mind… I figured it out.

It appears that the FeatureCollection stuff in the .pbxml file is case-sensitive. I changed the case to lower (like in the rest of the list) and presto! IE7 shows up in my OS build. Furthermore, the WebBrowser control now works properly in my C# application.

So I consider this matter closed. Thank you very much for all your help.

Never mind… I figured it out.

It appears that the FeatureCollection stuff in the .pbxml file is case-sensitive. I changed the case to lower (like in the rest of the list) and presto! IE7 shows up in my OS build. Furthermore, the WebBrowser control now works properly in my C# application.

So I consider this matter closed. Thank you very much for all your help.

@guzoo,

Thank you for updating. Good luck for further development.