Commit Graph

124 Commits

Author SHA1 Message Date
a308d84632 modeltool: Update edition, deps
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-04-03 13:23:12 -06:00
6562cf213d coreboot: Rebase on 4.19
Rebase on coreboot/coreboot@decbf7b4d9.

The following boards have been upstreamed:

- darp8
- galp6

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2023-02-10 15:45:26 -07:00
87b0a4903c scripts: Build crossgcc with multiple cores
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-09-01 16:23:31 -06:00
161895da77 scripts: Install deps without confirmation
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>
2022-08-29 12:55:07 -06:00
7160b01929 scripts: Install Rust with stable toolchain
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>
2022-08-29 10:10:34 -06:00
9754d7d8a9 scripts: Drop some unneeded deps
- coreboot no longer requires Python 2 for the FSP
- nasm is provided by the coreboot toolchain

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-08-29 10:10:34 -06:00
f311c8b10f scripts: Build coreboot toolchain as part of deps
Front load building the toolchain binaries when installing deps instead
of during the first board build.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-08-29 10:10:34 -06:00
42814e6e5c scripts: Build edk2 using coreboot toolchain
Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-08-29 10:10:34 -06:00
584bc40189 Set spipi to new name instead of IP address
Improved config script so the spipi config file doesn't have
to be updated with the IP address of the raspberry pi.
2022-07-27 12:20:29 -06:00
4aa8a81be1 deps: Call EC deps script
Remove EC-specific dependencies and call the EC script to install them
instead.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-05-25 13:10:29 -06:00
ef56bc8925 scripts/generate: Fix use of wrong Rust toolchain 2022-05-16 12:40:59 -07:00
05577baab2 qemu: Enable KVM
Fixes performance issues when running a QEMU VM.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-03-10 10:14:09 -07:00
cf7fc2c540 scripts: Update rustup or inform user of env vars
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>
2022-02-28 16:00:54 -07:00
9e09461c65 scripts: Change QEMU binary name
`kvm` is a symlink to the `qemu-system-x86_64`. Use this name instead so
the script can be used on other distros without modification.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-02-28 16:00:54 -07:00
239e2cbaed build.sh: Set git-describe length
Specify `abbrev` to ensure the length of the commit hash is always the
same, in case `core.abbrev` is set or the default changes.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2022-01-18 11:57:12 -07:00
dbe7213ecf Remove top-level README.md.in
- The generated "Contents" section isn't useful
- Non-standard, causing confusion on how to update README.md
- It's already out of sync

Remove galp3-c and darp5, as we never released the firmware due to
issues with the touchpad and keyboard. Add gaze16-3060-b variant.

Make "Schematics" a subsection of "Supported models".

Remove directory from list of paths to update in `scripts/readmes.sh`.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-12-21 13:11:09 -07:00
3e4688fcbc Remove libs/smmstore
Replace the stand-alone smmstore app in favor of the read example in
firmware-smmstore.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-12-21 13:11:09 -07:00
ffdceb5f0b Update Rust toolchain to 2021-06-15
Update the toolchain to the version used by Redox.

Update a lot of the submodules, which have been updated to build on the
new toolchain.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-12-21 13:11:09 -07:00
fa98ecae1f edk2: Rebase on edk2-stable202108
Set options in edk2.config for each board.

