FRIENDz

FAILURE IS THE SIGN OF SUCCESS!!

Software Environment for Linux


Configuring the Software Environment (RPM PACKAGE)
The development environment is used for the following tasks:

 Booting the board: An embedded development board needs some special services
in order to get started. When it’s up and running, if the board contains an Ethernet
port (most do), you can telnet or ssh to the board. During the development cycle,
it’s recommended that the serial console be active as a backup communication
method in case the board can’t be reached over the network.

Configuring and building the Linux kernel: Most boards, although powerful, can’t
be used to compile the kernel. The memory and/or processing power isn’t
adequate. The development host is used to configure and compile the kernel and
get it ready for use by the board.


 Configuring and building the root file system: The root file system contains the
user programs that the kernel needs to work as well the application for the device.
Without a root file system, the kernel would panic and stop running. In some
cases, the root file system resides on the development host and is accessed over
the network by the target board, which means the development host must be
properly configured this to work.

Compiling and debugging your application: Because most boards can’t be used to
compile the kernel and applications, the development host is used to compile the
programs. That requires additional configuration steps.
Tools Typically Used in Embedded Development
Automake
 A tool for creating make files that can be run on a variety of systems.
Autoconf
A tool for building the configure scripts that scan the system to figure out the system’s
state.
M4
 A macro processing tool much like the pre-processor in C.
GCC
 The GNU Compiler Collection. Many installations don’t include GCC because of its
size. When you install GCC, the system also installs some of the tools that GCC uses,
such as the assembler (as) and linker (ld). If you type gcc on the command line, the C
compiler provided by the GNU Compiler Collection will be invoked.
G++
The GNU C++ compiler command. Whenever you type g++ on the command line, the
GNU C++ compiler will be invoked. This is required when you’re using tools that use
C++. Like GCC, G++ requires a lot of disk space; consequently, it doesn’t make the cut
for many CD-ROM based installations.
GDB
 The GNU Debugger.
dhcp3-server
 Dynamic Host Configuration Protocol—the software that’s used to automatically
assign IP addresses on a network.
nfs-user-server
Network File System—a tool from Sun that allows a remote computer to access storage on a remote computer.
tftpd Trivial File Transfer Protocol
A simple protocol for transferring files over an IP
network. This protocol is easy to implement and makes few demands on the boot
loader.
Minicom
 An old school, text-based terminal emulation program. When you’re talking to a
board over a serial cable, minicom is the perfect tool.
RPM
Systems based on RPM, like Red Hat, Fedora and CentOS, use a program called yum1 that provides the same functionality as apt-get. Yum interacts with a central repository, and when a user asks to install a package, it attempts to download it from that repository along with any dependent packages.
To start the installation process, enter the following command:
$ sudo yum install automake autoconf m4 gcc gdb dhcp3-server nfs-user-server tftpd
Minicom
The software calculates the dependencies and shows a list of what will be upgraded and installed. The output looks similar to this, depending on the configuration of the host system:

=================================================================
Package Arch Version Repository Size
=================================================================
Installing:
autoconf noarch 2.59-12 base 647 k
automake noarch 1.9.6-2.1 base 484 k
gcc i386 4.1.2-42.el5 base 5.2 M
gdb i386 6.5-37.el5_2.2 updates 3.1 M
m4 i386 1.4.5-3.el5.1 base 133 k
Installing for dependencies:
binutils i386 2.17.50.0.6-6.el5 base 2.9 M
glibc-devel i386 2.5-24.el5_2.2 updates 2.0 M
glibc-headers i386 2.5-24.el5_2.2 updates 611 k
imake i386 1.0.2-3 base 319 k
kernel-headers i386 2.6.18-92.1.22.el updates 854 k
libgomp i386 4.1.2-42.el5 base 82 k
Updating for dependencies:
cpp i386 4.1.2-42.el5 base 2.7 M
glibc i686 2.5-24.el5_2.2 updates 5.2 M
glibc-common i386 2.5-24.el5_2.2 updates 16 M
libgcc i386 4.1.2-42.el5 base 93 k



Transaction Summary
==================================================================
Install 11 Package(s)
Update 4 Package(s)
Remove 0 Package(s)
Total download size: 40 M
Is this ok [y/N]:
Enter Y, and the system begins downloading and installing the packages. When the process
completes, the environment has the necessary packages installed.

No comments:

Post a Comment