-
-
Notifications
You must be signed in to change notification settings - Fork 187
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
Add support for T420 and T430, enable FBWhiptail for X220. #539
Conversation
Alright, so I am going to do another build and test if T420 will work. Will update with results. |
Alright, T420 builds and boots. Over the weekend, I will do usability tests and see if there are any major issues with the build and try to iron them out. Edit: So I've done a bit of testing and outside of the seemingly platform independent issue I referenced above, everything looks good. |
One thing that's an issue currently is that ifdtool and me_cleaner are not present on a clean tree. You need to run a make job to get the coreboot repo cloned and then patch said repo. |
Currently working on issue #541 as well as updating the X220 and T420 builds to FBWhiptail. |
FBWhiptail is now working on X220 and T420. I left X230 IOMMU kernel command line options enabled and I do not have working graphics in the current OS (Xubuntu 18.10). I'll commit changes when I get home today (in about 9 hours). Edit: OK, so I managed to temporarily disable those config options (why do we copy /etc/config to /tmp/config? Seems silly since its already temporary). I've recovered from that roadblock and am back on the main system. |
…estarting, or during S3 resume. If they actually bring functionality to builds, replace the patch with something that is tested.
PR now solves #541. Pull request is ready to be merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dropping these sandybridge patches removes a core bit of functionality that makes Heads work (i.e. measuring the first few levels of coreboot segments). This will impact not just the x220, but also the x230.
NAK until we can figure out a performant replacement that works or doesn't impact other platforms.
I'll continue taking a look at this, as the delay is a pretty big issue for other platforms. Edit: This issue only affects non-X230 platforms. X230 has no delay, but literally any other sandy/ivy-based device has this delay. |
@flammit I've found that the second tpm measurement in the romstage, precisely these lines are causing the issue:
|
This should keep the TPM measurements of the romstage as well as fix the delay, ready for review. Edit: Before review, let me make some final changes. |
@SebastianMcMillan nice catch btw - try this patch out: https://gist.github.com/flammit/247ca7877f5f885b5d9bb5d9c56196ce. If it works for you, would you mind opening another PR for that so we can merge it separately from the x220 support? |
I can do that, just recovered from accidentally enabling NO_GFX_INIT by blindly remoting into my main system and rebuilding. I can test right now... |
@flammit the patch you sent doesn't fix the problem (it even gives the same coreboot.rom checksum as the previous patch). I'll revert the sandy patch commits so T420 support and updating X220 to FBWhiptail changes can be merged. Update: Ready for merge |
@SebastianMcMillan I see a change to the payload and hash when switch the patches. Remember that the Heads module patches are only applied when the module is first pulled, so you have to remove |
IMO this should be tested by at least one of us who didn't write the changes. Also, I think it would make sense to stash the commits together nicely and improve the commit messages. Why do they mention "merging"? |
I might be able to help. I just do not understand if this still is a fix for x220 too or if there is still problem with timeout or whatever. But I can test it for x220 if you are interested (actually I am waiting for being able to use it on my device). Would I just checkout this pr and build it? Or is there anything else I need to do before flashing? |
The 50 second delay is still there and not well understood yet. From cbmem timestamp log the problem seems to be linked to Intel ME or TPM measurements, but neither with BBB Screwdriver USB debugging gadget or by inceasing cbmem logs were enough to get the culprit trace. USB dongle arrives too late, while cbmem maximum log length is not big enough to show early messages and get troncated. I do not have a X220 in hands anymore to continue testing, but the same bug impacts all Ivy/Sandy bridge but x230. So anyone having those models and knowledge are more then welcome to jump in and troubleshoot the issue. Merging this makes those board supported, with 50 second delay at bootup and resume path (which makes me believe it's not a TPM issue, but Intel ME... While a pure coreboot build/removing TPM measurements patch removes the delay so it needs to be TPM measurements.... Then why no impact on X230?!?)
Check instructions in the blobs directory. Get backups of your rom. Having an external flasher like ch431a is always a good idea to flash things back in case of a brick. Once you have your extracted binary blobs in blobs/x220: Then: Let us know how it goes. If things are unclear, it's a good time to do PR on the unclear stuff! |
I agree. I reviewed those changes myself and tested the outcome on a X220 and it works but does not resolve the 50 seconds delay. IMHO, it can be merged but 030 coreboot patch needs review since it only works on the x230.
The commit trace shows what was done to troubleshoot the issue. Those commit logs actually show what was done and is generally helpful for newcomers, trying to help and understand issues and troubleshooting paths. Squashing them makes it look like if the bugs were killed and make them question in issues and even reinvent the wheel, loosing precious time in the process. As a tester, I don't look at the commit logs, just the outcome diff from master. In the present case, those logs show how to activate debugging features (TPM, CBMEM_TIMESTAMPS, augment cbmem log size...) which will even be helpful for new board ports. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
typo making gpg-gui fail
initrd/bin/flash.sh
Outdated
FLASHROM_OPTIONS='--force --noverify-all -p internal:laptop=force_I_want_a_brick --ifd --image bios' | ||
;; | ||
x220* ) | ||
FLASHROM_OPTIONS='--force --noverify-all -p internal --ifd -image bios -c MX25L6405D' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-image -> --image
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
credits goes to @BlackMaria :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh lord, thanks for the heads up! Fixed.
I am not able to build this PR. Using
I am on Arch Linux, 64bit. |
@techge if its not a typo, |
sorry for being away for a long while, now that finals are done I can
actually spend time fixing issues and helping others test my changes.
…On Mon, May 27, 2019 at 1:13 PM Hroðgar Skjöldung ***@***.***> wrote:
@techge <https://github.com/techge> if its not a typo, board should be
all caps BOARD.
This builds fine with both the debian and fedora docker images. What is
your gcc/ld version?
I assume you did this but if not, can you use "make BOARD=x220 V=1" to get
more verbose?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#539>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AFNTUNHJ6SUK22N5RFU5RYTPXQQETANCNFSM4G75Y55Q>
.
|
@techge Edit: It seems that that's an actual build issue. It builds fine on a clean copy of the repo on my end. I've tested it on Ubuntu 19.04, Debian Testing (Buster), Fedora 29, Fedora 30 and Gentoo. |
I also need an additional X230 tester that can test the I do not have a T430 to test with, but I want someone else that has a T430 that they can put coreboot on to try it out. It will likely help on identifying the issue with the boot-time delay as well. Currently getting |
I'd very much prefer to have one change only in a pull request. Don't change existing boards and add new ones on one PR. |
@merge I can attempt to separate out the changes, but the T430 addition relies on the changes I made to X230. |
If that is the case then X230 changes are bugfixes anyways and will be merged quickly. why not do them seperately in a PR before adding a new board? Try to keep a PR simple if possible. |
The PR is now split. I will close this one and the others can be looked at. |
@techge Did you find out a solution to the build failing? I also am on Arch 64 bit and get the same error on the X230, T430, assuming it's a build thing for sure. |
@flawedworld Unfortunately, I didn't. I planned to just grab a VM and build it there, but actually I got distracted by other stuff to do and didn't even did that. :( |
@techge nah its fine, funnily enough I was doing a T430 port last year and well, life happened, saw this yesterday and I reminded myself about it. I'll try a Debian VM. |
@SebastianMcMillan I am happy to test out any T430 builds, I may as well help you with what I never could be bothered to finish. |
@flawedworld current PR #580 is where you should start. Build that branch. Also, find me on the u-root slack, where we can do a private conversation. |
@SebastianMcMillan : Just a quick insight about ME delaying boot. Could you try to extract the ifd, me as per this guide, and reinject the binaries directly from coreboot config and see if it resolves the 50 seconds delay? That is what i'm planning to do to resolve the 12MB internal flashing requirement from x230 board config and it works for it. Non-obstant the current musl blocker, if you don't checkout clean and have musl already compiled, you should be able to build and report. I have intuition that it could be the difference between x230 working and others not working... The ifd in x230 being faked, and x230 only reflashing the bios region of the ROM, not ever touching ME which sits on its own SPI, containing the original IFD. Let me know! |
I'll try that this weekend, thanks for the advice.
…On Mon, Nov 18, 2019, 11:56 tlaurion ***@***.***> wrote:
@SebastianMcMillan <https://github.com/SebastianMcMillan> : Just a quick
insight about ME delaying.
Could you try to extract the ifd, me as per this guide
<https://github.com/corna/me_cleaner/wiki/Internal-flashing-with-coreboot#neutralize-and-shrink-intel-me>,
and reinject the binaries directly from coreboot config and see if it
resolves the 50 seconds delay?
That is what i'm planning to do to resolve the 12MB internal flashing
requirement from x230 board config and it works for it. Non-obstant the
current musl blocker, if you don't checkout clean and have musl already
compiled, you hsould be able to build and report. Let me know!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#539>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AFNTUNCSAA45ABHJUNRY2ITQULJNBANCNFSM4G75Y55Q>
.
|
I followed the guide and truncated the ME, still the boot delay is valid. |
When inserting expended IFD and neutered+deactivated ME inside of the x230 and changing CBFS region to fit expended size, I get the 50 seconds delay on x230 also. When putting back |
Very interesting! I try to test it as soon as possible 👍 |
The T420 support is currently untested, but currently builds and should work.
Blob extraction scripts now autodetect coreboot's ifdtool and me_cleaner.