Spur
Force which OS your computer boots into using a physical toggle switch. This was our project for HackOHI/O 2016.
Check out this project on GitHub.
Spur makes it really easy to boot multiple OSes on your computer. In a nutshell, it is a USB device with a toggle switch. Depending on the position of the switch, it will force your computer to boot one OS or another. No longer do you need to spam the F12 key and wait for the boot menu to load to switch between operating systems. After configuring spur, simply plug it in, flick the switch, and boot.
This was our project for HackOHI/O 2016. The team consisted of Cameron Sinko, Stephen Kocsis, and myself.
Using LUFA-AVR, we set up an Arduino Leonardo to show up as a USB flash drive. Arduino loads GRUB off of an SD card and sends it to the computer. Depending on the position of the toggle switch, the Arduino changes it’s drive label into order to communicate the user’s choice to GRUB. A specially crafted GRUB config file reads this label and loads a predefined UEFI executable, thus loading the operating system.