/* Uncomment the next line if you need to wait for debugger. */
// debug_break();
+ /* The firmware may skip initializing some devices for the sake of a faster boot. This is especially
+ * true for fastboot enabled firmwares. But this means that things we use like input devices or the
+ * xbootldr partition may not be available yet. Reconnect all drivers should hopefully make the
+ * firmware initialize everything we need. */
+ (void) reconnect_all_drivers();
+
err = BS->OpenProtocol(image,
&LoadedImageProtocol,
(void **)&loaded_image,