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