How does Linux/BSD support new hardware?