A Linux PC is recommended for development, and will be assumed for this documentation. For users in Windows or OSX we recommend virtualizing a Linux PC. Most of our boards run Debian and if you have no other distribution preference this is what we recommend.
Suggested Linux Distributions
It may be possible to develop using a Windows or OSX system, but it cannot be directly supported. You will need some way to read/write disks without the OS mounting any filesystems and corrupting any direct disk access utilities. You will also need a compiler, though most of our systems provide compilers which can be used on the target device itself which will work for application development. Kernel development will require a Linux PC to be available.