CPU Compatibility
There is one other, less obvious requirement to keep in mind and that
is CPU compatibility. Each generation of CPU features a more complex
architechture than its predecessor. Late generation chips have
additional registers and instructions when compared to an older 486 or
386. So a kernel optimized for a new, fast 6x86 machine will not run on
an older boxes. (See the README file in the Linux kernel source code
for details.) A BASH shell built for a 6x86 will probably not run on an
older processor either. To avoid this problem, we can choose the 386 as
a lowest common denominator CPU and build all the code for that
architecture