mirror of https://github.com/thesofproject/sof.git
1adb1e45d3
The default firmware file path is standardized among vendors as follows: IPC3 /lib/firmware/VENDOR/sof/ ├── community │ └── sof-PLAT.ri ├── dbgkey │ └── sof-PLAT.ri └── sof-PLAT.ri IPC4 /lib/firmware/VENDOR/sof-ipc4/ └── PLAT ├── community │ └── sof-PLAT.ri ├── dbgkey │ └── sof-PLAT.ri └── sof-PLAT.ri\n Currently the binaries created by the build can only be used for direct deployment on IPC3 platforms but if one builds different vendor firmwares the files have to be manually picked and sorted out. We have two flags: --fw-naming and --use-platform-subdir which can be played with but still not going to produce deployable build. Introduce a new flag: --deployable-build With the flag specified all other modificators are going to be ignored and the build will do the 'right thing' to create a directory structure which can be deployed as it is to the target's firmware directory. To achieve this several changes needed: PlatformConfig: - drop the name member and replace it with a vendor string - add a flag to indicate IPC4 platforms Later a new option can be added if needed for platforms which can be IPC3 or IPC4 Ignore fw-naming and use-platform-subdir in case of deployable build. The options will be reset to their default in case they are changed. symlink_or_copy extended to handle relative symlinks when the target and link is not under the same directory. The --deployable-build is disabled by default, it has to be enabled to create deployable build for now. Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.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 | ||
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