diff options
Diffstat (limited to 'winsup/doc/setup2.sgml')
-rw-r--r-- | winsup/doc/setup2.sgml | 210 |
1 files changed, 21 insertions, 189 deletions
diff --git a/winsup/doc/setup2.sgml b/winsup/doc/setup2.sgml index c3df06ec1..4b2ecf6ef 100644 --- a/winsup/doc/setup2.sgml +++ b/winsup/doc/setup2.sgml @@ -1,173 +1,22 @@ -<sect1 id="setup-dir"><title>Directory Structure</title> - -<para> -Cygwin knows how to emulate a standard UNIX directory structure, to -some extent. This is done through the use of mount tables that map -Win32 paths to POSIX ones. The mount table may be set up and modified -with the <command>mount</command> command. This section explains how -to properly organize the structure. </para> - -<para> When you set up the system you should decide where you want the -root to be mapped. Possible choices are the root of your Windows -system, such as -<filename>c:</filename> or a directory such as -<filename>c:\progra~1\root</filename>. -</para> - -<para> -Execute the following commands inside bash as it is difficult to -change the position of the root from the Windows command prompt. -Changing the mount points may invalidate <EnVar>PATH</EnVar>, if this -happens simply exit and relaunch bash. Create the directory if -needed, then <command>umount /</command> the current root and -<command>mount</command> it in its new place. You also have to decide if -you want to use text or binary mode. -</para> - -<para> -Next, create the traditional main UNIX directories, with -the following command (in some shells it is necessary to issue -separate <command>mkdir</command> commands, each with a single -argument). -</para> - -<screen> -<prompt>/$</prompt> <userinput>mkdir /tmp /bin /etc /var /usr</userinput> -</screen> - -<para> -Next we will initialize the content of these directories. -</para> - -<para> -You should make sure that you always have a valid -<filename>/tmp</filename> directory. If you want to avoid creating a -real <filename>/tmp</filename>, you can use the -<command>mount</command> utility to point <filename>/tmp</filename> to -another directory, such as <filename>c:\tmp</filename>, or create a -symbolic link <filename>/tmp</filename> to point to such a directory. -</para> - -<para> -The <filename>/bin</filename> directory should contain the shell -<filename>sh.exe</filename>. You have three choices. The first is to -copy this program from the Cygnus <filename>bin</filename> directory. -The second is to use <command>mount</command> to mount the Cygnus -<filename>bin</filename> directory to <filename>/bin</filename> (the -advantage of this approach is that your <envar>PATH</envar> will be -shorter inside bash). The third is to make <filename>/bin</filename> a -symbolic link to the Cygnus <filename>bin</filename> directory. -</para> - -<para> -Note that Cygwin comes with two shells: <command>bash.exe</command> and -<command>sh.exe</command>, which is based on <command>ash</command>. The -system is faster when <command>ash</command> is used as the -non-interactive shell. -The only functionality supported in <command>ash</command> is that -of the traditional <command>sh</command>. -In case of trouble with <command>ash</command> make -<command>sh.exe</command> point to <command>bash.exe</command>. -</para> - -<para> -We now turn to <filename>/etc</filename>. You may want to copy in it -the <filename>termcap</filename> file from the Cygnus -<filename>etc</filename> directory, although the defaults built into -the programs suffice for the normal console. You may also use -<command>mount</command> or create as symbolic link to the Cygnus -<filename>etc</filename>, just as for <filename>/bin</filename> -above. -</para> - -<para> Under Windows NT, if you want to create -<filename>/etc/passwd</filename> and <filename>/etc/group</filename> -(i.e. so that <command>whoami</command> works and -<command>ls -l</command> replaces the UID with a name) based on the accounts local to the machine, just do this: -</para> - -<screen> -<prompt>/$</prompt> <userinput>cd /etc</userinput> -<prompt>/etc$</prompt> <userinput>mkpasswd -l > /etc/passwd</userinput> -<prompt>/etc$</prompt> <userinput>mkgroup -l > /etc/group</userinput> -</screen> - -<para>If you are logging in based on an NT network domain, and want to -also create entries in <filename>/etc/passwd</filename> and -<filename>/etc/group</filename> based on all the accounts in the -domain, then after creating local entries do this: -</para> - -<screen> -<prompt>/$</prompt> <userinput>cd /etc</userinput> -<prompt>/etc$</prompt> <userinput>mkpasswd -d >> /etc/passwd</userinput> -<prompt>/etc$</prompt> <userinput>mkgroup -d >> /etc/group</userinput> -</screen> - -<para>Alternatively, to add only your account to the passwd file, -assuming your NT name is "my_ntusername", instead of the above -<command>mkpasswd</command> you should do: -</para> - -<screen> -<prompt>/$</prompt> <userinput>cd /etc</userinput> -<prompt>/etc$</prompt> <userinput>mkpasswd -d | grep my_ntusername >> /etc/passwd</userinput> -</screen> - - -<para> Future changes to your NT registry or network domain will NOT be reflected in -<filename>/etc/passwd</filename> or <filename>/etc/group </filename> after -this so you may want to regenerate these files periodically. Under Windows -9x, you can create and edit these files with a text editor. </para> - -<para> -The <command>who</command> command requires the -<filename>/var/run/utmp</filename> to exist. -Create it if you wish. -The system also logs information in <filename>/var/log/wtmp</filename>, -if it exists. -</para> - -<para> -The <filename>/usr</filename> directory is not used by the Cygwin -system but it is a standard place to install optional packages. -</para> - -<para> -You may also want to mount directories such as <filename>/a</filename> -and <filename>/d</filename> to refer to your local and network drives. -</para> - -<para> -You do not need to create <filename>/dev</filename> in order to set up -mounts for devices such as <filename>/dev/null</filename> as these -are already automatically simulated inside the Cygwin library. -</para> - -</sect1> - <sect1 id="setup-env"><title>Environment Variables</title> <para> -Before starting bash, you must set some environment variables, some of -which can also be set or modified inside bash. Cygnus provides you -with a .bat file where the most important ones are set before bash in +Before starting bash, you may set some environment variables. A .bat +file is provided where the most important ones are set before bash in launched. This is the safest way to launch bash initially. The .bat -file is installed by default in -<filename>\cygnus\cygwin-b20/cygnus.bat</filename> and pointed to in -the Start Menu. You can edit it to your liking. -</para> +file is installed in the root directory that you specified during setup +and pointed to in the Start Menu under the "Cygwin" option. You can +edit it this file your liking.</para> <para> -The <envar>CYGWIN</envar> variable is used to configure many global -settings for the Cygwin -runtime system. Initially you can leave <envar>CYGWIN</envar> unset -or set it to <literal>tty</literal> (e.g. to support job control with ^Z -etc...) using a syntax like this in the DOS shell, before launching bash. -</para> +The <envar>CYGWIN</envar> variable is used to configure many global +settings for the Cygwin runtime system. Initially you can leave +<envar>CYGWIN</envar> unset or set it to <literal>tty</literal> (e.g. +to support job control with ^Z etc...) using a syntax like this in the +DOS shell, before launching bash. </para> <screen> -<prompt>C:\Cygnus\></prompt> <userinput>set CYGWIN=tty notitle glob</userinput> +<prompt>C:\></prompt> <userinput>set CYGWIN=tty notitle glob</userinput> </screen> <para> @@ -177,10 +26,9 @@ to run. This environment variable is converted from Windows format (e.g. <filename>C:\WinNT\system32;C:\WinNT</filename>) to UNIX format (e.g., <filename>/WinNT/system32:/WinNT</filename>) when a Cygwin process first starts. -Set it so that it contains at least the Cygnus -<filename>bin</filename> directory -<filename>C:\cygnus\cygwin-b20\H-i586-cygwin32\bin</filename> before -launching bash. +Set it so that it contains at least the <filename>x:\cygwin\bin</filename> +directory where "<filename>x:\cygwin</filename> is the "root" of your +cygwin installation if you wish to use cygwin tools outside of bash. </para> <para> @@ -192,32 +40,16 @@ before launching bash. </para> <para> -<command>make</command> uses an environment variable -<envar>MAKE_MODE</envar> to decide if it uses -<filename>command.com</filename> or <filename>/bin/sh</filename> to -run command lines. If you are getting strange errors from -<command>make</command> about "/c not found", set -<envar>MAKE_MODE</envar> to <literal>UNIX</literal> at the command -prompt or in bash. -</para> - -<screen> -<prompt>C:\Cygnus\></prompt> <userinput>set MAKE_MODE=UNIX</userinput> - -<prompt>/Cygnus$</prompt> <userinput>export MAKE_MODE=UNIX</userinput> -</screen> - -<para> The <envar>TERM</envar> environment variable specifies your terminal -type. You can set it to <literal>cygwin</literal>. +type. It is automatically set to <literal>cygwin</literal> if you have +not set it to something else. </para> -<para>The <envar>LD_LIBRARY_PATH</envar> environment variable is -used by the Cygwin function <function>dlopen ()</function> as a list -of directories to search for .dll files to load. This environment -variable is converted from Windows format to UNIX format -when a Cygwin process first starts. -Most Cygwin applications do not make use of the +<para>The <envar>LD_LIBRARY_PATH</envar> environment variable is used by +the Cygwin function <function>dlopen ()</function> as a list of +directories to search for .dll files to load. This environment variable +is converted from Windows format to UNIX format when a Cygwin process +first starts. Most Cygwin applications do not make use of the <function>dlopen ()</function> call and do not need this variable. </para> |