diff options
Diffstat (limited to 'doc/started/nt.t')
-rw-r--r-- | doc/started/nt.t | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/doc/started/nt.t b/doc/started/nt.t new file mode 100644 index 0000000000..b07261d274 --- /dev/null +++ b/doc/started/nt.t @@ -0,0 +1,158 @@ +@c +@c COPYRIGHT (c) 1988-2002. +@c On-Line Applications Research Corporation (OAR). +@c All rights reserved. +@c +@c $Id$ +@c + +@appendix Using MS-Windows as a Development Host + +This chapter discusses the installation of the GNU tool chain +on a computer running the Microsoft Windows operating system. + +This chapter was originally written by +@uref{mailto:g_montel@@yahoo.com, Geoffroy Montel <g_montel@@yahoo.com>} +with input from +@uref{mailto:<D.J@@fiddes.surfaid.org>, David Fiddes <D.J@@fiddes.surfaid.org>}. +It was based upon his successful but unnecessarily +painful efforts with Cygwin beta versions. +Cygwin and this chapter have been updated multiple times since +those early days although their pioneering efforts +and input is still greatly appreciated. + +@section Microsoft Windows Version Requirements + +RTEMS users report fewer problems when using Microsoft +Windows NT, 2000, or XP. Although, the open source tools +that are used in RTEMS development do execute on Windows 95, +98, or ME, they tend to be more stable when used with +the modern Windows variants. + +@section Cygwin + +For RTEMS development, the recommended approach is to use +Cygwin 1.0 or later. Cygwin is available from +@uref{http://sources.redhat.com/cygwin, http://sources.redhat.com/cygwin} +Recent versions of Cygwin are vastly improved over the beta +versions. Most of the oddities, instabilities, and performance +problems have been resolved. The installation procedure +is much simpler. However, there are a handful of issues +that remain to successfully use Cygwin as an RTEMS development +environment. + +@itemize @bullet + +@item There is no @code{cc} program by default. The GNU configure +scripts used by RTEMS require this to be present to work properly. +The solution is to link @code{gcc.exe} to @code{cc.exe} as follows: + +@example +ln -s /bin/gcc.exe /bin/cc.exe +@end example + +@item Make sure @code{/bin/sh.exe} is GNU Bash. Some Cygwin +versions provide a light Bourne shell which is insufficient to build +RTEMS. To see which shell is installed as @code{/bin/sh.exe}, execute +the command @code{/bin/sh --version}. If it looks similar to +the following, then it is GNU Bash and you are OK: + +@example +GNU bash, version 2.04.5(12)-release (i686-pc-cygwin) +Copyright 1999 Free Software Foundation, Inc. +@end example + +If you get an error or it claims to be any other shell, you need +to copy it to a fake name and copy +@code{/bin/bash.exe} to @code{/bin/sh.exe}: + +@example +cd /bin +mv sh.exe old_sh.exe +cp bash.exe sh.exe +@end example + +The Bourne shell has to be present in @code{/bin} directory to run +shell scripts properly. + +@item Make sure you unarchive and build in a binary mounted +filesystem (e.g. mounted with the @code{-b} option). Otherwise, +many confusing errors will result. + +@item A user has reported that they needed +to set CYGWIN=ntsec for chmod to work correctly, but had to set +CYGWIN=nontsec for compile to work properly (otherwise there were +complaints about permissions on a temporary file). + +@item If you want to build the tools from source, you have the +same options as UNIX users. + +@item You may have to uncompress archives during this +process. You must @b{NOT} use @code{WinZip} or +@code{PKZip}. Instead the un-archiving process uses +the GNU @code{zip} and @code{tar} programs as shown below: + +@example +tar -xzvf archive.tgz +@end example + +@code{tar} is provided with Cygwin. + +@end itemize + +@section Text Editor + +You absolutely have to use a text editor which can +save files with Unix format. So do @b{NOT} use Notepad +or Wordpad! There are a number of editors +freely available that can be used. + +@itemize @bullet +@item @b{VIM} (@b{Vi IMproved}) is available from +@uref{http://www.vim.org/,http://www.vim.org/}. +This editor has the very handy ability to easily +read and write files in either DOS or UNIX style. + +@item @b{GNU Emacs} is available for many platforms +including MS-Windows. The official homepage +is @uref{http://www.gnu.org/software/emacs/emacs.html, +http://www.gnu.org/software/emacs/emacs.html}. +The GNU Emacs on Windows NT and Windows 95/98 FAQ is at +@uref{http://www.gnu.org/software/emacs/windows/ntemacs.html, +http://www.gnu.org/software/emacs/windows/ntemacs.html}. + +@end itemize + +If you do accidentally end up with files +having MS-DOS style line termination, then you +may have to convert them to Unix format for some +Cygwin programs to operate on them properly. The +program @code{dos2unix} can be used to put them +back into Unix format as shown below: + +@example +$ dos2unix XYZ +Dos2Unix: Cleaning file XYZ ... +@end example + +@section 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. + +@itemize @bullet + +@item The faster the CPU, the better. The tools and Cygwin can be +@b{very} CPU hungry. + +@item The more RAM, the better. Reports are that when building GCC +and GDB, peak memory usage can exceed 256 megabytes. + +@item The more disk space, the better. You need more if you are building +the GNU tools and the amount of disk space for binaries is obviously +directly dependent upon the number of CPUs you have cross toolsets +installed for. + +@end itemize + |