[Esbox-commits] r1541 - in www/beta1: . css

eswartz at garage.maemo.org eswartz at garage.maemo.org
Wed May 6 05:29:20 EEST 2009


Author: eswartz
Date: 2009-05-06 05:29:18 +0300 (Wed, 06 May 2009)
New Revision: 1541

Added:
   www/beta1/virtual_machines.html
Modified:
   www/beta1/css/main.css
   www/beta1/documentation.html
   www/beta1/installation.html
Log:
Add virtual machine page

Modified: www/beta1/css/main.css
===================================================================
--- www/beta1/css/main.css	2009-05-06 01:24:13 UTC (rev 1540)
+++ www/beta1/css/main.css	2009-05-06 02:29:18 UTC (rev 1541)
@@ -120,13 +120,13 @@
 	#footer .part { text-align:center; margin: 0; display:block; background-color: #000; color:#FFF}	
 	#footer a { color: #fff; font-weight: bold }
 
-#info { width: 16em;  padding: 4px; background-color: #add; color: #4a7578;
+#info { padding: 4px; background-color: #add; color: #4a7578;
 	text-align: left;
-	float: right; border: 2px; border-style: solid; }
+	 border: 2px; border-style: solid; }
 
-#warning { width: 16em;  padding: 4px; background-color: #dda; color: #e44;
+#warning { padding: 4px; background-color: #dda; color: #e44;
 	text-align: left;
-	float: right; border: 2px; border-style: solid; }
+	 border: 2px; border-style: solid; }
 
 .code { font-family:"Courier New",courier,monospace,serif ; 
 	 	text-align:left; white-space:pre; font-style: normal; }

Modified: www/beta1/documentation.html
===================================================================
--- www/beta1/documentation.html	2009-05-06 01:24:13 UTC (rev 1540)
+++ www/beta1/documentation.html	2009-05-06 02:29:18 UTC (rev 1541)
@@ -51,6 +51,10 @@
 					<h3><a href="http://esbox.embedded.ufcg.edu.br/help/topic/org.indt.esbox.help/html/toc.html" target="_blank">ESbox User Help (OLD)</a></h3>
 					-->
 					<!--  point to current SVN, even if it doesn't look like official Eclipse help, until we have something meaningful for 2nd edition -->
+					<h3><a href="virtual_machines.html">Virtual Machine Guide</a></h3>
+					<ul>
+						<li>Guide to using virtual machines with ESbox</li>
+					</ul>
 					<h3><a href="https://garage.maemo.org/svn/esbox/trunk/org.maemo.esbox.help/html/toc.html" target="_blank">ESbox User Help (in development)</a></h3>
 					<ul>
 						<li>ESbox User Help available on-line</li>

Modified: www/beta1/installation.html
===================================================================
--- www/beta1/installation.html	2009-05-06 01:24:13 UTC (rev 1540)
+++ www/beta1/installation.html	2009-05-06 02:29:18 UTC (rev 1541)
@@ -61,8 +61,8 @@
 <div style="font-size: 14px">
 <ul>
 	<li><a href="#all">All environments</a></li>
-	<li><a href="#native">Native environments</a></li>
-	<li><a href="#vm">Virtual Machine environments</a></li>
+	<li><a href="#native">Native Maemo environments</a></li>
+	<li><a href="#vm">Non-native Maemo environments</a></li>
 	<li><a href="#tablet">Internet Tablet Installation</a></li>
 	<li><a href="#esbox">ESbox Installation</a></li>
 </ul>
@@ -125,7 +125,7 @@
 <p id="native"/>
 <div id="group">
 
-<h3 id="heading">Native Environments</h3>
+<h3 id="heading">Native Maemo Environments</h3>
 <p>
 Native environments can host Maemo SDKs directly.
 </p>
@@ -167,11 +167,14 @@
 <p id="vm"/>
 <div id="group">
 
-<h3 id="heading">Virtual Machine Environments</h3>
+<h3 id="heading">Non-Native Maemo Environments</h3>
 <p>
 When the Maemo SDK is not hosted on your OS, you can run ESbox on the host and
 use the Maemo SDK through a virtual machine.  ESbox hides most of the details for you!
 </p> 
+<p>
+	See <a href="virtual_machines.html">Virtual Machines</a> page for installation and configuration details.
+</p>
 <h3>Other Linux</h3>
 <ul>
 	<li>Linux versions supported
