Commit c50d7243 authored by Russ Fish's avatar Russ Fish

Update rtproto info and start bashing outlines into HTML.

parent facc7acd
...@@ -35,14 +35,15 @@ ...@@ -35,14 +35,15 @@
<hr style="width: 100%; height: 2px;"> <hr style="width: 100%; height: 2px;">
<h3><a name="Overview"> </a> Overview </h3> <h3><a name="Overview"> </a> Overview </h3>
Microsoft Windows XP is now supported as one of the operating system types for Microsoft <i>Windows XP</i> is now supported as one of the operating system
experiment nodes in Emulab, in addition to FreeBSD and Linux. types for experiment nodes in Emulab, in addition to FreeBSD and Linux.
Before booting the node at swap-in time, Emulab loads a fresh image of Windows Before booting the node at swap-in time, Emulab loads a fresh image of Windows
XP onto the experiment nodes in parallel, using our Frisbee service. Emulab XP onto the experiment nodes in parallel, using our Frisbee service. Emulab
software automatically configures each Windows XP node, providing the expected software automatically configures each <i>Windows XP</i> node, providing the
experiment user environment including: user accounts and Emulab SSH keys; remote expected experiment user environment including: user accounts and Emulab SSH
home, project, and shared directories; and network connections. <p> keys; remote home, project, and shared directories; and network connections.
<p>
The Cygwin GNU environment is provided, including Bash and TCSH shells, the The Cygwin GNU environment is provided, including Bash and TCSH shells, the
C/C++, Perl and Python programming languages, and several editors including C/C++, Perl and Python programming languages, and several editors including
...@@ -53,9 +54,9 @@ profile, as well as making SSH and RDP login connections to the experiment nodes ...@@ -53,9 +54,9 @@ profile, as well as making SSH and RDP login connections to the experiment nodes
Remote Desktop Protocol service supports Windows Desktop logins from the Remote Desktop Protocol service supports Windows Desktop logins from the
user's workstation screen to the experiment node. <p> user's workstation screen to the experiment node. <p>
Windows XP installations are more hardware dependent than Linux or FreeBSD. <i>Windows XP</i> installations are more hardware dependent than Linux or
At first, this Windows XP image only runs on the pc850 and pc600 Emulab node FreeBSD. At first, this <i>Windows XP</i> image only runs on the pc850 and
types. <p> pc600 Emulab node types. <p>
<hr style="width: 100%; height: 2px;"> <hr style="width: 100%; height: 2px;">
<h3><a name="Differences"></a> Differences from FreeBSD and Linux in Emulab </h3> <h3><a name="Differences"></a> Differences from FreeBSD and Linux in Emulab </h3>
...@@ -118,8 +119,17 @@ Currently available images are: ...@@ -118,8 +119,17 @@ Currently available images are:
</ul> </ul>
Note: routing is not currently supported on Windows. Don't put any <div style="margin-left: 40px;"> <b>NOTE:</b> The only form of routing that is
<b>rtproto</b> statements in your .ns file. <p> currently supported on Windows is <b><code>rtproto Static-old</code></b>.
<code>rtproto Manual</code> should work too. Don't put any other
<code>rtproto</code> statements in your .ns file. <p>
If you built your experiment .ns file with the <i>NetBuild</i> GUI, be aware
that it puts in a <code>rtproto Static</code> statement, which you will need
to modify to <code>rtproto Static-old</code>. <p>
There is more information
on routing in the <a href="http://www.emulab.net/tutorial/docwrapper.php3?docname=tutorial.html#Routing"> Routing Section of the Emulab Tutorial. </a><p> </div>
Notice that Windows reboots an extra time after first swap-in on a node, after Notice that Windows reboots an extra time after first swap-in on a node, after
changing the node name, to set up the network stack properly. <p> changing the node name, to set up the network stack properly. <p>
...@@ -176,7 +186,7 @@ Here are some fine points and hints for RDP logins to remote Windows desktops: ...@@ -176,7 +186,7 @@ Here are some fine points and hints for RDP logins to remote Windows desktops:
<ul> <ul>
<li> Microsoft allows only <b>one desktop login at a time</b> to Windows XP, <li> Microsoft allows only <b>one desktop login at a time</b> to <i>Windows XP</i>,
although this is the same Citrix Hydra technology that supports many although this is the same Citrix Hydra technology that supports many
concurrent logins to Terminal Server or Server 2003. <p> concurrent logins to Terminal Server or Server 2003. <p>
...@@ -192,9 +202,9 @@ Here are some fine points and hints for RDP logins to remote Windows desktops: ...@@ -192,9 +202,9 @@ Here are some fine points and hints for RDP logins to remote Windows desktops:
(kill) a session by ID: <pre> rwinsta</pre> </li> (kill) a session by ID: <pre> rwinsta</pre> </li>
<li> We rename <b>My Computer</b> to show the PCxxx physical node name, but <li> We rename <b>My Computer</b> to show the PCxxx physical node name, but
it doesn't appear on the Windows XP desktop by default. The XP user it doesn't appear on the <i>Windows XP</i> desktop by default. The XP
interface incorporates My Computer into the upper-right quadrant of the user interface incorporates My Computer into the upper-right quadrant
Start menu by default, and removes it from the desktop. <p> of the Start menu by default, and removes it from the desktop. <p>
You can go back to the "classic" user interface of Windows 2000, You can go back to the "classic" user interface of Windows 2000,
including showing My Computer. Right-click on the background of the including showing My Computer. Right-click on the background of the
...@@ -210,7 +220,7 @@ Here are some fine points and hints for RDP logins to remote Windows desktops: ...@@ -210,7 +220,7 @@ Here are some fine points and hints for RDP logins to remote Windows desktops:
<li> There are several <b>Desktop icons</b> (i.e. "shortcuts") installed by <li> There are several <b>Desktop icons</b> (i.e. "shortcuts") installed by
default in the XP images: Computer Management, Bash and TCSH shells, default in the XP images: Computer Management, Bash and TCSH shells,
and NtEmacs. </li> <br> and <i>NtEmacs</i>. </li> <br>
<li> The Bash and TCSH icons run their respective shells in a </b>Windows <li> The Bash and TCSH icons run their respective shells in a </b>Windows
Terminal</b>, just like the Windows cmd.exe . <p> Terminal</b>, just like the Windows cmd.exe . <p>
...@@ -252,12 +262,13 @@ Here are some fine points and hints for RDP logins to remote Windows desktops: ...@@ -252,12 +262,13 @@ Here are some fine points and hints for RDP logins to remote Windows desktops:
Emacs wouldn't know how to find your <i>.emacs</i> setup file in your Emacs wouldn't know how to find your <i>.emacs</i> setup file in your
remotely mounted home directory. <p> remotely mounted home directory. <p>
User "root" is special, and has a local home directory under /home. User "root" is special, and has a local home directory under
/home is a Cygwin symbolic link to "C:\Documents and Settings". </li> <code>/home</code>. <code>/home</code> is a Cygwin symbolic link to
<code>C:\Documents and Settings</code>. </li>
<li> The Windows XP Start menu has no <b>Shutdown</b> button under RDP. <li> The <i>Windows XP</i> Start menu has no <b>Shutdown</b> button under
Instead, it is labeled <b>Disconnect</b> and only closes the RDP client RDP. Instead, it is labeled <b>Disconnect</b> and only closes the RDP
window, leaving the login session and the node running. <p> client window, leaving the login session and the node running. <p>
To restart the computer, run <b>/sbin/reboot</b>, or use the "Shut To restart the computer, run <b>/sbin/reboot</b>, or use the "Shut
Down" menu of <b>Task Manager</b>. One way to start Task Manager is to Down" menu of <b>Task Manager</b>. One way to start Task Manager is to
...@@ -309,82 +320,140 @@ already. Download the sources to an experiment node and try ...@@ -309,82 +320,140 @@ already. Download the sources to an experiment node and try
Some details remain to be documented: <br> Some details remain to be documented: <br>
<pre> <ul>
- Home dirs are on //fs via SMB(Windows Client, Samba server)
. cygwin/UNC mounts of Windows Shares under /users, /proj, /share. <li> Home dirs are on <code>//fs</code> via SMB(Windows Client, Samba server)
. Can put \\fs\<share_name> into the Windows Explorer "Address"
<ul>
<li> Cygwin/UNC mounts of Windows Shares under <code>/users</code>,
<code>/proj</code>, <code>/share</code>. The Cygwin
<code>mount</code> command shows what you can access. </li>
<li> Can put <code>\\fs\&lt;share_name&gt;</code> into the Windows
Explorer "Address". These shares are marked not browsable, so
just <code>\\fs</code> shows little. </li>
</ul> </li>
<li> Shared directories: <code>/share</code>,
<code>/project/&lt;pid&gt;</code>,
<code>/group/&lt;pid&gt;/&lt;gid&gt;</code>. </li>
- Shared directories: /share, /project/pid, /group/<pid>/<gid> <li> Bug: One protection mask for everything in a whole mount/share under
SMB. </li>
- Bug: One protection mask for everything in a whole mount/share under SMB. </ul>
</pre>
<h4><a name="Cygwin_arcana"> </a> Cygwin arcana </h4> <h4><a name="Cygwin_arcana"> </a> Cygwin arcana </h4>
<pre> <ul>
- Paths
. \ == / modulo quoting <li> Paths
. cygpath -w, cygpath -u <ul>
. UNC paths: //machine
<li> <code><b>\</b> == <b>/</b></code>, modulo quoting </li>
<li> <code>cygpath -w</code>, <code>cygpath -u</code> </li>
<li> UNC paths: <code>//machine</code> </li>
</ul> </li>
<li> Cygwin mounts
<ul>
- Cygwin mounts <li> Shown in the <code>mount</code> and <code>df</code> commands. </li>
. Shown in the "mount" and "df" commands.
. / == C:/cygwin
. /cygdrive/c == C:
. //fs/... all Emulab directories.
- /etc/{passwd,group} contain Windows SID's as UID's and GID's. <li> <code><b>/</b> == C:/cygwin</code> </li>
- No suid, but everybody is in group wheel==Administrators. <li> <code>/cygdrive/c == C:</code> </li>
- File protections can lock out root, Administrator, or SYSTEM. <li> </code>//fs/...</code> all Emulab directories. </li>
</pre>
</ul> </li>
<li> <code>/etc/passwd</code> and <code>/etc/group</code> contain Windows
SID's as UID's and GID's. </li>
<li> No suid, but everybody is in group wheel==Administrators. </li>
<li> File protections can lock out root, Administrator, or SYSTEM. </li>
</ul>
<hr style="width: 100%; height: 2px;"> <hr style="width: 100%; height: 2px;">
<h3><a name="NtEmacs"> </a> NtEmacs </h3> <h3><a name="NtEmacs"> </a> NtEmacs </h3>
We don't include the Cygwin X server in our XP images to keep the bulk and We don't include the Cygwin X server in our XP images to keep the bulk and
complexity down. So <a complexity down. So <a
href="http://www.gnu.org/software/emacs/windows/ntemacs.html"> NtEmacs 21.3 href="http://www.gnu.org/software/emacs/windows/ntemacs.html"> <i>NtEmacs</i>
</a> is provided instead of the Cygwin X Emacs. NtEmacs "frames" are windows 21.3 </a> is provided instead of the Cygwin <b>X</b> Emacs. <i>NtEmacs</i>
on the Windows Desktop. <p> "frames" are windows on the Windows Desktop. <p>
The <code>/usr/local/bin/emacs</code> executable is a symlink to
<code>/cygdrive/c/emacs-21.3/bin/runemacs.exe</code>, which starts up an Emacs
on the desktop. This only works under RDP, since SSH logins have a null
desktop. <p>
There is also a <code>/usr/local/bin/emacs-exe</code> executable, a symlink to
<code>/cygdrive/c/emacs-21.3/bin/emacs.exe</code>, which is only useful as an
Emacs compiler. It could be used to run Emacs in an SSH window with the
<code>-nw</code> (no windows) flag, except that it exits with <code>emacs:
standard input is not a tty</code>. Another thing not to try is running
<code>emacs-exe -nw</code> in a Bash or TCSH shell on the RDP desktop. It
crashed <i>Windows XP</i> when I tried it. <p>
The /usr/local/bin/emacs executable is a symlink to <ul>
/cygdrive/c/emacs-21.3/bin/runemacs.exe, which starts up an Emacs on the desktop.
This only works under RDP, since SSH logins have a null desktop. <p>
There is also a /usr/local/bin/emacs-exe executable, a symlink to <li> Can drag-and-drop files from <i>Windows Explorer</i> to <i>NtEmacs</i>
/cygdrive/c/emacs-21.3/bin/emacs.exe, which is only useful as an Emacs windows. </li>
compiler. It could be used to run Emacs in an SSH window with the -nw (no
windows) flag, except that it exits with "emacs: standard input is not a tty".
Another thing not to try is running "emacs-exe -nw" in a Bash or TCSH shell on
the RDP desktop. It crashes Windows XP. <p>
<pre> <li> <code>cygmount.el</code> makes Cygwin mounts visible within
- Can drag-and-drop files from Windows Explorer to NtEmacs windows. <i>NtEmacs</i>. </li>
<li> Options - See <code>~root/.emacs</code>
- cygmount.el makes Cygwin mounts visible within Emacs. <ul>
- Options - See ~root/.emacs <li> <code>mouse-wheel-mode</code></li>
. mouse-wheel-mode
. CUA mode option (^C copy / ^X cut on selection, ^V paste, ^Z undo). <li> <code>CUA-mode</code> option ( <code>^C</code> copy /
</pre> <code>^X</code> cut on selection, <code>^V</code> paste,
<code>^Z</code> undo). </li>
</ul>
</ul>
<hr style="width: 100%; height: 2px;"> <hr style="width: 100%; height: 2px;">
<h3><a name="Future"> </a> Future work </h3> <h3><a name="Future"> </a> Future work </h3>
There are still some things left to do: <br> There are still some things left to do: <br>
<pre> <ul>
- The Elvin event system, and hence progagent, is not yet running.
<li>The <i>Elvin</i> event system, and hence <code>progagent</code>, is
not yet running. </li>
<li> <code>syncerver</code>, <code>slothd</code> and
<code>healthd</code>. </li>
- syncerver, slothd and healthd. <li> <code>linktest</code> </li>
- Password and ssh keys both working (hopefully.) <li> Add a topomap distribution option to NFS for <code>rtproto
Static</code>. </li>
- Console support (agetty serial line speed 115.2kb doesn't work) <li> <code>gated</code> or equivelant OSPF daemon for <code>rtproto
Session</code>. </li>
- No such thing as load averages, see the Task Manager/Performance tab. <li> Password and ssh keys both working (hopefully.) </li>
<li> Console support (<code>agetty</code> serial line speed 115.2kb doesn't
work.) </li>
<li> No such thing as load averages, see the Task Manager/Performance
tab. </li>
<li> Automate production of <i>Windows XP</i> images for Emulab. </li>
</ul>
- Automate production of Windows XP images for Emulab.
</pre>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment