81 lines
3.0 KiB
Plaintext
81 lines
3.0 KiB
Plaintext
Introduction
|
|
---------------------
|
|
This README file provides guideliness to compile successfully the
|
|
Etherboot for Hyperstone.
|
|
This directory (src/arch/e1) contains the files that depend on
|
|
Hyperstone's architecture. The header files that include the
|
|
configuration of the system are based on Hyperstone's E132-XS
|
|
development board. The can be very easily modified to support
|
|
anyother configuration environment.
|
|
|
|
Software Perquisites:
|
|
---------------------
|
|
The build environment requires a C compiler for the E1-32XS
|
|
processor. Normally you can simply install a cross-compiling tool
|
|
chain based on the GNU tools (that is binutils and gcc). If you
|
|
are running a Linux system on a x86 CPU then you can just download
|
|
the toolchain as a binary from Hyperstone's official web-site. The
|
|
binary distribution will untar the tools in the /usr/local/e1-coff
|
|
directory. On any other system you will need to build the tool
|
|
chain from the sources.
|
|
|
|
To compile successfully the following tools should be available:
|
|
- GNU toolchain:
|
|
- GCC ver 2.95.2 20030110 (release) e1-coff-gcc -v
|
|
- LD ver 2.12.90 20020726 e1-coff-ld -V
|
|
|
|
Hardware Perquisites:
|
|
---------------------
|
|
The etherboot has been successfully tested in the E1-32XS
|
|
development board. A second serial device is initialized
|
|
to act as a console. The standard messages
|
|
are redirected to the console. Nevertheless, if one wants not
|
|
to use the serial console he may omit the corresponding switches
|
|
from the Config file located under "src/arch/e1/" directory.
|
|
|
|
On the E1-32XS board that was used, a daughter-board was employed
|
|
to connect a second HyIce to the development board. Since the HyIce
|
|
embeds a standard 16550 device, the Etherboot's standard device
|
|
driver is used.
|
|
|
|
The position of the jumpers of the development board in order to
|
|
initialize both the second HyIce and the Ethernet device is
|
|
depicted in the following table:
|
|
|
|
Jumper: Position
|
|
------:--------------
|
|
J3 1-2 (default)
|
|
J4 1-2 (default)
|
|
J13 5-6
|
|
J5 1-2 (default)
|
|
J6 1-2 & 3-4
|
|
J7 3-4
|
|
J9 1-2 (default)
|
|
J10 1-2
|
|
J11 3-4
|
|
|
|
Compilation
|
|
---------------------
|
|
In order to compile Etherboot for Hyperstone, the following steps should be followed:
|
|
1) Edit the main Makefile (located under "src" directory") and comment-out
|
|
the ARCH variable (by putting a "#" in front of it). Append the following line:
|
|
ARCH:=e1
|
|
2) Edit the Config file (the one located under "src" directory) and make sure that
|
|
the CFLAGS variable will contain *only* the following swithces:
|
|
CFLAGS+= -DCONFIG_ISA
|
|
CFLAGS+= -DBOOT_FIRST=BOOT_NIC
|
|
CFLAGS+= -DALLOW_ONLY_ENCAPSULATED
|
|
CFLAGS+= -DBACKOFF_LIMIT=7 -DCONGESTED
|
|
CFLAGS+= -DCOFF_IMAGE
|
|
CFLAGS+= -DDOWNLOAD_PROTO_TFTP
|
|
Please note that extra or any other switches may cause failure of compilation!
|
|
3) type "make hyperstone" or "make coff"
|
|
4) the generated file will be located under the "src/bin" directory and will be called :
|
|
"etherboot.coff". Now you may download it with usual way using e1-coff-gdb ..
|
|
|
|
Have Fun
|
|
|
|
Yannis Mitsos, George Thanos
|
|
{gmitsos,gthanos}@telecom.ntua.gr
|
|
|