There comes a point in the lifetime of almost every long-lived embedded application when you need to consider upgrading the kernel. The reasons that you might need to upgrade include:
Upgrading the kernel of an existing embedded Linux application is never easy. The application must be thoroughly re-qualified. On the kernel side, you will need to port any custom driver code that you developed to the new kernel and you might need to port userspace applications that use kernel interfaces such as the sys and proc filesystems.
Even in the best case, a kernel upgrade requires experience and knowledge of the mainline code that you probably can't afford to keep current in-house. The experience and knowledge that Tk Open Systems has accumulated can help you reduce the time required for a kernel upgrade, reduce the development risk, and free your in-house engineers to work on re-qualifying your core application code.
In some instances, backporting a driver or feature from a newer kernel version to a legacy kernel is the right decision instead of a kernel upgrade. Often the decision between upgrading and backporting is not easy to make and requires expert knowledge of the device drivers involved and their revision history. Here again, the accumulated experience of Tk Open Systems engineers and their familiarity with many different kernel and driver versions can help you make the correct decision.
If you have questions about upgrading and backporting in your legacy embedded Linux application you can arrange a free initial consultation with a senior TkOS Linux engineer by contacting Alan Yaniger at <email@example.com>.