PCIE_BASE is no longer an edk2 option. The value is expected to be in
AcpiBoardInfo HOB, generated from the bootloader's ACPI table.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
2021-12-21 13:11:09 -07:00
de3b0a65fa scripts: Add Python2 to deps
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>
2021-10-04 08:13:40 -06:00
06576f7fc1 scripts: Update pkg for python symlink
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>
2021-09-17 14:46:49 -06:00
93c2809b7d Add realtek-coeffs script 2021-07-20 16:32:32 -06:00
d7813dae8e Add missing ccache/xxd deps 2021-05-14 12:48:48 -06:00
2f1069d381 Clean up Arch deps
- Sort deps
- Remove duplicates
- Replace libgudev with systemd-libs for `libudev.so`
2021-05-14 12:48:48 -06:00
bc684170d0 Drop qt5 as a dep
It is only needed for building UEFITool/UEFIExtract, but cmake can just
be used by itself for that.
2021-05-14 12:48:48 -06:00
4328777136 Fixes for python 3.9 2021-05-12 11:11:25 -06:00
971416091d scripts: Use PAD_CFG_GPO if there is no pull 2021-04-15 11:56:23 -06:00
adce54fe9a scripts: Remove extra indent when generating coreboot GPIO data 2021-04-05 13:06:00 -06:00
dd78a6ce5c Update deps.sh to support Arch 2021-03-27 10:38:42 -06:00
c6ea487b77 Add Python script to produce the dt values 2021-03-18 08:01:52 -06:00
0a98ce8c93 scripts: Check coreboot config is correct
If a board in models/ does not exist in coreboot, coreboot will emit a
warning and select the first available board for the vendor instead.

This may result in building and being able to flash coreboot with an
addw1 configuration on another board.
2021-03-15 10:12:23 -06:00
7d6a15e63c Convert toolchain file to TOML syntax
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
2021-03-15 10:10:03 -06:00
99e0b46092 Fix building on Debian
Debian does not export /usr/bin in PATH for users like every other
distro so builds fail to find mkfs and parted.
2021-03-05 11:29:53 -07:00
83b35f6870 Revert "scripts: Check coreboot config is correct"
This reverts commit af5041f90b.
2021-02-26 15:28:05 -07:00
af5041f90b scripts: Check coreboot config is correct
If a board in models/ does not exist in coreboot, coreboot will emit a
warning and select the first available board for the vendor instead.

This may result in building and being able to flash coreboot with an
addw1 configuration on another board.
2021-02-26 12:43:29 -07:00
541f4f3f13 deps: Skip installing Rust if rustup is available
Saves time and prevents errors with trying to install rustup twice or
potentially overriding the user's default toolchain.
2021-02-22 15:43:29 -07:00
07dfef8cb9 scripts: Fix installing deps
- Remove extra `then` to fix running this script
- Update messages for system dependencies
- Add `--progress` for submodule clones, which can get slow
2021-02-22 15:16:03 -07:00
7a7bc80b8f scripts/deps.sh: Use os-release(5) to select correct package manager
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.
2021-02-22 08:30:22 -07:00
8bfc769028 Extract GOP driver when generating new model 2021-01-26 10:21:07 -07:00
85a3921c1c Add script to use UEFIExtract
This avoids having to build UEFITool manually, which requires qt5.
2021-01-26 10:21:07 -07:00
aeb83e33f6 Add deps for building UEFITool
Include qt5 and CMake for building UEFITool/UEFIExtract.
2021-01-26 10:21:07 -07:00
d70b7856bb Support edk2.config file 2021-01-19 15:41:51 -07:00
c3c51af172 scripts/coreboot-gpio.sh: Support TGL-U GPIOs 2021-01-19 15:41:51 -07:00
bb877392e2 scripts/generate.sh: Do not require firmware.rom 2021-01-19 15:41:51 -07:00
ad2d818403 Schematics require verification of purchase 2021-01-06 08:35:42 -07:00
837060b28d Remove now unneeded reconfig script
With .config generated at build time, there is no need to keep this
script.
2020-12-14 15:07:14 -07:00
ff0a27ad9c Use defconfig to generate .config
Use minimal set of config selections and let coreboot generate the
default values for the rest of them.

The only differences are the following models selecting
CONFIG_CPU_MICROCODE_CBFS_DEFAULT_BINS instead of *_EXTERNAL_BINS:

- darp5
- darp6
- galp3-c
- galp4
- lemp9
2020-12-14 15:07:14 -07:00
3df8580f37 adding systemd-devel (which provides libudev-devel) for Fedora/RedHat 2020-10-19 13:32:32 -06:00
e00d08af3b Added libudev-dev for Pop!_OS
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.
2020-10-19 13:32:32 -06:00
e5abb6529b Update rust-toolchain to 2020-07-27 2020-10-19 13:32:03 -06:00