@@ -180,12 +183,11 @@
 		<li>Any on which you can run Eclipse</li>
 	</ul>
 	</li>
-	<li>Virtual Machines
+	<li>Virtual Machines Supported
 		<ul>
 		<li>VMware Workstation / Server / Player</li>
 		<li>Sun VirtualBox</li>
 		<li>QEMU <i>(not recommended, since no acceleration is available)</i></li>
-		<li>See <a href="virtual_machines.html">Virtual Machines</a> page for installation and configuration details.</li>
 		</ul>
 	</li>
 	<li>Nested X Server (for hosting emulation) 
@@ -205,12 +207,11 @@
 		<li>Windows Vista SP3</li>
 	</ul>
 	</li>
-	<li>Virtual Machines
+	<li>Virtual Machines Supported
 		<ul>
 		<li>VMware Workstation / Server / Player</li>
 		<li>Sun VirtualBox</li>
 		<li>QEMU with KQEMU</li>
-		<li>See <a href="virtual_machines.html">Virtual Machines</a> page for installation and configuration details.</li>
 		</ul>
 	</li>
 	<li>X Server (for hosting emulation) 
@@ -229,12 +230,11 @@
 		<li>MacOS X Leopard (Intel)</li>
 	</ul>
 	</li>
-	<li>Virtual Machines
+	<li>Virtual Machines Supported
 		<ul>
 		<li>VMware Fusion</li>
 		<li>Sun VirtualBox</li>
 		<li>QEMU via Q [kju:] <i>(not recommended, since no acceleration is available)</i></li>
-		<li>See <a href="virtual_machines.html">Virtual Machines</a> page for installation and configuration details.</li>
 		</ul>
 	</li>
 	<li>X Server (for hosting emulation) 

