sof/scripts
Marc Herbert a5899812b7 version.cmake: don't trust CI to record time and versions and log ourselves
In an ideal world, every CI engine records and shares the most important
CI information:
- current date and time in a well identified timezone
- git version of the pull request
- git version of the moving branch the PR is being merged with

In the real world we have multiple CI solutions and they unfortunately
cannot not all be trusted to perform their most basic job
correctly. Fortunately, they all make at least build logs available so
these very few lines of code adding very few lines of output cost near
zero extra build time and solve the problem once for all. I feel stupid
I didn't do this sooner, this would have saved me hours and hours in
vain requests and discussions and in trying to puzzle that information
together.

Sample output:

-- Preparing Xtensa toolchain
version.cmake starting SOF build at 2021-03-31T18:09:46Z UTC
Building git commit with parent(s):
150fd1e4c968 4249bdb1b305 [other parent if merge] (HEAD -> main) cmake: ...
-- GIT_TAG / GIT_LOG_HASH : v1.7-rc1-174-g150fd1e4c968-dirty / 150fd1e4c968

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-04-01 16:39:20 +01:00
..
cmake version.cmake: don't trust CI to record time and versions and log ourselves 2021-04-01 16:39:20 +01:00
docker_build docker: apt-get install python3-elftools 2021-03-31 15:19:14 +01:00
kconfig license: use spdx identifier in python files 2019-06-02 16:38:17 +01:00
scan script: clang scan-build for xtensa 2020-03-04 11:02:56 +01:00
README.docker scripts: remove all soft related stuff 2019-01-10 15:10:10 +00:00
build-tools.sh topology/cmake: add missing .m4 dependency, fixes incremental build 2021-03-26 14:51:33 +00:00
checkpatch.pl check patch: ABI warning only once per file, not once per line 2020-07-10 15:48:57 +01:00
const_structs.checkpatch dai: supply caps and other info from within drivers 2019-05-03 03:14:43 -07:00
docker-qemu.sh license: use spdx identifier in shell scripts 2019-06-02 16:38:17 +01:00
docker-run.sh docker-run.sh: use --tty only when we have one 2021-01-22 13:42:03 +00:00
gen-doc.sh gen-doc.sh: Use getopts for parsing arguments 2020-03-31 15:10:34 +01:00
host-build-all.sh host-build-all.sh: print deprecation warning 2020-09-01 10:42:56 +01:00
host-testbench.sh host-testbench.sh: update comment for testbench building 2020-11-09 22:08:30 +00:00
qemu-check.sh qemu-check.sh: restore error messages when test fails 2020-06-30 11:30:19 +01:00
rebuild-testbench.sh scripts: replace "make" with "cmake --build" 2021-01-18 16:11:46 +00:00
sof-post-commit-hook.sh checkpatch: --ignore C99_COMMENT_TOLERANCE 2021-03-31 16:26:03 +01:00
sof-pre-commit-hook.sh license: use spdx identifier in shell scripts 2019-06-02 16:38:17 +01:00
sof-target-install.sh license: use spdx identifier in shell scripts 2019-06-02 16:38:17 +01:00
sof_fw.kb ci: klocwork: add example config file to avoid FPs 2019-02-22 12:16:05 +01:00
spelling.txt sof: add git pre- and post-commit hooks 2018-01-23 21:08:05 +00:00
xtensa-build-all.sh scripts: xtensa_build_all: Fix configuration names for i.MX 2021-03-22 20:24:49 +02:00

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 baytrail:
./scripts/docker-run.sh ./scripts/xtensa-build-all.sh -l byt
or (may need password test0000 for rimage install)
./scripts/docker-run.sh ./scripts/xtensa-build-all.sh byt

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