mirror of https://github.com/thesofproject/sof.git
9d7c33adc3
Every Linux developer should use deployable builds by default. Until Peter Ujfalusi's very recent work in this script, we had a complete `/lib/firmware/` structure disconnect between the IPC4 output of this script and the IPC4 expectations of the Linux kernel. To workaround this disconnect, every CI and Linux developer used to implement duplicate and inconsistent firmware deployment hacks. People crafting sof-bin releases also had to organize IPC4 releases manually, which was extremely error-prone and with limited test coverage (Thanks Kai and Mengdong!) Now that Peter gracefully fixed the layout, documented it in sof-docs and implemented it in this script, the time for all Linux developers to drop their inconsistent deployment hacks is overdue. All these hacks must be replaced with a simple, one-line recursive copy which makes sure the layout committed in version control is constantly tested by everyone. So, make deployable builds the new default. The new default will also help with sof-bin releases, making sure they use a well tested /lib/firmware/ layout. The --no-deployable-build was recently introduced to help minimize disruption and migration effort for people and automation who do NOT use Linux. The `/lib/firmware/` directory structure is irrelevant outside Linux (but everyone is of course free to choose it) Signed-off-by: Marc Herbert <marc.herbert@intel.com> |
||
---|---|---|
.. | ||
cmake | ||
docker_build | ||
kconfig | ||
scan | ||
README.docker | ||
build-tools.sh | ||
checkpatch.pl | ||
const_structs.checkpatch | ||
docker-qemu.sh | ||
docker-run.sh | ||
fuzz.sh | ||
gen-doc.sh | ||
host-testbench.sh | ||
llext_link_helper.py | ||
parse_sparse_output.sh | ||
qemu-check.sh | ||
rebuild-testbench.sh | ||
run-mocks.sh | ||
set_xtensa_params.sh | ||
sof-post-commit-hook.sh | ||
sof-pre-commit-hook.sh | ||
sof-target-install.sh | ||
sof_fw.kb | ||
spelling.txt | ||
sudo-cwd.sh | ||
test-repro-build.sh | ||
xtensa-build-all.sh | ||
xtensa-build-zephyr.py |
README.docker
The docker container provided in docker_build sets up a build environment for building Sound Open Firmware. A working docker installation is needed to run the docker build container. Note: In order to run docker as non sudo/root user please run. sudo usermod -aG docker your-user-name Then logout and login again. Quick Start: First, build the docker container. This step needs to be done initially and when the toolchain or alsa dependencies are updated. cd scripts/docker_build ./docker-build.sh After the container is built, it can be used to run the scripts. To build for tigerlake: ./scripts/docker-run.sh ./scripts/xtensa-build-all.sh -l tgl or (may need password test0000 for rimage install) ./scripts/docker-run.sh ./scripts/xtensa-build-all.sh tgl To rebuild the topology and logger: ./scripts/docker-run.sh ./scripts/build-tools.sh An incremental sof.git build: ./scripts/docker-run.sh make Or enter a shell: ./scripts/docker-run.sh bash