diff --git a/README-before-1.7.md b/README-before-1.7.md new file mode 100644 index 0000000..41c6565 --- /dev/null +++ b/README-before-1.7.md @@ -0,0 +1,89 @@ +# SOF Firmware and Topology Binaries + +This is the living area and distribution channel for SOF firmware and topology +binaries. It's still very much WiP and may churn a little until things +settle down. + +This repo will be frequently rebased in order to keep the size small and is +intended for packagers, release engineers, testers and devlopers. + +The intention is to store all pre-compiled (and signed if neccesary) firmware +binaries and pre-compiled topologies for snapshot, stable and LTS releases. + +# Installation + +The latest SOF release is version 1.7 and is available here. If you want to +install this manually instead of from your distribution then please follow +these instructions + +``` +git clone https://github.com/thesofproject/sof-bin.git +cd sof-bin +git checkout v1.7 -b local/v1.7 +sudo ./go.sh +``` + +alternatively zip and tar files are available to download. + +https://github.com/thesofproject/sof-bin/releases/tag/v1.7 + +These files can be uncompressed and the go.sh can be executed as above. + +At this point please the firmware, topologies are all installed +and available to be used. + +You may need to tell the SOF kernel driver about the new firmware and +this ca be done by unloading and reloading the modules as follows. + +``` +sudo modprobe -r snd_sof_pci +sudo modprobe snd_sof_pci +``` +or + +``` +sudo modprobe -r snd_sof_acpi +sudo modprobe snd_sof_acpi +``` + +If above does not work then rebooting your device will also reload the +SOF driver. + +# Repository Layout + +There are four types of SOF releases. + +1) stable - fully validated release with updates for 6 months. Deleted 3 months + after updates end. + +2) LTS - fully validated release with updates for 2 years. Deleted 3 months + after updates end. + +3) nightly - unvalidated (may not even boot) high frequency release. Deleted + immediately upon release of next nightly. Signed with public key + if necessary. + +4) snapshot vendor - unvalidated (may not even boot) high frequency release. + Deleted immediately upon release of next vendor snapshot. Signed + with vendor key - less frequent than nightly. + +The repository will have a tag for each release e.g. latest vendor snapshots, +nightlies and stable releases. + +``` +main ------+---> v1.4.2 + | + +---> v1.5.4 + | + +---> v1.6.1 + | + +---> v18032020-intel + | + +---> v02032020 + | + +---> lts-20.10 +``` + +It's possible due to release cadence to have several stable branches in the +repository. + diff --git a/README.md b/README.md index 41c6565..a010f14 100644 --- a/README.md +++ b/README.md @@ -1,89 +1,31 @@ -# SOF Firmware and Topology Binaries - -This is the living area and distribution channel for SOF firmware and topology -binaries. It's still very much WiP and may churn a little until things -settle down. - -This repo will be frequently rebased in order to keep the size small and is -intended for packagers, release engineers, testers and devlopers. - -The intention is to store all pre-compiled (and signed if neccesary) firmware -binaries and pre-compiled topologies for snapshot, stable and LTS releases. - -# Installation - -The latest SOF release is version 1.7 and is available here. If you want to -install this manually instead of from your distribution then please follow -these instructions +Starting from v1.7 the installation process has been simplified and +the go.sh script is not used anymore. Instead: ``` -git clone https://github.com/thesofproject/sof-bin.git -cd sof-bin -git checkout v1.7 -b local/v1.7 -sudo ./go.sh +sudo mv /lib/firmware/intel/sof* some_backup_location/ +sudo mv /usr/local/bin/sof-* some_backup_location/ # optional +sudo install.sh v1.7 ``` -alternatively zip and tar files are available to download. +The go.sh script still applies to older releases. -https://github.com/thesofproject/sof-bin/releases/tag/v1.7 - -These files can be uncompressed and the go.sh can be executed as above. - -At this point please the firmware, topologies are all installed -and available to be used. - -You may need to tell the SOF kernel driver about the new firmware and -this ca be done by unloading and reloading the modules as follows. +You don't have to use install.sh, you can use any recursive copy of +your preference. This is all what install.sh does: ``` -sudo modprobe -r snd_sof_pci -sudo modprobe snd_sof_pci +rsync -a sof*v1.7 /lib/firmware/intel/ +ln -s sof-v1.7 /lib/firmware/intel/sof +ln -s sof-tplg-v1.7 /lib/firmware/intel/sof-tplg +rsync tools-v1.7/* /usr/local/bin ``` -or -``` -sudo modprobe -r snd_sof_acpi -sudo modprobe snd_sof_acpi -``` - -If above does not work then rebooting your device will also reload the -SOF driver. - -# Repository Layout - -There are four types of SOF releases. - -1) stable - fully validated release with updates for 6 months. Deleted 3 months - after updates end. - -2) LTS - fully validated release with updates for 2 years. Deleted 3 months - after updates end. - -3) nightly - unvalidated (may not even boot) high frequency release. Deleted - immediately upon release of next nightly. Signed with public key - if necessary. - -4) snapshot vendor - unvalidated (may not even boot) high frequency release. - Deleted immediately upon release of next vendor snapshot. Signed - with vendor key - less frequent than nightly. - -The repository will have a tag for each release e.g. latest vendor snapshots, -nightlies and stable releases. +If you don't want the symbolic links: ``` -main ------+---> v1.4.2 - | - +---> v1.5.4 - | - +---> v1.6.1 - | - +---> v18032020-intel - | - +---> v02032020 - | - +---> lts-20.10 +rsync -a sof-v1.7/ /lib/firmware/intel/sof/ +rsync -a sof-tplg-v1.7/ /lib/firmware/intel/sof-tplg/ +rsync tools-v1.7/ /usr/local/bin/ ``` -It's possible due to release cadence to have several stable branches in the -repository. - +Remember that for rsync (and some versions of `cp`), a trailing slash in +srcdir/ is rougly equivalent to srcdir/* diff --git a/install.sh b/install.sh new file mode 100755 index 0000000..6167554 --- /dev/null +++ b/install.sh @@ -0,0 +1,48 @@ +#!/bin/sh + +set -e + +# Default values, override on the command line +: "${FW_DEST:=/lib/firmware/intel}" +: "${TOOLS_DEST:=/usr/local/bin}" + +usage() +{ + cat <&2 printf '%s ERROR: ' "$0" + # We want die() to be usable exactly like printf + # shellcheck disable=SC2059 + >&2 printf "$@" + exit 1 +} + +main "$@" diff --git a/tools-v1.7/sof-ctl b/tools-v1.7/sof-ctl old mode 100644 new mode 100755 diff --git a/tools-v1.7/sof-fuzzer b/tools-v1.7/sof-fuzzer old mode 100644 new mode 100755 diff --git a/tools-v1.7/sof-logger b/tools-v1.7/sof-logger old mode 100644 new mode 100755 diff --git a/tools-v1.7/sof-probes b/tools-v1.7/sof-probes old mode 100644 new mode 100755