...
This will generate the uboot with all needed components atf, optee, spl, and uboot. Also, you can create an uefi image.
...
Code Block |
---|
sudo fastboot flash bootloader flash.bin sudo fastboot flash BOOTFIRMWARE uefi.fit |
Setup Build Enviroment
Set up a Linux Environment (Note: We use WSL):
Dedicated Linux system
Linux Virtual Machine
Windows Subsystem for Linux (WSL setup instructions)
Update and install build Tools:
Code Block |
---|
sudo apt-get update sudo apt-get upgrade sudo apt-get install 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 sudo apt-get install gcc g++ make python3 mono-devel pushd ~ 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 popd |
U-Boot
http://gitlab.keith-koep.com/imx/uboot-imx
http://gitlab.keith-koep.com/imx/imx-mkimage
Clone repositories:
Code Block |
---|
git clone -b iot_merged_kuk_imx_v2018.03_4.14.98_2.0.0_ga http://gitlab.keith-koep.com/imx/uboot-imx git clone http://gitlab.keith-koep.com/imx/imx-mkimage.git |
...
http://gitlab.keith-koep.com/imx/mu_platform_nxp
Note: # note: On Windows Ubuntu, ignore Python errors during build specifically like # „ERROR - Please upgrade Python! Current version is 3.6.7. Recommended minimum is 3.7.“
Clone repositories and setup:
Code Block |
---|
git clone --recursive http://gitlab.keith-koep.com/imx/mu_platform_nxp.git pushd mu_platform_nxp export GCC5_AARCH64_PREFIX=~/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- pip3 install -r requirements.txt --upgrade python3 KUK/Trizeps8mini_2GB/PlatformBuild.py --setup cd MU_BASECORE make -C BaseTools cd .. popd |
Build:
Code Block |
---|
pushd mu_platform_nxp export GCC5_AARCH64_PREFIX=~/gcc-linaro-7.2.1-2017.11-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu- python3 KUK/Trizeps8mini_2GB/PlatformBuild.py -V TARGET=RELEASE \ PROFILE=DEV MAX_CONCURRENT_THREAD_NUMBER=20 popd |
Create bootable UEFI image:
Code Block |
---|
pushd mu_platform_nxp/Build/Trizeps8mini_2GB/RELEASE_GCC5/FV cp ../../../../../imx-iotcore/build/firmware/its/uefi_imx8_unsigned.its . ../../../../../u-boot/tools/mkimage -f uefi_imx8_unsigned.its -r uefi.fit popd |
...