When an image is created for a particular CPU the Image Builder is instructed to use the appropriate native components for the selected platform. The user is able to create images for Windows, Linux and Mac OS X for both 32-bit and 64-bit versions. Due to the fact that there is a wide variety of embedded platforms with different hardware characteristics, the native components are customized in order to make the native parts compatible with the particular devices that they are built for. This customization is achieved in the form of "board extensions" that are provided as an ad-on to the products. Each extension contains scripts and natives (e.g. related to serial and USB communication) that are tailored for specific boards and platforms. Such extensions enable developers to build target images to be compatible for their particular environment. When a board extension is added to the Bosch IoT Gateway Software SDK installation, the target device will appear as a platform option in Image Builder.