Personal tools

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

From ICOP tech wiki

Jump to: navigation, search
(Created page with "=Recipe for building Yocto Linux for NX8MM-35= <br /> '''Recipe for building Yocto Linux for NX8MM-35:''' *Display: HDMI **https://ftp.icop.com.tw/share/vembVpzv '''Check t...")
 
 
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Recipe for building Yocto Linux for NX8MM-35=
 
 
<br />
 
<br />
'''Recipe for building Yocto Linux for NX8MM-35:'''
+
=Recipe for building Yocto 3.0  Linux for NX8MM-35=
 +
<br />
 +
'''Recipe for building Yocto Linux for NX8MM-35'''
  
*Display: HDMI
+
*https://ftp.icop.com.tw/share/vp84c-Fv
**https://ftp.icop.com.tw/share/vembVpzv
 
  
  
 
'''Check the compiling method on the open document form NXP:'''
 
'''Check the compiling method on the open document form NXP:'''
  
https://www.nxp.com/docs/en/user-guide/IMXLXYOCTOUG.pdf
+
*https://ftp.icop.com.tw/share/MmniDyfl<br /> <br />
<br />
 
<br />
 
  
 
<big>'''Suggest O/S''':Ubuntu 18.04 or later.</big>
 
<big>'''Suggest O/S''':Ubuntu 18.04 or later.</big>
Line 65: Line 63:
 
$ 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 https://github.com/nxp-imx/imx-manifest -b imx-linux-zeus -b imx-linux-zeus -m imx-5.4.70-2.3.0.xml
imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
 
 
$ repo sync
 
$ repo sync
 
</pre>
 
</pre>
Line 76: Line 73:
 
'''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=dm446 source imx-setup-release.sh -b build-dmp
build-dmp
 
 
</pre>
 
</pre>
  
Line 88: Line 84:
  
 
IMAGE_INSTALL_append += " \
 
IMAGE_INSTALL_append += " \
    openssh-sftp-server \
 
    ppp \
 
    rng-tools \
 
    glibc-gconv-utf-16 \
 
 
     expand-rootfs \
 
     expand-rootfs \
     opkg \
+
     linux-firmware \
    cifs-utils \
 
    gdbserver \
 
 
"
 
"
 
</pre>
 
</pre>
Line 108: Line 98:
 
'''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 114: Line 104:
 
The system will start to download and install source code, patch file, and compilation
 
The system will start to download and install source code, patch file, and compilation
  
 +
=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/dm446.
  
 +
In the build-dmp/tmp/deploy/images/dm446 file, we’ll need the file below for the image restoration.<pre>
 +
1. imx-image-full-dm446.wic
 +
2. imx-boot-dm446-sd.bin-flash_evk
 +
</pre>
 +
Input command to get the image file - imx-image-full-dm395e.wic (In this file, there are packaged kernel and rootfs):<pre>
 +
$ bzip2 -d imx-image-full-dm446.wic</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/dX0c5LFV<br>UUU application under Linux:https://github.com/NXPmicro/mfgtools/releases<br /><pre>
  
If there is a imx-gpu-sdk compiling error:<pre>
+
SDP: boot -f imx-boot-dm446-sd.bin-flash_evk
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
+
#This command will be run when use SPL
</pre><br />
 
=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.<pre>
+
SDPU: delay 1000
1. fsl-mage-qt5-validation-imx-dm446.sdcard.bz2
+
SDPU: write -f imx-boot-dm446-sd.bin-flash_evk -offset 0x57c00
2. imx-boot-dm446-sd.bin-flash_evk
+
SDPU: jump
</pre>↵Input command to get the image file - fsl-mage-qt5-validation-imx-dm446.sdcard
 
  
(In this file, there are packaged kernel and rootfs):<pre>
+
#This command will be run when ROM support stream mode
$ bzip2 -d fsl-mage-qt5-validation-imx-dm446.sdcard.bz2
 
</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/Qpz7dMcP
 
  
 +
SDPS: boot -f imx-boot-dm446-sd.bin-flash_evk
  
 +
#These commands will be run when use SPL and will be skipped if no spl
 +
#if (SPL support SDPV)
  
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>
+
SDPV: delay 1000
SDP: boot -f XXX.bin-flash_evk
+
SDPV: write -f imx-boot-dm446-sd.bin-flash_evk -skipspl
SDPU: write -f XXX.bin-flash_evk -offset 0x57c00
+
SDPV: jump
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
+
FB: ucmd setenv fastboot_dev mmc
XXX.image = fsl-mage-qt5-validation-imx-dm446.sdcard
+
FB: ucmd setenv mmcdev 2
 +
FB: ucmd mmc dev 2 0
 +
FB: flash -raw2sparse all imx-image-full-dm446.wic
 +
FB: flash bootloader imx-boot-dm446-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
 
</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>

Latest revision as of 11:06, 24 May 2023


Recipe for building Yocto 3.0 Linux for NX8MM-35


Recipe for building Yocto Linux for NX8MM-35


Check the compiling method on the open document form 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-zeus -b imx-linux-zeus -m imx-5.4.70-2.3.0.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 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 += " \
    expand-rootfs \
    linux-firmware \
"


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

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/dm446.

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

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

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

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

Download the UUU.auto sample:https://ftp.icop.com.tw/share/dX0c5LFV
UUU application under Linux:https://github.com/NXPmicro/mfgtools/releases

SDP: boot -f imx-boot-dm446-sd.bin-flash_evk

  1. This command will be run when use SPL

SDPU: delay 1000 SDPU: write -f imx-boot-dm446-sd.bin-flash_evk -offset 0x57c00 SDPU: jump

  1. This command will be run when ROM support stream mode

SDPS: boot -f imx-boot-dm446-sd.bin-flash_evk

  1. These commands will be run when use SPL and will be skipped if no spl
  2. if (SPL support SDPV)

SDPV: delay 1000 SDPV: write -f imx-boot-dm446-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-dm446.wic FB: flash bootloader imx-boot-dm446-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