imx_builder --- standalone build without Yocto

cancel
Showing results for 
Search instead for 
Did you mean: 

imx_builder --- standalone build without Yocto

imx_builder --- standalone build without Yocto

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

Labels (1)
Attachments
Comments

Hi,

Is there any modification need to be done to enable secure boot of imx8qxp?

imx_builder_03122020.tgz, and building the i.MX 8MM, the Makefile has target defined for rootfs.tar, however missing ${FS_TAR_SCRIPT} defined in SETTINGS.MK:

FS_DIR=${PWD}/fs
FS_TAR_DIR=${FS_DIR}/tar
FS_TAR_SCRIPT=${FS_TAR_DIR}/rootfs.tar.gz.sh

Can the full FS_DIR and scripts for all sub directories be provided in imx_builder?

Missing:

fs/tar

fs/ubi

fs/cpio

At the very initial version of imx_builder, I just add a very small rootfs for test purpose. 

And I decide not to support rootfs any more. But I didn't remove the rules.

Acuatully, I made the small test rootfs by buildroot.


rootfs:rootfs.tar
#       $(RM)  $(ROOTFS_DIR)/dev/null $(OUT_ROOTFS)
#       fakeroot -- sh -c 'mknod -m a=rw $$0/dev/null c 1 3 && cd $$0 && tar jfvc $$1 *' ${ROOTFS_DIR} ${OUT_ROOTFS}
#       $(RM)  $(OUT_ROOTFS_TAR) $(OUT_ROOTFS_UBI)
#       fakeroot -- ${FS_TAR_SCRIPT}  ${ROOTFS_DIR} ${OUT_ROOTFS_TAR}
#       fakeroot -- ${FS_UBI_SCRIPT}  ${ROOTFS_DIR} ${OUT_ROOTFS_UBIFS} ${OUT_ROOTFS_UBI} ${FS_UBI_DIR}

rootfs.tar:
        $(RM)  $(OUT_ROOTFS_TAR)
        fakeroot -- ${FS_TAR_SCRIPT}  ${ROOTFS_DIR} ${OUT_ROOTFS_TAR}
rootfs.cpio:
        $(RM)  $(OUT_ROOTFS_CPIO)
        fakeroot -- ${FS_CPIO_SCRIPT}  ${ROOTFS_DIR} ${OUT_ROOTFS_CPIO}

Hi BiyongSUN‌, thanks for the update.  

Here is script (getSw.sh) to populate the bsp directory.  Using release rel_imx_5.4.24_2.1.0, for firmware-imx, the i.MX_Linux_Release_Notes.pdf had the version (8.8) for this release.  To use other Linux releases, update the TAG and FWR variable for the versions needed.

#!/bin/bash

TAG="rel_imx_5.4.24_2.1.0"
FWR="8.8"

CAF="https://source.codeaurora.org/external/imx"
MAD="wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO"

wget ${MAD}/firmware-imx-${FWR}.bin

for repo in linux-imx uboot-imx imx-atf imx-mkimage; do
    git clone ${CAF}/${repo} -b ${TAG};
done
‍‍‍‍‍‍‍‍‍‍‍

Thanks a lot for your script. 

I have a similar one, which remove the .git in linunx-imx, uboot-imx to make the bsp small. 

I think it not part of the imx_builder so far. 

And my initial thought is for customers to understand the standalone build. and easy to see the single steps, which is a little bit hard to read in Yocto.

The imx_builder is for a professional user like you. You can add any new feature like preparing bsp.  

Thanks a lot for your interesting in my imx_builder.

Version history
Revision #:
1 of 1
Last update:
‎02-28-2019 03:10 AM
Updated by: