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

Heads support for T480/T480s #1885

Open
doritos4mlady opened this issue Jan 14, 2025 · 39 comments
Open

Heads support for T480/T480s #1885

doritos4mlady opened this issue Jan 14, 2025 · 39 comments

Comments

@doritos4mlady
Copy link

doritos4mlady commented Jan 14, 2025

Looks like a great candidate as it recently got libreboot support and is much faster newer than the T420/T430.

Is this something the devs would be interested in supporting?

@notgivenby
Copy link

The platform may be indeed attractive. I am not sure about being much faster. i7 3740qm/3840qm which can be installed on t420/t430 performs similar to i7 8550u. The newer CPU are less hungry though (45W vs 15 W). Both are EOL in terms of microcode updates. One issue for heads could be the TPM problem.
https://libreboot.org/docs/install/t480.html "The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, due to buggy TPM drivers there." Is this true only for SeaBIOS or for GRUB too?

@tlaurion
Copy link
Collaborator

Some discussion over Heads matrix channel thread on porting process for t480 if thread discussion is better for you to organize leadership of this port.

@tlaurion
Copy link
Collaborator

tlaurion commented Jan 29, 2025

TPM works under coreboot but is "vulnerable to gpio reset attack" source

@tlaurion
Copy link
Collaborator

@notgivenby

"The TPM is disabled on this device, to prevent hanging/boot delay in SeaBIOS, due to buggy TPM drivers there." Is this true only for SeaBIOS or for GRUB too?

Would not be relevant to Heads in any case.

Any board owner here willing to take leadership into starting and leading the port?

@akunterkontrolle
Copy link

Just want to chime in that I am the happy new owner of a T480 which I explicitly bought for playing around with coreboot and the hope to ultimately run heads. So I am more than willing to help with the port and test, but I don't think I am qualified to take the leadership in any way.

Maybe to add my perspective on why the T480(s) is an interesting platform: Yes, it is indeed not more powerful than a e.g. a maxed out t440p (which is sad) but uses way less power (good thing on a Laptop) and has all the bells and whistles of USB-C (which is helpful e.g. at my workplace where we have set up monitors to act as a USB-C dock). And while not faster, it is much quieter then my t440p under load.

@tlaurion
Copy link
Collaborator

TPM works under coreboot but is "vulnerable to gpio reset attack" source

https://ticket.coreboot.org/issues/576

@notgivenby
Copy link

notgivenby commented Jan 31, 2025

@doritos4mlady @akunterkontrolle I am trying to evaluate if it is really a good investment in a hobby project. Would you be interested in a community effort of porting heads to t480? Do you know anybody else who would be interested and would/can contribute to the effort?

Board advantages:
The IPS panel is good (in comparison to t430, x230). You can put up to 64gb RAM, which is good for example for Qubes OS. It is not that expensive (2x32gb sodimm ddr4 3200 costs around 100$). It is much lighter than t430 too. The SPI chip is very easy to access. One need to remove only the back panel which has only 4 screws or so. The used board itself depending on the condition is also around 250-300$. I even found couple of refurbished boards on Amazon/ebay. In European countries, it means you have a 1 year warranty and can return it for free in 14 days. So the chances are high that will have couple of users interested. This means the port may be of use for the whole community.

Some questions/obstacles :

  1. Is your Thunderbolt firmware’s spi chip free? Mine has this https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$BHJDXHAaVjaQyrYu6UVtDyC425Da_y5AuGUzFZP0a2E?via=matrix.org&via=nitro.chat&via=envs.net
    Image
  2. Are you guys able to see the cpu temperature sensors and do fans work after flashing libreboot? There was one issue perhaps a single one https://forum.qubes-os.org/t/t480-problems-after-librebooting/31427/12
  3. TPM GPIO vulnarability better to be fixed otherwise the board is not reasonably safe under heads https://ticket.coreboot.org/issues/576 https://mkukri.xyz/2024/06/01/tpm-gpio-fail.html. Since it maybe relevant to other boards it is likely that it will be fixed.
  4. @tlaurion in case we screw with the porting by our self would you mind to share in which range of consulting fee we may motivate you to do that? We would have the boards bought and if 10 people would donate like 100$ each which is kind of sum you expect for transition from dasharo to dasharo/heads would it be enouph? I have no ideas how expensive it can be, so if it is too low please do not take it personally. Perhaps community effort would be also to find some money for that.

