<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Developer Coach &#187; Chrome OS</title>
	<atom:link href="http://developercoach.com/category/chrome-os/feed/" rel="self" type="application/rss+xml" />
	<link>http://developercoach.com</link>
	<description>Linux, Mac OS X, and Windows</description>
	<lastBuildDate>Mon, 28 Mar 2011 20:40:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Chrome OS: Step by Step build and run using Ubuntu 9.10 and VMware Fusion 3 (Mac OS X)</title>
		<link>http://developercoach.com/2009/chrome-os-step-by-step-build-and-run-using-ubuntu-9-10-and-vmware-fusion-3-mac-os-x/</link>
		<comments>http://developercoach.com/2009/chrome-os-step-by-step-build-and-run-using-ubuntu-9-10-and-vmware-fusion-3-mac-os-x/#comments</comments>
		<pubDate>Sun, 22 Nov 2009 03:20:18 +0000</pubDate>
		<dc:creator>Timothy Platt</dc:creator>
				<category><![CDATA[Chrome OS]]></category>

		<guid isPermaLink="false">http://developercoach.com/?p=70</guid>
		<description><![CDATA[Here&#8217;s a step by step breakdown of how to build Chrome OS under Ubuntu 9.10 (running as a virtual machine with VMware Fusion on Mac OS X) and testing the built image also via VMware Fusion.    At this time of &#8230; <a href="http://developercoach.com/2009/chrome-os-step-by-step-build-and-run-using-ubuntu-9-10-and-vmware-fusion-3-mac-os-x/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a step by step breakdown of how to build Chrome OS under Ubuntu 9.10 (running as a virtual machine with VMware Fusion on Mac OS X) and testing the built image also via VMware Fusion.    At this time of the original post I couldn&#8217;t get chromium (the browser portion) to actually build, as it had compilation errors, and it required a pre-built browser binary, which was graciously provided by <a href="http://mohamedmansour.com">Mohamed Mansour</a>.  I have now updated the steps to list how to build the browser from source, or use the pre-built binary.</p>
<p>Most, if not all, of this information is available via the <a href="http://www.chromium.org/chromium-os">Chromium OS pages</a>, <a href="http://gdgt.com/google/chrome-os/download/">gdgt</a>, and some other sources, however, these instructions are meant to be easier to follow for anyone with this specific build environment (using VMware Fusion on Mac OS X).  I like VMs for these purposes, while there may be a performance tax, it allows easy snapshots (can roll back to a snapshot if need be) and help avoids adding too much clutter on my main machine.</p>
<p>Lastly, the <a href="http://www.chromium.org/chromium-os/discussion-groups">Chromium OS discussion group</a> and the #chromium-os channel on irc.freenode.net are good resources for getting quick answers from knowledgeable people.</p>
<h2>1. Create Ubuntu 9.10 virtual machine under VMware Fusion 3 (Mac OS X)</h2>
<ul>
<li>Download 9.10 .iso file for Ubuntu</li>
<li>In VMware fusion, click File -&gt; New</li>
<li>Continue without disc</li>
<li>Use an operating system installation disc image file</li>
<li>Choose .iso file downloaded previously</li>
<li>Operating System: Linux, Version: Ubuntu</li>
<li>Assign Easy Install password</li>
<li>Click &#8220;Customize Settings&#8221;</li>
<li>Save Settings as desired</li>
<li>Enable sharing, create a folder on the Mac to share with Read/Write access.  In this example, I have created a Desktop folder named &#8220;Ubuntu Share&#8221;</li>
<li>Change networking to bridged (if desired, leaving as NAT should work fine as well)</li>
<li>Increase the disk size as 20 GB is a bit small for a build machine, 100 GB should be fine.  There&#8217;s really no reason to go conservative if you are using a dynamically expanding VMware virtual disk, the complete size will only be used if needed.  Also be sure to check the option to split the VMDK into 2 GB chunks, which makes backup/restore more granular and easier to manage.</li>
<li>Start up Virtual Machine</li>
<li>Installation will start and proceed, eventually it will restart and you will receive a login prompt, login with the user and password specified above</li>
<li>VMware Tools will install automatically, you will be placed at a login prompt, wait while it installs, it will eventually restart into the GUI.  If it doesn&#8217;t finish after quite some time, just power off and restart, it should boot into the GUI</li>
<li>Login when prompted</li>
</ul>
<h2>2. Configure dependencies and tools (Ubuntu 9.10)</h2>
<ul>
<li>Start a terminal session: Applications -&gt; Accessories -&gt; Terminal</li>
<li>(http://www.chromium.org/chromium-os/building-chromium-os)</li>
<li>Install chromium prerequesites: http://src.chromium.org/svn/trunk/src/build/install-build-deps.sh</li>
<li>Save file as install-build-deps.sh.  It will save to ~/Downloads, so cd to that directory.</li>
<li>Run chmods +x install-build-deps.sh</li>
<li>Execute with sudo ./install-build-deps.sh</li>
<li>Select y for debugging symbols</li>
<li>When prompted for REPLACE SYSTEM LINKER ld with gold and back up ld, select y or press enter</li>
<li>If prompted do you want to continue, press y</li>
<li>It will run for a considerable amount of time, when complete you will be returned to a command prompt</li>
<li>install qemu: sudo apt-get install qemu (if prompted select y)</li>
</ul>
<h2>3. Download / sync source code (Ubuntu 9.10)</h2>
<ul>
<li>Download the chromium depot tools: http://sites.google.com/a/chromium.org/dev/developers/how-tos/install-gclient</li>
<li>cd ~</li>
<li><code>svn co http://src.chromium.org/svn/trunk/tools/depot_tools</code></li>
<li>Add the new dir to your path via:  export PATH=`pwd`/depot_tools:&#8221;$PATH&#8221;</li>
<li>You must run that command in the ~ directory. Use echo $PATH to see the results.  The depot_tools dir in your home directory should be at the front of the path.  You can add this to .profile or .bashrc so that it will occur next session</li>
<li>Install git: sudo apt-get install git-core.  If prompted to continue, choose y</li>
</ul>
<ul>
<li><span style="text-decoration: underline;"><strong>If you wish to build the chromium (browser) from source do the following<br />
</strong></span></li>
<li>mkdir ~/chromium</li>
<li>cd chromium</li>
<li>gclient config http://src.chromium.org/svn/trunk/src http://build.chromium.org/buildbot/continuous/LATEST/REVISION (Get a known good)</li>
<li>export GYP_DEFINES=&#8221;chromeos=1&#8243;  (consider adding to .profile or .bashrc)</li>
<li>gclient sync &#8211;deps=&#8221;chromeos,unix&#8221;</li>
<li>(will run for a long time)</li>
<li>(end of steps to retrieve browser source)</li>
</ul>
<ul>
<li>Get the chromium OS repository as follows:</li>
<li>mkdir chromiumos</li>
<li>cd chromiumos</li>
<li>gclient config http://src.chromium.org/git/chromiumos.git</li>
<li>gclient sync</li>
<li>The sync will take a long time, and will appear to stall at several points, just allow it to continue</li>
</ul>
<h2>4. Build (Ubuntu 9.10)</h2>
<ul>
<li>http://sites.google.com/a/chromium.org/dev/chromium-os/building-chromium-os/build-instructions</li>
<li>Make Local Repository as follows:</li>
<li>cd ~/chromiumos/chromiumos.git/src/scripts</li>
<li>./make_local_repo.sh  (may need to enter sudo password)</li>
<li>Create build environment</li>
<li>./make_chroot.sh</li>
</ul>
<ul>
<li><span style="text-decoration: underline;"><strong>If you did not download the chromium browser source, you must incorporate a pre-built browser binary</strong></span>:</li>
<li>Download chromium browser binary: http://mohamedmansour.com/chrome/builds/chrome-linux.zip  or http://build.chromium.org/buildbot/continuous/linux/LATEST/chrome-linux.zip</li>
<li> cp ~/Downloads/chrome-linux.zip ~/chromiumos/chromiumos.git/src/build/x86/local_assets</li>
</ul>
<ul>
<li><span style="text-decoration: underline;"><strong>If you did download the chromium browser source, you will now build it:</strong></span></li>
<li>cd ~/chromiumos/chromiumos.git/src/scripts</li>
<li><code>./build_chrome.sh --chrome_dir ~/chromium</code></li>
<li>(This will take quite some time.  It must complete successfully.  If it doesn&#8217;t you&#8217;ll likely get a blank blue gradient screen after signing in to Chromium OS)</li>
</ul>
<ul>
<li>Now we will build the OS</li>
<li>cd ~/chromiumos/chromiumos.git/src/scripts</li>
<li>./enter_chroot.sh</li>
<li>Create a debug user (called USERNAME)</li>
<li>( cd ../platform/pam_google &amp;&amp; ./enable_localaccount.sh USERNAME)</li>
<li>./set_shared_user_password.sh (set any password)</li>
<li>./build_platform_packages.sh</li>
<li>./build_kernel.sh</li>
<li>./build_image.sh</li>
<li>When complete, a short blurb on how to convert for vmware.  Note that path will have to be changed (see next instructions)</li>
</ul>
<h2>5. Convert to VMware VDK (Ubuntu 9.10)</h2>
<ul>
<li>Open another terminal (must do this outside of the chroot)</li>
<li>cd ~/chromiumos/chromiumos.git/src/scripts</li>
<li>./image_to_vmware.sh &#8211;from=/chromiumos/chromiumos.git/src/build/images/999.999.32609.025303-a1  (NOTE: Last part will change see the output from the ./build_image.sh to confirm the specific build name)</li>
<li>Copy the resulting vmdk file to the VMware shared folder</li>
<li>cp ~/chromiumos/chromiumos.git/src/build/images/999.999.32609.025303-a1/ide.vmdk &#8220;/mnt/hgfs/Ubuntu Share&#8221;</li>
<li>NOTE: in the previous command &#8220;<strong>hgfs</strong>&#8220;  of the &#8220;/mnt/hgfs&#8221; path stands for <strong>h</strong>ost <strong>g</strong>uest <strong>f</strong>ile <strong>s</strong>ystem, and is how you access shared folders in Linux under VMware.</li>
</ul>
<h2>6. Test image using VMware Fusion (Mac OS X)</h2>
<ul>
<li>In VMware Fusion, click File -&gt; New</li>
<li>Continue Without Disc</li>
<li>Use an existing virtual disk</li>
<li>Select the file created, ide.vdmk (will be in ~/Desktop/Ubuntu Share)</li>
<li>Select option: Share this virtual disk with the virtual machine that created it</li>
<li>If prompted to convert, choose &#8220;Don&#8217;t convert&#8221;</li>
<li>Continue</li>
<li>Leave Linux, Ubuntu</li>
<li>Change disk size if desired, the default 20 GB is plenty of space.  Click Finish</li>
<li>Save as Chrome OS 1 (or name of your liking)</li>
<li>Start up the virtual machine</li>
<li>After booting, Chromium OS login screen should appear</li>
</ul>
<p>Login with your google account (gmail e-mail address and password), if you receive a blank blue screen , try Ctrl-Alt-N or Ctrl-Alt-T for virtual terminal (must be a debug build for virtual terminal to work).  If your gmail account doesn&#8217;t work, try logging in with the USERNAME and password set during build.</p>
]]></content:encoded>
			<wfw:commentRss>http://developercoach.com/2009/chrome-os-step-by-step-build-and-run-using-ubuntu-9-10-and-vmware-fusion-3-mac-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

