gracefully handle UFS_BSG not being enabled in the kernel, rather than putting the device into a semi-bricked state (oops).
not sure how best to write tests, probably a larger test framework on a board farm to test on real devices will be more sensible.
not yet properly tested, but it seems to mostly work just fine. Slot switching and marking boot as successful at least just work!
This is a port of the Android bootctrl HAL and Qualcomms GPT based implementation for musl/glibc based systems running mainline linux Currently it doesn't work because the gpt hdr which is read doesn't seem to have valid data.