Personal tools

Difference between revisions of "Recipe for building Yocto3.0 Linux for NX8MM-35"

From ICOP tech wiki

Jump to: navigation, search
Line 129: Line 129:
 
(In this file, there are packaged kernel and rootfs):<pre>
 
(In this file, there are packaged kernel and rootfs):<pre>
 
$ bzip2 -d imx-image-full-dm421.wic
 
$ bzip2 -d imx-image-full-dm421.wic
</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP<pre>
+
</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP
 +
<br /><pre>
 
SDP: boot -f imx-boot-dm421-sd.bin-flash_evk
 
SDP: boot -f imx-boot-dm421-sd.bin-flash_evk
 
# This command will be run when use SPL
 
# This command will be run when use SPL

Revision as of 11:27, 6 May 2022

Recipe for building Yocto 3.0 Linux for PN8M-090T


Recipe for building Yocto Linux for PN8M-090T:


Check the compiling method on the open document form NXP:

https://www.nxp.com/docs/en/user-guide/IMXLXYOCTOUG.pdf

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 <nowiki>https://source.codeaurora.org/external/imx/imx-manifest -b imx-linux-zeus -m imx-5.4.70-2.3.6.xml
$ repo sync


Step 6. Unzip the Recipe for building Yocto Linux for PN8M-090T 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=dm421 source imx-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 imx-image-full


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 imx-image-full, it will generate an image file and be stored in the file under build-dmp/tmp/deploy/images/dm421.

In the build-dmp/tmp/deploy/images/dm421 file, we’ll need the file below for the image restoration.

1. imx-image-full-dm421.wic
2. imx-boot-dm421-sd.bin-flash_evk

↵Input command to get the image file - imx-image-full-dm421.wic (In this file, there are packaged kernel and rootfs):

$ bzip2 -d imx-image-full-dm421.wic

Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP

SDP: boot -f imx-boot-dm421-sd.bin-flash_evk
# This command will be run when use SPL
SDPU: delay 1000
SDPU: write -f imx-boot-dm421-sd.bin-flash_evk -offset 0x57c00
SDPU: jump
# This command will be run when ROM support stream mode
SDPS: boot -f imx-boot-dm421-sd.bin-flash_evk
# These commands will be run when use SPL and will be skipped if no spl
# if (SPL support SDPV)
SDPV: delay 1000
SDPV: write -f imx-boot-dm421-sd.bin-flash_evk -skipspl
SDPV: jump

FB: ucmd setenv fastboot_dev mmc
FB: ucmd setenv mmcdev 2
FB: ucmd mmc dev 2 0
FB: flash -raw2sparse all imx-image-full-dm421.wic
FB: flash bootloader imx-boot-dm421-sd.bin-flash_evk
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi;
FB: ucmd mmc partconf 2 ${emmc_ack} 1 0
FB: done

After you have set your own file name, you could input the command below to install the Yocto Linux

uuu uuu.auto