Some coreboot submodules have their update strategy set to "none". They
will not be cloned/updated unless `--checkout` is specified.
Fixes building after cloning firmware-open and running `deps.sh`.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
This makes `dep.sh` usable from CI. Also update the package lists before
installing on debian/ubuntu.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
The trick of using `show` to install components requires a default
toolchain be set. Assume users with Rust installed already have one set,
and use stable for new installs.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Front load building the toolchain binaries when installing deps instead
of during the first board build.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Ensure rustup is up-to-date to avoid users having a version that is too
old to support the TOML format.
If rustup was just installed, tell the user to source the new env vars
to use the correct version of the toolchain.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
coreboot requires python2 explicitly when using the FSP submodule as the
source for FSP binaries.
python2 3rdparty/fsp/Tools/SplitFspBin.py ...
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Install `python-is-python3` to provide the `/usr/bin/python` symlink.
Fixes installing dependencies on Pop!_OS 21.10.
Signed-off-by: Tim Crawford <tcrawford@system76.com>
rustup 1.23.0 (2020-11-27) introduced support for TOML syntax for the
toolchain file. Use this and specify required compoenents.
To ensure you are using a new enough rustup, run:
rustup self update
Fedora has apt packaged, which causes this script to do the wrong
thing if it is installed. Instead of checking for the package manager
binary, use os-release(5) data to select the correct package manager
to use.
My build failed on a Pop!_OS-Live-Stick until I installed `libudev-dev`. I don't remember if it was the firmware-open or the ec build that failed, but ec references deps.sh.
- Clone submodules when installing deps
- Install coreboot commit hook with deps
- Add some missing dependencies
- AVR tools are required for EC development
- flashrom for external flashing of SPI flash ROM
- ncurses is used for coreboot menuconfig
- parted is used by firmware apps for creating a bootable image