sof/scripts
Marc Herbert 33c5f5d38e xtensa-build-zephyr: do not clone a second version of sof.git
This script lives in a sof.git/ clone yet it was systematically cloning
a second sof.git/. Besides the obvious confusion and risk of editing the
wrong files, this meant it was not possible to build code that has not
been merged yet! This was a problem for both CI and developers. Fixed by
using symbolic links to ourselves instead.

Note it is _still_ possible to build from another sof.git clone if
desired, however this script will never git re-clone a second sof.git
itself, that second clone has to be created (e.g.: by west) before this
script runs.

When cloning a brand new zephyrproject, use a shallow zephyr clone and
download only the two zephyr modules we actually use. This speeds up
automation considerably and makes it much faster for non-Zephyr
developers to reproduce Zephyr issues. Developers can always git
unshallow and west update once if they want to.

Rename the default west top to "zephyrproject" to not just match the
zephyr documentation but to also avoid creating a double zephyr/zephyr/
directory.

See the new print_usage() for a few more implementation details.

Signed-off-by: Marc Herbert <marc.herbert@intel.com>
2021-04-30 11:12:29 +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
run-mocks.sh cmocka: add support to run mocks on host architecture 2021-04-20 15:35:18 +01: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 xtensa-build-all.sh: replace "type xtensa-bxt-elf-gcc" with "command -v" 2021-04-30 11:11:22 +01:00
xtensa-build-zephyr.sh xtensa-build-zephyr: do not clone a second version of sof.git 2021-04-30 11:12:29 +01: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