Personal tools

Difference between revisions of "Recipe for building Yocto Linux for PN8M-090T"

From ICOP tech wiki

Jump to: navigation, search
(Created page with "=Recipe for building Yocto Linux for EBOX-IMX8MM= <br /> '''Recipe for building Yocto Linux for EBOX-IMX8MM:''' Ftp://sbc:sbc@ftp.icop.com.tw/iMX8MM/EBOX-IMX8MM/OS/Yocto/2GRA...")
 
 
(9 intermediate revisions by the same user not shown)
Line 1: Line 1:
=Recipe for building Yocto Linux for EBOX-IMX8MM=
+
=Recipe for building Yocto Linux for PN8M-090T-2G(E)=
 
<br />
 
<br />
'''Recipe for building Yocto Linux for EBOX-IMX8MM:'''
+
'''Recipe for building Yocto Linux for PN8M-090T-2G RAM:'''
  
Ftp://sbc:sbc@ftp.icop.com.tw/iMX8MM/EBOX-IMX8MM/OS/Yocto/2GRAM/Recipe/EBOX-IMX8MM-2G&#x20;Yocto&#x20;Recipe.zip
+
https://ftp.icop.com.tw/share/FV69WELP
  
  
 
'''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/UX843FVk<br />
<br />
 
 
<br />
 
<br />
  
<big>'''Suggest O/S''':Ubuntu 18.04 or later.</big>
+
<big>'''Suggest O/S''':Ubuntu 16.04</big>
  
 
Please comment out content to the local.conf to avoid the error during building the SDL.
 
Please comment out content to the local.conf to avoid the error during building the SDL.
 
<pre>
 
<pre>
#PACKAGECONFIG_append_pn-qemu-native = " sdl"
+
#PACKAGECONFIG_append_pn-qemu-native = " sdl"  
 
#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
 
#PACKAGECONFIG_append_pn-nativesdk-qemu = " sdl"
</pre><big>'''Storage:''' Please make sure the capacity of your storage has 120GB or bigger space</big>
+
</pre><big>'''Storage:''' Please make sure the capacity of your storage has 300GB or bigger space.</big>
 
<big>'''RAM:''' Please make sure the physical memory + swap has 16GB or bigger capacity.</big><br />
 
<big>'''RAM:''' Please make sure the physical memory + swap has 16GB or bigger capacity.</big><br />
 
==<big>Procedure</big>==
 
==<big>Procedure</big>==
Line 25: Line 24:
 
Essential Yocto Project host packages:
 
Essential Yocto Project host packages:
 
<pre>
 
<pre>
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \  
+
$ sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
 
build-essential chrpath socat libsdl1.2-dev
 
build-essential chrpath socat libsdl1.2-dev
 
</pre>
 
</pre>
Line 31: Line 30:
 
i.MX layers host packages for a Ubuntu 12.04 or 14.04 host setup are:<pre>
 
i.MX layers host packages for a Ubuntu 12.04 or 14.04 host setup are:<pre>
 
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \
 
$ sudo apt-get install libsdl1.2-dev xterm sed cvs subversion coreutils texi2html \
docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \  
+
docbook-utils python-pysqlite2 help2man make gcc g++ desktop-file-utils \
libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop asciidoc
+
libgl1-mesa-dev libglu1-mesa-dev mercurial autoconf automake groff curl lzop \
 +
asciidoc
 
</pre>
 
</pre>
  
Line 41: Line 41:
 
<pre>
 
<pre>
 
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
 
$ mkdir ~/bin (this step may not be needed if the bin folder already exists)
$ curl <nowiki>https://storage.googleapis.com/git-repo-downloads/repo</nowiki> > ~/bin/repo  
+
$ curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo  
 
$ chmod a+x ~/bin/repo
 
$ chmod a+x ~/bin/repo
 
</pre>
 
</pre>
Line 64: Line 64:
 
$ 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-sumo -m imx-4.14.98-2.0.0_ga.xml
 
imx-linux-sumo -m imx-4.14.98-2.0.0_ga.xml
 
$ repo sync
 
$ repo sync
Line 70: Line 70:
  
  
'''Step 6.''' Unzip the Recipe for building Yocto Linux for EBOX-IMX8MM to the file ‘imx-yocto-bsp”
+
'''Step 6.''' Unzip the Recipe for building Yocto Linux for PN8M-090T-2G 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.''' Adding the meta-Java
 
<pre>
 
<pre>
$ DISTRO=fsl-imx-xwayland MACHINE=dm395b source fsl-setup-release.sh -b \  
+
$ cd imx-yocto-bsp/sources
 +
$ git clone --no-checkout http://git.yoctoproject.org/git/meta-java
 +
$ cd meta-java
 +
$ git checkout -b sumo origin/sumo
 +
 
 +
</pre>
 +
 
 +
 
 +
'''Step 8.''' Create the setup environment by command below (You could change the file name as you want)
 +
<pre>
 +
$ DISTRO=fsl-imx-xwayland MACHINE=dm421a source fsl-setup-release.sh -b \
 
build-dmp
 
build-dmp
 
</pre>
 
</pre>
Line 82: Line 92:
  
  
'''Step 8.''' Edit conf/local.conf file and add the content below at the bottom:
+
'''Step 9.''' Edit conf/local.conf file and add the content below at the bottom:
 
<pre>
 
<pre>
 +
MULTILIBS = "multilib:lib32"
 +
DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon"
 +
 
CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland"
 
CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland"
 +
 
IMAGE_INSTALL_append += " \
 
IMAGE_INSTALL_append += " \
    openssh-sftp-server \
+
openssh-sftp-server \
    ppp \
+
ppp \
    rng-tools \