@mkopec
Copy link
Contributor

mkopec commented Jan 31, 2025

Is your spi chip free? Mine has this https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$BHJDXHAaVjaQyrYu6UVtDyC425Da_y5AuGUzFZP0a2E?via=matrix.org&via=nitro.chat&via=envs.net

That's not the BIOS SPI flash, the BIOS flash sits close to the middle of the board and is 16MB

@notgivenby
Copy link

Is your spi chip free? Mine has this https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$BHJDXHAaVjaQyrYu6UVtDyC425Da_y5AuGUzFZP0a2E?via=matrix.org&via=nitro.chat&via=envs.net

That's not the BIOS SPI flash, the BIOS flash sits close to the middle of the board and is 16MB

It is Thunderbolt firmware’s SPI flash, corrected...

@akunterkontrolle
Copy link

akunterkontrolle commented Jan 31, 2025

@doritos4mlady @akunterkontrolle I am trying to evaluate if it is really a good investment in a hobby project. Would you be interested in a community effort of porting heads to t480? Do you know anybody else who would be interested and would/can contribute to the effort?

I am certainly interested in a community effort to port heads to the t480 (note: not the t480s, I got the t480 and it is highly unlikely that I will get a t480s as well). I do not know anybody else who could be interested though.

Board advantages: The IPS panel is good (in comparison to t430, x230). You can put up to 64gb RAM, which is good for example for Qubes OS. It is not that expensive (2x32gb sodimm ddr4 3200 costs around 100$). It is much lighter than t430 too. The SPI chip is very easy to access. One need to remove only the back panel which has only 4 screws or so. The used board itself depending on the condition is also around 250-300$. I even found couple of refurbished boards on Amazon/ebay. In European countries, it means you have a 1 year warranty and can return it for free in 14 days. So the chances are high that will have couple of users interested. This means the port may be of use for the whole community.

Fully agree. I just flashed Libreboot a few minutes ago for the first time and the hardware-based flashing was so much less painful compared to the t440p. I think I even managed this time to not break any plastic clips, yeah!

Some questions/obstacles :

  1. Is your Thunderbolt firmware’s spi chip free? Mine has this https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$BHJDXHAaVjaQyrYu6UVtDyC425Da_y5AuGUzFZP0a2E?via=matrix.org&via=nitro.chat&via=envs.net
    Image

Well should have read that first, I had it open just minutes ago but did not look closely at the Thunderbolt chip. However, I do not remember having seen any obstacles around it. Although, I am not sure if it matters, because you can easily upgrade the Thunderbolt firmware via software with fwupdmgr from within Linux (at least if your fwupd version is recent enough, Debian/Devuan stable obviously lagging behind). I am not sure why Libreboot recommends flashing that directly with a hardware programmer as well. Maybe they are not aware of the possibility of updating from within Linux.

  1. Are you guys able to see the cpu temperature sensors and do fans work after flashing libreboot? There was one issue perhaps a single one https://forum.qubes-os.org/t/t480-problems-after-librebooting/31427/12

Fans work and spin up automatically. I can see the cpu temp sensors but no fan speed and the thinkpad_acpi module does not load. I have to check if the force option will do anything.

  1. TPM GPIO vulnarability better to be fixed otherwise the board is not reasonably safe under heads https://ticket.coreboot.org/issues/576 https://mkukri.xyz/2024/06/01/tpm-gpio-fail.html. Since it maybe relevant to other boards it is likely that it will be fixed.

