Update from David Fiddes.

This commit is contained in:
Joel Sherrill
1998-10-27 19:28:20 +00:00
parent 71e120790d
commit cdf30abaa2
4 changed files with 104 additions and 113 deletions

View File

@@ -41,8 +41,8 @@ $(PROJECT).ps: $(PROJECT).dvi
# run texi2dvi twice to generate the xref's properly.
$(PROJECT).dvi: $(FILES)
$(TEXI2DVI) -v $(PROJECT).texi
texi2dvi -v $(PROJECT).texi
$(TEXI2DVI) $(PROJECT).texi
texi2dvi $(PROJECT).texi
intro.texi: intro.t versions.texi
$(BMENU) -c -p "Top" \

View File

@@ -221,6 +221,22 @@ are on a Solaris 2.x host, then change the first line of the files
@code{bit}, @code{bit_gdb}, and @code{bit_rtems} to use the
@code{/bin/ksh} shell instead.
@subsection Linux
@subsubsection Broken install Program
Certain versions of GNU fileutils include a version of @code{install} which
does not work properly. Please perform the following test to see if you
need to upgrade:
@example
install -c -d /tmp/foo/bar
@end example
If this does not create the specified directories your install
program will not install RTEMS properly. You will need to upgrade
to at least GNU fileutile version 3.16 to resolve this problem.
@c
@c Reading the Documentation
@c

View File

