-
-
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
Generate GBE blob from coreboot's bincfg tool #796
Comments
@tlaurion @pgeorgi @GNUtoo I have not tested this yet, but I think I have the beginnings of bincfg set/spec for the Intel 82579LM, used in the x230. A few notes:
https://github.com/Thrilleratplay/coreboot/tree/deblob_intel_82579_gbe |
Wow. |
Will review soon. Sorry overloaded but happy news!!! |
@tlaurion and I will try to test this today. If you get to it before I do, verify that bit 6 of word 0x19 is set to EDIT: Looks like there is an issue. The checksum_gbe field isn't being populated because it seems like it expects to the last field. I have more work to do on this. |
Thanks! How much would you ask to complete this work @Thrilleratplay ? |
@tlaurion At this point, I couldn't give an estimate on how much longer it would take. Even if I figure out how to append the gbe checksum when it is not the last field, there is still the issue of how to add in the MAC address without having to alter the set file. I will dig around |
@tlaurion The checksum was working but was missing a series of offsets so I was looking in the wrong place. This appears to be working now but still could not find a way to pass the mac address through the commandline. I tested it on my x220, which also has the same model Ethernet, no issues with basic internet function. When you get a chance, can you also test this and get feedback before submitting it for coreboot review? |
@Thrilleratplay setting the mac address to 00:00:00:00:00 or 00:DE:AD:C0:FF:EE would do the job. QubesOS users should implement mac randomization to be applied by default, while in our #703 usecase, Heads will randomize on boot. Other tools, like clonezilla, will need to have preboot scripts randomizing the mac address prior of booting to not have mac collisions in same lan segment. If we do not apply mac randomization, we will not have a redistributabe GBE that is also bit by bit reproducible. Any thoughts welcome, while my preference would be to set it to |
@tlaurion I like EDIT: I am not finding a way to do this without significant changes to the bincfg or implementing it in another binary schema. |
@Thrilleratplay I will test asap |
@tlaurion When you have time, I already created the PR for coreboot |
There was an issue with the buildsystem whcih was fixed in latest commit. Which is included in following build: https://app.circleci.com/pipelines/github/tlaurion/heads/332/workflows/f628e891-58d0-4dd3-8800-b26ae677d0c9/jobs/360 |
@Thrilleratplay unfortunately, this is what seems to happen when GBE is absent, but last time I injected an invalid GBE laptop was failing to boot, bot booting giving me this error as troubelshooted in #700 |
@Thrilleratplay you can see in this commit what is linked to your proposed change |
@tlaurion I'm confused. You are receiving |
@Thrilleratplay I reveive error -3, just like if no gbe was inside of the rom. I guess the best way to troubleshoot this is for you to have a valid gbe.bin knowing the mac address and attempting to generate a valid gbe.bin twin from bincfg? Let me know how it goes! This is exciting! |
@tlaurion Gotcha. After reading through #700 and #703, I was more concerned with it booting. When doing the physical testing, I wanted to verify that the ethernet was still functioning after it booted up and since it was I didn't think to check dmesg. When receiving this error, was your ethernet still operational? If it is was, this is likely due to driver expecting functionality that has been disabled. I'll look into it. This is going to be interesting; the error is related to PCI addressing within the e1000e driver and the specs stress that the physical hardware is not true PCI. |
…4:AF to ease linuxboot#796 troubleshooting.
@Thrilleratplay I'm reverting gbe.bin to commit 3dbce28 (extracted gbe.bin) where mac: F0:DE:F1:F7:E4:AF for functional testing and to give you full functional dmesg output. the e1000e driver is not able to communicate with the device since it wasn't low level activated. |
@Thrilleratplay if needed, I can merge the changes of x230-debug board into x230-external-flash_debug board to give more output |
@tlaurion Thanks but not just yet. I need to do more digging. |
…st path (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
…h (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
@Thrilleratplay might have been my error. With last commit, GBE is actually included in coreboot as expected (ioriginal gbe.bin extracted.) If this boots successfully, I'll switch back to generated gbe.bin per commit 8a0cda1 |
@Thrilleratplay WORKS (well builds and detected... more tests to be done) How much would be the invoice to open collective? |
@tlaurion Sweet. Is that error still in dmesg? Sorry, I don't understand what you mean by invoice to open collective? |
Well, if you can provide a bill of work, that work was needed, which is why bounty tag was added |
Oh I see. Honestly, I did this for my own curiosity and maybe add my resume. I get so much out of coreboot, I wanted to be able to give something back. Knowing this works is payment enough. Although, if you want, take whatever would be a reasonable bounty and donate it to the EFF. |
@Thrilleratplay the goal here is to give credit to the person who contributed to the project. |
@tlaurion Probably 10. |
This is why we prefer having a quote given prior of work being done. 200$? |
Sure. |
@Thrilleratplay : Please submit expense of 200$ here, specifying "Fix issue #796" in the invoice! If you want your name inside of the commit, please supply a PR equivalent to 8a0cda1 and the credit will be all yours! |
@tlaurion Thank you. I submitted the invoice. As the PR already links to the coreboot commit, it already gives me credit. |
Payment approved https://opencollective.com/insurgo/expenses/24021, closing this issue! @Thrilleratplay : Thanks for your contribution! If you want to tackle other bounty issues and do SOME word of mouth for other developers to join forces on other issues needing work/quotes agreement prior of payment upon PoW, don't hesitate! |
…4:AF to ease linuxboot#796 troubleshooting.
…h (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
…4:AF to ease linuxboot#796 troubleshooting.
…h (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
…4:AF to ease linuxboot#796 troubleshooting.
…h (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
…4:AF to ease linuxboot#796 troubleshooting.
…h (duh) linuxboot#796. Maybe there is notthing wrong with linuxboot#796 afterall
@PatrickRudolph @niftygeek @pietrushnic @miczyg1
@pgeorgi @GNUtoo (last two authors of coreboot's bincfg tool)
So in my novice path, to be able to generate a valid gbe.bin to be included under #703, I need to:
gbe-cpt.spec
fileuser@x230-master:~/coreboot/util/bincfg$ ./bincfg -d gbe-cpt.spec heads/blobs/xx30/gbe.bin gbe-cpt.set
creates a valid gbe-cpt.set file./bincfg gbe-cpt.spec gbe-cpt.set heads/blobs/xx30/gbe_mod.bin
produces a valid gbe_mod.bin that can be included in a bootable rom under Add xx30-maximized and xx30-hotp-maximized boards (11.5mb flashable BIOS regions, reproducible me.bin and generated gbe.bin and totally externally and internally flashable roms) #703 ?Originally posted by @tlaurion in #700 (comment)
The text was updated successfully, but these errors were encountered: