Lots of interesting information, especially these discussions where Alexander Graf chipped in:
- uEFI/Tianocore/U-Boot information around 20:08.
- upstreaming around 22:10
The hand off of the boot loader to the actual OS payload. The payload and U-boot are in memory running at the same time. The payload can call back into U-boot through the uEFI API that U-boot implements so that the payload provides extra drivers enabling for instance a subsequent graphical stage (splash screen, menus, etc), more hardware access and so on. You even could pass ACPI tables through U-boot to the payload and help shooting yourself in the foot.
Important aspects for upstreaming:
- keep commits short so they are easy to review
- make sure patches are always rebaseable for each and every commit set (so it compiles throughout)
- this tremendously helps doing a git bisect
- it makes adding features that other parts depend on hard: you need to think on chicken & egg situations in advance
–jeroen