-
-
Notifications
You must be signed in to change notification settings - Fork 17
Simplify dev builds #776
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
base: dasharo
Are you sure you want to change the base?
Simplify dev builds #776
Conversation
782d68a
to
148e4d5
Compare
@philipanda seems to me like reinventing the wheel, but maybe @miczyg1 should confirm. We have an AIRGAP feature, which should be expanded to cover your use case. Sorry, I didn't deeply dive into your motivation (lack of time), but at first glance it seem to be the case. |
It might be. I didn't dive deep too into it as the |
Which use case is this meant to simplify? Is it about having a separate EDK2 checkout for development and pointing at it to build the ROM? |
I'd like to have a local edk2 repo which can be freely modified and built using the I'd also like to add an option to:
|
This is my bad. The source PR definitely has more explanation. If you feel it is not documented enough, you should submit an issue. There are various valid use cases, but bloat would not help us in maintenance. @macpijan we need some product/design thinking here. |
Yes it is an airgap scenario clearly.
I think edk2 is heavy to clone, lots of submodules, waste of time, etc... By having a local copy of the repo with the submodules ready, it might be "easier" and faster... |
It's not exactly about having a local copy, that's just the easiest way to allow to make a little change in edk2 and then build Dasharo in one command. Without pushing to the remote, managing the history there and modifying the .kconfig on every build. I can't see what's wrong with the idea of reducing the time needed to build some change. From what I see from the AIRGAP PR it's about performing the builds offline as a security measure, not to simplify quick test builds, so to me, it's a completely different use case. If some functionality is common, there is no reason to duplicate it, but I still hold my stand. |
I do not compile edk2 as my daily job, so I'd like to hear how @SergiiDmytruk @miczyg1 @mkopec are doing this, and why it's a hassle for @philipanda ? Certainly, building coreboot binary with local edk2 changes should be as easy as making changes in edk2 and hitting a build button, and I'm with @philipanda on this one. |
Signed-off-by: Filip Gołaś <[email protected]>
148e4d5
to
79fd21a
Compare
It is that simple. coreboot will not overwrite changes or change branches in the cloned edk2 repo if it is dirty. What I sometimes do is local changes under payloads/external/edk2/workspace/Dasharo, rebuild with make and check. To trick coreboot to rebuild edk2 I just do And once I consider the job done, I push the local changes to remote (although one may need to change the remote to SSH instead of HTTPS, and that's second trick to it)... |
Yep. I avoid I ended up thinking of I guess 79fd21a is better than nothing but it doesn't address submodules that in case of EDK consume most of the build time (OpenSSL mostly). I tried to work around that by configuring git to replace remote URLs with local repos but [url "/home/user/repos/deps-cache/stm"]
insteadOf = https://review.coreboot.org/STM Other options I thought about were read-only/copy-on-write bindfs/overlayfs/docker mounts to be able to mix normal and |
No description provided.