Difference between revisions of "Bering-uClibc 4.x - Developer Guide - Preparing the Build Environment"

From bering-uClibc
Jump to: navigation, search
(Expanded from initial skeleton based on experiences setting up Fedora 14 (64-bit))
m (Corrected build time example)
Line 13: Line 13:
 
Compiling source code is a CPU- and RAM-intensive operation, so a reasonably powerful machine is advisable. Multiple CPU cores are a benefit, especially for compiling the build environment itself (the target GCC etc.).
 
Compiling source code is a CPU- and RAM-intensive operation, so a reasonably powerful machine is advisable. Multiple CPU cores are a benefit, especially for compiling the build environment itself (the target GCC etc.).
  
Only x86 and x86_64 CPUs are supported for the build host.
+
x86 and x86_64 CPUs are supported for the build host.
  
Examples of build performance for "<tt>buildtool.pl build buildenv</tt>" are:
+
Examples of build performance for "<tt>buildtool.pl build buildenv</tt>" (following a successful "<tt>buildtool.pl source buildenv</tt>" on a brand new build environment) are:
* Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (Dual Core) with 4GB DDR2 RAM, Fedora 14, 64-bit, Elapsed time: 2 hours (TBC)
+
;50 minutes : Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (Dual Core) with 4GB DDR2 RAM, Fedora 14 (64-bit)
  
 
===Disk Space===
 
===Disk Space===

Revision as of 20:17, 9 January 2011

Preparing the Build Environment
Prev Bering-uClibc 4.x - Developer Guide Next


Hardware

CPU & RAM

Compiling source code is a CPU- and RAM-intensive operation, so a reasonably powerful machine is advisable. Multiple CPU cores are a benefit, especially for compiling the build environment itself (the target GCC etc.).

x86 and x86_64 CPUs are supported for the build host.

Examples of build performance for "buildtool.pl build buildenv" (following a successful "buildtool.pl source buildenv" on a brand new build environment) are:

50 minutes 
Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz (Dual Core) with 4GB DDR2 RAM, Fedora 14 (64-bit)

Disk Space

A fully built development environment with all of the Bering-uClibc 4.x Packages and all of the kernel variants occupies more than 7.5 Gigabytes of disk space.

Assume that 8 Gigabytes are required.


Operating System

The Bering-uClibc 4.x kernel and Packages can be built on any modern Linux distribution which has the necessary software development utilities installed. Examples of distributions which are known to work include:

  • Fedora 10 (32-bit)
  • Fedora 14 (64-bit)

Required Software on the Build Host

perl 
All of the "build" utilities (buildtool, buildpackage, buildimage) are written in Perl and require Perl version 5.6 or higher.
In addition there is a requirement for the Config::General package which is not part of most standard Perl installations. On distributions which use the "yum" package manager (Red Hat, Fedora etc.) the required RPM can usually be installed with:
yum install perl-Config-General
cvs 
LEAF currently uses CVS for source code version control, so the cvs utility is required.
patch 
The patch utility is required to apply patches to upstream source distributions.
gcc 
There is no longer a requirement to use GCC version 3. GCC version 4 (e.g. 4.5.1.4) works well.
texinfo 
Required for the makeinfo utility used for some compilation steps, though the resulting .info files are not used.
bison 
Required to build the (TBC) Package.
asciidoc 
Required to build the (TBC) Package.
fakeroot 
Required when building Packages and disk Images, avoiding the need to actually run as the root user on the build host.


In addition, the following RPM or similar packages are also required on the build host but are normally a standard part of the base Linux distribution:

  • binutils (for command strip)
  • bzip2 (for command bzcat)
  • flex
  • gawk
  • gzip (for a gzip-compatible zcat)
  • m4
  • make
  • sed
  • tar
  • wget



Prev Up Next