Let's summarize what we've done already. We've downloaded the GNU Compiler Collection with all needed tools. Then, we've downloaded and plurally patched the Linux kernel 2.4.18. Following, we've build a statically linked application busybox (size is about 789 KB) and created a first initial ramdisk.
Finally, we've completed the build with the bootloader.
We have right now the tools by the hand we need for compiling and running applications. But do you notice the size of the application? It's about 789 KB (up to your setup). Imagine, we compile pppd, pppoe, iptables, sshd,...in the same way like busybox. Unfortunately, we run out of memory. So, we have to consider an essential thing: We have to get apart from the "big monster" glibc and take a leightweight C - library.
This work will be done in the next chapters. First, we discuss a generally directory layout for our initial ramdisk. Then, we compile and install the uClibc, a minimalistic C - library for our needs. And finally, we try to compile and install the programs, needed by an ADSL software router with firewalling and virtual private networking.