3 Theory of operation

Contents of this section

The problem of building the development system for ELF binaries is that we need to bootstrap the system from jump-table system. On the other hand, we NEED to keep the jump-table system separate from the ELF one because we may want to use both development systems. We also need to have a /lib for jump-table and one for ELF, a gcc/gas/ld for jump-table and one for ELF (this is our goal of course :) So we need to do the following operations:

  1. Choose an alternate directory tree for ELF system.
  2. Build jump-table binaries of binutils-2.5.2.6, to create the ELF assembler (gas) and linker (ld).
  3. Install the things listed in 2.
  4. Build jump-table binaries of gcc-2.6.2 to create the ELF C compiler.
  5. Install the things listed in 4.
  6. Build ELF binaries of libc-4.6.27, to create ELF C libraries.
  7. Install the things listed in 6.
  8. 2-7 are the first stage. To create gcc/gas/ld ELF binaries you must repeat the steps 2-7 (2nd stage).

3.1 Choose an alternate directory tree

You must choose an alternate directory tree for your ELF system. I have chosen:
/lib/elf for ELF shared libraries
/usr/i486-linuxelf/... for all the ELF related files
/usr/i486-linuxelf/bin for ELF binaries
/usr/i486-linuxelf/lib for libraries
/usr/i486-linuxelf/lib/gcc-lib/... for gcc and its files
...
so the installation prefix will be /usr/i486-linuxelf

Next Chapter, Previous Chapter

Table of contents of this chapter, General table of contents

Top of the document, Beginning of this Chapter