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

reproducibility? #3

Closed
merge opened this issue May 29, 2018 · 9 comments
Closed

reproducibility? #3

merge opened this issue May 29, 2018 · 9 comments

Comments

@merge
Copy link

merge commented May 29, 2018

I simply cloned the repo 2 times and built, ./build.sh X230. The resuting images differ. diffoscope shows they differ quite significantly. 4 times the build-time is in there, but a large binary chunk difffers too. Why?

thanks.

@Thrilleratplay
Copy link
Owner

Thrilleratplay commented May 29, 2018

Interesting. I can do the same with just the --clean-slate option. Even though there are git repos used with the payloads, which I should change, even when they are the same commit, there are variations. I will need to investigate this more. Thank you for noticing this.

EDIT: It looks like payloads cause variations. If this is the case, I will add a config that generates a reproducible build and try to match it to the hash generated by Coreboot.

@Thrilleratplay
Copy link
Owner

Thrilleratplay commented May 30, 2018

This is an example of Coreboot's reproducible build output. The output suggest it is executing the abuild script under coreboot's util directory but, as best as I can determine, uses this config which seems to be missing key information. At this point, I think I need to ask the Coreboot build team about how much of the project is reproducible.

@merge
Copy link
Author

merge commented May 30, 2018

Thats a lot for taking the lead on this

@Thrilleratplay
Copy link
Owner

@merge Just to give you an update, I received a response from the Coreboot mailing list. I need to test removing the secondary payloads and using diffoscope to better determine what is causing variations in checksum hashes.

@Thrilleratplay
Copy link
Owner

@merge I think the build issue was fixed around a week ago. Using the --bleeding-edge flag, last Saturday and just now I was able to compile Coreboot and generate the same sha256 everytime. Could you try again to confirm this?

@merge
Copy link
Author

merge commented Jun 16, 2018 via email

@merge
Copy link
Author

merge commented Jun 18, 2018

I can confirm. Nice!

Is there an option to choose one coreboot git commit to build already?

thanks!

@merge
Copy link
Author

merge commented Jun 18, 2018

at least build-tested everything and I'd love to directly include your scripts in the Skulls project...

@merge merge closed this as completed Jun 18, 2018
@Thrilleratplay
Copy link
Owner

It looks like you found the commit flag and already incorporated many of the same elements of the scripts into Skulls. Please do! I want to focus on using the docker image to build Coreboot and internal flashing. I will point those who need to flash externally to skulls in the readme.

You may want to run Shellcheck across Skulls if you want to make the scripts more cross shell compatible. It also helps with maintaining sanity while writing bash scripts. I tried to make a PR to fix a number of them but kept rewriting the while spaces when I did and never could seem to match the original. I am not sure what editor you use, but to keep that style, you may want to add a editorConfig file to Skulls.

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

2 participants