Difference between revisions of "Recipe for building Yocto4.0 Linux for EBOX-IMX8MMINI"
From ICOP tech wiki
(Created page with "<br /> =Recipe for building Yocto 4.0 Linux for EBOX-IMX8MMINI= '''Recipe for building Yocto Linux for EBOX-IMX8MMINI''' *For EBOX-IMX8MMINI (E version): https://ftp.icop.co...") |
|||
Line 49: | Line 49: | ||
$ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.71-2.2.0.xml | $ repo init -u https://github.com/nxp-imx/imx-manifest -b imx-linux-kirkstone -m imx-5.15.71-2.2.0.xml | ||
$ repo sync | $ repo sync | ||
− | </pre>'''Step 6.''' Unzip the Recipe for building Yocto Linux for | + | </pre>'''Step 6.''' Unzip the Recipe for building Yocto Linux for EBOX-IMX8MMINI to the file ‘imx-yocto-bsp” |
− | + | '''Step 7.''' Create the setup environment by command below <pre> | |
− | + | $ DISTRO=fsl-imx-xwayland MACHINE=dm395e source imx-setup-release.sh -b build-dmp | |
− | '''Step 7.''' Create the setup environment by command below | ||
− | $ DISTRO=fsl-imx-xwayland MACHINE= | ||
</pre>Please input “y” when the EULA confirmation pop out. | </pre>Please input “y” when the EULA confirmation pop out. | ||
Line 69: | Line 67: | ||
Pulseaudio \ | Pulseaudio \ | ||
" | " | ||
− | |||
</pre>'''Step 9.''' Edit conf/bblayers.conf file and add the content below at the bottom:<pre> | </pre>'''Step 9.''' Edit conf/bblayers.conf file and add the content below at the bottom:<pre> | ||
BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp " | BBLAYERS += " ${BSPDIR}/sources/meta-custom-dmp " | ||
Line 76: | Line 73: | ||
</pre>The system will start to download and install source code, patch file, and compilation | </pre>The system will start to download and install source code, patch file, and compilation | ||
=How to install the image file by UUU.= | =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/ | + | After implemented bitbake imx-image-full, it will generate an image file and be stored in the file under build-dmp/tmp/deploy/images/dm395e |
− | In the build-dmp/tmp/deploy/images/ | + | In the build-dmp/tmp/deploy/images/dm395e file, we’ll need the file below for the image restoration.<pre> |
− | 1. imx-image-full- | + | 1. imx-image-full-dm395E-XXXXXXXXXXXXX.rootfs.wic.zst |
− | 2. | + | 2. dm395e-230612.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> | </pre>Input command to get the image file - imx-image-full-dm395e.wic (In this file, there are packaged kernel and rootfs):<pre> | ||
− | $ zstd -d imx-image-full- | + | $ zstd -d imx-image-full-dm395e-XXXXXXXXXXXXX.rootfs.wic.zst</pre>Download the UUU.auto sample:https://ftp.icop.com.tw/share/6oK-EhMl |
UUU application under Linux:https://github.com/NXPmicro/mfgtools/releases<pre> | UUU application under Linux:https://github.com/NXPmicro/mfgtools/releases<pre> | ||
uuu_version 1.0.1 | uuu_version 1.0.1 | ||
− | SDP: boot -f | + | SDP: boot -f dm395e-230612.bin-flash_evk |
# This command will be run when use SPL | # This command will be run when use SPL | ||
SDPU: delay 1000 | SDPU: delay 1000 | ||
− | SDPU: write -f | + | SDPU: write -f dm395e-230612.bin-flash_evk -offset 0x57c00 |
SDPU: jump | SDPU: jump | ||
# This command will be run when ROM support stream mode | # This command will be run when ROM support stream mode | ||
− | SDPS: boot -f | + | SDPS: boot -f dm395e-230612.bin-flash_evk |
# These commands will be run when use SPL and will be skipped if no spl | # These commands will be run when use SPL and will be skipped if no spl | ||
# if (SPL support SDPV) | # if (SPL support SDPV) | ||
SDPV: delay 1000 | SDPV: delay 1000 | ||
− | SDPV: write -f dm421-231017-wm8960.bin-flash_evk or | + | SDPV: write -f dm421-231017-wm8960.bin-flash_evk or dm395e-230612.bin-flash_evk -skipspl |
SDPV: jump | SDPV: jump | ||
Line 103: | Line 100: | ||
FB: ucmd setenv mmcdev 2 | FB: ucmd setenv mmcdev 2 | ||
FB: ucmd mmc dev 2 0 | FB: ucmd mmc dev 2 0 | ||
− | FB: flash -raw2sparse all | + | FB: flash -raw2sparse all dm395e-230612.wic |
− | FB: flash bootloader | + | FB: flash bootloader dm395e-230612.bin-flash_evk |
FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; | FB: ucmd if env exists emmc_ack; then ; else setenv emmc_ack 0; fi; | ||
FB: ucmd mmc partconf 2 ${emmc_ack} 1 0 | FB: ucmd mmc partconf 2 ${emmc_ack} 1 0 |
Revision as of 09:11, 25 March 2024
Recipe for building Yocto 4.0 Linux for EBOX-IMX8MMINI
Recipe for building Yocto Linux for EBOX-IMX8MMINI
- For EBOX-IMX8MMINI (E version): https://ftp.icop.com.tw/share/wkOm4ymr
Check the compiling method on the open document form NXP:
Suggest O/S:Ubuntu 20.04 or later.
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 cpio python python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa \ libsdl1.2-dev pylint3 xterm rsync curl zstd lz4 libssl-dev
Step 2. Change the python version under \user\bin\python and Insall the repo utility:
Change the shortcut under /usr/bin to python 3.8. or later
$ sudo ln -sf /usr/bin/python3.8 /usr/bin/python Use $ ls -l python to check the python status: Python -> python3.8
Create the bin folder in the home directory and dowlonad Freescale Community BSP
$ mkdir ~/bin $ sudo apt --yes install curl $ 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-kirkstone -m imx-5.15.71-2.2.0.xml $ repo sync
Step 6. Unzip the Recipe for building Yocto Linux for EBOX-IMX8MMINI to the file ‘imx-yocto-bsp” Step 7. Create the setup environment by command below
$ DISTRO=fsl-imx-xwayland MACHINE=dm395e 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
or
at the recipe, copy and replace “Sources” folder to “imx-yocto-bsp” and bblayers.conf & local.conf to “/im-yocto-bsp/build-dmp/conf/”.
CORE_IMAGE_EXTRA_INSTALL += "chromium-ozone-wayland" IMAGE_INSTALL:append += " \ expand-rootfs \ linux-firmware \ Pulseaudio \ "
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/dm395e
In the build-dmp/tmp/deploy/images/dm395e file, we’ll need the file below for the image restoration.
1. imx-image-full-dm395E-XXXXXXXXXXXXX.rootfs.wic.zst 2. dm395e-230612.bin-flash_evk
Input command to get the image file - imx-image-full-dm395e.wic (In this file, there are packaged kernel and rootfs):
$ zstd -d imx-image-full-dm395e-XXXXXXXXXXXXX.rootfs.wic.zst
Download the UUU.auto sample:https://ftp.icop.com.tw/share/6oK-EhMl UUU application under Linux:https://github.com/NXPmicro/mfgtools/releases
uuu_version 1.0.1 SDP: boot -f dm395e-230612.bin-flash_evk # This command will be run when use SPL SDPU: delay 1000 SDPU: write -f dm395e-230612.bin-flash_evk -offset 0x57c00 SDPU: jump # This command will be run when ROM support stream mode SDPS: boot -f dm395e-230612.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 dm421-231017-wm8960.bin-flash_evk or dm395e-230612.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 dm395e-230612.wic FB: flash bootloader dm395e-230612.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