imx_builder --- standalone build without Yocto

Document created by Biyong Sun Employee on Feb 28, 2019Last modified by Biyong Sun Employee on Mar 12, 2020
Version 14Show Document
  • View in full screen mode

Mar 13, 2020: imx_builder_03122020.tgz  --- change the i.MX8MN  configuration.

 Dec 11, 2019: imx_builder_12112019.tgz --- add support  L4.19.35_1.1.0

August 28, 2019:  imx_builder_08282019.tgz   --- add i.MX8MM

July 03, 2019:  imx_builder_07032019.tgz --- add i.MX8QM: build_i.MX8 

Feb 26, 2020: imx_builder_02262020 --- add i.MX8MN, add spl m4 for build_i.MX8, build_i.MX8X with L4.14.98_2.0.0_ga, L4.14.98_2.2.0, L4.19.35_1.1.0

 

imx_builder_02262020:

 

imx_builder
|-- atf -> bsp/imx-atf
|-- bsp -> REL/rel_imx_4.19.35_1.1.0
|-- build -> build_i.MX8X/L4.19.35_1.1.0
|-- build_i.MX6
|   |-- L3.0.x
|   |-- L3.1x.xx
|   |-- L4.14.xx
|   |-- L4.19.xx
|   `-- L4.1.xx
|-- build_i.MX8
|   |-- before_L4.14.98_2.0.0_ga
|   |-- L4.14.98_2.0.0_ga
|   |-- L4.14.98_2.2.0
|   `-- L4.19.35_1.1.0
|-- build_i.MX8M
|   |-- before.L4.19.35
|   `-- L4.19.35
|-- build_i.MX8MM
|   |-- before.L4.19.35
|   `-- L4.19.35
|-- build_i.MX8MN
|   `-- L4.19.35
|-- build_i.MX8X
|   |-- before_L4.14.98_2.0.0_ga
|   |-- L4.14.98_2.0.0_ga
|   |-- L4.14.98_2.2.0
|   `-- L4.19.35_1.1.0
|-- dts -> linux/arch/arm/boot/dts
|-- dts64 -> linux/arch/arm64/boot/dts/freescale
|-- dts_uboot -> u-boot/arch/arm/dts
|-- imx-mkimage -> bsp/imx-mkimage
|-- linux -> bsp/linux-imx
|-- m4_img
|   |-- m4_1_image.bin -> rpmsg_lite_str_echo_rtos_imxcm4.bin
|   |-- m4_image.bin -> power_mode_switch.bin
|   `-- readme.txt
|-- Makefile -> build/Makefile
|-- Others
|   |-- clk_module
|   |-- cryptodev-linux-1.8
|   |-- helloworld_module
|   |-- key_blob_module
|   `-- spi
|-- out
|-- README -> build/README
|-- REL
|-- scfw -> bsp/scfw
|-- SETTINGS.MK -> build/SETTINGS.MK
|-- toolchains
|   `-- scfw
|-- u-boot -> bsp/uboot-imx
`-- VERSION.MK

 

imx_builder is a set of Makefile for build u-boot, Linux kernel, atf, scfw, imx-mkimage.  You can call it standalone build.

 

here is the step to try it. 

You can use  -n for make to get the detail build steps.

ex:  make atf -n 

       make linux.Image -n

 

L4.14.78_ga as example:

 

1. Untar  imx_builder_02282019.tgz

2. Read the  Standalone_Build_Preparation.pdf inside to prepare the bsp.

3. Prepare the toolchains(populate_sdk from yocto, get from linaro, get from buildroot, etc.)

4. Prepare scfw toolchains following the SCFW Porting Kit. 

5. Follow the Standalone_Build_Preparation.pdf to check if the Build Structure is correct.

 

 

  1. Build Structure

L4.14.78_1.0.0_ga as example.

Prepare rel_imx_4.14.78_1.0.0_ga in REL

Make symbol link to REL/rel_imx_4.14.78_1.0.0_ga

Make symbol link to build_i.MX8X

 

imx_builder/

|-- atf -> bsp/imx-atf

|-- bsp -> REL/rel_imx_4.14.78_1.0.0_ga

|-- build -> build_i.MX8X

|-- build_i.MX6

|-- build_i.MX8M

|-- build_i.MX8X

|   |-- Makefile -> Makefile.4.14.78_ga

|   |-- Makefile.4.14.78_ga

|   |-- README

|   |-- SETTINGS_4.14.78_1.0.0_ga.MK

|   |-- SETTINGS.MK -> SETTINGS_4.14.78_1.0.0_ga.MK

|   `-- VERSION.MK

|-- dts -> linux/arch/arm/boot/dts

|-- imx-mkimage -> bsp/imx-mkimage

|-- linux -> bsp/linux-imx

|-- Makefile -> build/Makefile

|-- Others

|-- out

|-- README -> build/README

|-- REL

|   `-- rel_imx_4.14.78_1.0.0_ga

|       |-- firmware-imx-8.0.bin

|       |-- imx-atf

|       |-- imx-mkimage

|       |-- imx-sc-firmware-1.1.bin(optional)

|       |-- imx-scfw-porting-kit-1.1.tar.gz

|       |-- linux-imx

|       `-- uboot-imx

|-- scfw -> bsp/scfw

|-- SETTINGS.MK -> build/SETTINGS.MK

|-- Standalone_Build_Preparation.pdf

|-- toolchains

|   `-- scfw

|       `-- gcc-arm-none-eabi-6-2017-q2-update

|-- u-boot -> bsp/uboot-imx

`-- VERSION.MK -> build/VERSION.MK

6 people found this helpful

Outcomes