2.4. File Layout

You're free, of course, to use any file arrangement and layout you want, but personally I like the following layout (and will use it for the remainder of these instructions):

${BASE}
 |- src
 |  |- binutils
 |  |  |- binutils-2.15
 |  |  `- build-powerpc-603e
 |  |- gcc
 |  |  |- gcc-3.4.3
 |  |  |- build-powerpc-603e-static
 |  |  `- build-powerpc-603e-full
 |  |- glibc
 |  |  |- glibc-2.3.3
 |  |  |  `- linuxthreads
 |  |  |- build-powerpc-603e-toolchain
 |  |  `- build-powerpc-603e-target
 |  |- linux
 |  |  `- linux-2.6.10
 |  `- busybox
 |     `- busybox-1.00
 |- toolchain
 |  `- powerpc-603e-linux-gnu
 |- target
 |  `- powerpc-603e-linux-gnu
 `- kuro
       

In the above layout src is the directory where the compiling of the sources takes place, toolchain will be the location where the cross tools are installed, target is where the files which are ready to be run on the target will be installed, and kuro is where we're going to assemble our files together for transfer to the KuroBox (a.k.a. $IMAGE in the following discussions). $BASE is any location where you have permission to create files and directories.

The GNU tools (binutils, gcc, and glibc) generally suggest that you don't build the programs in the same directory as the sources. That is why each of those tools has their own build-powerpc-603e directories. This makes it easy to try different things with the same source while only having to unpack the source tarball once.

Be sure to unpack the glibc-linuxthreads tarball within the glibc source directory.

The powerpc-603e-linux-gnu subdirectories under the target and toolchain directories leave open the possibility that you will want, in the future, to support different target architectures. In that case each supported architecture would end up in its own directory.

When I was done with all the configuration, compiling, and installation steps, the above directories and their files consumed 2.1 GB of disk space. Of course you don't have to keep all the sources and build directories around.