#3 X200/T400 fail to reboot with Libreboot 20210522 (normal boot works fine)

Open
opened 2 months ago by Rydia · 6 comments

Rebooting does not work after flashing Libreboot 20210522. Just stuck at black screen.

OS is Ubuntu 18.04 but that seems irrelevant (just select reboot in the initial grub menu and the problem also exists).

Both GRUB and SeaBIOS ROMs have the issue.

OSBoot 20210205 previously works well with the same laptop.

Video: https://www.youtube.com/watch?v=IV0SLRCyY9U

Rebooting does not work after flashing Libreboot 20210522. Just stuck at black screen. OS is Ubuntu 18.04 but that seems irrelevant (just select reboot in the initial grub menu and the problem also exists). Both GRUB and SeaBIOS ROMs have the issue. OSBoot 20210205 previously works well with the same laptop. Video: https://www.youtube.com/watch?v=IV0SLRCyY9U
Leah Rowe commented 2 months ago
Owner

Try doing a git bisect.

coreboot 4.13 is what osboot master currently uses.

libreboot 20210522 uses coreboot 4.14

so: try coreboot master (from git)

if that doesn't work with reboot, then try coreboot 4.13. if that works, great!

now do a git bisect. using git bisect, you can find which commit broke rebooting. see:

https://git-scm.com/docs/git-bisect

If you find anything, tell me! I can try this on a T400 myself. It's probably a single commit in coreboot that broke this (regression), and probably a simple fix.

Try doing a git bisect. coreboot 4.13 is what osboot master currently uses. libreboot 20210522 uses coreboot 4.14 so: try coreboot master (from git) if that doesn't work with reboot, then try coreboot 4.13. if that works, great! now do a git bisect. using git bisect, you can find which commit broke rebooting. see: https://git-scm.com/docs/git-bisect If you find anything, tell me! I can try this on a T400 myself. It's probably a single commit in coreboot that broke this (regression), and probably a simple fix.
Wei Mingzhi commented 2 months ago
Poster

for revision ccceb2250e (which is the same revision as osboot 20210205), if I enable microcode updates then it works. Disabling microcode updates will result in same issue

for revision ccceb2250eeb820fccfb62d1f3ab407582d2e79f (which is the same revision as osboot 20210205), if I enable microcode updates then it works. Disabling microcode updates will result in same issue
Wei Mingzhi commented 2 months ago
Poster

coreboot master without any patches = same issue: enable microcode updates = working, disable microcode updates = cannot reboot.

libreboot 20160907 does not have this problem on the same laptop

CPU is Core 2 Duo P8700

coreboot master without any patches = same issue: enable microcode updates = working, disable microcode updates = cannot reboot. libreboot 20160907 does not have this problem on the same laptop CPU is Core 2 Duo P8700
Leah Rowe commented 1 month ago
Owner

I changed the title to X200/T400, where previously you wrote only T400.

See: #11

it happens on X200 aswell. This seems to be on any gm45 machine.

Microcode or no-microcode shouldn't be a problem, because it previously worked with or without microcode. In December 2020 I created the tree in osboot that you used, based on coreboot 4.13.

So I know coreboot 4.13 works nicely, but coreboot 4.14 doesn't. Can you try to bisect? Don't worry if you can't, I'll do it myself when I have time. Now that I know it happens on all gm45 machines, I'll just grab random ones from my pile.

Specifically: git bisect on coreboot 4.13-4.14, with the assumption that 4.14 has b0rked reboot and that 4.13 works perfectly. Coreboot has been rewriting and re-factoring a few things, so it'll probably be a single commit somewhere that just broke something, and likely a trivial fix.

EDIT: I also edited the title to clarify that normal booting does work, regardless, and that it's only reboot which is broken.

I changed the title to X200/T400, where previously you wrote only T400. See: https://notabug.org/libreboot/lbmk/issues/11 it happens on X200 aswell. This seems to be on any gm45 machine. Microcode or no-microcode shouldn't be a problem, because it previously worked with or without microcode. In December 2020 I created the tree in osboot that you used, based on coreboot 4.13. So I know coreboot 4.13 works nicely, but coreboot 4.14 doesn't. Can you try to bisect? Don't worry if you can't, I'll do it myself when I have time. Now that I know it happens on all gm45 machines, I'll just grab random ones from my pile. Specifically: git bisect on coreboot 4.13-4.14, with the assumption that 4.14 has b0rked reboot and that 4.13 works perfectly. Coreboot has been rewriting and re-factoring a few things, so it'll probably be a single commit somewhere that just broke something, and likely a trivial fix. EDIT: I also edited the title to clarify that normal booting does work, regardless, and that it's only reboot which is broken.
Wei Mingzhi commented 1 month ago
Poster

Microcode or no-microcode shouldn't be a problem, because it previously worked with or without microcode

I already run git bisect with no result (always not working), but later I found coreboot 4.13 (more exactly, the same revision as osboot) also has the same issue if I don't include the microcode updates.

If I include the microcode updates then both the osboot revision and current coreboot master revision work well.

> Microcode or no-microcode shouldn't be a problem, because it previously worked with or without microcode I already run git bisect with no result (always not working), but later I found coreboot 4.13 (more exactly, the same revision as osboot) also has the same issue if I don't include the microcode updates. If I include the microcode updates then both the osboot revision and current coreboot master revision work well.
Leah Rowe commented 1 month ago
Owner

oh, so i was mistaken then. yes, i neglected to consider that the osboot rom you used had microcode in it already.

well, can you bisect coreboot revisions between libreboot 20160907 and libreboot 20210522 then?

it's thousands of commits, but with bisect the maximum number of builds is probably like 30 or less, that you have to go through. it's a lot to ask though. i'll do it myself otherwise, when i have time

staying on libreboot 20160907 for the time being is an acceptable solution, in my opinion, until this can get fixed in an upcoming stable release. clearly there is a regression in coreboot, but it's been 5 years. a bisect can reveal when this problem started happening, though now it's between libreboot 2016 and 2021.

regarding 20160907, i think libreboot was using coreboot 4.4? maybe 4.5.

oh, so i was mistaken then. yes, i neglected to consider that the osboot rom you used had microcode in it already. well, can you bisect coreboot revisions between libreboot 20160907 and libreboot 20210522 then? it's thousands of commits, but with bisect the maximum number of builds is probably like 30 or less, that you have to go through. it's a lot to ask though. i'll do it myself otherwise, when i have time staying on libreboot 20160907 for the time being is an acceptable solution, in my opinion, until this can get fixed in an upcoming stable release. clearly there is a regression in coreboot, but it's been 5 years. a bisect can reveal when this problem started happening, though now it's between libreboot 2016 and 2021. regarding 20160907, i think libreboot was using coreboot 4.4? maybe 4.5.
Sign in to join this conversation.
No Label
No Milestone
No assignee
2 Participants
Loading...
Cancel
Save
There is no content yet.