## FlexBuild Overview
---------------------
FlexBuild is a component-oriented lightweight build system with capabilities
of flexible, ease-to-use, scalable system build and distro deployment.
Users can use flexbuild to easily build Debian-based RootFS, linux kernel, BSP
components and miscellaneous userspace applications (e.g. graphics, multimedia,
networking, connectivity, security, AI/ML, etc) against Debian-based library
dependencies to streamline the system build with efficient CI/CD.
With flex-installer, users also can easily install various distro to target storage
device (SD/eMMC card or USB/SATA disk) on target board or on host machine.
## Build Environment
--------------------
- Cross-build in Debian Docker container hosted on Ubuntu or any other distro host machine for arm64 target
- Cross-build on x86 host machine running Debian 12 for arm64 target
- Native-build on ARM board running Debian for arm64 target
## Host system requirement
- Debian 12 host
Refer to [host_requirement](docs/host_requirement.md)
- Ubuntu LTS host (e.g. 22.04, 20.04) on which Docker Engine is running
Refer to [docker-setup](docs/FAQ-docker-setup.md)
- If other distro version is installed on your host machine, you can run 'bld docker' to create a Debian 12 docker and build it in docker.
## Supported distro for target arm64
------------------------------------------
- Debian-based userland (base, desktop, server)
- Yocto-based userland (tiny, devel)
- Buildroot-based userland (tiny, devel)
## Supported platforms
----------------------
- __iMX platform__:
imx6qpsabresd, imx6qsabresd, imx6sllevk, imx7ulpevk, imx8mmevk, imx8mnevk, imx8mpevk,
imx8mqevk, imx8qmmek, imx8qxpmek, imx8ulpevk, imx93evk, etc
- __Layerscape platform__:
ls1012ardb, ls1012afrwy, ls1021atwr, ls1028ardb, ls1043ardb, ls1046ardb, ls1046afrwy,
ls1088ardb, ls2088ardb, ls2160ardb, lx2162aqds, etc
## FlexBuild Usage
------------------
```
$ cd flexbuild
$ . setup.env
$ bld docker (create or attach a docker container)
$ . setup.env
$ bld -h
Usage: bld -m
or bld [