Recipe for building Yocto Linux for NX8MM-35
From ICOP tech wiki
Recipe for building Yocto Linux for NX8MM-35
Recipe for building Yocto Linux for NX8MM-35:
- Display: HDMI
Check the compiling method on the open document from NXP:
Suggest O/S:Ubuntu 18.04 or later.
Please comment out content to the local.conf to avoid the error during building the SDL.
#PACKAGECONFIG_append_pn-qemu-native = " sdl" #PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
Storage: Please make sure the capacity of your storage has 300GB or bigger space.
RAM: Please make sure the physical memory + swap has 16GB or bigger capacity.
Procedure
Step 1. Install Host packages:
Essential Yocto Project host packages:
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat libsdl1.2-dev
i.MX layers host packages for a Ubuntu 12.04 or 14.04 host setup are:
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \ docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \ libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
Step 2. Insalling the repo utility:
Create the bin folder in the home directory:
$ mkdir ~/bin (this step may not be needed if the bin folder already exists) $ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo $ chmod a+x ~/bin/repo
Step 3. Add the following line to the .bashrc file to make sure the ~/bin folder is in the PATH.
export PATH=~/bin:$PATH
Step 4. Ensure the git is properly set up by commands below:
$ git config --global user.name "Your Name" $ git config --global user.email "Your Email" $ git config --list
Step 5. Download the i.MX Yocto Project Community BSP recipe layers:
$ mkdir imx-yocto-bsp $ cd imx-yocto-bsp $ repo init -u https://github.com/nxp-imx/imx-manifest -b \ imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml $ repo sync
Step 6. Unzip the Recipe for building Yocto Linux for NX8MM-35 to the file ‘imx-yocto-bsp”
Step 7. Create the setup environment by command below (You could change the file name as you want)
$ DISTRO=fsl-imx-xwayland MACHINE=dm446 source fsl-setup-release.sh -b \ build-dmp
Please input “y” when the EULA confirmation pop out.
Step 8. Edit conf/local.conf file and add the content below at the bottom:
CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland" IMAGE_INSTALL_append += " \ openssh-sftp-server \ ppp \ rng-tools \ glibc-gconv-utf-16 \ expand-rootfs \ opkg \ cifs-utils \ gdbserver \ "
Step 9. Edit conf/bblayers.conf file and add the content below at the bottom:
BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp "
Step 10. Run the command below.
$ bitbake fsl-image-qt5-validation-imx
The system will start to download and install source code, patch file, and compilation
If there is a imx-gpu-sdk compiling error:
Copy /imx-yocto-bsp/build-dmp/tmp/work/dm446-poky-linux/devil/1.8.0-r0/package/usr/lib/* to imx-yocto-bsp/build-dmp/tmp/work/aarch64-mx8mm-poky-linux/imx-gpu-sdk/5.3.0-r0/recipe-sysroot/lib64
How to install the image file by UUU.
After implemented bitbake fsl-image-qt5-validation-imx, it will generate an image file and be stored in the file under build-dmp/tmp/deploy/images/dm446.
In the build-dmp/tmp/deploy/images/dm446 file, we’ll need the file below for the image restoration.
1. fsl-mage-qt5-validation-imx-dm446.sdcard.bz2 2. imx-boot-dm446-sd.bin-flash_evk
↵Input command to get the image file - fsl-mage-qt5-validation-imx-dm446.sdcard (In this file, there are packaged kernel and rootfs):
$ bzip2 -d fsl-mage-qt5-validation-imx-dm446.sdcard.bz2
Download the UUU.auto sample:https://ftp.icop.com.tw/share/RJ3PjTI8
If you have requirement to change the file name, please follow the steps below to change your file name (You could choose not changing the file name.)
SDP: boot -f XXX.bin-flash_evk SDPU: write -f XXX.bin-flash_evk -offset 0x57c00 SDPS: boot -f XXX.bin-flash_evk SDPV write -f XXX.bin-flash_evk -skipspl FB: flash bootloader XXX.bin-flash_evk XXX.bin-flash_evk = imx-boot-dm446-sd.bin-flash_evk FB: flash -raw2sparse all XXX.image XXX.image = fsl-mage-qt5-validation-imx-dm446.sdcard
After you have set your own file name, you could input the command below to install the Yocto Linux
uuu uuu.auto