Personal tools

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

From ICOP tech wiki

Jump to: navigation, search
Line 1: Line 1:
=Recipe for building Yocto 3.0  Linux for NX8MM-35=
+
=Recipe for building Yocto 3.0  Linux for PN8M-090T=
 
<br />
 
<br />
'''Recipe for building Yocto Linux for NX8MM-35:'''
+
'''Recipe for building Yocto Linux for PN8M-090T:'''
  
 
*Display: HDMI
 
*Display: HDMI
Line 65: Line 65:
 
$ mkdir imx-yocto-bsp  
 
$ mkdir imx-yocto-bsp  
 
$ cd imx-yocto-bsp  
 
$ cd imx-yocto-bsp  
$ repo init -u <nowiki>https://source.codeaurora.org/external/imx/imx-manifest</nowiki> -b \
+
$ 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
imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
 
 
$ repo sync
 
$ repo sync
 
</pre>
 
</pre>
  
  
'''Step 6.''' Unzip the Recipe for building Yocto Linux for NX8MM-35 to the file ‘imx-yocto-bsp”
+
'''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)
 
'''Step 7.''' Create the setup environment by command below (You could change the file name as you want)
 
<pre>
 
<pre>
$ DISTRO=fsl-imx-xwayland MACHINE=dm446 source fsl-setup-release.sh -b \
+
$ DISTRO=fsl-imx-xwayland MACHINE=dm421 source imx-setup-release.sh -b build-dmp
build-dmp
 
 
</pre>
 
</pre>
  
Line 108: Line 106:
 
'''Step 10.''' Run the command below.
 
'''Step 10.''' Run the command below.
 
<pre>
 
<pre>
$ bitbake fsl-image-qt5-validation-imx
+
$ bitbake imx-image-full
 
</pre>
 
</pre>
  
Line 122: Line 120:
 
</pre><br />
 
</pre><br />
 
=How to install the image file by UUU.=
 
=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.
+
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/dm446 file, we’ll need the file below for the image restoration.<pre>
+
In the build-dmp/tmp/deploy/images/dm421 file, we’ll need the file below for the image restoration.<pre>
1. fsl-mage-qt5-validation-imx-dm446.sdcard.bz2
+
1. imx-image-full-dm421.wic
2. imx-boot-dm446-sd.bin-flash_evk
+
2. imx-boot-dm421-sd.bin-flash_evk
</pre>↵Input command to get the image file - fsl-mage-qt5-validation-imx-dm446.sdcard
+
</pre>↵Input command to get the image file - imx-image-full-dm421.wic
  
 
(In this file, there are packaged kernel and rootfs):<pre>
 
(In this file, there are packaged kernel and rootfs):<pre>
$ bzip2 -d fsl-mage-qt5-validation-imx-dm446.sdcard.bz2
+
$ bzip2 -d imx-image-full-dm421.wic
 
</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP
 
</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP
  
Line 136: Line 134:
  
 
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.)<pre>
 
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.)<pre>
SDP: boot -f XXX.bin-flash_evk
+
SDP: boot -f imx-boot-dm421-sd.bin-flash_evk
SDPU: write -f XXX.bin-flash_evk -offset 0x57c00
+
# This command will be run when use SPL
SDPS: boot -f XXX.bin-flash_evk
+
SDPU: delay 1000
SDPV write -f XXX.bin-flash_evk -skipspl
+
SDPU: write -f imx-boot-dm421-sd.bin-flash_evk -offset 0x57c00
FB: flash bootloader XXX.bin-flash_evk
+
SDPU: jump
XXX.bin-flash_evk = imx-boot-dm446-sd.bin-flash_evk
+
# 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
  
FB: flash -raw2sparse all XXX.image 
 
XXX.image = fsl-mage-qt5-validation-imx-dm446.sdcard
 
 
</pre>After you have set your own file name, you could input the command below to install the Yocto Linux<pre>
 
</pre>After you have set your own file name, you could input the command below to install the Yocto Linux<pre>
 
uuu uuu.auto
 
uuu uuu.auto
 
</pre>
 
</pre>

Revision as of 11:26, 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


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 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