Difference between revisions of "Windows On ARM BSP User Guide for ROM-5720"

From ESS-WIKI
Jump to: navigation, search
Line 76: Line 76:
 
{| border="1" cellspacing="1" cellpadding="1" style="width:500px;"
 
{| border="1" cellspacing="1" cellpadding="1" style="width:500px;"
 
|-
 
|-
| [[\\172.22.31.128\risc$\Platform\Microsoft\Windows10_1809\W20H2|W1809_1_1_0_imx-firmware.tgz]]<br/>
+
| [[\\172.22.31.128\risc$\Platform\Microsoft\Windows10_1809\W20H2\W1809_1_1_0_imx-firmware.tgz|W1809_1_1_0_imx-firmware.tgz]]<br/>
| [[\\172.22.31.128\risc$\Platform\Microsoft\Windows10_1809\W20H2|W1809_1_1_0_imx-iotcore.zip]]<br/>
+
| [[\\172.22.31.128\risc$\Platform\Microsoft\Windows10_1809\W20H2\W1809_1_1_0_imx-iotcore.zip|W1809_1_1_0_imx-iotcore.zip]]<br/>
 
|-
 
|-
 
| [[File:W1809 1 1 0 imx-firmware.tgz.png|RTENOTITLE]]<br/>
 
| [[File:W1809 1 1 0 imx-firmware.tgz.png|RTENOTITLE]]<br/>
 
| [[File:W1809 1 1 0 imx-iotcore.zip.png|RTENOTITLE]]<br/>
 
| [[File:W1809 1 1 0 imx-iotcore.zip.png|RTENOTITLE]]<br/>
 
|}
 
|}
 
+
<pre>$ mkdir <new bsp folder>
<pre>
 
$ mkdir <new bsp folder>
 
 
$ unzip W*_imx-iotcore*.zip -d <new bsp folder>
 
$ unzip W*_imx-iotcore*.zip -d <new bsp folder>
 
$ tar -xf W*_imx-firmware*.tgz -C <new bsp folder>
 
$ tar -xf W*_imx-firmware*.tgz -C <new bsp folder>
 
</pre>
 
</pre>
 +
 
Add more additional files
 
Add more additional files
<pre>
+
<pre>$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/adv-build
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/adv-build
 
 
$ cp -a adv-build/adv-buildme64.sh <new bsp folder>
 
$ cp -a adv-build/adv-buildme64.sh <new bsp folder>
 
$ cp -a adv-build/enterprise <new bsp folder>
 
$ cp -a adv-build/enterprise <new bsp folder>
 
$ cp -a adv-build/ROM5720_iMX8M_2GB <new bsp folder>/imx-iotcore/build/board/
 
$ cp -a adv-build/ROM5720_iMX8M_2GB <new bsp folder>/imx-iotcore/build/board/
 
</pre>
 
</pre>
 +
 
Update UEFI
 
Update UEFI
<pre>
+
<pre>$ cd <new bsp folder>
$ cd <new bsp folder>
 
 
$ rm -rf mu_platform_nxp
 
$ rm -rf mu_platform_nxp
 
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/mu_platform_nxp
 
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/mu_platform_nxp
Line 104: Line 102:
 
