SourceForge.net Logo

Chapter 2. Toolchain and libraries

Abstract

This chapter describes build process of building the uClibc toolchain. This toolchain is then used to build the Linux kernel.

2.1. Environment Variables

[Caution]Caution

Before your start, make sure to assign the environment variables listed below. Never run any of the commands as root. Failure to do so will cause harm to your computing environment.

This HOWTO assumes that you are running a bash shell. Tailor the variables listed below to your environment, and add them in a convenient place such as ~/.bashrc. Double check that values of PRJ_DIR and FLASH_DEV match your system configuration!

export PRJ_DIR=/home/embedded/siso
export DL_DIR=${PRJ_DIR}/downloaded

export CROSS_COMPILER_PREFIX=i386-linux-uclibc-
export BUILD_DIR=${PRJ_DIR}/buildroot
export TOOLCHAIN_DIR=${PRJ_DIR}/buildroot/build_i586/staging_dir  #was i386
export TOOLCHAIN_CROSS=${TOOLCHAIN_DIR}/bin/${CROSS_COMPILER_PREFIX}

export TARGET_DIR=${PRJ_DIR}/target
export LINUX_DIR=${PRJ_DIR}/kernel/linux-2.6.22-4  # linux version

export ROOTFS_FILE=${TARGET_DIR}/rootfs
export ROOTFS_DIR=${ROOTFS_FILE}.d  # this will be written to the router's root fstar -C $PRJ_DIR -cvjf $DL_DIR/buildroot-svn.tar.bz2 buildroot

export FLASH_DEV=/dev/hde
export FLASH_PART=${FLASH_DEV}1
export FLASH_MNT=$ROOTFS_FILE.mnt