Yep. Sadly, this is something I can probably not help with at all. I don't thin I even understand fully how that attack works in the first place.

  1. @tlaurion in case we screw with the porting by our self would you mind to share in which range of consulting fee we may motivate you to do that? We would have the boards bought and if 10 people would donate like 100$ each which is kind of sum you expect for transition from dasharo to dasharo/heads would it be enouph? I have no ideas how expensive it can be, so if it is too low please do not take it personally. Perhaps community effort would be also to find some money for that.

My current plan on how to get heads to the t480 is as following and probably a very bad idea that will result in burning Thinkpads:

  1. Copy-and-past the coreboot config for the t480 from libreboot.
  2. Take the kernel config from the t440p.
  3. Copy the blobs (me and stuff) created by libreboot into appropriate folders for heads
  4. Compile heads with a new t480 target and profit?

This may work at least as a proof-of-concept and we could go from there.

@tlaurion
Copy link
Collaborator

tlaurion commented Jan 31, 2025

My current plan on how to get heads to the t480 is as following and probably a very bad idea that will result in burning Thinkpads:

1. Copy-and-past the coreboot config for the t480 from libreboot.

2. Take the kernel config from the t440p.

3. Copy the blobs (me and stuff) created by libreboot into appropriate folders for heads

4. Compile heads with a new t480 target and profit?

This may work at least as a proof-of-concept and we could go from there.

