Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The big one #260

Merged
merged 11 commits into from
Dec 21, 2021
Merged

The big one #260

merged 11 commits into from
Dec 21, 2021

Conversation

crawfxrd
Copy link
Member

@crawfxrd crawfxrd commented Oct 23, 2021

Relevant issues

This change has the potential to affect most reported issues.

Resolves:

May address:

Unblocks:

Introduces:

  • edk2 exception when booting signed binary

TODO

@crawfxrd crawfxrd force-pushed the the-big-one branch 2 times, most recently from dd58cbb to 57777f4 Compare October 24, 2021 03:45
@crawfxrd crawfxrd force-pushed the the-big-one branch 8 times, most recently from e3ec86b to afdb677 Compare October 27, 2021 03:08
@crawfxrd
Copy link
Member Author

It seems edk2 fails if the build cache is present and file paths change in the INFs. We should have Jenkins delete Build/ once before attempting to build all the models.

Remove 2021-09-29 section, as the change was released in 2021-09-30.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
Document the new CMOS option for enabling/disabling the IME.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
Document that only UEFI booting is supported, the current status of
Secure Boot, and that the shell and networking are disabled.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
All the laptops contain a TPM 2.0 chip. Enable the measured boot
security feature by default.

Link: https://doc.coreboot.org/security/vboot/measured_boot.html
Signed-off-by: Tim Crawford <tcrawford@system76.com>
Use the date of this commit as the release date.

Signed-off-by: Tim Crawford <tcrawford@system76.com>
@crawfxrd
Copy link
Member Author

Updated the coreboot submodules to use absolute paths. Fresh checkouts will work now.

Copy link
Member

@jacobgkau jacobgkau left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

78c1dfd builds and flashes on oryp8. Approving so we can merge this; full regression testing will be done on each model before the updates are released through the firmware updater.

@crawfxrd crawfxrd merged commit d38ec4e into master Dec 21, 2021
@crawfxrd crawfxrd mentioned this pull request Dec 21, 2021
@crawfxrd crawfxrd deleted the the-big-one branch December 21, 2021 20:22
@ZeddieXX
Copy link

ZeddieXX commented Jan 5, 2022

Does this mean everything is fixed now? Can I update my firmware through the normal way it do I still need to clone this and compile?

If I still need to compile, what are the steps to clone, compile, and flash? Again I'm not a dev so I'll need step by step instructions.

Thanks!

@nkalkhof
Copy link

nkalkhof commented Jan 5, 2022

S76 support told me that there is no ETA for this new coreboot release so I compiled and flashed coreboot from system76 main branch approx two weeks ago on my lemp10 omitting the EC since I have an altered fan table. Had to unplug my CMOS battery to clear after flashing. After that everything seems to work including TBT4 and IME toggle.
Howevwer if you follow the latest issues it becomes clear that there the current codebase is still a litte rough around the edges. So if you are not in a hurry I'd recommend to wait. If you cannot wait there is a pretty straight forward documentation on how to proceed https://github.com/system76/firmware-open.

@ZeddieXX
Copy link

ZeddieXX commented Jan 5, 2022

Thanks. Is there a list of issues left? I want to see if it will affect my use case before I compile and flash. Right now I haven't really been able to use my GALP5 because of the current issues of the boot entries being deleted every cold boot. I just left it on and using it as a "server". I would love to use it as a laptop again.

So wondering if the rough edges are still better than what I have now.

Thanks.

@jacobgkau
Copy link
Member

@ZeddieXX The list of known issues would be the repo's issue list: https://github.com/system76/firmware-open/issues

There may be further issues that are yet unknown, which is why the update hasn't been pushed out to all models yet.

We are very close to releasing the update on lemp10-- #269 was a last-minute showstopper. oryp8 is having some NVIDIA-related issues, and while galp5 NVIDIA doesn't appear to be affected, I'm not sure if the changes to oryp8 will result in changes to galp5 as well.

If you don't want to wait for the update to be tested and released, you are welcome to just flash and try it yourself. If you want other people to try it for you first, then you'll have to wait for that to happen. The commands to build and flash are the same ones I provided earlier in this PR:

git clone https://github.com/system76/firmware-open
cd firmware-open
./scripts/update.sh
./scripts/deps.sh
./scripts/build.sh galp5
./scripts/flash.sh galp5

The only difference is not checking out any branch since this branch has now been merged.

@jacobgkau jacobgkau mentioned this pull request Jan 5, 2022
@ethuleau
Copy link

ethuleau commented Jan 6, 2022

Hi @nkalkhof, why and how did you altered your lemp10 fan table? Did you do that to be smoother?

@nkalkhof
Copy link

nkalkhof commented Jan 6, 2022

Hi @nkalkhof, why and how did you altered your lemp10 fan table? Did you do that to be smoother?

The fan curve is badly adjusted on the lemp10 in the 60-70°C range IMHO. I've adjusted the fan curve to let the fan kick in as soon as the package temperature trips 60°C. The fan then runs at very quiet ~2500RPM until the temperature drops below 55°C. This helps to keep the temperatures and the suddenly occuring fan noise in check. I still have some hope that S76 will offer a userspace adjustable option sometime in the future wink.

