Building a Next-Generation Residential Gateway
Using the steps described above, you should be able to build a Linux-based RG with relatively little effort. If performance becomes an issue, which almost certainly will be the case if you cannot use high-end processors, follow the optimizations guidelines outlined above. And, it's always a good idea to run a profiler on your particular system to discover additional bottlenecks.
Although this article discusses RGs, most of the conclusions and guidelines are true for any embedded networking system.
The issue of Linux optimization for RG systems actually leads to a much bigger and more controversial topic. There seems to be a significant communication problem between the Open Source community and embedded developers working for commercial companies. On one hand, features added to the kernel sometimes hurt performance on small embedded systems. On the other hand, Linux improvements done by some companies do not always find their way back to the main kernel tree, often because they are not done properly. One good example of this miscommunication is the 2.6 kernel itself, which included many important improvements for embedded systems, but suffered some performance degradation. As a result, a significant number of embedded systems still run the 2.4 kernel. The reason for this miscommunication is probably the fact that semiconductor companies that usually do embedded software development find it hard to embrace the idea of open source, but it also may be due to the fact that the Open Source community is less interested in embedded systems, because they are harder to hack than a PC. I do believe that the first problem eventually will go away, as semiconductor companies understand how they can benefit from open source, and I try to do my share of explaining wherever I can. As for the second problem, one of the messages of this article is that it's easy and pretty cool to hack embedded systems, and you actually may have the hardware already.
Das U-Boot: sourceforge.net/projects/u-boot
ARM Linux: www.arm.linux.org.uk
“An Introduction to Embedded Linux Development, Part 1”, by Richard A. Sevenich: www.linuxjournal.com/article/7848
“An Introduction to Embedded Linux Development, Part 2”, by Richard A. Sevenich: www.linuxjournal.com/article/7911
“An Introduction to Embedded Linux Development, Part 3”, by Richard A. Sevenich: www.linuxjournal.com/article/8001
Alexander Sirotkin works for Metalink Broadband as a software architect. Metalink Ltd. (NASDAQ: MTLK) is a leading provider of high-performance wireless and wireline broadband communication silicon solutions. Alexander has more than ten years' experience in software, operating systems and networking, and he holds MSc and BSc degrees in Applied Statistics, Computer Science and Physics from Tel-Aviv University.
Webinar: 8 Signs You’re Beyond Cron
On Demand NOW
Join Linux Journal and Pat Cameron, Director of Automation Technology at HelpSystems, as they discuss the eight primary advantages of moving beyond cron job scheduling. In this webinar, you’ll learn about integrating cron with an enterprise scheduler.View Now!
|Dr Hjkl on the Command Line||May 21, 2015|
|Initializing and Managing Services in Linux: Past, Present and Future||May 20, 2015|
|Goodbye, Pi. Hello, C.H.I.P.||May 18, 2015|
|Enter to Win Archive DVD + Free Backup Solution||May 18, 2015|
|Using Hiera with Puppet||May 14, 2015|
|Urgent Kernel Patch for Ubuntu||May 12, 2015|
- Goodbye, Pi. Hello, C.H.I.P.
- Dr Hjkl on the Command Line
- Initializing and Managing Services in Linux: Past, Present and Future
- Enter to Win Archive DVD + Free Backup Solution
- Gartner Dubs DivvyCloud Cool Cloud Management Vendor
- Using Hiera with Puppet
- Mumblehard--Let's End Its Five-Year Reign
- Infinite BusyBox with systemd
- A More Stable Future for Ubuntu
- It's Easier to Ask Forgiveness...