The standalone workflow lets you compile, test, and deploy kernel changes without
building the full Yocto image. All required cross-compilation and image-packaging
tools are bundled in the kmake-image Docker container.
The standalone workflow builds and packages the kernel and modules only. It does
not produce a root file system. To build or modify out-of-tree kernel modules that
depend on the full Yocto BSP, use the Yocto-based workflow instead.
Toolchain: the kmake-image Docker image provides an aarch64 cross-toolchain,
systemd ukify, and image-packaging scripts. No host toolchain installation is needed.
DTB packaging: when building standalone, you must package the DTB manually
using a static ITS configuration from the
qcom-dtb-metadata repository.
The Yocto build handles this automatically via meta-qcom.
Source revision: to match the exact source used in a release build, check the
SRCREV field in meta-qcom/recipes-kernel/linux/linux-qcom_6.18.bb.
Get DTB metadataWhen building standalone, DTBs must be packaged manually using a static ITS
configuration. Clone the qcom-dtb-metadata repository to get the required
qcom-metadata.dts and qcom-next-fitimage.its files:
Above build and package steps are wrapped under a build.sh script which is
part of docker, to automate building and packaging a bootable kernel image into
efi.bin, dtb.bin, and boot.img.To use this alternative build.sh script run following:
The âdtb argument is mandatory. It specifies the Device Tree Blob to be
packed into the kernel image. Above command shows using qcs6490-rb3gen2.dtb
as an example.
Initialize CMDLINE to set your kernel cmdline parameter else a default
generic is used.