Not dissimilar to Android, the Ocean OS was a linux-based OS for running on Ocean devices. The Ocean CPU used ARMv7.
I should write about this in more detail, but here are some highlights:
- There were actually TWO OSes, the second being firmware for an onboard chip for power and USB management - the MCU.
- We had an API so the linux OS could communicate with the MCU: (https://github.com/GetOcean/ocean-mcu-comm-api)
- We had additional drivers for a hardware test fixture for Ocean devices.
- We had our own linux kernel, open sourced on github.
- To get our WiFi/BT/BTLE chip working, we had to do lots of tedious Bluetooth and WiFi linux backports.
- We created an OS build server, with test scripts and unit tests for verifying the OS build on an Ocean device.
- Sourced chipset firmware with dubious binaries (https://github.com/GetOcean/ocean-os-bt-firmware)
- Wrote a C++ library for talking to iOS devices without blowing up the CPU.
And so on. Just because we didn't have to write the kernel doesn't mean building an OS is easy!