@@ -7,20 +7,20 @@
@c
@set CYGWIN-VERSION B19
@set CYGWIN-FTP http://www.cygnus.com/misc/gnu-win32
@set CYGWIN-FTP http://www.cygnus.com/misc/gnu-win32/
@set CYGWIN-COOLVIEW http://www.lexa.ru/sos/
@set DOS2UNIX-FTP ftp://ftp.micros.hensa.ac.uk/platforms/ibm-pc/ms-dos/simtelnet/txtutl/dos2unix.zip
@set PFE-FTP http://www.lancs.ac.uk/people/cpaap/pfe/
@chapter Using MS-Windows as a Development Host
This chapter discusses the installation of the GNU tool chain
on a computer running either the Microsoft Windows95
or WindowsNT operating system.
on a computer running the Microsoft Windows NT operating system.
This chapter is based on a draft provided by
Geoffroy Montel <g_montel@@yahoo.com>. Geoffroy's
procedure was based on information from
David Fiddes <D.J.Fiddes@@hw.ac.uk>.
David Fiddes <D.J@@fiddes.surfaid.org>.
Their input and feedback is greatly appreciated.
@b{STATUS:} This chapter should be considered preliminary.
@@ -29,9 +29,9 @@ Please be careful when following these instructions.
@section Version Information
This installation process works well under Windows NT.
It is said to also work under Windows95 (although it
did not work with B18). Anyway, the resulting code works
under both NT and 95.
Using Windows 95 or 98 is not recommended although it
should be possible with version 3.77 of gmake and an updated
cygwinb19.dll.
This procedure should also work with newer version of
the tool versions listed in this chapter, but this has
@@ -49,7 +49,7 @@ and build a Windows hosted GNU cross development toolset.
You will have to uncompress many archives during this
process. You must @b{NOT} use @code{WinZip} or
@code{PKZip}. Instead the un-achiving process uses
@code{PKZip}. Instead the un-archiving process uses
the GNU @code{zip} and @code{tar} programs as shown below:
@example
@@ -96,6 +96,8 @@ The dos2unix utility may be downloaded from:
@value{DOS2UNIX-FTP}
@end ifclear
You @b{must} change the format of every patched file
for the toolset build to work correctly.
@subsection Files Needed
@@ -117,16 +119,37 @@ Web browser or ftp client.
@value{CYGWIN-FTP}
@end ifclear
@item usertools.exe
@item coolview.tar.gz
@ifset use-html
@href{@value{CYGWIN-FTP},,@value{CYGWIN-FTP}}
@href{@value{CYGWIN-COOLVIEW},,@value{CYGWIN-COOLVIEW}}
@end ifset
@ifclear use-html
@value{CYGWIN-FTP}
@value{CYGWIN-COOLVIEW}
@end ifclear
@end table
@subsection System Requirements
Although the finished cross-compiler is fairly easy on resources
building it can take a significant amount of processing power and
disk space. The recommended build system spec is:
@itemize @bullet
@item An AMD K6-300, Pentium II-300 or better processor. GNU C and Cygwin32 are
@b{very} CPU hungry.
@item At least 64MB of RAM.
@item At least 400MB of FAT16 disk space or 250MB if you have an NTFS partition.
@end itemize
Even with this spec of machine expect the full suite to take over 2 hours to
build with a further hour for RTEMS itself.
@section Installing Cygwin32 B19
This section describes the process of installing the
@@ -137,13 +160,10 @@ referred to as @code{<RTOS>}.
@enumerate
@item Execute cdk.exe. These instructions assume that you
install Cygwin32 under the <RTOS>\GnuWin32\b19 directory.
@item Execute usertools.exe. These instructions assume that you
install Cygwin32 under the <RTOS>\GnuWin32\b19 directory.
install Cygwin32 under the <RTOS>\cygnus\b19 directory.
@item Execute Cygwin.bat (either on the start menu or
under <RTOS>\GnuWin32\b19).
under <RTOS>\cygnus\b19).
@item At this point, you are at the command line of @code{bash},
a Unix-like shell. You have to mount the "/" directory. Type:
@@ -153,39 +173,45 @@ umount /
mount -b <RTOS> /
@end example
For example, the following sequence creates an MS-DOS virtual
drive @code{O:} using an MS-DOS command window and then mounts
that virtual drive as the root directory for the Cygwin32 environment:
For example, the following sequence mounts the @code{E:\unix} as the
root directory for the Cygwin32 environment. Note the use of two @code{\}s
when specifying DOS paths in bash:
@example
subst o: <RTOS>
umount /
mount -b o: /
mount -b e:\\unix /
@end example
@item Create the /bin, /tmp, /build and /usr directories.
@item Create the /bin, /tmp, /source and /build directories.
@example
mkdir /bin
mkdir /tmp
mkdir /source
mkdir /build
mkdir /usr
mkdir /build/binutils
mkdir /build/egcs
@end example
@item The light Bourne shell provided with Cygwin B19 is buggy.
You should copy it to a fake name and copy @code{bash.exe} to @code{sh.exe}:
@example
cd <RTOS>/GnuWin32/b19/bin
cd <RTOS>/cygnus/b19/H-i386-cygwin32/bin
mv sh.exe old_sh.exe
cp bash.exe sh.exe
@end example
The Bourne shell often has to be present in /bin directory when installing
new packages.
The Bourne shell has to be present in /bin directory to run shell scripts properly:
@example
cp <RTOS>/cygnus/b19/H-i386-cygwin32/bin/sh.exe /bin
cp <RTOS>/cygnus/b19/H-i386-cygwin32/bin/bash.exe /bin
@end example
@item Open the file
@code{/gnuwin32/b19/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/2.7-b19/specs},
@code{/cygnus/b19/H-i386-cygwin32/lib/gcc-lib/i386-cygwin32/2.7-b19/specs},
and change the following line:
@example
@@ -212,19 +238,18 @@ are ready to proceed to building a cross-compiler.
@enumerate
@item Unarchive @value{BINUTILS-TAR} following the
instructions in @ref{Unarchiving the Tools}. Apply the
appropriate RTEMS specific patch as detailed in
instructions in @ref{Unarchiving the Tools} into the /source directory.
Apply the appropriate RTEMS specific patch as detailed in
@ref{Apply RTEMS Patch to binutils}.
@b{NOTE}: See @ref{Bug in Patch Utility}.
@item In the @code{/build} directory, execute the following
@item In the @code{/build/binutils} directory, execute the following
command to configure @value{BINUTILS-VERSION}:
@example
@value{BINUTILS-UNTAR}/configure --verbose --target=m68k-rtems \
--prefix=/gcc-m68k-rtems --with-gnu-as \
--with-gnu-ld --with-targets=all --with-newlib --with-multilib
/source/@value{BINUTILS-UNTAR}/configure --verbose --target=m68k-rtems \
--prefix=/gcc-m68k-rtems --with-gnu-as --with-gnu-ld
@end example
Replace @code{m68k-rtems} with the target configuration
@@ -237,47 +262,29 @@ list of the targets available.
make
@end example
@item With B19, an error will occur. Remove the ".exe" suffix
from the tools by finding them all and renaming them
as shown below:
@example
find . -name *.exe -print
mv XXX/gas.exe XXX/gas
....
@end example
@item Install the full package with the following command:
@example
make install
@end example
@item There is a problem with the gnu info package
which may prevent it from building correctly. To
get around this try again with:
@example
make -k install
@end example
@item Once the executables are installed,
you can restore the ".exe" suffix to the files in
the @code{/gcc-m68k-rtems/bin} and
@code{/gcc-m68k-rtems/m68k-rtems/bin} directories again.
There is a problem with the gnu info package which will cause an
error during installation. Telling make to keep going with -k allows
the install to complete.
@item In the @code{cygnus.bat} file, add the directory
to the cross-compiler executables to your search path
by adding the following line:
containing the cross-compiler executables to your search path
by inserting the following line:
@example
PATH=O:\gcc-m68k-rtems\bin;%PATH%
PATH=E:\unix\gcc-m68k-rtems\bin;%PATH%
@end example
@item You can erase the /build directory content.
@item You can erase the /build/binutils directory content if
disk space is tight.
@item Exit bash and run @code{cygnus.bat} to restart
the Cygwin32 environment.
the Cygwin32 environment with the new path.
@end enumerate
@@ -295,70 +302,37 @@ Apply the appropriate RTEMS specific patches as detailed in
@b{NOTE}: See @ref{Bug in Patch Utility}.
@item Remove the following directories (we do not need Fortran
or Objective-C):
@item Remove the following directories (we cannot use Fortran
or Objective-C as Cygwin32 cross-compilers):
@example
<EFBFBD> /build/@value{GCC-UNTAR}/libf2c
<EFBFBD> /build/@value{GCC-UNTAR}/gcc/objc
<EFBFBD> /build/@value{GCC-UNTAR}/gcc/f
/source/@value{GCC-UNTAR}/libf2c
/source/@value{GCC-UNTAR}/gcc/objc
/source/@value{GCC-UNTAR}/gcc/f
@end example
@b{NOTE}: See @ref{Bug in Patch Utility}.
@item Copy to /build/@value{GCC-UNTAR}/ the following directories:
@item Link the following directories from Newlib to the main EGCS directory,
/source/@value{GCC-UNTAR}/ :
@itemize @bullet
@item /build/@value{NEWLIB-UNTAR}/newlib
@item /build/@value{NEWLIB-UNTAR}/libgloss
@item ln -s ../@value{NEWLIB-UNTAR}/newlib newlib
@item ln -s ../@value{NEWLIB-UNTAR}/libgloss libgloss
@end itemize
@item Go under /build directory and run:
@item Change to the /build/egcs directory to configure the compiler:
@example
../@value{GCC-UNTAR}/configure --verbose --target=m68k-rtems \
/source/@value{GCC-UNTAR}/configure --verbose --target=m68k-rtems \
--prefix=/gcc-m68k --with-gnu-as --with-gnu-ld \
--with-targets=all --with-newlib --with-multilib
--with-newlib
@end example
Replace @code{m68k-rtems} with the target configuration
of your choice. See @ref{Running the bit Script} for a
list of the targets available.
@item Then run your favourite Unix format compaatible file editor,
and edit /build/@value{GCC-UNTAR}/gcc/Makefile
Search for the section:
@example
# libgcc1-test target (must also be overridable for a target)
LIBGCC1_TEST = libgcc1-test
@end example
and change it to read:
@example
LIBGCC1_TEST =
@end example
@item Search for the section:
@example
# Set this to `ld' to enable use of collect2.
USE_COLLECT2 =
MAYBE_USE_COLLECT2 =
# It is convenient for configure to add the assignment at the beginning,
# so don't override it here.
USE_COLLECT2 = ld
@end example
and change it to read:
@example
USE_COLLECT2 =
@end example
This changes are needed due to a @code{collect2} problem in B19.
@item Compile the toolset as follows:
@example
@@ -367,8 +341,8 @@ make cross
You must do a @code{make cross} (not a simple @code{make})
to insure that the different packages are built in the correct
order. This command could take a long time to run depending on
the speed of the computer you are using.
order. Making the compiler can take several hours even on
fairly fast machines, beware
@item Install with the following command:
@@ -377,7 +351,8 @@ make -k install
@end example
@item Just as with binutils package, a problem with the gnu
info package not building correctly may occur, so try again with:
info package not building correctly requires that you use -k to
keep going.
@example
make -k install

View File

@@ -76,9 +76,9 @@
@c RTEMS Version
@c
@set RTEMS-VERSION RTEMS 4.0.0-beta4
@set RTEMS-TAR rtems-4.0.0-beta4.tgz
@set RTEMS-UNTAR rtems-4.0.0-beta4
@set RTEMS-VERSION RTEMS 4.0.0-beta4b
@set RTEMS-TAR rtems-4.0.0-beta4b.tgz
@set RTEMS-UNTAR rtems-4.0.0-beta4b
@set RTEMS-FTPSITE ftp.OARcorp.com
@set RTEMS-FTPDIR /oarcorp/private/beta4
@set BUILDTOOLS-TAR c_build_scripts-19981012.tgz