Linux ports now exist for many cpu and system architectures, however it is not uncommon for an embedded system to comprise a unique set of hardware components, whether it be particular peripheral devices or even a specific processor variant.
We have experience of porting the core Linux kernels to custom system-on-chip IC's (including MIPS and PowerPC cpu's) and to multiple development platforms including, where necessary, specific patches and extensions such as those for preemption and improved 'real time' performance. This includes kernel configuration files and makefiles as well as the hardware-specific code modules, resulting in a kernel optimised to customer requirements.
An embedded system - especially when based around a system-on-chip IC - will often require device drivers which are not available as part of the standard Linux kernel. In addition, peripheral devices may have been used in the system in a non-standard way, requiring modifications to the standard driver. We are highly experienced at designing and developing Linux device drivers, ranging from Ethernet and wireless LAN peripherals to on-chip digital TV decoders.