Added: www/beta1/virtual_machines.html
===================================================================
--- www/beta1/virtual_machines.html	                        (rev 0)
+++ www/beta1/virtual_machines.html	2009-05-06 02:29:18 UTC (rev 1541)
@@ -0,0 +1,344 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>Virtual Machines</title>
+<meta name="description" content="" />
+<meta name="keywords" content="" />
+<link href="css/main.css" rel="stylesheet" type="text/css" />
+<link rel="stylesheet" href="css/lightbox.css" type="text/css"
+	media="screen" />
+<link rel="shortcut icon" href="images/favicon.ico" />
+<script type="text/javascript" src="js/prototype.js"></script>
+<script type="text/javascript" src="js/scriptaculous.js?load=effects"></script>
+<script type="text/javascript" src="js/lightbox.js"></script>
+</head>
+<body>
+<script type="text/javascript">
+			var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
+			document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
+		</script>
+<script type="text/javascript">
+			var pageTracker = _gat._getTracker("UA-2565700-2");
+			pageTracker._initData();
+			pageTracker._trackPageview();
+		</script>
+<div id="header"><span id="img"><a href="index.html"><img
+	src="images/marca.jpg" alt="logo" border="0" /></a></span>
+<ul id="menu">
+	<li><a href="index.html">home</a></li>
+	<li><a href="features.html">features</a></li>
+	<li><a href="changes.html">changes</a></li>
+	<li class="active"><a href="#">documentation</a></li>
+	<li><a href="installation.html">installation</a></li>
+	<li><a href="release.html">release notes</a></li>
+	<li><a href="contributing.html">contributing</a></li>
+</ul>
+</div>
+
+<div id="banner">
+<div class="wrap">
+<div id="box"></div>
+</div>
+</div>
+
+<div class="wrap">
+
+<div id="container">
+<div id="content">
+
+<h2>Using ESbox with a Maemo SDK Virtual Machine
+</h2>
+<p>This page describes the way ESbox runs Windows and Mac OS X (or Linux x86/64)
+by hosting the Maemo SDK on a virtual machine.</p>
+
+<ul>
+<li><a href="#overview">Overview</a></li>
+<li><a href="#engines">Virtual Machine Engines</a></li>
+<li><a href="#images">Virtual Machine Images</a></li>
+<li><a href="#config">ESbox Build Machine Configuration</a></li>
+<li><a href="#troubleshoot">Troubleshooting</a></li>
+</ul>
+
+<p id="overview"/>
+<h3 id="heading">Overview</h3>
+<p>The maemo SDK, scratchbox, and rootstraps only run on Linux/x86.
+If you want to use ESbox in Windows -- or even Linux/x86-64 -- then you
+can do this by hooking up ESbox with an appropriately configured virtual
+machine.</p>
+<p>ESbox provides the concept of <span class="code">Build Machines</span>. For
+Linux/x86 hosts, the host serves as a build machine. For other hosts,
+only a virtual machine can be a build machine.</p>
+<p>ESbox will use an SSH connection with the virtual machine to
+perform builds, launch/debug applications, and configure Scratchbox 1 or 2 installations and
+rootstraps.</p>
+<p style="font-weight: bolder">Projects in Eclipse must be visible to both the host and the VM.
+This requires some folders to be shared between them.</p>
+
+<p id="engines"/>
+
+<h3 id="heading">Virtual Machine Engines</h3>
+<p>ESbox supports VMware, QEMU, and VirtualBox.
+</p>
+<ul>
+<li>VMware is recommended for speed.  </li>
+<li>VirtualBox
+is recommended for freedom and consistently of behavior across OSes.</li>
+<li>QEMU is recommended for freedom and
+ease of setup, but is quite slow, even when accelerated.</li>
+</ul>
+
+<p id="images"/>
+
+<h3 id="heading">Virtual Machine Images</h3>
+<p>ESbox needs a specific &quot;server&quot; virtual 
+machine image to support development, which has a minimal footprint and is configured
+to provide the best interaction with ESbox.</p>
+<p>
+See <a href="http://maemovmware.garage.maemo.org">Maemo SDK Virtual Machine project page</a>
+for download and installation details.</p>
+<p>
+These images come "bare", without any pre-installed Maemo SDK.  ESbox supports installing
+these, however:
+</p>
+<ul>
+<li><span class="code">File &gt; New &gt; Maemo Installers &gt; Install Scratchbox 1</span></li>
+<li><span class="code">File &gt; New &gt; Maemo Installers &gt; Install Scratchbox 1 Targets</span></li>
+<li><span class="code">File &gt; New &gt; Maemo Installers &gt; Install Nokia Closed Binaries</span></li>
+</ul>
+<p/>
+
+<p>Alternately, you can try the "desktop" image if you want the full environment pre-installed.</p>
+
+<p>If you want to use your own VM, ensure it has SSH and Samba
+support. For SSH the <span class="code">UseDNS</span> flag should be turned off, and
+to support Samba, you need an often-running cron job to resynchronize
+the clock with the host, to avoid timestamp issues when building.</p>
+
+
+ 
+
+<div id="warning">
+<h3>Note for Win32 users:</h3>
+<p> 
+In any modern version of Linux, there is a known file truncation issue that occurs
+when using <span class="code">autoconf</span> 2.62 or older over Samba.</p>
+<p>Due to trying to rename files before closing them, the 
+<span class="code">configure</span> files will be truncated, preventing Makefiles from
+being generated.
+Current Maemo SDKs ship these old versions of autoconf.
+</p>
+<p><b><i>Never fear!</i></b>  ESbox will repair the <span class="code">autoconf</span>
+installation in Scratchbox for you.  After installing a new Scratchbox installation,
+right-click the Scratchbox node (for example, in 
+<span class="code">Window&nbsp;&gt;&nbsp;Preferences&nbsp;&gt;&nbsp;Maemo&nbsp;&gt;&nbsp;Installed Targets</span>)
+and select <span class="code">Patch&nbsp;autoconf...</span>.  A wizard will guide you through
+the process of repairing the installation.
+</p>
+ </div>
+
+<p id="config"/>
+
+<h3 id="heading">ESbox Build Machine Configuration</h3>
+<ul>
+	<li>
+	<p>Configuration is under <span class="code">ESbox&nbsp;&gt;&nbsp;Build Machines</span>. 
+	If you
+	navigate here before configuring anything, or try to create a project
+	and launch first, you will get a message directing you to the page.</p>
+	</li>
+</ul>
+<ul>
+	<li>
+	<p>You need to select a virtual machine engine (or Manual
+	configuration) as a virtual machine and
+	adjust the configuration accordingly.</p>
+	</li>
+</ul>
+<p>The <span class="code">Machine Access</span> settings should be optimally configured for
+QEMU or VirtualBox already as configured from the Maemo SDK Virtual Image site, 
+but you may need to edit these depending on
+your configuration.</p>
+
+<ul>
+	<li>
+	<p>Use the <span class="code">Autoconfigure Network Settings</span> button 
+	to try to guess the networking settings from current virtual machine settings
+	and the host machine's network interfaces.  This assumes the virtual machine
+	engine, image, and configuration have all been specified correctly.</p>
+	</li>
+	<li>
+	<p>Use the <span class="code">Apply</span> button to accept the changes and immediately
+	launch the virtual machine.</p>
+	</li>
+	<li>
+	<p>Use the <span class="code">Apply and Validate</span> button to apply the changes
+	and launch the machine, and immediately run through a
+	series of tests to validate that the machine is configured properly.</p>
+	</li>
+</ul>
+
+<div id="group">
+
+<p>
+The machine configuration panes in depth:
+</p>
+
+<h3 id="heading">ESbox Machine Access</h3>
+<p>The Machine Access tab allows you to configure the networking and
+authentication with the VM.</p>
+<p><em>User</em> is the account which acts as the agent for all
+operations with the VM. This must have passwordless <span class="code">sudo</span>
+access.</p>
+<p><em>Password</em> is the account for the user account. <strong>NOTE</strong>:
+the password is saved in preferences but in an encrypted form, but, due
+to current design quirks, this password can still show up in <em>plaintext</em>
+in SSH filesystem URIs.</p>
+
+
+
+<p><em>Target address</em> is the address used to access the VM.
+This may be an IP address or a name. You will probably need to discover
+this experimentally unless you use a static address.</p>
+<p><em>Target SSH port</em> is the SSH port. This defaults to 2222.
+(The default for normal SSH usage is 22, but if the Target address is
+127.0.0.1, this port must be remapped to avoid conflicts with the host.)
+</p>
+<p><em>Host address</em> is the name of the host as seen from the VM
+-- this is never 127.0.0.1! The value depends on the kind of networking
+you're using with the VM. For QEMU, the default is 10.0.2.2 since the IP
+is shared with the VM and a private subnet is used to reference the
+host. For VMware, it depends on the VMnet you have chosen. Probably
+you'll need to find this by logging into the VM (maemo/maemo) and
+invoking <span class="code">ifconfig</span>.</p>
+<ul>
+	<li>
+	<p>QEMU or VirtualBox: the default settings should be sufficient.
+	(NAT networking)</p>
+	</li>
+</ul>
+<ul>
+	<li>
+	<p>In VMware, you will need to manually configure the Target and
+	Host addresses depending on what type of networking you've chosen (or
+	what the product has chosen for you).</p>
+	</li>
+</ul>
+<ul>
+	<li>In bridged networking, you need
+	to manually enter the machine's DHCP acquired LAN address in the Target
+	address field and your local DHCP address in the Host field. Use port
+	22 for the SSH port.
+	</li>
+</ul>
+<ul>
+	<li>
+	For Host-Only networking, usually
+	172.16.121.128 (or similar) is the Target address and 172.16.121.1 is
+	the host address. You can really only tell by logging in (maemo/maemo)
+	and running <span class="code">sudo dhclient</span> to see.
+	</li>
+</ul>
+<ul>
+	<li>
+	For NAT networking, you must
+	configure Port Forwarding to map TCP port 22 to TCP port 2222 (for
+	example) and enter 127.0.0.1 as the Target address, 2222 as the SSH
+	port, and e.g. 172.16.15.128 (again, login and run <span class="code">sudo
+	dhclient</span> to see).
+	</li>
+</ul>
+<p>Configure port forwarding under <span class="code">Edit &gt; Virtual Network
+Settings &gt; NAT &gt; &lt;host&gt; &gt; Edit &gt; Port Forwarding &gt;
+&quot;Host Port = 2222, VM IP Address = &lt;<i>actual runtime address</i>&gt;:22&quot;</span>.</p>
+<p>Note: VMware changes port mapping for the WHOLE SYSTEM so if you
+switch between QEMU and VMware, you must use different SSH ports.</p>
+
+<h3 id="heading">ESbox Shared Folders</h3>
+<p>Currently we require Eclipse projects to be visible to both the
+host and target. (Most Eclipse code assumes that all files are visible
+on the host. We don't yet support the notion of a project fully hosted
+remotely.)</p>
+<p>Additionally, the project must be visible to scratchbox. sbox 1
+has some restrictions here, but sbox 2 is looser. A convenient solution
+is to make the shared folder visible twice, once in a normal location
+under the user's home folder, and again in the parallel location visible
+to sbox 1. (The user's home should be shared identically amongst any
+sbox 1 target to maximize the benefit, else you need to share yet again
+for every rootstrap.)</p>
+<p>Thus, the Shared Folders portion of the VM configuration page
+will let ESbox know how to map paths. Each mapping is considered in
+order, so list sbox 1 mappings at the end.</p>
+<p>ESbox has some support for automatically mounting shares into the
+VM, since this is a commonly needed task when the VM is started and
+stopped. Note, however, ESbox will not configure shares for you or
+validate whether your settings make any sense -- the provided share must
+be manually configured on the host.</p>
+<p>The tooltips in the tree should explain the purpose of the
+fields.</p>
+<p>If <span class="code">Local share?</span> is yes, you need to configure file
+sharing on your host and expose a share which can be mounted by the VM.
+This typically should be <span class="code">yes</span> for normal usage (since the
+Eclipse workspace must be on the local machine).</p>
+<p>Be sure to validate the <span class="code">Share name</span>. In Windows this
+is the base name of the directory by default. On Mac OS X, if you choose
+the defaults, the name is chosen by OS X for the typical user shares.</p>
+
+
+</div>
+
+<p id="troubleshoot"/>
+<h3>Troubleshooting</h3>
+<ul>
+	<li>
+	<p>You need to be on a LAN for the PC &lt;-&gt; VM communication to
+	work properly, as far as I know. Otherwise shared folders will not work
+	and you'll get a lot of mysterious timeouts when trying to mount.</p>
+	</li>
+	<li>
+	<p>If ESbox can't guess your network properly, look at the boot screen for
+	the VM or login to the VM (maemo/maemo) and run <span class="code">sudo dhclient</span>
+	to validate the assigned IP address for the VM, if you're not getting a
+	connection. Only in the case of NAT should you enter 127.0.0.1 as the
+	Target address in ESbox. For non-NAT cases, usually the host address is
+	xx.xx.xx.2 of the target address.</p>
+	</li>
+<li>
+	SBRSH needs to communicate in three ways: between the host (running Eclipse),
+	the VM (hosting Scratchbox and running the sbrsh client), and the device (running
+	the sbrsh daemon).  In most cases, <b>you must use WLAN</b> for this to work,
+	unless you know how to manually configure routing tables to do this over
+	USB or bluetooth or the ad-hoc WLAN connection.
+		</li>	
+</ul>
+
+
+</div>
+
+</div>
+</div>
+<div id="footer">
+<div class="part">
+<table width="100%" cellspacing="5px" style="bgcolor: #000">
+	<tr class="white">
+		<td><a href="http://esbox.garage.maemo.org" target="_blank"><img
+			src="images/ma_es.jpg" alt="esbox" title="esbox" /></a></td>
+		<td valign="middle">is a part of</td>
+		<td><a href="http://wiki.percomp.org" target="_blank"><img
+			src="images/ma_pe.jpg" alt="percomp" title="percomp" /></a></td>
+		<td valign="middle">developed by</td>
+		<td><a href="http://embedded.ufcg.edu.br" target="_blank"><img
+			src="images/ma_emb.jpg" alt="embedded" title="embedded" /></a></td>
+		<td valign="middle">in cooperation with</td>
+		<td><a href="http://www.indt.org.br/" target="_blank"><img
+			src="images/ma_indt.jpg" alt="indt" title="indt" /></a></td>
+		<td valign="middle">and</td>
+		<td><a href="http://maemo.org/" target="_blank"><img
+			src="images/ma_ma.jpg" alt="Maemo" title="Maemo" /></a></td>
+	</tr>
+</table>
+</div>
+<p class="right">© Copyright 2007 - 2009, INdT, 2008 - 2009 Nokia</p>
+</div>
+</body>
+</html>


Property changes on: www/beta1/virtual_machines.html
___________________________________________________________________
Name: svn:executable
   + *



More information about the Esbox-commits mailing list