LBE - LTSP Build Environment

Version 1.0-alpha-1 - October 25, 2002

LBE is the Build environment used to build LTSP from source code. It is the same environment that we use to build the official LTSP packages, and you should use it to, if you want to add programs to the standard LTSP.

Packages currently available:

Package Description Size
lbe-1.0-alpha-1.tar.bz2 Binary LBE 73mb
lbe-source-1.0-alpha-1.tar Source code for the LBE
You only need this if you want to build the LBE. For most people, the Binary LBE should be fine
73mb
ltsp-source-4.0-alpha-1.tar LTSP 4.0 Alpha 1 Source code. This is the complete source code for LTSP-4.0. 74mb
 
ltsp_gcc-3.2-1.tar Gcc 3.2 source. Use this if you want to build the LBE and you don't already have gcc 3.2.
(If you are running Redhat 8.0, or another system that already has gcc 3.2 you do NOT need this package)
21mb
ltsp_binutils-2.13-1.tar Binutils 2.13 source. Use this if you want to build the LBE and you don't already have binutils 2.13.
(If you are running Redhat 8.0 or another system that already has binutils 2.13 you do NOT need this package)
10mb
MD5SUMS for the above files
a7da9370895d264f48592b9b89c6db39  lbe-1.0-alpha-1.tar.bz2
a2c03ab258f2b784e107d1424ea8bec8  lbe-source-1.0-alpha-1.tar
9b825fb408436dafca044948accc89a5  ltsp-source-4.0-alpha-1.tar
70bab71a66e75571c3b6903d05ca82f6  ltsp_binutils-2.13-1.tar
ab182ff77fa3a25f2688397ad64d33e3  ltsp_gcc-3.2-1.tar

Why do we need a separate build environment ?

Well, we don't really have to have it. You could (possibly) build LTSP on any Linux box that has the right versions of the compilers and linkers and libraries. And, as long as you always use the same machine to build all of your LTSP stuff, things should be fine.

But, as soon as you try to take a program that someone else built on their system, you are probably going to have trouble with shared library versions.

So, the LBE has been created so that you can use EXACTLY the same compilers, libraries and other tools as we use when we built LTSP back at the factory.

What are the requirements for building the LBE ?

Well, first of all, you only need to build the LBE if you want to add more tools to the LBE. If all you want to do is build the LTSP sources, you just need to install the binary version of the LBE.

Having said that, if you really do want to build the LBE from sources, this is what you'll need:

What is in the LBE ?

PackageVersionDescription
lbetree 0.02 Prepares the tree for the lbe tools to be installed
bash 2.05b Shell
binutils 2.13 The linker (ld), assembler (as) and a bunch of other tools needed for compiling programs
bison 1.28 Parser generator. Useful for building compilers.
bzip2 1.0.2 File compression utilities
diffutils 2.8 Gnu DIFF utilities, for finding the differences in files
fileutils 4.1 Gnu file management utilities, such as ls, mkdir, mv, rm, cp and a bunch of others
findutils 4.1.7 Gnu find utilities
flex 2.5.4 Gnu lexical scanner. This works with bison to produce a lexical scanner for building compilers.
gawk 3.1.1 Gnu AWK
gcc 3.2.1 Gnu Compiler Collection. This is the C and C++ compilers.
gettext 0.10.40 For handling of messages in different languages
glibc 2.2.93 Gnu LIBC standard libraries
grep 2.5 Gnu grep. Global Regular Expression Parser. Useful for searching through text files, looking for strings
gzip 1.2.4a Gnu ZIP. File Compression utility
kernel_headers 2.4.19 Kernel header files, directly from the 2.4.19 linux kernel sources
libelf 0.8.2 ELF Object file access library
libtermcap 2.0.8 A library of C functions that enable programs to send control strings to terminals in a way independent of the terminal type
make 3.79.1 Utility to automatically determine which pieces of a large program need to be recompiled, and issues the commands to recompile them.
ncurses 4.3 Library of routines for building screens
patch 2.5.4 Utility to patch source code files
perl 5.8.0 A language that combines some of the features of C, sed, awk and shell.
popt 1.6 A library for parsing command line options
sed 3.02 Stream Editor
sh_utils 2.0 Shell programming utilities, such as basename, chroot, date, dirname and a whole bunch more
tar 1.13 File archiver. Used to save many files together into a single tape or disk archive.
texinfo 4.2 Utilities for generating and viewing info style documentation
textutils 2.1 Text processing utilities, such as cat, head, tail, sort and a bunch more


LTSP 4.0 Source code

The ltsp-source-4.0-alpha-1.tar package above contains the source code for the upcoming version 4.0 of LTSP.

This is "alpha" code. That is, it's not even ready for beta. The code could change drastically before we release the official LTSP 4.0, so don't make any huge plans based on this alpha code. Then again, it might not change much at all. That's why we are releasing the package, to get some feed back, so we know what changes to make.

This is the first time we have built ALL of LTSP from source code. All of the previous releases contained binaries that were taken from other distros. We have always provided the source code to the pieces that we wrote, but finally, we have a complete set of source code.

Building the source code is pretty easy, provided you have the right versions of the right tools. We have made that really easy by providing the complete build environment that we used to build the sources here in the LTSP labs.

You could probably build LTSP using your own build tools, but then it wouldn't match the binaries that we build and distribute. By using the LTSP Build Environment (LBE), you will be able to build LTSP using EXACTLY the same tools we use. Ok, enough said.

Features of LTSP-4.0

To Do list for LTSP-4.0


Getting started

To get started with the new LTSP, follow these steps:

  1. Create a directory on a filesystem with about 2gb of free space We'll use /usr/local/projects as an example.

  2. Download the lbe-1.0-alpha-1.tar package and save it in the /usr/local/projects directory.

  3. Download the ltsp-source-4.0-alpha-1.tar package and save it in the same directory as the step above.

  4. untar the lbe:
           tar xvf lbe-1.0-alpha-1.tar
        

  5. untar the ltsp sources:
           tar xvf ltsp-source-4.0-alpha-1.tar
        

  6. Change into the lbe/build_env_root directory.

  7. Enter the Chroot'ed environment by running the following:
           ./run_chroot
        

  8. Change into the ltsp_source directory.

  9. Run the build_all script.

  10. When finished, you can take a look at the output in /usr/local/projects/lbe/build_env_root/tmp/ltsp.log

  11. Update your /etc/exports file to export the /usr/local/projects/lbe/build_env_root/opt/ltsp/i386 directory.

  12. Update your /etc/dhcpd.conf file to set the root-path to this new i386 directory.


What to do, if you need help

For help with the ltsp sources and the LBE, you can try the following:


Build times:

System Distro/Version Build LBE Build LTSP
Celeron 400 Mhz Redhat 7.3 3hr 3min 42sec 3hr 12min 18sec
Dual P3-1Ghz Redhat 7.2 54min 35sec 1hr 4min 39sec
P4 - 2.53Ghz Redhat 8.0 39min 5sec 38min 31sec
Dual Athlon-2000MP Redhat 7.3 31min 46sec
Athlon XP 1900+ Redhat 8.0 50min 17sec