114 Commits

Author SHA1 Message Date
Jeremy Soller
ef56bc8925 scripts/generate: Fix use of wrong Rust toolchain 2022-05-16 12:40:59 -07:00
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Jeremy Soller
93c2809b7d Add realtek-coeffs script 2021-07-20 16:32:32 -06:00
Tim Crawford
d7813dae8e Add missing ccache/xxd deps 2021-05-14 12:48:48 -06:00
Tim Crawford
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
Tim Crawford
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
Jeremy Soller
4328777136 Fixes for python 3.9 2021-05-12 11:11:25 -06:00
Tim Crawford
971416091d scripts: Use PAD_CFG_GPO if there is no pull 2021-04-15 11:56:23 -06:00
Tim Crawford
adce54fe9a scripts: Remove extra indent when generating coreboot GPIO data 2021-04-05 13:06:00 -06:00
Aram Hamo
dd78a6ce5c
Update deps.sh to support Arch 2021-03-27 10:38:42 -06:00
Tim Crawford
c6ea487b77 Add Python script to produce the dt values 2021-03-18 08:01:52 -06:00
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Jeremy Soller
83b35f6870
Revert "scripts: Check coreboot config is correct"
This reverts commit af5041f90befc28d8d99efa052d5823b2b1833c6.
2021-02-26 15:28:05 -07:00
Tim Crawford
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
Tim Crawford
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
Tim Crawford
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
Neal Gompa
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
Tim Crawford
8bfc769028 Extract GOP driver when generating new model 2021-01-26 10:21:07 -07:00
Tim Crawford
85a3921c1c Add script to use UEFIExtract
This avoids having to build UEFITool manually, which requires qt5.
2021-01-26 10:21:07 -07:00
Tim Crawford
aeb83e33f6 Add deps for building UEFITool
Include qt5 and CMake for building UEFITool/UEFIExtract.
2021-01-26 10:21:07 -07:00
Jeremy Soller
d70b7856bb Support edk2.config file 2021-01-19 15:41:51 -07:00
Jeremy Soller
c3c51af172 scripts/coreboot-gpio.sh: Support TGL-U GPIOs 2021-01-19 15:41:51 -07:00
Jeremy Soller
bb877392e2 scripts/generate.sh: Do not require firmware.rom 2021-01-19 15:41:51 -07:00
Jeremy Soller
ad2d818403
Schematics require verification of purchase 2021-01-06 08:35:42 -07:00
Tim Crawford
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
Tim Crawford
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
Fabian Topfstedt
3df8580f37 adding systemd-devel (which provides libudev-devel) for Fedora/RedHat 2020-10-19 13:32:32 -06:00
Fabian Topfstedt
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
Tim Crawford
e5abb6529b Update rust-toolchain to 2020-07-27 2020-10-19 13:32:03 -06:00
Jeremy Soller
48ffaf156b Update submodules and configs 2020-09-15 08:15:23 -06:00
Tim Crawford
ed505602ec Don't attempt to flash EC if not on 76ec 2020-09-15 08:13:26 -06:00
Tim Crawford
6c8d87381a scripts: Copy the VBT ROM if found 2020-08-31 11:19:27 -06:00
Tim Crawford
f7d4ab2908 scripts: Update 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
2020-08-31 11:19:27 -06:00
Jeremy Soller
012ac55b69 bonw14 2020-08-13 13:00:47 -06:00
Tim Crawford
697615be23 scripts: Generate coreboot file as hda_verb.c
coreboot has not used the name hda{,_verb}.h for some time. Reduce the
changes needed when adding this file to the coreboot tree.
2020-08-03 10:00:38 -06:00
Tim Crawford
bc1a6ca25b scripts: Add script to automate new board bringup 2020-07-22 09:40:37 -06:00
Tim Crawford
c27d87e02d scripts: Update coreboot generated headers
- Replace license block with SPDX id
- Remove copyright notice, which coreboot tracks in AUTHORS
2020-07-22 09:40:37 -06:00
Jeremy Soller
48bf9dcfce
coreboot ec-acpi (#106)
* Add script for updating coreboot config

* Update coreboot and coreboot config

* Update coreboot and configs

* Pass board and version when running make clean in ec

* Add addw2 chip.txt

* Update coreboot

* Update coreboot
2020-07-18 13:49:56 -06:00
Jeremy Soller
62130a2160
Always copy uecflash.efi if it exists 2020-07-17 09:17:43 -06:00