+
rng-tools \
    glibc-gconv-utf-16 \
+
glibc-gconv-utf-16 \
    expand-rootfs \
+
expand-rootfs \
"
+
touch-files \
 +
sqlite3 \
 +
make \
 +
openjdk-8 \
 +
lib32-glibc \
 +
lib32-libgcc \
 +
lib32-libstdc++ \
 
</pre>
 
</pre>
  
  
'''Step 9.''' Edit conf/bblayers.conf file and add the content below at the bottom:
+
'''Step 10.''' Edit conf/bblayers.conf file and add the content below at the bottom:
 
<pre>
 
<pre>
 +
BBLAYERS += " ${BSPDIR}/sources/meta-java "
 
BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp "
 
BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp "
 
</pre>
 
</pre>
  
  
'''Step 10.''' Run the command below.
+
'''Step 11.''' Run the command below.
 
<pre>
 
<pre>
 
$ bitbake fsl-image-qt5-validation-imx
 
$ bitbake fsl-image-qt5-validation-imx
Line 108: Line 129:
  
 
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 fsl-image-qt5-validation-imx, it will generate an image file and be stored in the file under build-dmp/tmp/deploy/images/dm421a
 +
 +
<br />In the build-dmp/tmp/deploy/images/dm421a file, we’ll need the file below for the image restoration.
 +
<pre>
 +
1. fsl-mage-qt5-validation-imx-dm421a.sdcard.bz2
 +
2. imx-boot-dm421a-sd.bin-flash_evk
 +
</pre>
 +
 +
 +
Input command to get the image file - fsl-mage-qt5-validation-imx-dm421a.sdcard
 +
 +
(In this file, there are packaged kernel and rootfs):<pre>
 +
$ bzip2 -d fsl-mage-qt5-validation-imx-dm421a.sdcard.bz2
 +
</pre>Download the UUU.auto sample: https://ftp.icop.com.tw/share/wNAAeVx8
 +
 +
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 imx-boot-dm421a-sd.bin-flash_evk
 +
SDPU: write -f imx-boot-dm421a-sd.bin-flash_evk -offset 0x57c00
 +
SDPS: boot -f imx-boot-dm421a-sd.bin-flash_evk
 +
SDPV write -f imx-boot-dm421a-sd.bin-flash_evk -skipspl
 +
FB: flash bootloader imx-boot-dm421a-sd.bin-flash_evk
 +
You could change imx-boot-dm421a-sd.bin-flash_evk to your file name if needed.
 +
 +
FB: flash -raw2sparse all fsl-image-qt5-validation-imx-dm421a.sdcard
 +
You could change fsl-image-qt5-validation-imx-dm421a.sdcard to your file name if needed.
 +
</pre>After you have set your own file name, you could input the command below to install the Yocto Linux<pre>
 +
uuu uuu.auto
 +
</pre>

Latest revision as of 10:51, 24 May 2023

Recipe for building Yocto Linux for PN8M-090T-2G(E)


Recipe for building Yocto Linux for PN8M-090T-2G RAM:

https://ftp.icop.com.tw/share/FV69WELP


Check the compiling method on the open document form NXP:

https://ftp.icop.com.tw/share/UX843FVk

Suggest O/S:Ubuntu 16.04

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 PN8M-090T-2G to the file ‘imx-yocto-bsp”


Step 7. Adding the meta-Java

$ cd imx-yocto-bsp/sources
$ git clone --no-checkout http://git.yoctoproject.org/git/meta-java
$ cd meta-java
$ git checkout -b sumo origin/sumo


Step 8. Create the setup environment by command below (You could change the file name as you want)

$ DISTRO=fsl-imx-xwayland MACHINE=dm421a source fsl-setup-release.sh -b \
build-dmp

Please input “y” when the EULA confirmation pop out.


Step 9. Edit conf/local.conf file and add the content below at the bottom:

MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "armv7athf-neon"

CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland"

IMAGE_INSTALL_append += " \
	openssh-sftp-server \
	ppp \
	rng-tools \
	glibc-gconv-utf-16 \
	expand-rootfs \
	touch-files \
	sqlite3 \
	make \
	openjdk-8 \
	lib32-glibc \
	lib32-libgcc \
	lib32-libstdc++ \


Step 10. Edit conf/bblayers.conf file and add the content below at the bottom:

BBLAYERS += " ${BSPDIR}/sources/meta-java "
BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp "


Step 11. Run the command below.

$ bitbake fsl-image-qt5-validation-imx


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


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

1. fsl-mage-qt5-validation-imx-dm421a.sdcard.bz2
2. imx-boot-dm421a-sd.bin-flash_evk


Input command to get the image file - fsl-mage-qt5-validation-imx-dm421a.sdcard

(In this file, there are packaged kernel and rootfs):

$ bzip2 -d fsl-mage-qt5-validation-imx-dm421a.sdcard.bz2

Download the UUU.auto sample: https://ftp.icop.com.tw/share/wNAAeVx8 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-dm421a-sd.bin-flash_evk
SDPU: write -f imx-boot-dm421a-sd.bin-flash_evk -offset 0x57c00
SDPS: boot -f imx-boot-dm421a-sd.bin-flash_evk
SDPV write -f imx-boot-dm421a-sd.bin-flash_evk -skipspl
FB: flash bootloader imx-boot-dm421a-sd.bin-flash_evk
You could change imx-boot-dm421a-sd.bin-flash_evk to your file name if needed.

FB: flash -raw2sparse all fsl-image-qt5-validation-imx-dm421a.sdcard
You could change fsl-image-qt5-validation-imx-dm421a.sdcard to your file name if needed.

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

uuu uuu.auto