@akunterkontrolle That sounds like a plan! Do the initial steps!
Inspect coreboot config for t440p, compare with libreboot config which will point to binaries expected in some paths.
You will then realize that heads have scripts under blobs/* which does the magic, called by board configs (which are basically Makefiles, including other makefiles, which calls those scripts to blobs are where expected. Those scripts need to be duplicated, but from what I read from https://ezntek.com/posts/librebooting-the-thinkpad-t480-20241207t0933/#back-to-compiling-libreboot combined by a lbmk code inspection, you should be able real quick to

  • Add coreboot fork under modules/coreboot
  • have boards/t440p copied to t480 and adapt, coreboot version to what was modified into modules/coreboot
  • adapt board config to point to adapted linux config
  • add a new targets/t480.mk which deals with calling blobs/* download and extraction of blobs putting them in proper places
  • add copy config/coreboot-t440p to config/coreboot-t480, adapt it to point to proper blobs paths, adapted per libreboot borrowed config
  • modify .circleci/config.yml to add t480, start by depending on mulsc directly just like x230-maximized-hotp does, no need to reuse caches for now
  • Create an initial PR, with commits relative roughly to the steps above

Then lets collaborate in the PR you will create. Don't forget to create a heads fork in your own repository, follow/comment linuxboot/heads-wiki#119 as you go, make sure you sign commits and don't stress too much if this seems a lot. Just get a PR started and we will collaborate there. I will guide you to what is Heads specific, but will leave you lead the thing and help you when needed. Don't foget to tag me along the way @tlaurion

@tlaurion in case we screw with the porting by our self would you mind to share in which range of consulting fee we may motivate you to do that? We would have the boards bought and if 10 people would donate like 100$ each which is kind of sum you expect for transition from dasharo to dasharo/heads would it be enouph? I have no ideas how expensive it can be, so if it is too low please do not take it personally. Perhaps community effort would be also to find some money for that.

I helped before for many ports. Those ports can all be used for references, in which I went in extensive lengths to become redundant at some point. This is a time to test this, and take notes of the process involved if you want to help, so that https://osresearch.net/Porting/ is updated by your notes. If this is done properly, and PRs fixing docs along the way is done, that would be a fruitful, free as in free beer, on my side. If I have to work and do the port by myself, we will quickly go into consultation services discussion in PR. Ideally, someone takes the lead and I mentor so that I do not become the only person doing ports under Heads.

The hard part is getting a coreboot port. After that, its learning how to plumbing is done. If you are that willing leader @akunterkontrolle , and are willing to learn and my time investment into mentoring is not lost to the void, i'm willing to do this for free, at the cost of you helping me helping others to do Heads ports in the future and becoming first responder board tester in the future when there is coreboot version bumps and linux kernel version bumps, with others in this room being willing to become second testers as described under https://github.com/linuxboot/heads/blob/master/BOARD_TESTERS.md

Heads needs other heads.

@akunterkontrolle
Copy link

Thank you very much for that detailed plan on how a port of heads for the t480 could come along! @tlaurion

I will do my best to read up on the various things like signing my git commits. I knew that this is a thing but have never done it myself before so I am sure I will be on a fun ride :D

Well, it seems that I have now "taken the lead" somewhat … Well, I promise I will do my best and I am sure there will be some result at the end. I will try to document my work as best as I can to help the documentation. However, I will say upfront, that it could take a bit until results show up. Sadly this is just a hobby and for various unfair reasons I have to do other stuff as well …

@notgivenby
Copy link

Yesterday I started to compare the coreboot configs like outlined in the plan. My t480 will arrive tomorrow. @akunterkontrolle what would be the best way to communicate during the port and help you?

@mblanqui
Copy link

mblanqui commented Feb 3, 2025

I don't know if this would impact the Heads config, but there a couple of things worth mentioning about the T480. It has two variants: one with integrated graphics, and another with integrated & dedicated graphics. At present, the dedicated graphics do not function in coreboot and are essentially disabled by default.

Additionally, in light of the previous X230 maximised config, the T480 has become a commonly modified laptop by the ThinkPad community with do-it-yourself screen replacements at 1440p and 4K being fairly popular.

@akunterkontrolle
Copy link

I don't know if this would impact the Heads config, but there a couple of things worth mentioning about the T480. It has two variants: one with integrated graphics, and another with integrated & dedicated graphics. At present, the dedicated graphics do not function in coreboot and are essentially disabled by default.

Good point, the same applies to the T440p. I think it is handled there somehow as well. My T480 is the one without a dedicated graphics so I can't really test that. I think it should be documented that the dedicated graphics is untested as well as the screen mods and anyone having this hardware config will play guinea pig.

Additionally, in light of the previous X230 maximised config, the T480 has become a commonly modified laptop by the ThinkPad community with do-it-yourself screen replacements at 1440p and 4K being fairly popular.

@akunterkontrolle
Copy link

akunterkontrolle commented Feb 4, 2025

Yesterday I started to compare the coreboot configs like outlined in the plan. My t480 will arrive tomorrow. @akunterkontrolle what would be the best way to communicate during the port and help you?

Nice to hear that you also already started working on it. I have created a fork from heads under my username with a new branch for the T480, see https://github.com/akunterkontrolle/heads/tree/board_t480

Things I started to do there:

  1. Added a coreboot fork under modules/coreboot pointing to the coreboot git repo and the commit hash that Libreboot is referencing for the T480. Although the question remains if just adding a new coreboot version in this file and referencing it from the boards config is really enough?
  2. Added the coreboot patches from Libreboot. I just added all of them since finding out which of them really apply to the T480 is a bit above my capabilities. I am not sure if it is enough to just dump the patches in or if some script has also to be added to actually apply them.
  3. Added a coreboot config based on Libreboot's coreboot config expanded by settings I think are relevant / needed for heads. I used the T440p config from heads to get clues what may be needed. I don't know if it is still missing stuff. I choose to enable TPM2 instead of TPM1, but no idea if that is a good or bad decision, heads seems to have boards with TPM1 and TPM2 … so it should work? Note: I did use the 'menuconfig' utility from coreboot that can be invoked by the libreboots build system to change the config. First of all because it says clearly in the config file that you are not supposed to edit it manually and because the TUI utility has at least a bit more description for the various options.
  4. I added files for the board config. I just copied them over from the T440p and slowly started to adapt them. They still have the wrong references for the needed blobs.

So I think the next steps are to add a linux kernel config for the T480 build and tackle the download and modification of the blobs (note: ME needs deguard and we have to check if and when to apply me_cleaner)

@notgivenby Regarding communication: I think we should use mainly this issue which keeps the discussion publicly accessible and helps to document steps, hurdles and question when porting to a new platform. But for some discussion this may not be the right place so you can reach me on Matrix via @ak_unterkontrolle:matrix.org

@mblanqui
Copy link

mblanqui commented Feb 4, 2025

My T480 is the one without a dedicated graphics so I can't really test that. I think it should be documented that the dedicated graphics is untested as well as the screen mods and anyone having this hardware config will play guinea pig.

My T480 has dedicated graphics, I can play guinea pig.

@mblanqui
Copy link

mblanqui commented Feb 4, 2025

So I think the next steps are to add a linux kernel config for the T480 build and tackle the download and modification of the blobs (note: ME needs deguard and we have to check if and when to apply me_cleaner)

You would have to check with Máté, but if iirc from when I built coreboot+edk2 for this board, deguard automatically HAP disables the Management Engine. It also leaves the ME region of the bios completely unsigned, so there's the potential to run your own code in place of Intel's.

@notgivenby
Copy link

Great!

2. I am not sure if it is enough to just dump the patches in or if some script has also to be added to actually apply them.

Perhaps we need to check later the log of the lb build when complied locally to figure out what patches were applied. Perhaps lbmk config can also help.

3. TPM2 … so it should work? Note: I did use the 'menuconfig' utility from coreboot that can be invoked by the libreboots build system to change the config. First of all because it says clearly in the config file that you are not supposed to edit it manually and because the TUI utility has at least a bit more description for the various options.

I believe TPM2 should be correct, since the t480 has it instead of TPM1. I puzzled a bit about the TPM2. When you enable the TPM2 in coreboot config under the lbmk the rom build gives an error. For more details see my fork of heads/wiki https://notgivenby.github.io/heads-wiki/t480-port/. I will try to document changes and steps we did there too. In, short the error is because the menuconfig untility changes the path to 2 vendor files: Fsp_M.fd and Fsp_S.fd. We need to keep it in mind. After changing it to the correct path everything worked.

@notgivenby
Copy link

My T480 has dedicated graphics, I can play guinea pig.

I think it will not be a huge problem. Somebody raised an issue on heads a while ago: the person had t420 with the dGPU. heads was flashed on it actually without knowing that the machine has dGPU. The only think that did not work was DP output to the external display. So, perhaps you should not play a guinea pig yet.

@tlaurion
Copy link
Collaborator

tlaurion commented Feb 4, 2025

Yesterday I started to compare the coreboot configs like outlined in the plan. My t480 will arrive tomorrow. @akunterkontrolle what would be the best way to communicate during the port and help you?

Nice to hear that you also already started working on it. I have created a fork from heads under my username with a new branch for the T480, see https://github.com/akunterkontrolle/heads/tree/board_t480

Things I started to do there:

  1. Added a coreboot fork under modules/coreboot pointing to the coreboot git repo and the commit hash that Libreboot is referencing for the T480. Although the question remains if just adding a new coreboot version in this file and referencing it from the boards config is really enough?
  2. Added the coreboot patches from Libreboot. I just added all of them since finding out which of them really apply to the T480 is a bit above my capabilities. I am not sure if it is enough to just dump the patches in or if some script has also to be added to actually apply them.
  3. Added a coreboot config based on Libreboot's coreboot config expanded by settings I think are relevant / needed for heads. I used the T440p config from heads to get clues what may be needed. I don't know if it is still missing stuff. I choose to enable TPM2 instead of TPM1, but no idea if that is a good or bad decision, heads seems to have boards with TPM1 and TPM2 … so it should work? Note: I did use the 'menuconfig' utility from coreboot that can be invoked by the libreboots build system to change the config. First of all because it says clearly in the config file that you are not supposed to edit it manually and because the TUI utility has at least a bit more description for the various options.
  4. I added files for the board config. I just copied them over from the T440p and slowly started to adapt them. They still have the wrong references for the needed blobs.

So I think the next steps are to add a linux kernel config for the T480 build and tackle the download and modification of the blobs (note: ME needs deguard and we have to check if and when to apply me_cleaner)

@notgivenby Regarding communication: I think we should use mainly this issue which keeps the discussion publicly accessible and helps to document steps, hurdles and question when porting to a new platform. But for some discussion this may not be the right place so you can reach me on Matrix via @ak_unterkontrolle:matrix.org

+# CONFIG_TPM_MEASURED_BOOT is not set

@akunterkontrolle this needs to be on!

@mblanqui
Copy link

mblanqui commented Feb 4, 2025

I think it will not be a huge problem. Somebody raised an issue on heads a while ago: the person had t420 with the dGPU. heads was flashed on it actually without knowing that the machine has dGPU. The only think that did not work was DP output to the external display. So, perhaps you should not play a guinea pig yet.

I have three T480s, one with a dGPU (the one I am writing this message on), and two motherboards with an iGPU waiting to go into dead machines, so if testing is needed let me know.

FYI, although Thunderbolt isn't working in coreboot rn, DisplayPort output via the Thunderbolt port (functioning as a simple USB-C port) does work.

@MattClifton76
Copy link

I have a T480 with iGPU, I also have a T440p with a heads so I have some limited experience. I'm willing to help out, it might take me a little longer because I have to look things up in my Linux book. So if you need something from me immediately you'll have to break it down like crayola.

@notgivenby
Copy link

@akunterkontrolle @MattClifton76 @mblanqui Today I successfully finished one of the ME blob magic for heads. As soon as I get back to my signing key, I will commit the script. In process, I noticed that the me.bin for libreboot was extracted from a dell - donor which had no vPro ME. Since it would be great to use faster CPU under heads,/Qubes, I wonder whether you have a t480 with i7 8650u or 8550u (both vPro)? Does it work with libreboot, is it stable? Can it be an issue @tlaurion?

@MattClifton76
Copy link

I have a i7-8650u, it appears to have vPro. Firmware 1.53

@notgivenby
Copy link

I have a i7-8650u, it appears to have vPro. Firmware 1.53

Did you flash libreboot on it? does it work fine?

@MattClifton76
Copy link

I have not, I plan on giving it a shot after the Super Bowl. I know they say use 1.52 for the uart but I don't have a need for it so I'm going to try it with 1.53. I also updated the thunderbolt chip through fwupd, not sure why they wanted to flash the chip separately.

@notgivenby
Copy link

notgivenby commented Feb 10, 2025

add a new targets/t480.mk which deals with calling blobs/* download and extraction of blobs putting them in proper places

@akunterkontrolle I managed to create blobs scripts that were mostly relied on the libreboot approach my fork We are still missing modifications of the .circleci/config.yml to add t480.

@tlaurion
Copy link
Collaborator

tlaurion commented Feb 11, 2025

@notgivenby @akunterkontrolle :

My 1.5h contribution for now is at https://github.com/tlaurion/heads/tree/poc_t480

  • It combines the two separated efforts
  • signs commits with my key (co-authoring of commits)
  • fixes crossgcc fetch script to use libreboot mirror
  • fixes some coreboot config, not all (pr0 is not in yet)
  • fixes t40 board config to use target/t480 which calls blobs scripts
  • fixes blob download script needing to call python directly (nix has environment paths, need to call python, cannot call python script directly)
  • some other fixes
  • CircleCI board addition so that we can point to build errors directly and reproducible builds for a specific commit

Fails at pointing in vendor fsp fd files :( will leave it to you guys

./docker_repro.sh make BOARD=t480-maximized
[... long time since we need to build coreboot 24.12 crossgcc...]
Updating git submodules.
payloads/external/Makefile.mk:399: "Using host toolchain to build Linuxboot"
    GEN        build.h
    IFDTOOL    -p sklkbl -F t480-maximized/fmap-template.fmd ../../../blobs/t480/ifd_16
    HOSTCC     cbfstool/fmd_parser.o
    HOSTCC     cbfstool/fmd_scanner.o
make[1]: *** No rule to make target '../../../vendorfiles/kabylake/Fsp_M.fd', needed by 't480-maximized/coreboot.pre'.  Stop.
make[1]: *** Waiting for unfinished jobs....
File ../../../blobs/t480/ifd_16 is 4096 bytes
Wrote layout to t480-maximized/fmap-template.fmd

CircleCI build will fail the same under https://app.circleci.com/pipelines/github/tlaurion/heads/3112/workflows/cf9e893c-96ba-4ae0-9d5b-bffa08b06a5a

Weirdly, there is no vendorfiles under the git repo cloned for commit pointed under modules/coreboot:

# T480 is based on coreboot ~24.12 release (TODO: verify)
coreboot-t480_repo := https://review.coreboot.org/coreboot.git
coreboot-t480_commit_hash := 2f1e4e5e8515dd350cc9d68b48d32a5b6b02ae6a
#Don't reuse any coreboot buildstack for now since nothing else is based on 24.12
$(eval $(call coreboot_module,t480,))

Not sure what's up with git submodules cloning there. Something is missing from that upstream commit/submodules dependencies :(

Feels free to steal, cherry-pick, learn and ask questions.

We are soon to a point where a PR would be helpful to comment, more then this issue. When it builds :)

Q:

  • where is 2f1e4e5e8515dd350cc9d68b48d32a5b6b02ae6a coming from lbmk? All patches apply cleanly, but no clue what's up with coreboot submodules sync: there is no vendorfiles. Maybe they are under coreboot-blobs? If so, traditionally, Heads was pointing to tarball releases url, which if under modules/coreboot, will download coreboot-blobs tarball as well and not rely on git. Maybe that is an issue?

@tlaurion
Copy link
Collaborator

tlaurion commented Feb 11, 2025

I wonder whether you have a t480 with i7 8650u or 8550u (both vPro)? Does it work with libreboot, is it stable? Can it be an issue @tlaurion?

@akunterkontrolle : Not sure, we will have to see from real world experience:

I have not, I plan on giving it a shot after the Super Bowl. I know they say use 1.52 for the uart but I don't have a need for it so I'm going to try it with 1.53. I also updated the thunderbolt chip through fwupd, not sure why they wanted to flash the chip separately.

@MattClifton76 feedback would be really helpful.

@tlaurion
Copy link
Collaborator

Thanks to @krystian-hebel for the tip:

https://github.com/coreboot/coreboot/blob/main/src/drivers/intel/fsp2_0/Makefile.mk#L110 this would be where is should be split
no rule means that either this file isn't parsed, or CONFIG_FSP_FULL_FD isn't enabled

CONFIG_FSP_FULL_FD=y was missing.

https://app.circleci.com/pipelines/github/tlaurion/heads/3115/workflows/41a21dcd-c79c-46cc-8655-fd4602d06d8b should now build successfully with tlaurion@d666b81

TEST WITH CAUTION! PORT INCOMPLETE!

This was a contribution of 2.5h total. Feel free to donate under https://opencollective.com/insurgo

@tlaurion tlaurion mentioned this issue Feb 11, 2025
7 tasks
@MattClifton76
Copy link

I wonder whether you have a t480 with i7 8650u or 8550u (both vPro)? Does it work with libreboot, is it stable? Can it be an issue @tlaurion?

@akunterkontrolle : Not sure, we will have to see from real world experience:

I have not, I plan on giving it a shot after the Super Bowl. I know they say use 1.52 for the uart but I don't have a need for it so I'm going to try it with 1.53. I also updated the thunderbolt chip through fwupd, not sure why they wanted to flash the chip separately.

@MattClifton76 feedback would be really helpful.

@tlaurion I'm currently working on it, I'm a rookie at best with this so I have to look up a bunch of commands and read how-to's. Assuming i do get it flashed successfully and it's boots, are there any commands you want me to run or specific things you want me to test? Fedora 41 is currently installed

@mblanqui
Copy link

I wonder whether you have a t480 with i7 8650u or 8550u (both vPro)? Does it work with libreboot, is it stable? Can it be an issue @tlaurion?

I have a i7 8650u (vPro). I built coreboot+edk2 from upstream in early December. It's perfectly stable, and I've had no issues other than the known ones at the time of my build (Fn keys don't work, and the Thunderbolt port doesn't have full functionality). Other than that, it works like a treat. Thanks to @notgivenby for giving me the heads up (no pun intended) to your question. Let me know if you need more info.

@tlaurion
Copy link
Collaborator

For the adventurous: please report testing of #1906 there! :)

@MattClifton76
Copy link

image this was as fair as it would boot.

@notgivenby
Copy link

for all brave please keep in mind that t480 is not the same board as t480s. There are few GPIO differences that can destroy the t480s board if flashed with t480 rom as notified on the libreboot.

@notgivenby
Copy link

notgivenby commented Feb 12, 2025

For the adventurous: please report testing of #1906 there! :)

@tlaurion OMG! I am so exited! Thank you!!!! We will have to donate! I will write a manifest about it...

@notgivenby
Copy link

@MattClifton76 @doritos4mlady would you guys be interested in becoming a heads board tester for t480? Additional information is available here https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$6zRiL6bw55FJLwlhB4VLcc8TbxB_FAu_zaolgtaXbaw?via=matrix.org&via=nitro.chat&via=tchncs.de.
In case you do not have a matrix account, here is the copy paste:

https://github.com/linuxboot/heads/blob/master/BOARD_TESTERS.md is the in-tree willing board testers (with external programmers) to be called for testing, basically when there is coreboot version bumps, linux kernel version bumps or board specific changes that could result in bricking platforms, requiring external programmer recovery. This is why board testers are needed: so that things are tested in pull requests by board owners to at least check that the changes do not result in bricks and no important regressions are found prior of merging changes upstream
#692 is pinned issue for people to tell their interest into becoming a platform tester with external programmer. Please show interest of being added to https://github.com/linuxboot/heads/blob/master/BOARD_TESTERS.md in this issue.

@MattClifton76
Copy link

@MattClifton76 @doritos4mlady would you guys be interested in becoming a heads board tester for t480? Additional information is available here https://matrix.to/#/!pAlHOfxQNPXOgFGTmo:matrix.org/$6zRiL6bw55FJLwlhB4VLcc8TbxB_FAu_zaolgtaXbaw?via=matrix.org&via=nitro.chat&via=tchncs.de.
In case you do not have a matrix account, here is the copy paste:

https://github.com/linuxboot/heads/blob/master/BOARD_TESTERS.md is the in-tree willing board testers (with external programmers) to be called for testing, basically when there is coreboot version bumps, linux kernel version bumps or board specific changes that could result in bricking platforms, requiring external programmer recovery. This is why board testers are needed: so that things are tested in pull requests by board owners to at least check that the changes do not result in bricks and no important regressions are found prior of merging changes upstream
#692 is pinned issue for people to tell their interest into becoming a platform tester with external programmer. Please show interest of being added to https://github.com/linuxboot/heads/blob/master/BOARD_TESTERS.md in this issue.

I'll flash that bios chip to the moon and back, I even bought a new nitro key for this occasion. As stated previously I'm very new at this, I still have to write down commands and look up explanations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants