
How to generate a custom Ubuntu root filesystem with custom additional package list on x86 host machine
In Flexbulid, there are two default additional package lists for Ubuntu/Debian: additional_packages_list_moderate, and
additional_packages_list_tiny.
$ flex-builder -i mkrfs -a arm64 (as per additional_packages_list_moderate with more packages for
Ubuntu rootfs by default)
$ flex-builder -i mkrfs -r ubuntu:tiny -a <arch> (as per additional_packages_list_tiny with less
packages for Ubuntu rootfs)
$ flex-builder -i mkrfs -r ubuntu -a <arch> -B <custom_packages_list>
Optionally, if you do not want to use default Ubuntu userland in certain use cases, you can generate Debian, CentOS or buildroot-
based tiny userland by following instruction by Flexbuild, for examples:
$ flex-builder -i mkrfs -r debian:tiny:stretch -a arm64 (generate arm64 tiny Debian stretch rootfs as
per configs/ubuntu/additional_packages_list_tiny)
$ flex-builder -i mkrfs -r centos -a arm64 (generate arm64 LE CentOS rootfs as per configs/
centos/distro.cfg)
$ flex-builder -i mkrfs -r buildroot:tiny -a arm64 (generate arm64 LE buildroot userland as per
qoriq_arm64_tiny_defconfig)
$ flex-builder -i mkrfs -r buildroot:moderate -a arm64 (generate arm64 LE buildroot userland as per
qoriq_arm64_moderate_defconfig)
$ flex-builder -i mkrfs -r buildroot:custom -a arm64 (generate arm64 LE buildroot userland as per
custom qoriq_arm64_moderate_defconfig)
$ flex-builder -i mkrfs -r buildroot:custom -a arm64:be (generate arm64 big-endian buildroot userland
with custom qoriq_arm64_moderate_defconfig)
$ flex-builder -i mkrfs -r buildroot:imaevm -a arm64 (generate arm64 LE initramfs userland with
qoriq_arm64_imaevm_defconfig used for secure boot with IMA EVM)
To install a new package to build/rfs/rootfs_ubuntu_bionic_LS_arm64 filesystem, run the following commands:
$ sudo chroot build/rfs/rootfs_ubunutu_bionic_LS_arm64
$ apt-get install <new_package_name>
# exit
How to add a new custom machine based on LS1028A BSP release in flexbuild
Assumption: Adding a new custom machine named LS1043AXX based on LS1043A SoC
1. Run flex-builder -i repo-fetch to fetch all git repositories of LS1028A BSP components for the first time
2. Add new machine support in U-Boot and ATF, example:
$ cd packages/firmware/u-boot
$ git checkout LSDK-18.12 -b LSDK-18.12-LS1043AXX
Add necessary U-Boot patches in U-boot tree and commit the patches in this branch for new machine. Add necessary ATF
patches in ATF tree and commit the patches in this branch for new machine. Assume that you have added packages/
firmware/u-boot/configs/ls1043axx_tfa_defconfig and added CONFIG_MACHINE_LS1043AXX=y in configs/
build_lsdk.cfg, then run commands below to build TF-A image based on U-Boot for SD boot on LS1043AXX
$ cd packages/firmware/atf
$ git checkout LSDK-18.12 -b LSDK-18.12-LS1043AXX
$ flex-builder -c atf -m ls1043axx -b sd
LS1028A BSP user guide
Layerscape LS1028A BSP User Guide, Rev. 0.3, 04/2019
28
NXP Semiconductors
Summary of Contents for Layerscape LS1028A BSP
Page 135: ......