$ cp -a /usr/local/lib/python3.6/site-packages/*  /home/adv/.local/lib/python3.6/site-packages/
 
$ cp -a /usr/local/lib/python3.6/site-packages/*  /home/adv/.local/lib/python3.6/site-packages/
 
</pre>
 
</pre>
 +
 
Update U-Boot
 
Update U-Boot
<pre>
+
<pre>$ cd ../u-boots
$ cd ../u-boots
 
 
$ rm -rf u-boot-imx_arm64
 
$ rm -rf u-boot-imx_arm64
 
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/u-boot-imx_arm64
 
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/u-boot-imx_arm64
 
</pre>
 
</pre>
 
  
 
All of files are collected on git server. please check following.
 
All of files are collected on git server. please check following.
Line 121: Line 118:
 
$ ../repo/repo sync
 
$ ../repo/repo sync
 
</pre>
 
</pre>
 +
<div id="gtx-trans" style="position: absolute; left: 65px; top: 76.9872px;"><div class="gtx-trans-icon"></div></div>

Revision as of 08:26, 12 April 2022

Windows On ARM (WoA) Version

Windows : 20H2 (en_windows_10_iot_enterprise_version_20h2_arm64_dvd_fe0947da.iso)
NXP BSP : W1809 (W1809_1_1_0_imx-firmware.tgz, W1809_1_1_0_imx-iotcore.zip)

Released Image

20220412

Build Environment on Host

Currently, we adopt Docker as build environment.

You can get the advrisc/u14.04-410clbv1 Docker image for developing WoA projects.

Docker command:

$ docker pull advrisc/u14.04-410clbv1

Run Docker example

Step1 Run docker container (example)

sudo docker run -it --name <CONTAINER_NAME> -v <PATH_TO_BSP>:/home/adv/BSP:rw advrisc/u14.04-410clbv1 /bin/bash

Step2 In container, change the user. (example)

 adv@7cc0fa834366:~$ sudo chown adv:adv -R BSP

Install Dependency Packages

$ sudo apt-get update
$ sudo apt-get install -y attr build-essential python python-dev python-crypto python-wand device-tree-compiler bison flex swig iasl uuid-dev wget git bc libssl-dev zlib1g-dev python3-pip

New for 1903 UEFI

$ sudo apt-get install -y gcc g++ make python3 mono-devel

Upgrade Python 3.6

$ wget https://www.python.org/ftp/python/3.9.0/Python-3.6.3.tgz
$ tar -xvf Python-3.6.3.tgz
$ cd Python-3.6.3
$ sudo ./configure --enable-optimizations --with-ensurepip=install
$ make -j 8
$ sudo make altinstall

Configure python alternatives

$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
$ sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.4 1
$ sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.6 2
$ sudo pip3.6 install --upgrade pip
$ pip install pycryptodome

Upgrade Git 2.25 (> 2.11)

$ sudo apt-get install -y tcl build-essential tk gettext
$ wget https://github.com/git/git/archive/v2.25.0.tar.gz
$ tar zxvf v2.25.0.tar.gz
$ cd git-2.25.0/
$ make configure
$ ./configure --prefix=/usr
$ make all
$ sudo make install

ToolChain

$ cd ~
$ wget https://releases.linaro.org/components/toolchain/binaries/7.2-2017.11/aarch64-linux-gnu/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz
$ tar xf gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz
$ rm gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu.tar.xz

Getting Source Code

Set up bootloader / UEFI source code

W1809_1_1_0_imx-firmware.tgz
W1809_1_1_0_imx-iotcore.zip
RTENOTITLE
RTENOTITLE
$ mkdir <new bsp folder>
$ unzip W*_imx-iotcore*.zip -d <new bsp folder>
$ tar -xf W*_imx-firmware*.tgz -C <new bsp folder>

Add more additional files

$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/adv-build
$ cp -a adv-build/adv-buildme64.sh <new bsp folder>
$ cp -a adv-build/enterprise <new bsp folder>
$ cp -a adv-build/ROM5720_iMX8M_2GB <new bsp folder>/imx-iotcore/build/board/

Update UEFI

$ cd <new bsp folder>
$ rm -rf mu_platform_nxp
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/mu_platform_nxp
$ cd mu_platform_nxp
$ sudo pip install -r requirements.txt --upgrade
$ cp -a /usr/local/lib/python3.6/site-packages/*  /home/adv/.local/lib/python3.6/site-packages/

Update U-Boot

$ cd ../u-boots
$ rm -rf u-boot-imx_arm64
$ git clone https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/u-boot-imx_arm64

All of files are collected on git server. please check following.

$ cd ~/BSP
$ mkdir WoA
$ cd WoA
$ git config --global user.name "Your Name"
$ git config --global user.email you@example.com
$ ../repo/repo init -u https://AIM-Linux@dev.azure.com/AIM-Linux/ms-iot-ent/_git/manifest -m W1809_1_1_0.xml
$ ../repo/repo sync