These are my changes (lemp10):
Add
CFLAGS+=-DBOARD_HEATUP=5 CFLAGS+=-DBOARD_COOLDOWN=20 CFLAGS+=-DBOARD_FAN_POINTS="
FAN_POINT(60, 30),
FAN_POINT(70, 40),
FAN_POINT(75, 50),
FAN_POINT(80, 60),
FAN_POINT(85, 65),
FAN_POINT(90, 65)"

to firmware-open/ec/src/board/system76/lemp10/board.mk and flash EC according to the instructions found in firmware-open git. Do this at your own risk!!!

@ZeddieXX
Copy link

When I try to flash, I get this error:
--- stderr
thread 'main' panicked at 'Unable to find hidapi-hidraw: "pkg-config" "--libs" "--cflags" "hidapi-hidraw" did not exit successfully: exit status: 1
--- stderr
Package hidapi-hidraw was not found in the pkg-config search path.
Perhaps you should add the directory containing hidapi-hidraw.pc' to the PKG_CONFIG_PATH environment variable No package 'hidapi-hidraw' found ', /home/zeddie/.cargo/registry/src/github.com-1ecc6299db9ec823/hidapi-1.2.7/build.rs:78:60 note: run with RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed

@crawfxrd
Copy link
Member Author

Run ./ec/scripts/deps.sh to install the missing deps.

@ZeddieXX
Copy link

Thanks. but now I'm getting:
zeddie@zedlin-galp5:/temp/firmware-open$ ./scripts/flash.sh galp5
Finished release [optimized] target(s) in 0.00s
SPI HSFSTS_CTL: WRSDIS | FDOPSS | FDV | FLOCKDN
SPI FILE: Loadingthread 'main' panicked at 'called Result::unwrap() on an Err value: Os { code: 2, kind: NotFound, message: "No such file or directory" }', src/main.rs:68:30
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
zeddie@zedlin-galp5:
/temp/firmware-open$

@ZeddieXX
Copy link

I'm going to run build.sh again, then try flashing again now that I ran the ./ec/scripts/deps.sh

@ZeddieXX
Copy link

That worked! Hopefully the issue with the missing EFI boot entries is fixed. Right now I'm trying out Fedora 35, no other OSes, so I probably wont be able to find out if the issue is fixed until I can shrink the partition and install a dual-boot Windows.

@ZeddieXX
Copy link

Hi. I still noticed the newest available firmware is still 2021-07-20_93C2809 for my galp5. When will a new firmware be released into the official update channel?

I just compiled and flashed the current one (2022-07-27_7e4a92c). Is there other bugs that's preventing a new firmware release for the galp5? It's been over a year and the latest available firmware in the official update channel didn't incorporate this merge (The big one).

@crawfxrd
Copy link
Member Author

I am finishing up the Alder Lake boards, then will be making releases for previous generations.

I should be able to start making RCs next week.

@ZeddieXX
Copy link

ZeddieXX commented Sep 1, 2022

Hi @crawfxrd . Any updates on RCs for GALP5? Still says 2021-07-20_93c2809 is the latest.

The last time I downloaded and compiled, I got the 2022-07-27_7e4a92c and I am still contstantly getting "new firmware update available" notifications even though I have a newer build.

Maybe a good idea to prevent Settings of false new firmware notifications if the built version is newer than what's offered in RC.

@jacobgkau
Copy link
Member

I am still contstantly getting "new firmware update available" notifications even though I have a newer build.

You can disable those multiple ways!

Option 1: open Startup Apps and un-check Firmware Manager Check. This will not prevent Settings from working, but would need to be done on every user account individually.

Option 2: disable & stop system76-firmware-daemon.service. This will prevent Settings from manually checking for updates, but it will take effect for all users at once. You'll need to enable/start it again next time you want to check for updates.

sudo systemctl disable --now system76-firmware-daemon.service
sudo systemctl enable --now system76-firmware-daemon.service

(Tim can chime in on where we're at with a new release, but just going off of my knowledge, he's fixed some of the USB-C suspend issues, but some Thunderbolt suspend issues remain and have potentially gotten worse by being more exposed. There are also SSD issues he was working on fixing for lemp10 & darp7, although galp5 may have been less affected by those since it only has one SSD slot and no SATA support.)

Maybe a good idea to prevent Settings of false new firmware notifications if the built version is newer than what's offered in RC.

The one corner case this raises off the top of my head would be no longer allowing rollbacks (which we have had to do because of some of the issues that have prevented releases for a while). If a version is pulled, users who have already upgraded would not be prompted to downgrade, so rolling back would require adding a new version to the changelog just for the rollback (which I can see an argument for doing.) It would allow people who like to customize their fan curves, etc. to still receive update notifications, which would be nice. And it shouldn't be too difficult considering our versioning scheme.

@ZeddieXX
Copy link

ZeddieXX commented Oct 9, 2022

Thanks for the update. I disabled in the Startup App since I'm the only user. Since it's been yet another month, any updates on an official release for the galp5 yet?

I'm currently on 2022-07-27_7e4a92c (I compiled and flashed myself). Anything I need to look out for if I compile and flash from the current main branch?

Thanks. Also looking forward to your Rust-based Cosmic DE. :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment