<?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>LINUX For You &#187; Reviews</title> <atom:link href="http://www.linuxforu.com/category/reviews/feed/" rel="self" type="application/rss+xml" /><link>http://www.linuxforu.com</link> <description>The Complete Magazine on Open Source</description> <lastBuildDate>Tue, 31 Jan 2012 17:22:40 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=</generator> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>Linux on POWER</title><link>http://www.linuxforu.com/2012/01/linux-on-power-processor/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=linux-on-power-processor</link> <comments>http://www.linuxforu.com/2012/01/linux-on-power-processor/#comments</comments> <pubDate>Fri, 27 Jan 2012 18:12:15 +0000</pubDate> <dc:creator>Anton Borisov</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[Open Gurus]]></category> <category><![CDATA[Products]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[ELF]]></category> <category><![CDATA[Flexible Service Processor]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[hardware architecture]]></category> <category><![CDATA[IBM]]></category> <category><![CDATA[IBM Hardware Management Console]]></category> <category><![CDATA[IBM IntelliStation]]></category> <category><![CDATA[IBM PC]]></category> <category><![CDATA[Intel]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[LFY January 2012]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Linux distributions]]></category> <category><![CDATA[open architecture]]></category> <category><![CDATA[POWER]]></category> <category><![CDATA[PowerPC]]></category> <category><![CDATA[PPC]]></category> <category><![CDATA[s390]]></category> <category><![CDATA[server hardware]]></category> <category><![CDATA[SUSE Enterprise Linux]]></category> <category><![CDATA[ubuntu]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=9318</guid> <description><![CDATA[Anyone familiar with GNU/Linux will not be surprised by the fact that this operating system runs on almost all known processors. However, very few people are aware that mere support just might not...]]></description> <content:encoded><![CDATA[<p><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/Power.jpg?d9c344" alt="Linux on Power" title="Linux on Power" width="300" height="200" class="alignright size-full wp-image-9328" /><div class="introduction">Anyone familiar with GNU/Linux will not be surprised by the fact that this operating system runs on almost all known processors. However, very few people are aware that mere support just might not be enough. You&#8217;ll also need to keep an up-to-date repository of code. This is especially true when it comes to serious hardware such as POWER.</div><p>I guess that almost all desktop systems in the office or home are derived from one prototype, the IBM PC (personal computer), which was built around the concept of an open architecture that IBM introduced 30 years ago. It&#8217;s true that the company itself didn&#8217;t quite understand how revolutionary open hardware architecture would be a few years later, in the mid-80s. Whatever the case, the fact remains that the PC became popular because many independent manufacturers could produce a wide range of compatible peripherals. This, in turn, allowed a competitive market to develop, eventually making desktop PCs available to everyone.</p><p>The open development model of Linux first embraced the desktop market of x86 computers, and then proceeded to &#8220;capture&#8221; other architectures as well (now more than 20), ranging from x86, ARM and MIPS, to Alpha, SPARC, PowerPC, IA64 and S390.</p><p>While &#8220;desktop&#8221; platforms (x86 and ARM) have many different Linux distributions and other operating systems that can run on them, the &#8220;pure&#8221; server architectures like IA64, S390 and Power cannot boast of this &#8212; the number of distributions is much, much smaller. This fact is understandable. Quality and the cost of server hardware for industrial applications is immeasurably higher than for the usual PC. Moreover, not every Linux distribution vendor can find the resources to build and provide long-term support for major server hardware architecture &#8212; even if they are willing to.</p><p>Some time ago, I got my hands on an <a href="http://en.wikipedia.org/wiki/IBM_IntelliStation#IntelliStation_POWER_285">IBM IntelliStation POWER 285 workstation</a>, considered the closest model to large industrial servers. The main brain of the station is a dual-core POWER 5+ processor.</p><p>Although announced back in 2005, the system is serious stuff even now. Judge for yourself: 4 GB RAM (max capacity 32 GB), with a disk subsystem that has 2&#215;146 GB SCSI drives (max disk storage 1.2 TB). It has a self-diagnostic system and memory &#8220;self-healing&#8221; technology known as ChipKill, a remote <a href="http://en.wikipedia.org/wiki/IBM_Hardware_Management_Console">HMC (Hardware Management Console)</a> and a pair of NICs working at 1 Gbit. This system is unbeatable for an entry-level enterprise server and simply forces you to take another respectful look at IBM  &#8212; Big Blue creates innovative and striking products.</p><p>Well, that&#8217;s enough of an introduction. Let&#8217;s learn Linux installation and operation on IBM hardware. And later decide how it is possible to effectively exploit Linux on Power.</p><h2>Remote access</h2><p>IBM produces equipment that has OpenFirmware (OF) inside. This is analogous to the traditional PC BIOS used on x86 systems. With OF&#8217;s help, you can assign which source should be used to start an OS, perform a number of diagnostic procedures, etc. OF itself uses a ServiceProcessor &#8212; a special unit embedded into the big tower. When you plug in the power cord, first the ServiceProcessor starts. That initially sets up a remote access option, and then awaits the user&#8217;s response.</p><p>The user has to press the hardware Start button on the front panel. So, when plugged in, IntelliStation is never completely turned off &#8212; even with the main CPUs off, the ServiceProcessor doesn&#8217;t sleep. The scheme is reminiscent of a similar product &#8212; <a href="http://en.wikipedia.org/wiki/HP_Integrated_Lights-Out">iLO</a>, developed by Compaq/HP. iLO also lets one start and control a server remotely.</p><p>It&#8217;s worth noting that IBM also has additional functions run by HMC (Hardware Management Console), among which are planning and allocation of physical resources to logical partitions (<a href="http://en.wikipedia.org/wiki/LPAR">LPAR</a>/<a href="http://en.wikipedia.org/wiki/DLPAR">DLPAR</a>), splitting main CPU performance onto logical CPUs (Capacity On Demand) and related actions that provide virtualisation management on POWER-based processors. Unfortunately, I can only mention these capabilities, and not go any deeper into the subject, because that would be beyond the scope of this review.</p><p>So, in order to establish an access link to the ServiceProcessor and later install Linux, you will need an <em>RS232(F)&lt;-&gt;RS232(F)</em> cable and a dedicated workstation, from which you can directly control your IntelliStation 285. As a console, any PC with an installed command-line tool like <code>minicom</code> or <code>surecom</code> (a GUI alternative) will suit. Set the communication speed to 19,200 bit/s, the standard default rate for IBM hardware, plug in the power cord and wait for the login prompt after running <code>minicom -D /dev/ttyS0 -s 19200 -o</code>. See Figure 1.</p><div id="attachment_9320" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/01-ibm_debian1.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/01-ibm_debian1-590x504.png?d9c344" alt="Control Power hardware via RS232 cable" title="Control Power hardware via RS232 cable" width="590" height="504" class="size-large wp-image-9320" /></a><p class="wp-caption-text">Figure 1: Control Power hardware via RS232 cable</p></div><p>To start the whole system and gain access to OF, from where you can select an OS source,  choose: <code>1. Power/Restart Control</code> -&gt; <code>1. Power On/Off System</code> -&gt; <code>8. Power on</code>. After that, in approximately two minutes, you will hear the noise of the fans &#8212; the big system has started initialisation and a minute later the hardware will be completely initialised, signalled via two speaker beeps.</p><p>At the same time, on the console, you should see a message from SMS (System Management Services) as in Figure 2, where you choose <code>1</code> to enter the system OF menu and then select <code>1. Select Install/Boot Device</code> to choose the boot device (which you will run the installer from).</p><div id="attachment_9321" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/02-aix1.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/02-aix1-590x504.png?d9c344" alt="SMS greeting before entering OpenFirmware menu" title="SMS greeting before entering OpenFirmware menu" width="590" height="504" class="size-large wp-image-9321" /></a><p class="wp-caption-text">Figure 2: SMS greeting before entering OpenFirmware menu</p></div><p>You should see something like Figure 3, where I chose <code>4. IDE</code>, because the built-in CD-ROM is connected to the IDE connector. In your version, it might be <code>3. CD/DVD</code>.</p><div id="attachment_9322" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/03-aix2.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/03-aix2-590x504.png?d9c344" alt="Choose installation source" title="Choose installation source" width="590" height="504" class="size-large wp-image-9322" /></a><p class="wp-caption-text">Figure 3: Choose installation source</p></div><p>In the subsequent menu (Figure 4), I chose <code>2. Normal Mode Boot</code>, which is suitable for installation, and confirmed exit from SMS. My SLES 11&#8242;s Linux kernel correctly identified the IntelliStation 285.</p><div id="attachment_9323" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/04-aix4.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/04-aix4-590x504.png?d9c344" alt="Choose boot mode" title="Choose boot mode" width="590" height="504" class="size-large wp-image-9323" /></a><p class="wp-caption-text">Figure 4: Choose boot mode</p></div><p>The installation process will proceed as follows:</p><pre class="brush: text; gutter: false; first-line: 1">Welcome to SuSE Linux Enterprise 11!

Type  &quot;install&quot;  to start the YaST installer on this CD/DVD
Type  &quot;slp&quot;      to start the YaST install via network
Type  &quot;rescue&quot;   to start the rescue system on this CD/DVD

Welcome to yaboot version r22.8-r1190.SuSE
booted from &#039;/pci@800000020000003/pci@2,3/ide@1/disk@0:1,\suseboot\yaboot.ibm&#039;
running with firmware &#039;IBM,SF240_403&#039; on model &#039;IBM,9111-285&#039;, serial &#039;IBM,0206ABB30&#039;, partition &#039;0&#039;
Enter &quot;help&quot; to get some basic usage information
boot:
Please wait, loading kernel...
Allocated 01800000 bytes for executable @ 03000000
Elf32 kernel loaded...

SuSE Linux zImage starting: loaded at 03000000-0469cd30 (4000000/0/02039a68; sp: 02c9fd50)
uncompressing ELF header done. (00000100 bytes)
Allocated 0164c090 bytes for kernel @ 04800000
Leave 0122a5ba bytes for initrd @ 034668bb
uncompressing kernel done. (00f5a920 bytes)
entering kernel at 04810000(34668bb/122a5ba/02039a68)</pre><p>The installation procedure reminds me of what happens on the x86, with just one difference &#8212; in our case, control is via a serial line in text VT102 mode, so some characters may not be displayed properly as you can see in Figure 5.</p><div id="attachment_9324" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/05-ibm_sles11.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/05-ibm_sles11-590x454.png?d9c344" alt="SUSE Linux installation could be fun" title="SUSE Linux installation could be fun" width="590" height="454" class="size-large wp-image-9324" /></a><p class="wp-caption-text">Figure 5: SUSE Linux installation could be fun</p></div><p>Several menu items, such as the network address, may require you to return to re-edit these fields. We can use Tab/Alt+Tab to move between text interface fields. These keyboard shortcuts are functional even in this very minimal mode.</p><div class="note"><strong>Note:</strong> Installing SLES 10 involved no difficulty in navigation or in selecting the text buttons. However, with SLES 11, there was the problem of having to check the Internet connection (Test Connection to the Internet Via Ethernet Controller). The problem is that there is no systems setting to exclude or interrupt this operation when you are in text mode via a serial line. In this case, simply restart the system and assign the necessary IP address after a reboot (via serial connection and minicom). After that, you are encouraged to connect via SSH over the Ethernet connection.</div><h2>Embedded Linux on ServiceProcessor</h2><p>In addition to control via a serial line, IntelliStation (and in general, all IBM products) offers management via an ordinary Web browser. This Web control mechanism (Advanced System Management &#8212; see Figure 6) is provided by a tiny computer within the IntelliStation, with Linux and BusyBox utilities.</p><div id="attachment_9329" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/06-aix100.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/06-aix100-590x522.jpg?d9c344" alt="Management via Web interface" title="Management via Web interface" width="590" height="522" class="size-large wp-image-9329" /></a><p class="wp-caption-text">Figure 6: Management via Web interface</p></div><p>This ServiceProcessor also uses Power technology &#8212; a PowerPC 405 CPU from IBM [<a href="http://www.datasheetarchive.com/indexdl/Datasheets-SW3/DSASW0048000.pdf">Datasheet PDF</a>] but with a much smaller form factor. This uses a low-power processor <a href="http://www.webopedia.com/TERM/F/Flexible_Service_Processor.html">FSP (Flexible Service Processor)</a> running at about 200 MHz (see Figure 7).</p><div id="attachment_9330" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/07-aix110.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/07-aix110-590x464.jpg?d9c344" alt="Embedded Linux runs on PowerPC 405 from IBM" title="Embedded Linux runs on PowerPC 405 from IBM" width="590" height="464" class="size-large wp-image-9330" /></a><p class="wp-caption-text">Figure 7: Embedded Linux runs on PowerPC 405 from IBM</p></div><p>ASM provides the same controls as the serial-line SMS but in a more usable manner (Figure 8). It lets you manage the system remotely &#8212; start/stop it, view logs, allocate resources (like Capacity on Demand parameters), etc.</p><div id="attachment_9331" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/01/08-aix102.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/01/08-aix102-590x523.jpg?d9c344" alt="ASM&#039;s user-friendly controls presentation" title="ASM&#039;s user-friendly controls presentation" width="590" height="523" class="size-large wp-image-9331" /></a><p class="wp-caption-text">Figure 8: ASM&#039;s user-friendly controls presentation</p></div><p>Let&#8217;s briefly see how this subsystem is launched. When you connect the mains power to the box, the ServiceProcessor automatically starts the embedded Linux. After initially testing  some components of a larger block, ServiceProcessor displays on a front panel the readiness status for full system start. When you hit the &#8220;Power On&#8221; button, OpenFirmware loads and ultimately passes control to your Linux boot loader, <code>yaboot</code>.</p><p>Like with the large system, this small subsystem has two independent Ethernet controllers, referred to as HMC 1 and HMC 2. It makes sense to connect them to separate LANs/VLANs for a special management network. First, it helps access restriction and security. Second, you can avoid a network traffic overload on a single LAN.</p><p>IP addresses for these ports can be supplied by a DHCP server on a management network. If one isn&#8217;t found, default addresses are automatically assigned: 192.168.2.147 (port C7-T1, on HMC1) and 192.168.3.147 (port C7-T2, HMC2). You can log in via telnet, with the default credentials admin/admin.</p><pre class="brush: text; gutter: false; first-line: 1">$ mount
/dev/mtdblock/0/3 on / type cramfs (rw)
none on /dev type devfs (rw)
proc on /proc type proc (rw)
/dev/mtdblock/0/1 on /opt/extucode type jffs2 (rw)
/dev/mtdblock/0/1 on /etc type jffs2 (rw)
/dev/mtdblock/tmpram/tmpram on /tmp type jffs2 (rw)
none on /var type tmpfs (rw)
/dev/mtdblock/pcscore/pcscore on /core type jffs2 (rw)
/dev/mtdblock/pcsram/pcsram on /opt/p1 type jffs2 (rw)
shm on /var/shm type shm (rw)
/dev/mtdblock/1/1 on /alt/extucode type jffs2 (rw)
/dev/mtdblock/2/3 on /opt/fips type cramfs (rw)
/dev/mtdblock/nvram/nvram on /opt/p2 type zofs (rw,sync)
$ uptime
8:49am  up 1 day, 14:53, load average: 0.52, 0.20, 0.07
$ uname -a
Linux fsp 2.4.18-rc4 #1 Wed Mar 25 15:01:22 UTC 2009 ppc unknown
$ cat /proc/version
Linux version 2.4.18-rc4 (root@mcpbuild6) (gcc version 3.2.3 20030401 (prerelease)) #1 Wed Mar 25 15:01:22 UTC 2009</pre><p>As we see, Embedded Linux uses JFFS/CRAMFS filesystems, which are common in tiny products. An interesting feature is NVRAM memory mounted as storage (<code>/dev/mtdblock/nvram/nvram</code>). Reading data from its files gives the status of different subsystems. You can also change some values using commands from <code>/opt/fips/bin</code> &#8212; particularly, you can even try to launch several subsystems (or maybe the full system box) with <code>/opt/fips/bin/powr_fsp_spcn</code>, which checks the current system status, and accordingly launches <code>/bin/powr_L4</code> or <code>/bin/powr_sqh</code>. The ASM Web server (named webs), when you click the button <em>Save</em> settings and power on does the same.</p><h2>Available distros for POWER</h2><p>Originally, I planned to use Red Hat Enterprise Linux as the main OS on this system. However, neither RHEL 5.7 nor 6.2 Beta, nor even 6.2 started correctly. RHEL 6.2 Beta and a more recent version 6.2 spews a kernel trap error during initial startup. Yes, the IntelliStation 285 wasn&#8217;t in the supported hardware list, but neither was it for SLES 10/11. Still, SLES 10 and 11 support it unofficially. Let us see how the installation process goes, and whether we can bring the system to production mode.</p><p>In addition to RHEL and SLES, numerous systems based on the POWER processor even supported Ubuntu 10.04 (LTS edition). However, my experience proved that this model wasn&#8217;t suitable for Ubuntu &#8212; it cannot start properly. Moreover, newer versions of Ubuntu come without any POWER/PowerPC architecture support at all, unfortunately.</p><p>I checked if the most recent release (6.0.3) of Ubuntu&#8217;s parent distribution, Debian, could boot. It wasn&#8217;t able to start &#8212; it drops directly into OpenFirmware. Another failure! Well, let&#8217;s not despair. Quite possibly, the Debian community will fix it.</p><p>Oddly enough, a completely amateurish project called <a href="http://cruxppc.org/">Crux PPC</a> has a fully working distribution &#8212; Crux PPC 2.7a, which not only loads on Power hardware, but also provides video output via correctly-set framebuffer mode. None of the other distributions mentioned can boast of that! All provided only a serial-line text mode. In general, Crux PPC runs as a LiveCD and has no installer, so I advise professionals to use it. Again, this topic is out of the scope of this article, so I will leave it for later.</p><h2>Performance</h2><p>As I mentioned a bit earlier, IBM products are one level, or a &#8220;head above&#8221; their competitors. Comparing the very different Power and x86 architectures is hard, because there are no objective criteria for such a comparison. However, from an ordinary user&#8217;s perspective, we can try the 7Zip archiver in its benchmark mode. This program is completely open source, so anyone can compile it.</p><p>Let us compare IntelliStation based on the POWER5+ processor with 2 cores and 4 GB RAM, manufactured in 2005, with an Intel Core 2 Duo (2 cores with hyper-threading) and 4 GB RAM, but released three years later (2008). First, the IntelliStation:</p><pre class="brush: text; gutter: false; first-line: 1">linux:~/src/p7zip_9.20.1/bin # ./7za b

7-Zip (A) 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    3632 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    1931    99   1891   1878  |    24309   100   2198   2194
23:    1871   100   1916   1907  |    24132   100   2212   2209
24:    1816    99   1964   1953  |    23917   100   2221   2219
25:    1780    99   2043   2032  |    23525   100   2213   2212
----------------------------------------------------------------
Avr:           99   1954   1942               100   2211   2209
Tot:          100   2082   2076</pre><p>Next, let us test the Core 2 Duo system:</p><pre class="brush: text; gutter: false; first-line: 1">

Intel(R) Core(TM)2 Duo CPU     E6550  @ 2.33GHz
7-Zip 9.04 beta  Copyright (c) 1999-2009 Igor Pavlov  2009-05-30
p7zip Version 9.04 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,2 CPUs)

RAM size:    4006 MB,  # CPU hardware threads:   2
RAM usage:    425 MB,  # Benchmark threads:      2

Dict        Compressing          |        Decompressing
      Speed Usage    R/U Rating  |    Speed Usage    R/U Rating
       KB/s     %   MIPS   MIPS  |     KB/s     %   MIPS   MIPS

22:    2588   138   1831   2518  |    33730   165   1850   3045
23:    2532   136   1903   2580  |    32265   159   1853   2954
24:    2588   142   1958   2783  |    32828   165   1843   3046
25:    2540   144   2011   2900  |    30299   155   1838   2849
----------------------------------------------------------------
Avr:          140   1925   2695               161   1846   2974
Tot:          150   1886   2834</pre><p>As you can see, the performance doesn&#8217;t differ much. Even a slightly outdated IBM station can compete with a relatively new x86 product.</p><p>Despite the fact that equipment based on the Power processor is marketed by IBM as a corporate power-horse for commercial operating systems like AIX and IBM i (produced by IBM itself), we have seen that it can also be used with Linux. Thus, virtually the entire software stack that successfully works on x86 can also be run on Power &#8212; Apache, Java, WebSphere, MySQL, etc.</p><p>Taking into account the fact that IBM hardware usually comes with unique technologies like the hardware management console and the hardware virtualisation hypervisor, you can easily create an effective solution by combining the best features from both the hardware and software sides &#8212; the corporate and the public world.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/09/kernel-space-debuggers-in-linux/" rel="bookmark" class="crp_title">Device Drivers, Part 10: Kernel-Space Debuggers in Linux</a></li><li><a href="http://www.linuxforu.com/2009/03/install-linux-straight-from-an-iso/" rel="bookmark" class="crp_title">Stop Wasting CDs; Install Linux Straight from an ISO</a></li><li><a href="http://www.linuxforu.com/2011/12/setting-up-a-lamp-server-remotely/" rel="bookmark" class="crp_title">Setting up a LAMP Server Remotely</a></li><li><a href="http://www.linuxforu.com/2011/05/quick-quide-to-qemu-setup/" rel="bookmark" class="crp_title">The Quick Guide to QEMU Setup</a></li><li><a href="http://www.linuxforu.com/2011/08/qemu-for-embedded-systems-development-part-3/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 3</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/elf/" title="ELF" rel="tag">ELF</a>, <a href="http://www.linuxforu.com/tag/flexible-service-processor/" title="Flexible Service Processor" rel="tag">Flexible Service Processor</a>, <a href="http://www.linuxforu.com/tag/gnulinux/" title="GNU/Linux" rel="tag">GNU/Linux</a>, <a href="http://www.linuxforu.com/tag/hardware-architecture/" title="hardware architecture" rel="tag">hardware architecture</a>, <a href="http://www.linuxforu.com/tag/ibm/" title="IBM" rel="tag">IBM</a>, <a href="http://www.linuxforu.com/tag/ibm-hardware-management-console/" title="IBM Hardware Management Console" rel="tag">IBM Hardware Management Console</a>, <a href="http://www.linuxforu.com/tag/ibm-intellistation/" title="IBM IntelliStation" rel="tag">IBM IntelliStation</a>, <a href="http://www.linuxforu.com/tag/ibm-pc/" title="IBM PC" rel="tag">IBM PC</a>, <a href="http://www.linuxforu.com/tag/intel/" title="Intel" rel="tag">Intel</a>, <a href="http://www.linuxforu.com/tag/java/" title="Java" rel="tag">Java</a>, <a href="http://www.linuxforu.com/tag/lfy-january-2012/" title="LFY January 2012" rel="tag">LFY January 2012</a>, <a href="http://www.linuxforu.com/tag/linux/" title="Linux" rel="tag">Linux</a>, <a href="http://www.linuxforu.com/tag/linux-distributions/" title="Linux distributions" rel="tag">Linux distributions</a>, <a href="http://www.linuxforu.com/tag/open-architecture/" title="open architecture" rel="tag">open architecture</a>, <a href="http://www.linuxforu.com/tag/power/" title="POWER" rel="tag">POWER</a>, <a href="http://www.linuxforu.com/tag/powerpc/" title="PowerPC" rel="tag">PowerPC</a>, <a href="http://www.linuxforu.com/tag/ppc/" title="PPC" rel="tag">PPC</a>, <a href="http://www.linuxforu.com/tag/s390/" title="s390" rel="tag">s390</a>, <a href="http://www.linuxforu.com/tag/server-hardware/" title="server hardware" rel="tag">server hardware</a>, <a href="http://www.linuxforu.com/tag/suse-enterprise-linux/" title="SUSE Enterprise Linux" rel="tag">SUSE Enterprise Linux</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2012/01/linux-on-power-processor/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Ubuntu 11.10 &#8216;Oneiric Ocelot&#8217; Review</title><link>http://www.linuxforu.com/2011/11/ubuntu-11-10-oneiric-ocelot-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-11-10-oneiric-ocelot-review</link> <comments>http://www.linuxforu.com/2011/11/ubuntu-11-10-oneiric-ocelot-review/#comments</comments> <pubDate>Mon, 31 Oct 2011 18:49:11 +0000</pubDate> <dc:creator>Harsh Gupta</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[For You & Me]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[Android]]></category> <category><![CDATA[cloud]]></category> <category><![CDATA[Deja Dup]]></category> <category><![CDATA[desktop manager]]></category> <category><![CDATA[GNOME]]></category> <category><![CDATA[GNOME Shell]]></category> <category><![CDATA[LFY November 2011]]></category> <category><![CDATA[login screen]]></category> <category><![CDATA[Mark Shuttleworth]]></category> <category><![CDATA[netbook]]></category> <category><![CDATA[nvidia]]></category> <category><![CDATA[ocelot]]></category> <category><![CDATA[oneiric]]></category> <category><![CDATA[Oneiric Ocelot]]></category> <category><![CDATA[software centre]]></category> <category><![CDATA[storage]]></category> <category><![CDATA[T S Eliot]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[Ubuntu Cloud]]></category> <category><![CDATA[Ubuntu One]]></category> <category><![CDATA[Ubuntu review]]></category> <category><![CDATA[Ubuntu Software Centre]]></category> <category><![CDATA[Ubuntu Unity]]></category> <category><![CDATA[Unity]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=5765</guid> <description><![CDATA[Oneiric Ocelot was released on October 13. This version of Ubuntu comes with a major overhaul of the Ubuntu Software Centre (USC), Unity and Dash. This release also comes with some new default...]]></description> <content:encoded><![CDATA[<p><img class="size-medium wp-image-5766 alignright" title="Time to unpack the Oneiric" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/ubuntu10-10-350x302.jpg?d9c344" alt="Time to unpack the Oneiric" width="252" height="218" /></p><div class="introduction">Oneiric Ocelot was released on October 13. This version of Ubuntu comes with a major overhaul of the Ubuntu Software Centre (USC), Unity and Dash. This release also comes with some new default software, such as Thunderbird for email and Déjà Dup for backups. Read on for more.</div><p>‘Oneiric’ means ‘dreamy’ and in his blog, Mark Shuttleworth writes at length about choosing a suitable alliterative adjective to describe the ocelot, a small wild leopard. He even quotes from T.S. Eliot&#8217;s famous poem on &#8220;The Naming of Cats&#8221;. He finally settles on &#8220;Oneiric Ocelot&#8221; because it seems to capture how innovation happens &#8212; &#8220;part daydream, part discipline.&#8221;</p><p>This release is cosmetically pleasing, and gives developers even more options to create efficient interfaces that are aesthetically delightful also.</p><h2>The Ubuntu installation &#8212; &#8216;Say Cheese&#8217;</h2><p>The re-tweaked Ubuntu installer is going to amaze you with its new picture-taking abilities. If you&#8217;re installing Ubuntu 11.10 on a notebook or netbook equipped with a camera, it asks you to take a picture of yourself; this picture will recognise you in account settings, the login screen and the lock screen.</p><div id="attachment_5774" class="wp-caption aligncenter" style="width: 590px"><img class="size-large wp-image-5774 " title="Ubuntu Install 'Say Cheese'" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image01-590x442.jpg?d9c344" alt="Ubuntu Install 'Say Cheese'" width="590" height="442" /><p class="wp-caption-text">Ubuntu Install &#39;Say Cheese&#39;</p></div><p>The rest of the installation is the same as in the previous release. While installing, keep your Internet connection on, or your installer will get stuck. Also don&#8217;t forget to tick &#8220;Install 3rd party codecs/restricted drivers&#8221;. The installer is very fast, and won&#8217;t let you wait for long.</p><h2>A lightweight ‘LightDM’</h2><p>As soon as the system reboots, you will be greeted with the slick, light-weight LightDM login screen. This new débutante is a very fast desktop manager, and offers you options for Unity 3D (default) and Unity 2D sessions. If your card doesn&#8217;t support Unity 3D, you can choose Unity 2D from LightDM. The Gnome Shell is completely dropped from Ubuntu, but you can install it from the Ubuntu Software Centre, or by using <code>apt-get install</code>. (See the box with suggestions at the end of the article on 11 things to install on a fresh Oneiric install.)</p><div id="attachment_5775" class="wp-caption aligncenter" style="width: 590px"><img class="size-large wp-image-5775 " title="LightDM login screen" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image02-590x786.jpg?d9c344" alt="LightDM login screen" width="590" height="786" /><p class="wp-caption-text">LightDM login screen</p></div><h2>The &#8216;Lenses&#8217; included in Unity Dash</h2><p>After receiving lots of complaints, Ubuntu developers refined and re-polished the Unity interface, and added lenses for App Launcher, File Search and Music Search. App lenses let you find stuff faster. File lenses do all the remembering, so you don&#8217;t have to. It gives you myriad filtering options. For example, Music lenses keep track of your music collections, what you have and what you don&#8217;t.</p><p>The Unity sidebar now shades itself according to the desktop wallpaper. The interface is translucent, with bigger icons. Compiz also hides a lot of oomph under the hood.</p><div id="attachment_5776" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image04.jpg?d9c344"><img class="size-large wp-image-5776" title="Unity Dash" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image04-590x368.jpg?d9c344" alt="Unity Dash" width="590" height="368" /></a><p class="wp-caption-text">Unity Dash</p></div><div id="attachment_5779" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image051.jpg?d9c344"><img class="size-large wp-image-5779" title="Music Lenses" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image051-590x345.jpg?d9c344" alt="Music Lenses" width="590" height="345" /></a><p class="wp-caption-text">Music Lenses</p></div><div id="attachment_5778" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image06.jpg?d9c344"><img class="size-large wp-image-5778" title="Unity Sidebar" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image06-590x368.jpg?d9c344" alt="Unity Sidebar" width="590" height="368" /></a><p class="wp-caption-text">Unity Sidebar</p></div><h2>Multi-task in style</h2><p>A new addition to this release is a modified Alt-Tab switcher with preview features, in which you can use the down arrow key to see a preview. This really cool feature adds a plus to Ubuntu&#8217;s &#8220;coolness rating&#8221;. The workspace switcher also got touched up; it displays an orange border around the active workspace. You can also move applications across different workspaces.</p><div id="attachment_5780" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image07.jpg?d9c344"><img class="size-large wp-image-5780" title="Alt-Tab Switcher preview" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image07-590x368.jpg?d9c344" alt="Alt-Tab Switcher preview" width="590" height="368" /></a><p class="wp-caption-text">Alt-Tab Switcher preview</p></div><div id="attachment_5781" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image08.jpg?d9c344"><img class="size-large wp-image-5781" title="Workspace Switcher" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image08-590x368.jpg?d9c344" alt="Workspace Switcher" width="590" height="368" /></a><p class="wp-caption-text">Workspace Switcher</p></div><h2>A completely revamped USC</h2><p>The Ubuntu Software Centre got a complete makeover &#8212; and with this release, Ubuntu dropped Synaptic completely. There are thousands of apps to choose from. The USC also adds new &#8220;top-rated&#8221; views to the main category and all sub-category pages, along with significant speed improvements for standalone .deb installer files. It allows you to edit and delete your own software reviews.</p><p>Another new addition worth mentioning is &#8220;One Conf&#8221;; enable it from the File menu &#8211;&gt; Sync between Computers, and it keeps your installed apps in sync between computers! This feature comes handy when you have more than one Ubuntu device. It also gives options for adding applications to the launcher right after install finishes. With this release, USC is upgraded to 5.0.</p><div id="attachment_5782" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image09.jpg?d9c344"><img class="size-large wp-image-5782" title="Ubuntu Software Centre home screen" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image09-590x368.jpg?d9c344" alt="Ubuntu Software Centre home screen" width="590" height="368" /></a><p class="wp-caption-text">Ubuntu Software Centre home screen</p></div><h2>A few welcome new defaults</h2><p>With every incremental Ubuntu release, new software defaults come as a surprise. Thunderbird 7 is the new emailing client, because it has got better plugin support, and includes better menu and launcher integration. The Déjà Dup application is included as a default backup tool. It makes it easy to upload backups to Ubuntu One, the cloud storage initiative by Ubuntu.</p><div id="attachment_5784" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image10.jpg?d9c344"><img class="size-large wp-image-5784" title="Déjà Dup backup application" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image10-590x333.jpg?d9c344" alt="Déjà Dup backup application" width="590" height="333" /></a><p class="wp-caption-text">Déjà Dup backup application</p></div><div id="attachment_5785" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image11.jpg?d9c344"><img class="size-large wp-image-5785" title="Déjà Dup options" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image11-590x317.jpg?d9c344" alt="Déjà Dup options" width="590" height="317" /></a><p class="wp-caption-text">Déjà Dup options</p></div><h2>Ubuntu One &#8216;graduated&#8217;</h2><p>Ubuntu One debuted with Ubuntu 9.04 Jaunty Jackalope, and as promised, Ubuntu developers delivered it completely integrated with Android, iOS and Windows devices. Ubuntu One provides you with documents, pictures and music syncing across computers and mobile devices, apart from the Ubuntu One music store to stream the tracks you have to your mobile devices (and buy the music you don&#8217;t have). The Ubuntu One Bookmark syncing feature has been discontinued with this release, due to performance-related issues.</p><p>Ubuntu One comes with 5 GB of free space, and fulfils all your requirements. You can also opt for a 20 GB pack, by spending approximately US$ 30 per year.</p><h2>Go social with Gwibber</h2><p>Gwibber, the much-talked-about social-networking client, is completely rewritten from scratch, to give you a hassle-free social experience online. It&#8217;s got improved performance, and a new interface using the most recent GNOME technologies.</p><h2>The nitty-gritty</h2><p>There are some details worth mentioning, such as a better universal bar, windows controls hidden by default on maximised apps (they reappear when you hover your mouse on the top left-hand side).</p><p>The power button is reincarnated and is much more useful now; you can access the Update Manager and GNOME Control Centre, and can switch between accounts without much hassle. Indicators got a refresh, as they are ported to the GTK3-based indicator stack. Launchers and panels also show improved performance, as they too are ported to GTK3.</p><div id="attachment_5786" class="wp-caption aligncenter" style="width: 288px"><img class="size-full wp-image-5786 " title="Power button menu" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image12.jpg?d9c344" alt="Power button menu" width="288" height="299" /><p class="wp-caption-text">Power button menu</p></div><p>A windows-snapping feature is also included in the new avatar of Compiz, which mimics Windows &#8216;Aero snap&#8217;. There is multi-architecture support, which enables you to install 32-bit apps to 64-bit installs. This version also has better short-cut key integrations. The boot time from a live USB was a mere 29 seconds on a Core2Duo laptop, and one minute 6 seconds on my netbook. Battery backup performance still requires a lot of work, though.</p><div id="attachment_5787" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image13.jpg?d9c344"><img class="size-large wp-image-5787" title="Window snapping" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image13-590x368.jpg?d9c344" alt="Window snapping" width="590" height="368" /></a><p class="wp-caption-text">Window snapping</p></div><div id="attachment_5788" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image14.jpg?d9c344"><img class="size-large wp-image-5788" title="Application window preview" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/image14-590x368.jpg?d9c344" alt="Application window preview" width="590" height="368" /></a><p class="wp-caption-text">Application window preview</p></div><p>&#8220;Ubuntu&#8221; is an ancient African word that means &#8220;Humanity to others.&#8221; It also means, &#8220;I am what I am because of who we all are,&#8221; and Ubuntu OS actively works towards delivering the spirit of Ubuntu to the world of computers with its every release. Enjoy the new release of Ubuntu!</p><p>After this release, Mark Shuttleworth also announced the Ubuntu 12.04 LTS release, codenamed &#8220;Precise Pangolin&#8221;.</p><table border="0"><thead><tr><td>11 Things to Do After an Oneiric Ocelot Install</td></tr></thead><tbody><tr><td><ol><li><strong>Install updates:</strong>You must update Ubuntu after installing it. As the Ubuntu team is rigorously working on bug fixes and application bugs, I strongly recommend you to update Ubuntu.<div id="attachment_5802" class="wp-caption aligncenter" style="width: 560px"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/after_image01.jpg?d9c344" alt="Update Manager" title="Update Manager" width="560" height="586" class="size-full wp-image-5802" style="padding-top:10px;" /><p class="wp-caption-text">Update Manager</p></div></li><li><strong>Install third-party codecs/drivers:</strong> If you forgot to tick the &#8220;Install 3rd party codecs/restricted drivers&#8221; check box, you can still install third party codecs on your Ubuntu to support Nvidia graphics cards and playback of .wmv and .mp3 files.</li><li><strong>Install your app defaults:</strong> Don&#8217;t like Ubuntu&#8217;s new defaults? Install your own app defaults, using the Ubuntu Software Centre: Empathy for email, Chromium for browsing, and VLC for watching movies.</li><li><strong>Install GNOME Sushi:</strong> The &#8220;quick-look function&#8221; eases your work while you&#8217;re searching for some specific file, such as a PDF file, pictures, etc, since with a hit of the space-bar, you can preview the file instantly. Search for GNOME Sushi in USC to install it.</li><li><strong>Install GNOME Shell:</strong>If you&#8217;re not satisfied with Unity 3D or 2D, and still like your Ubuntu the old-school way, install GNOME Shell either via USC, or open a terminal and run the following command:<pre class="brush: bash; gutter: false; first-line: 1">sudo apt-get install gnome-shell       ##for GNOME Shell
sudo apt-get install gnome-session-fallback   ##for GNOME Classic with panel</pre><p>After installing it, you will get GNOME Classic, under sessions.</li><li><strong>Tweak LightDM:</strong>Want to change the default LightDM background? Search USC for &#8220;Simple LightDM Manager&#8221;, a nifty utility for tweaking the login screen background.<div id="attachment_5795" class="wp-caption aligncenter" style="width: 455px"><img class="size-full wp-image-5795" style="padding-top: 10px;" title="Simple LightDM manager" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/after_image02.jpg?d9c344" alt="Simple LightDM manager" width="455" height="337" /><p class="wp-caption-text">Simple LightDM manager</p></div></li><li><strong>Set up Ubuntu One:</strong> If you haven&#8217;t tried Ubuntu One, because your device was not supported, this time it has extended support for Android, iOS and Windows devices. Go on, stream music and sync files and pictures using Ubuntu One cloud storage.</li><li><strong>Install Synaptic/PiTiVi:</strong>If you&#8217;re an avid fan of Synaptic or PiTiVi, you will be a little disappointed, because Ubuntu discontinued both these software from the default install; but they are still supported and available in the Ubuntu repository. Search for Synaptic in the launcher or USC, to install it.</li><li><strong>Install Ubuntu Tweak:</strong>How can we forget Ubuntu Tweak, the best off-the-shelf tweaking utility available? Install it using the following command in a terminal:<pre class="brush: bash; gutter: false; first-line: 1">sudo add-apt-repository ppa:tualatrix/next
sudo apt-get update
sudo apt-get install ubuntu-tweak</pre><p>Be careful and don&#8217;t burn your fingers &#8212; the application is still in the beta stage.</li><li><strong>Install plug-ins for Thunderbird:</strong> Thunderbird is a wonderful email client, and is well known for its addons. If you like Thunderbird with addons, start installing your favourite addons.</li><li><strong>Share with friends:</strong> Don&#8217;t forget to share the spirit of Ubuntu with everyone! Please distribute the Ubuntu distribution CD/DVD to your friends, and support them in migrating towards Better Computing.</li></ol></td></tr></tbody></table><div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/" rel="bookmark" class="crp_title">Ubuntu 11.04 Natty Narwhal Review</a></li><li><a href="http://www.linuxforu.com/2011/05/gnome-3-review/" rel="bookmark" class="crp_title">GNOME 3 is Here!</a></li><li><a href="http://www.linuxforu.com/2011/03/get-your-camcorder-working-in-linux-with-kino/" rel="bookmark" class="crp_title">Get Your Camcorder Working in Linux with Kino</a></li><li><a href="http://www.linuxforu.com/2011/07/fedora-15-vs-ubuntu-11-04-natty/" rel="bookmark" class="crp_title">Locking Horns: Fedora 15 &#8216;Lovelock&#8217; v/s Ubuntu 11.04 &#8216;Natty Narwhal&#8217;</a></li><li><a href="http://www.linuxforu.com/2011/05/how-to-remaster-ubuntu-to-get-a-customised-distribution/" rel="bookmark" class="crp_title">How to Remaster Ubuntu to Get a Customised Distribution</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/android/" title="Android" rel="tag">Android</a>, <a href="http://www.linuxforu.com/tag/cloud/" title="cloud" rel="tag">cloud</a>, <a href="http://www.linuxforu.com/tag/deja-dup/" title="Deja Dup" rel="tag">Deja Dup</a>, <a href="http://www.linuxforu.com/tag/desktop-manager/" title="desktop manager" rel="tag">desktop manager</a>, <a href="http://www.linuxforu.com/tag/distros/" title="Distros" rel="tag">Distros</a>, <a href="http://www.linuxforu.com/tag/gnome/" title="GNOME" rel="tag">GNOME</a>, <a href="http://www.linuxforu.com/tag/gnome-shell/" title="GNOME Shell" rel="tag">GNOME Shell</a>, <a href="http://www.linuxforu.com/tag/lfy-november-2011/" title="LFY November 2011" rel="tag">LFY November 2011</a>, <a href="http://www.linuxforu.com/tag/login-screen/" title="login screen" rel="tag">login screen</a>, <a href="http://www.linuxforu.com/tag/mark-shuttleworth/" title="Mark Shuttleworth" rel="tag">Mark Shuttleworth</a>, <a href="http://www.linuxforu.com/tag/netbook/" title="netbook" rel="tag">netbook</a>, <a href="http://www.linuxforu.com/tag/nvidia/" title="nvidia" rel="tag">nvidia</a>, <a href="http://www.linuxforu.com/tag/ocelot/" title="ocelot" rel="tag">ocelot</a>, <a href="http://www.linuxforu.com/tag/oneiric/" title="oneiric" rel="tag">oneiric</a>, <a href="http://www.linuxforu.com/tag/oneiric-ocelot/" title="Oneiric Ocelot" rel="tag">Oneiric Ocelot</a>, <a href="http://www.linuxforu.com/tag/software-centre/" title="software centre" rel="tag">software centre</a>, <a href="http://www.linuxforu.com/tag/storage/" title="storage" rel="tag">storage</a>, <a href="http://www.linuxforu.com/tag/t-s-eliot/" title="T S Eliot" rel="tag">T S Eliot</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.linuxforu.com/tag/ubuntu-cloud/" title="Ubuntu Cloud" rel="tag">Ubuntu Cloud</a>, <a href="http://www.linuxforu.com/tag/ubuntu-one/" title="Ubuntu One" rel="tag">Ubuntu One</a>, <a href="http://www.linuxforu.com/tag/ubuntu-review/" title="Ubuntu review" rel="tag">Ubuntu review</a>, <a href="http://www.linuxforu.com/tag/ubuntu-software-centre/" title="Ubuntu Software Centre" rel="tag">Ubuntu Software Centre</a>, <a href="http://www.linuxforu.com/tag/ubuntu-unity/" title="Ubuntu Unity" rel="tag">Ubuntu Unity</a>, <a href="http://www.linuxforu.com/tag/unity/" title="Unity" rel="tag">Unity</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/11/ubuntu-11-10-oneiric-ocelot-review/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Exploring Software: The New-Look Plone 4</title><link>http://www.linuxforu.com/2011/11/exploring-software-new-look-plone-4/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=exploring-software-new-look-plone-4</link> <comments>http://www.linuxforu.com/2011/11/exploring-software-new-look-plone-4/#comments</comments> <pubDate>Mon, 31 Oct 2011 18:32:41 +0000</pubDate> <dc:creator>Anil Seth</dc:creator> <category><![CDATA[Apps]]></category> <category><![CDATA[Columns]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[application server]]></category> <category><![CDATA[CMS]]></category> <category><![CDATA[component architecture]]></category> <category><![CDATA[content management framework]]></category> <category><![CDATA[egg]]></category> <category><![CDATA[Exploring Software Column]]></category> <category><![CDATA[Grok]]></category> <category><![CDATA[html]]></category> <category><![CDATA[LFY November 2011]]></category> <category><![CDATA[plone]]></category> <category><![CDATA[python]]></category> <category><![CDATA[University of Washington]]></category> <category><![CDATA[visual editor]]></category> <category><![CDATA[Writer]]></category> <category><![CDATA[Zope]]></category> <category><![CDATA[Zope Buildout]]></category> <category><![CDATA[zope community]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=5606</guid> <description><![CDATA[If this is the first time you are hearing of Plone, should you use it? If so, how would you start and get a feel of what it can do? Plone is a...]]></description> <content:encoded><![CDATA[<div class="introduction">If this is the first time you are hearing of Plone, should you use it? If so, how would you start and get a feel of what it can do?</div><p>Plone is a content management framework built on top of Zope. It is the most popular application using Zope. Plone continued to use Zope 2, and did not migrate to the Zope 3 application server as the migration cost was considered too high. The Zope community also realised that it was better to enhance Zope 2 with the new component architecture features, which were the core of the Zope 3 architecture.</p><p>This has enabled projects to enhance their applications without having to redesign or rewrite the whole system. As a result, Plone 4 finally uses the current release of Zope, and also uses Python 2.6 instead of Python 2.4. The Plone community has also made it relatively easy to migrate from Plone 3 to Plone 4, despite the major changes in it.</p><p>However, the focus of this article is how to get going if you were starting afresh with Plone 4.</p><h2>Installation</h2><p>A major concern with a complex application built on top of many components is to ensure that all the pieces fit, and work well. An upgrade in one component may break the system. Hence, it is best to work with a known set of versions.</p><p>The installation technique used by Plone is the Zope Buildout, which uses a list of specified Python egg versions to build and install a local Plone environment. It builds a Python 2.6 environment by default, so as not to depend on the distribution to provide a supported version.</p><p>You will need to download the current release of Plone&#8217;s unified installer, which is version 4.1 at the time of writing. You will find the installation instructions in <code>README.txt</code>, but the simplest option is to run the following command:</p><pre class="brush: bash; gutter: false; first-line: 1; highlight: []; html-script: false">sudo ./install.sh standalone</pre><p>You will find the installation in <code>/usr/local/Plone</code>, with the sub-directories <code>buildout-cache</code>, <code>Plone-docs</code>, <code>Python-2.6</code> and <code>zinstance</code>. The role of the first three directories is pretty clear. This leaves <code>zinstance</code>, which must then contain the Zope instance of the Plone application.</p><p>The installer also creates a plone user account, which will be used to run the Plone server.</p><h2>First steps</h2><p>You will be working in <code>/usr/local/Plone/zinstance</code> to run Plone-related commands and to alter Plone configuration files. Start the Plone server with the following command:</p><pre class="brush: bash; gutter: false; first-line: 1; highlight: []; html-script: false">sudo u=plone bin/plonectl start</pre><p>You can now browse the site at <code>http://localhost:8080/</code>. The startup page offers you a button to create a Plone site (Figure 1).</p><div id="attachment_5608" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone1.png?d9c344"><img class="size-large wp-image-5608" title="Plone after a fresh installation" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone1-590x359.png?d9c344" alt="Plone after a fresh installation" width="590" height="359" /></a><p class="wp-caption-text">Figure 1: Plone after a fresh installation</p></div><p>Once you have done that, you will want to create one or more users of the site. You need to select the <code>Site Setup</code> option from the upper right corner, which will give you the option of Users and Groups.</p><p>You may create a user named Writer, who will be adding content to the site. This user need not be a member of any of the suggested groups. However, you will want to add the role of a Contributor in addition to the role of Member.</p><p>Plone organises content in Folders, much like the desktop paradigm. Hence, as an administrator, create the folder, <code>Articles</code>. You can do this on the home page using the <code>Add New...</code> option. The newly created folder will be shown, and its state would be Private, which you should change to Published.</p><p>Now sign in as the user Writer. You will notice that the options available to this user are fewer. You can add a page in the <code>Articles</code> folder tab. You may enter the content using a visual editor. If you like writing HTML code by hand, you have the option to do so as well!</p><p>Create your first article. Its state will be private, and you will notice that you may submit the article for publication &#8212; but cannot publish it. Submit it, and the state changes from Private to Pending Review<br /> (Figure 2).</p><div id="attachment_5609" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone2.png?d9c344"><img class="size-large wp-image-5609" title="A page after submitting for publication" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone2-590x494.png?d9c344" alt="A page after submitting for publication" width="590" height="494" /></a><p class="wp-caption-text">Figure 2: A page after submitting for publication</p></div><p>Publishing can be done by a user with the role of Reviewer. The administrator has all the privileges, so at present you may use the administrator account to publish the article.</p><p>Clicking on <code>Articles</code> will display items within the folder. This is normally not very attractive. Hence, you may choose the Display option to &#8220;Select a content item as default view&#8221;. Try it and see the difference.</p><h2>Model-based content</h2><p>A great capability of Plone has been to easily manage content objects based on schema definitions, and not just HTML pages. Archetypes has been the framework for this task. Further, ArchGenXML converts your schema in UML to working Python code for Plone. See <a href="http://plone.org/documentation/kb/archgenxml-getting-started/">ArchGenXML Getting Started guide</a> to get an idea of the possibilities.</p><p>However, the future seems to belong to another package &#8212; Dexterity. It is an example of an enhancement in Plone, which has leveraged Zope 3 technologies. For me, the most interesting part was that it uses the grok framework behind the scenes. So, you get a CMS that is extensible by a model-driven system. The possibilities are immense. Grok, incidentally, is functionally analogous to Rails or Django.</p><p>Currently, Plone does not include Dexterity in the core, so you will need to install it. Modifications to the buildout configurations can be confusing in the beginning. In the zinstance directory, you will find a number of <code>cfg</code> files.</p><p>The key file is <code>buildout.cfg</code>. You need to tell buildout about a suitable set of versions needed for Dexterity. You can find the latest set at <a href="http://good-py.appspot.com/release/dexterity/">here</a>. You should change the extends section of <code>buildout.cfg</code> to look like what is shown below:</p><pre class="brush: text; gutter: false; first-line: 1">extends =
    base.cfg
    versions.cfg

http://good-py.appspot.com/release/dexterity/2.0-next</pre><p>You will also need to include the <code>egg</code> for Dexterity in your Plone instance. The <code>eggs</code> section in your <code>buildout.cfg</code> will look like what follows:</p><pre class="brush: text; gutter: false; first-line: 1; highlight: []; html-script: false">eggs =
    Plone
    Pillow
    lxml
    plone.app.dexterity</pre><p>You should stop Plone and run <code>buildout</code>. If all is well, then start Plone:</p><pre class="brush: bash; gutter: false; first-line: 1; highlight: []; html-script: false">sudo u=plone bin/plonectl stop
sudo bin/buildout
sudo u=plone bin/plonectl start</pre><p>Sign in as the administrator. From the Site Setup page, choose <code>Addons</code>. You should see the option, &#8220;Dexterity Content Types &#8212; Plone Integration 1.0rc1&#8243;.</p><p>Activate it. The Site Setup should now include the option &#8220;Dexterity Content Types&#8221;. Selecting it will allow you to create a new content type. Create a new type called <code>Resume</code>. Now edit it to add fields, e.g., Title &#8212; a text line, i.e., a string; Birthdate &#8212; date/time; Mugshot—image; Experience &#8211;Rich text field; etc.</p><p>You can select the settings option of each field to change some of the attributes, like Required. In particular, you have to use the field name Title, as it is needed by Dexterity. In the mandatory field, Title, that you have created, you want the content to be the person&#8217;s name. Hence, it is better to change the label to an appropriate description. So, replace the default label Title by Name.</p><p>Select the behaviour option and disable &#8220;Dublin core<br /> metadata&#8221; to ensure that it does not show the additional fields <code>Title</code> and <code>Summary</code>.</p><p>You should now create another folder, <code>Authors</code>, from the home page. You may notice that there is now an additional content type, <code>Resume</code>. For the Authors, in <code>Add new</code>, choose <code>Restrictions</code> and allow only content of the type <code>Resume</code>to be added. Now, if you add a Resume, you will get a form. Once the form is filled and published, all users will see a pretty decent HTML page for it (Figure 3).</p><div id="attachment_5610" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone3.png?d9c344"><img class="size-large wp-image-5610" title="A page with a Dexterity type content" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/Plone3-590x494.png?d9c344" alt="A page with a Dexterity type content" width="590" height="494" /></a><p class="wp-caption-text">Figure 3: A page with a Dexterity type content</p></div><p>Capabilities like customising CSS and themes for a great-looking site are obviously possible. In case you need proof, have a look at the <a href="http://plone.org/support/sites/university-of-washington">University of Washington site</a>.</p><p>Plone 4 with Dexterity enhancements based on grok makes it an even more exciting framework. It should definitely be an option considered by anyone looking at a new content management framework.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/12/exploring-software-plone-with-schemas/" rel="bookmark" class="crp_title">Exploring Software: Plone with Schemas</a></li><li><a href="http://www.linuxforu.com/2011/04/exploring-software%e2%80%94alternatives-to-rails-django-exploring-software/" rel="bookmark" class="crp_title">Exploring Software—Alternatives to Rails, Django</a></li><li><a href="http://www.linuxforu.com/2011/05/drupal-module-development-quick-start-practical-guide/" rel="bookmark" class="crp_title">A Quick-Start Practical Guide to Drupal Module Development</a></li><li><a href="http://www.linuxforu.com/2011/04/exploring-software%e2%80%94getting-a-hang-of-zopes-grok/" rel="bookmark" class="crp_title">Exploring Software—Getting a Hang of Zope&#8217;s Grok</a></li><li><a href="http://www.linuxforu.com/2011/08/connecting-to-mysql-with-python-and-php/" rel="bookmark" class="crp_title">Connecting to MySQL With Python and PHP</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/application-server/" title="application server" rel="tag">application server</a>, <a href="http://www.linuxforu.com/tag/cms/" title="CMS" rel="tag">CMS</a>, <a href="http://www.linuxforu.com/tag/component-architecture/" title="component architecture" rel="tag">component architecture</a>, <a href="http://www.linuxforu.com/tag/content-management-framework/" title="content management framework" rel="tag">content management framework</a>, <a href="http://www.linuxforu.com/tag/egg/" title="egg" rel="tag">egg</a>, <a href="http://www.linuxforu.com/tag/exploring-software/" title="Exploring Software Column" rel="tag">Exploring Software Column</a>, <a href="http://www.linuxforu.com/tag/grok/" title="Grok" rel="tag">Grok</a>, <a href="http://www.linuxforu.com/tag/html/" title="html" rel="tag">html</a>, <a href="http://www.linuxforu.com/tag/lfy-november-2011/" title="LFY November 2011" rel="tag">LFY November 2011</a>, <a href="http://www.linuxforu.com/tag/plone/" title="plone" rel="tag">plone</a>, <a href="http://www.linuxforu.com/tag/python/" title="python" rel="tag">python</a>, <a href="http://www.linuxforu.com/tag/university-of-washington/" title="University of Washington" rel="tag">University of Washington</a>, <a href="http://www.linuxforu.com/tag/visual-editor/" title="visual editor" rel="tag">visual editor</a>, <a href="http://www.linuxforu.com/tag/writer/" title="Writer" rel="tag">Writer</a>, <a href="http://www.linuxforu.com/tag/zope/" title="Zope" rel="tag">Zope</a>, <a href="http://www.linuxforu.com/tag/zope-buildout/" title="Zope Buildout" rel="tag">Zope Buildout</a>, <a href="http://www.linuxforu.com/tag/zope-community/" title="zope community" rel="tag">zope community</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/11/exploring-software-new-look-plone-4/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Virtualisation and Disk Management in OpenIndiana</title><link>http://www.linuxforu.com/2011/10/virtualisation-and-disk-management-in-openindiana/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=virtualisation-and-disk-management-in-openindiana</link> <comments>http://www.linuxforu.com/2011/10/virtualisation-and-disk-management-in-openindiana/#comments</comments> <pubDate>Fri, 30 Sep 2011 18:48:01 +0000</pubDate> <dc:creator>Anton Borisov</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[Sysadmins]]></category> <category><![CDATA[CDDL]]></category> <category><![CDATA[containers]]></category> <category><![CDATA[disk management]]></category> <category><![CDATA[GNU]]></category> <category><![CDATA[GPL]]></category> <category><![CDATA[LFY October 2011]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[mixed technology]]></category> <category><![CDATA[OpenIndiana]]></category> <category><![CDATA[OpenSolaris]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[QEMU]]></category> <category><![CDATA[repositories]]></category> <category><![CDATA[Solaris]]></category> <category><![CDATA[solaris hosts]]></category> <category><![CDATA[Sun Microsystems]]></category> <category><![CDATA[virtual device]]></category> <category><![CDATA[VirtualBox]]></category> <category><![CDATA[VM]]></category> <category><![CDATA[Windows 2003]]></category> <category><![CDATA[ZFS]]></category> <category><![CDATA[zones]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=6122</guid> <description><![CDATA[In the previous part, we got acquainted with OpenIndiana &#8212; how to install the base system, find and deploy packages, and perform maintenance tasks with ZFS. This part is devoted to isolated and...]]></description> <content:encoded><![CDATA[<p><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/open-indiana-2.jpeg?d9c344" alt="Let&#039;s play the disk" title="Let&#039;s play the disk" width="350" height="412" class="alignleft size-full wp-image-6129" /><div class="introduction">In the <a href="http://www.linuxforu.com/2011/09/openindiana-review-free-solaris-fork/" title="OpenIndiana — a Free Fork of Solaris">previous part</a>, we got acquainted with OpenIndiana &#8212; how to install the base system, find and deploy packages, and perform maintenance tasks with ZFS. This part is devoted to isolated and virtualised environments, and disk management.</div><h2>VirtualBox</h2><p>Sun Microsystems, and now Oracle, oversee the development of the emulation project called VirtualBox. However, this package couldn&#8217;t be found in the OpenIndiana (OI) repositories. To install it in OI, grab the gzipped package <a href="http://www.virtualbox.org/wiki/Downloads">here</a> and manually install it. The archive is called &#8220;VirtualBox 4.1 for Solaris hosts x86/amd64&#8243;. Please unpack it, and then run <code>pkgadd</code>:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton/Install# pkgadd -d VirtualBox-4.1.0-SunOS-r73009.pkg

The following packages are available:
1  SUNWvbox     Oracle VM VirtualBox
                  (i386) 4.1.0,REV=2011.07.19.12.47.73009

Select package(s) you wish to process (or &#039;all&#039; to process
all packages). (default: all) [?,??,q]: a

Processing package instance &lt;SUNWvbox&gt; from &lt;/home/anton/Install/VirtualBox-4.1.0-SunOS-r73009.pkg&gt;

[...snip...]

The following files are being installed with setuid and/or setgid
permissions:
/opt/VirtualBox/amd64/VBoxBFE &lt;setuid root&gt;
/opt/VirtualBox/amd64/VBoxHeadless &lt;setuid root&gt;
/opt/VirtualBox/amd64/VBoxNetAdpCtl &lt;setuid root&gt;
/opt/VirtualBox/amd64/VBoxNetDHCP &lt;setuid root&gt;
/opt/VirtualBox/amd64/VBoxSDL &lt;setuid root&gt;
/opt/VirtualBox/amd64/VirtualBox &lt;setuid root&gt;
Do you want to install these as setuid/setgid files [y,n,?,q] y

This package contains scripts which will be executed with super-user
permission during the process of installing this package.

Do you want to continue with the installation of &lt;SUNWvbox&gt; [y,n,?] y

Installing Oracle VM VirtualBox as &lt;SUNWvbox&gt;

[...snip...]

Installation of &lt;SUNWvbox&gt; was successful.</pre><div id="attachment_6126" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi201.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi201-590x472.png?d9c344" alt="Running VirtualBox in OpenIndiana" title="Running VirtualBox in OpenIndiana" width="590" height="472" class="size-large wp-image-6126" /></a><p class="wp-caption-text">Running VirtualBox in OpenIndiana</p></div><p>File operations, and the general VirtualBox used in OI, are no different than on Linux. You can even exchange VMs created in OI with Linux, and vice-versa.</p><h2>QEMU</h2><p>However, some developers need to deal with platforms other than x86 &#8212; for example, ARM and PowerPC. So, what&#8217;s the alternative to VirtualBox? The solution is straightforward &#8212; QEMU. It can emulate x86 systems and a dozen other architectures; e.g., Linux for ARM with <code>qemu-system-arm</code>, or MacOS X with <code>qemu-system-ppc64</code>.</p><p>The build process for QEMU 0.15 requires the <code>gettext@0.5.11</code> package, as well as developer packages that contain definitions of mathematical functions. I performed the following operations:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# pkg info | egrep &quot;math|gettext&quot;
Name: developer/gnome/gettext
FMRI: pkg://openindiana.org/developer/gnome/gettext@0.5.11,5.11-0.151:20110523T143743Z
Name: system/library/math
FMRI: pkg://openindiana.org/system/library/math@0.5.11,5.11-0.151:20110523T150249Z
Name: system/library/math/header-math
FMRI: pkg://openindiana.org/system/library/math/header-math@0.5.11,5.11-0.151:20110523T150250Z</pre><p>I was able to build QEMU 0.15 without problems. However, I have to disable GuestAgents support, mainly because QEMU 0.15 calls functions with <code>O_ASYNC</code> parameters, which isn&#8217;t supported on Solaris.</p><div id="attachment_6127" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi100.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi100-590x447.png?d9c344" alt="QEMU 0.15 compiled on OI; VM with Ubuntu Server" title="QEMU 0.15 compiled on OI; VM with Ubuntu Server" width="590" height="447" class="size-large wp-image-6127" /></a><p class="wp-caption-text">QEMU 0.15 compiled on OI; VM with Ubuntu Server</p></div><div id="attachment_6128" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi304.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/oi304-590x499.png?d9c344" alt="Windows 2003 EE in QEMU 0.15" title="Windows 2003 EE in QEMU 0.15" width="590" height="499" class="size-large wp-image-6128" /></a><p class="wp-caption-text">Windows 2003 EE in QEMU 0.15</p></div><p>You could compile the previous version, 0.14, or do a quick hack on line 493 in <code>qemu-ga.c</code>, from:</p><pre class="brush: c; gutter: false">fd = qemu_open(s-&gt;path, O_RDWR | O_NONBLOCK | O_ASYNC);</pre><p>&#8230;to:</p><pre class="brush: c; gutter: false">fd = qemu_open(s-&gt;path, O_RDWR | O_NONBLOCK);</pre><p>Or, as mentioned earlier, compile it without GuestAgents support:</p><pre class="brush: text; gutter: false">./configure --prefix=/opt/qemu-0.15 –disable-guest-agent
make &amp;&amp; make install ## run as root</pre><p>After that, you should prepare a file image for the virtual OS to install to, and run it as follows:</p><pre class="brush: text; gutter: false">/opt/qemu-0.15/bin/qemu-img create ubuntu2.img 2000M
/opt/qemu-0.15/bin/qemu -hda ubuntu2.img -cdrom /home/anton/ISO/ubuntu-10.10-server-i386.iso -M pc -m 768 -vga cirrus -no-acpi</pre><p>Similarly, you can use other OSs, for example, Windows 2003 EE:</p><pre class="brush: text; gutter: false">/opt/qemu-0.15/bin/qemu -hda windows2003.img -cdrom /home/anton/ISO/win2003_sp2.iso -M pc -m 1024 -vga cirrus</pre><div class="note"><strong>A small tip:</strong> If you can&#8217;t press the keyboard Ctrl+Alt+Del, then go to the QEMU console with Ctrl+Alt+2. Here, type  <code>sendkey ctrl-alt-delete</code> and press Enter. The OS in the VM will receive the keyboard combination.</div><h2>Disk management</h2><p>Let&#8217;s imagine that you have a new drive to be used for data storage. It could be a special, dedicated database storage pool. This drive should be initialised first, partitioned with a file format that is used by OI. You can use the <code>format</code> command (it can be used in interactive mode):</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# format
Searching for disks...
Failed to inquiry this logical diskdone

AVAILABLE DISK SELECTIONS:
       0. c1d0 &lt; cyl 2868 alt 2 hd 255 sec 63&gt;
          /pci@0,0/pci-ide@1,1/ide@0/cmdk@0,0
       1. c2d1 &lt;QEMU HAR-QM0000-0001-2.00GB&gt;
          /pci@0,0/pci-ide@1,1/ide@1/cmdk@1,0</pre><p>We can format the whole drive with the <code>format</code> option in the menu (not shown), or assign a label using <code>volname</code>.</p><p>The last step is to add the drive to the ZFS pool—and the new storage space is ready to use:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zpool create pool c2d1</pre><p>You can list the available pools and see that both<br /> pools (i.e., disks) are online:</p><pre class="brush: text; gutter: false">oot@openindiana:/home/anton# zpool list
NAME    SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
pool   1.98G   124K  1.98G     0%  1.00x  ONLINE  -
rpool  21.9G  9.17G  12.7G    41%  1.00x  ONLINE  -</pre><h2>Zones management</h2><p>In addition to VirtualBox and QEMU virtualisation, OI (and OpenSolaris) offers fairly well-developed virtualisation within the OS, called <a href="http://www.virtualbox.org/wiki/Downloads http://en.wikipedia.org/wiki/Solaris_Containers">Solaris Zones</a>. Unfortunately, OI does not yet support zones that can run Linux (though it was available in the previous OpenSolaris version). OI supports mere native zones &#8212; when the system runs zones (or containers) with OI inside them. Let&#8217;s explore how to create them. Begin by using the following code:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zonecfg -z NewZone
NewZone: No such zone configured
Use &#039;create&#039; to begin configuring a new zone.
zonecfg:NewZone&gt; create
zonecfg:NewZone&gt; add net
zonecfg:NewZone:net&gt; set physical = rtls0
zonecfg:NewZone:net&gt; set address = 192.168.254.200
zonecfg:NewZone:net&gt; end
zonecfg:NewZone&gt; set zonepath=/pool/NewZone
zonecfg:NewZone&gt; commit
zonecfg:NewZone&gt; exit</pre><p>You have created a new zone. It is stored under <code>/pool/NewZone</code> on the disk you just attached and initialised. For a zone to be complete, you must install the bare OI system into this area:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zoneadm -z NewZone install
A ZFS file system has been created for this zone.
   Publisher: Using openindiana.org (http://pkg.openindiana.org/dev-il/ ).
       Image: Preparing at /pool/NewZone/root.
Refreshing catalog 1/1 openindiana.org
Caching catalogs ...
       Cache: Using /var/pkg/download.
Sanity Check: Looking for &#039;entire&#039; incorporation.
  Installing: Core System (output follows)

               Packages to install:     1
           Create boot environment:    No

[...snip...]

Postinstall: Copying SMF seed repository ... done.
Postinstall: Applying workarounds.
        Done: Installation completed in 771.344 seconds.

Next Steps: Boot the zone, then log into the zone console (zlogin -C)
              to complete the configuration process.</pre><p>The system is installed into an isolated container. Let&#8217;s run it!</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zoneadm -z NewZone boot

zone &#039;NewZone&#039;: WARNING: rtls0:1: no matching subnet found in netmasks(4): 192.168.254.200; using default of 255.255.255.0.</pre><p>Now, perform a minimal configuration of this zone.<br /> Connect to a virtual console with zlogin -C NewZone:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zlogin -C NewZone
[Connected to zone &#039;NewZone&#039; console]
61/99
85/99
99/99
Hostname: NewZone

Loading smf(5) service descriptions: 3/3

What type of terminal are you using?
 1) ANSI Standard CRT
 2) DEC VT100
 3) PC Console
 4) Sun Command Tool
 5) Sun Workstation
 6) X Terminal Emulator (xterms)
 7) Other
Type the number of your choice and press Return: 6
Creating new rsa public/private host key pair
Creating new dsa public/private host key pair
Configuring network interface addresses: rtls0.

System identification is completed.

rebooting system due to change(s) in /etc/default/init

[NOTICE: Zone rebooting]

SunOS Release 5.11 Version oi_151 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
Hostname: NewZone

NewZone console login: root
Password:
Aug  8 14:09:54 NewZone login: ROOT LOGIN /dev/console
OpenIndiana (powered by illumos)    SunOS 5.11    oi_151    July 2011</pre><p>The one-time configuration of the new zone is done. Review the new zone&#8217;s available resources. They&#8217;re completely isolated, like the whole environment, in general:</p><pre class="brush: text; gutter: false">root@NewZone:~# df
/                  (pool/NewZone/ROOT/zbe): 3007372 blocks  3007372 files
/dev               (/dev              ):       0 blocks        0 files
/proc              (proc              ):       0 blocks    29917 files
/system/contract   (ctfs              ):       0 blocks 2147483588 files
/etc/mnttab        (mnttab            ):       0 blocks        0 files
/system/object     (objfs             ):       0 blocks 2147483418 files
/etc/svc/volatile  (swap              ): 5920888 blocks   578264 files
/lib/libc.so.1     (/usr/lib/libc/libc_hwcap1.so.1): 3007372 blocks  3007372 files
/dev/fd            (fd                ):       0 blocks        0 files
/tmp               (swap              ): 5920888 blocks   578264 files
/var/run           (swap              ): 5920888 blocks   578264 files</pre><p>Restarting NewZone does not interrupt the core system;<br /> rebooting takes less than a minute:</p><pre class="brush: text; gutter: false">root@NewZone:/# reboot
Aug  8 14:15:37 NewZone reboot: initiated by root on /dev/console

[NOTICE: Zone rebooting]

SunOS Release 5.11 Version oi_151 64-bit
Copyright (c) 1983, 2010, Oracle and/or its affiliates. All rights reserved.
Hostname: NewZone

NewZone console login: root
Password:
Aug  8 14:16:18 NewZone login: ROOT LOGIN /dev/console
Last login: Mon Aug  8 14:09:54 on console
OpenIndiana (powered by illumos)    SunOS 5.11    oi_151    July 2011
root@NewZone:~# date
Mon Aug  8 14:16:22 CEST 2011</pre><p>I propose to build a QEMU package, so it can be installed later inside NewZone. Why is this so important? It could sometimes be essential to have a standalone package, if it&#8217;s new and not in the OI repository yet. Or, in the opposite case &#8212; for your own corporate program which you don&#8217;t wish to redistribute. As an example, let&#8217;s analyse how to create a package from the set of programs in <code>/opt/qemu-0.14</code>.</p><p>The first step is to prepare two files, <code>prototype</code> and <code>pkginfo</code>.</p><pre class="brush: text; gutter: false"># echo &#039;i pkginfo&#039; &gt; prototype
# pkgproto /opt/qemu-0.14/  &gt;&gt; prototype</pre><p>In prototype, you should specify those files and directories that the future package will contain. The <code>pkginfo</code> file will contain all information about this package:</p><pre class="brush: text; gutter: false">root@openindiana:~/pkg# cat pkginfo
BASEDIR=/opt/qemu-0.14
TZ=PST
PATH=/sbin:/usr/sbin:/usr/bin:/usr/sadm/install/bin
PKG=qemu
ARCH=x86
NAME=qemu
VERSION=0.14
CATEGORY=application
DESC=QEMU virtualization
VENDOR=QEMU.ORG
EMAIL=qemu@qemu.org
PKGSAV=/var/sadm/pkg/qemu/save</pre><p>Begin building the package itself:</p><pre class="brush: text; gutter: false">root@openindiana:~/pkg# pkgmk -b /opt/qemu-0.14 -r /
## Building pkgmap from package prototype file.
## Processing pkginfo file.
WARNING: missing directory entry for &lt;/opt&gt;
WARNING: parameter &lt;PSTAMP&gt; set to &quot;openindiana20110814071557&quot;
WARNING: parameter &lt;CLASSES&gt; set to &quot;none&quot;
## Attempting to volumize 84 entries in pkgmap.
part  1 -- 123944 blocks, 428 entries
## Packaging one part.
/var/spool/pkg/qemu/pkgmap
/var/spool/pkg/qemu/pkginfo
/var/spool/pkg/qemu/root/opt/qemu-0.14/bin/qemu
[...snip...]
/var/spool/pkg/qemu/root/opt/qemu-0.14/share/qemu/vgabios-stdvga.bin
/var/spool/pkg/qemu/root/opt/qemu-0.14/share/qemu/vgabios-vmware.bin
/var/spool/pkg/qemu/root/opt/qemu-0.14/share/qemu/vgabios.bin
## Validating control scripts.
## Packaging complete.</pre><p>The package is ready, and is stored in <code>/var/spool/pkg</code>. The last step is to convert it to a special <code>pkg</code> format:</p><pre class="brush: text; gutter: false">root@openindiana:~/pkg# pkgtrans -s /var/spool/pkg/ qemu.pkg

The following packages are available:
  1  qemu     qemu
              (x86) 0.14

Select package(s) you wish to process (or &#039;all&#039; to process
all packages). (default: all) [?,??,q]: 1
Transferring &lt;qemu&gt; package instance
root@openindiana:~/pkg# ls -l /var/spool/pkg/
total 58668
drwxr-xr-x 3 root root        5 2011-08-14 08:15 qemu
-rw-r--r-- 1 root root 59996160 2011-08-14 08:19 qemu.pkg</pre><p>Now, transfer <code>qemu.pkg</code> to the isolated area, and install it in NewZone:</p><pre class="brush: text; gutter: false">root@NewZone:/export# pkgadd -d qemu.pkg

The following packages are available:
  1  qemu     qemu
              (x86) 0.14

Select package(s) you wish to process (or &#039;all&#039; to process
all packages). (default: all) [?,??,q]: 1

Processing package instance &lt;qemu&gt; from &lt;/export/qemu.pkg&gt;

qemu(x86) 0.14
QEMU.ORG
## Processing package information.
## Processing system information.
## Verifying disk space requirements.
## Checking for conflicts with packages already installed.
## Checking for setuid/setgid programs.

Installing qemu as &lt;qemu&gt;

## Installing part 1 of 1.
/opt/qemu-0.14/bin/qemu
...
/opt/qemu-0.14/share/qemu/vgabios.bin
[ verifying class &lt;none&gt; ]</pre><p>QEMU installation in the zone was successful. You&#8217;ll also notice that the core system now has a new virtual device <code>rtls0:1</code>, which will filter all traffic in and out of the isolated container:</p><pre class="brush: text; gutter: false">root@openindiana:~# ifconfig rtls0
rtls0: flags=1000843&lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 3
        inet 10.1.0.136 netmask ffffff00 broadcast 10.1.0.255
        ether e2:62:0:a4:d5:24
root@openindiana:~# ifconfig rtls0:1
rtls0:1: flags=1000843&lt;UP,BROADCAST,RUNNING,MULTICAST,IPv4&gt; mtu 1500 index 3
        zone NewZone
        inet 192.168.254.200 netmask ffffff00 broadcast 192.168.254.255</pre><p>OI combines tools from the Linux world (<code>ls</code>, <code>bash</code>, <code>gcc</code>) and those native to Solaris (<code>svcadm</code>, <code>pfexec</code>, <code>newtask</code>, <code>beadm</code>). The CDDL licence (similar to GPL) made possible the emergence of the Nexenta distribution, which uses the OS/Net (OpenSolaris) core, much like OI. However, Nexenta has only GNU applications, and isn&#8217;t built on mixed technology like OI.</p><p>However, as we have already seen, this mixed environment is closer to Linux than to Solaris. The use of interesting options like ZFS and zones lets you look differently at existing solutions in Linux &#8212; for instance, LVM and lxc. Who knows, maybe one day, we&#8217;ll see a Linux distribution offering ZFS as the default root filesystem!<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/05/quick-quide-to-qemu-setup/" rel="bookmark" class="crp_title">The Quick Guide to QEMU Setup</a></li><li><a href="http://www.linuxforu.com/2011/06/qemu-for-embedded-systems-development-part-1/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 1</a></li><li><a href="http://www.linuxforu.com/2011/08/qemu-for-embedded-systems-development-part-3/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 3</a></li><li><a href="http://www.linuxforu.com/2011/09/openindiana-review-free-solaris-fork/" rel="bookmark" class="crp_title">OpenIndiana &#8212; a Free Fork of Solaris</a></li><li><a href="http://www.linuxforu.com/2011/07/qemu-for-embedded-systems-development-part-2/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 2</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/cddl/" title="CDDL" rel="tag">CDDL</a>, <a href="http://www.linuxforu.com/tag/containers/" title="containers" rel="tag">containers</a>, <a href="http://www.linuxforu.com/tag/disk-management/" title="disk management" rel="tag">disk management</a>, <a href="http://www.linuxforu.com/tag/gnu/" title="GNU" rel="tag">GNU</a>, <a href="http://www.linuxforu.com/tag/gpl/" title="GPL" rel="tag">GPL</a>, <a href="http://www.linuxforu.com/tag/lfy-october-2011/" title="LFY October 2011" rel="tag">LFY October 2011</a>, <a href="http://www.linuxforu.com/tag/linux/" title="Linux" rel="tag">Linux</a>, <a href="http://www.linuxforu.com/tag/mixed-technology/" title="mixed technology" rel="tag">mixed technology</a>, <a href="http://www.linuxforu.com/tag/openindiana/" title="OpenIndiana" rel="tag">OpenIndiana</a>, <a href="http://www.linuxforu.com/tag/opensolaris/" title="OpenSolaris" rel="tag">OpenSolaris</a>, <a href="http://www.linuxforu.com/tag/oracle/" title="Oracle" rel="tag">Oracle</a>, <a href="http://www.linuxforu.com/tag/qemu/" title="QEMU" rel="tag">QEMU</a>, <a href="http://www.linuxforu.com/tag/repositories/" title="repositories" rel="tag">repositories</a>, <a href="http://www.linuxforu.com/tag/solaris/" title="Solaris" rel="tag">Solaris</a>, <a href="http://www.linuxforu.com/tag/solaris-hosts/" title="solaris hosts" rel="tag">solaris hosts</a>, <a href="http://www.linuxforu.com/tag/sun-microsystems/" title="Sun Microsystems" rel="tag">Sun Microsystems</a>, <a href="http://www.linuxforu.com/tag/virtual-device/" title="virtual device" rel="tag">virtual device</a>, <a href="http://www.linuxforu.com/tag/virtualbox/" title="VirtualBox" rel="tag">VirtualBox</a>, <a href="http://www.linuxforu.com/tag/vm/" title="VM" rel="tag">VM</a>, <a href="http://www.linuxforu.com/tag/windows-2003/" title="Windows 2003" rel="tag">Windows 2003</a>, <a href="http://www.linuxforu.com/tag/zfs/" title="ZFS" rel="tag">ZFS</a>, <a href="http://www.linuxforu.com/tag/zones/" title="zones" rel="tag">zones</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/10/virtualisation-and-disk-management-in-openindiana/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>OpenIndiana &#8212; a Free Fork of Solaris</title><link>http://www.linuxforu.com/2011/09/openindiana-review-free-solaris-fork/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=openindiana-review-free-solaris-fork</link> <comments>http://www.linuxforu.com/2011/09/openindiana-review-free-solaris-fork/#comments</comments> <pubDate>Wed, 31 Aug 2011 18:49:39 +0000</pubDate> <dc:creator>Anton Borisov</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[Sysadmins]]></category> <category><![CDATA[ABI]]></category> <category><![CDATA[berkeley software distribution]]></category> <category><![CDATA[BSD]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[Ian Murdock]]></category> <category><![CDATA[Illumos]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[LFY September 2011]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[monolithic linux kernel]]></category> <category><![CDATA[openbsd]]></category> <category><![CDATA[OpenIndiana]]></category> <category><![CDATA[OpenSolaris]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[Solaris]]></category> <category><![CDATA[solaris kernel]]></category> <category><![CDATA[SPARC processors]]></category> <category><![CDATA[Stanford University]]></category> <category><![CDATA[stanford university network]]></category> <category><![CDATA[Sun]]></category> <category><![CDATA[Sun Microsystems]]></category> <category><![CDATA[SunOS]]></category> <category><![CDATA[unix]]></category> <category><![CDATA[ZFS]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=5349</guid> <description><![CDATA[OpenIndiana comprises the Illumos core, taken from OpenSolaris, with a set of GNU user-land tools. OpenIndiana can even be called an analogue to GNU/Linux, but instead of a monolithic Linux kernel, it uses...]]></description> <content:encoded><![CDATA[<p><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/OpenIndiana-login-screen-350x252.png?d9c344" alt="OpenIndiana -- the &#039;free&#039; Solaris" title="OpenIndiana -- the &#039;free&#039; Solaris" width="350" height="252" class="alignright size-medium wp-image-6372" /><div class="introduction">OpenIndiana comprises the Illumos core, taken from OpenSolaris, with a set of GNU user-land tools. OpenIndiana can even be called an analogue to GNU/Linux, but instead of a monolithic Linux kernel, it uses the OS/Net-based derivative kernel known as Illumos, which is 100 per cent ABI compatible with the Solaris kernel. In short, we can assume that OpenIndiana is actually the OpenSolaris operating system.</div><p>Once upon a time, there was Sun Microsystems. Not just an IT industry flagship, but also a legendary firm. Famous for SPARC processors, the Java programming language, and for the decades it spent developing its own UNIX OS, Solaris. Solaris&#8217; successor is the OpenIndiana project.</p><h2>Solaris and Sun</h2><p>The <a href="http://en.wikipedia.org/wiki/Sun_Microsystems#History">history of Sun Microsystems</a> is truly amazing. Started in 1982 to further develop the project born in Stanford University, the acronym (SUN) itself stands for Stanford University Network. Over time, the company was involved in many interesting projects. Slogans such as, &#8220;A computer is a network&#8221; and &#8220;Write Once, Run Everywhere&#8221; reflect fundamental milestones in the development of modern technologies that we are today so familiar with.</p><p>Commercially, Sun marketed SunOS, and later Solaris. Note that another of its achievements, the Berkeley Software Distribution (BSD), has been used not only in Solaris, but in a number of other commercial implementations like AIX/HP-UX, and open systems like FreeBSD/NetBSD/OpenBSD. To some extent, all BSD-derived systems (read, modern *NIX) and Linux share several fundamental concepts and features.</p><div id="attachment_6373" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/1-Unix_history-simple.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/1-Unix_history-simple-590x371.png?d9c344" alt="BSD is the root of many modern operating systems" title="BSD is the root of many modern operating systems" width="590" height="371" class="size-large wp-image-6373" /></a><p class="wp-caption-text">BSD is the root of many modern operating systems</p></div><p>In the first half of the last decade, Sun was too slow in turning Solaris from a closed to an open source product, i.e., OpenSolaris. This lost the company the server segment in enterprise-level deployments. Some studies indicate that if Sun hadn&#8217;t been so conservative in the 2000s, it is possible that a large part of the server segment would now be OpenSolaris hosts, rather than Linux.</p><p>OpenSolaris took another blow when Sun, in a bad financial condition, was bought by Oracle in 2010. The latter can hardly be called an open source friendly company, so it wasn&#8217;t surprising when the OpenSolaris community decided to develop their own fork, independent of Oracle&#8217;s corporate games. This resulted in the 2010 announcement of OpenIndiana.</p><p>As mentioned, OpenIndiana is the Illumos core from OpenSolaris, which is being independently developed by Oracle, plus GNU user-land tools. It is worth mentioning that in 2007, Sun specially hired Ian Murdock (the Debian founder) for the development of &#8220;Project Indiana&#8221;, to transform Solaris into OpenSolaris, and combine the latter with a number of open source products, such as GNOME. In general, we can assume that Project Indiana has successfully grown into OpenIndiana.</p><h2>Installation</h2><p>Right, so let&#8217;s try OpenIndiana. I downloaded the Server ISO with the <a href="http://wiki.openindiana.org/oi/oi_151">development release 151</a> and loaded it on a regular x86_64 machine with 2 GB of RAM (later increased to 4 GB). The server needs you to use the command-line via the console or SSH. However, there&#8217;s a desktop version as well &#8212; the &#8220;Live DVD desktop ISO&#8221; for those who love GUIs: a choice of GNOME 2.30/XFCE 4.8/LXDE 0.5/KDE 4.7. I burned the ISO on a DVD and booted it, chose the Installer menu option &#8220;Install OpenIndiana&#8221; and began.</p><div id="attachment_6374" class="wp-caption aligncenter" style="width: 468px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/2-oi1.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/2-oi1.png?d9c344" alt="OpenIndiana has a pretty simple installer" title="OpenIndiana has a pretty simple installer" width="468" height="150" class="size-full wp-image-6374" /></a><p class="wp-caption-text">OpenIndiana has a pretty simple installer</p></div><p>Though the OS needs only about 3 GB, I allocated the entire HDD (22 GB). The rest of the allocated space will be used by <code>/home</code> and <code>swap</code> partitions. Please remember, the swap space consists of three different items!</p><div id="attachment_6375" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/3-oi2.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/3-oi2-590x326.png?d9c344" alt="Disk selection for installation" title="Disk selection for installation" width="590" height="326" class="size-large wp-image-6375" /></a><p class="wp-caption-text">Disk selection for installation</p></div><p>I set the hostname to &#8220;openindiana&#8221;, set a password for root, and created a single user for myself (&#8220;anton&#8221;). Network configuration was left as automatic; you can later change settings after logging in. Next, I hit F2 (Install) and waited for the installation to complete. After reviewing the installation log, I chose option &#8220;5 Reboot&#8221;, to try my very first steps with OpenIndiana!</p><div id="attachment_6376" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/4-oi5.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/4-oi5-590x318.png?d9c344" alt="Installation Log" title="Installation Log" width="590" height="318" class="size-large wp-image-6376" /></a><p class="wp-caption-text">Installation Log</p></div><div id="attachment_6377" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/5-oi11.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/5-oi11-590x223.png?d9c344" alt="OpenIndiana reminds you of the old UNIX console" title="OpenIndiana reminds you of the old UNIX console" width="590" height="223" class="size-large wp-image-6377" /></a><p class="wp-caption-text">OpenIndiana reminds you of the old UNIX console</p></div><p>Post logging in, you can configure a static IP address. First disable nwam (NetWork Auto Magic):</p><pre class="brush: text; gutter: false"># svcadm disable network/physical:nwam</pre><p>Add a name server (DNS) IP to <code>/etc/resolv.conf</code>, and add your current gateway to <code>/etc/defaultrouter</code>. Also, manually add the gateway to the routing table (necessary only for the current session) with <code>route -p add default GATEWAY</code>. Assign the static IP address with <code>ifconfig</code>, and start the network service:</p><pre class="brush: text; gutter: false"># svcadm enable network/physical:default</pre><p>Now, when you restart you workstation/server, this static network configuration will be applied.</p><h2>Package management</h2><p>The first thing that comes to mind is: how does one install extra packages.</p><p>Personally, I like Midnight Commander &#8212; a simple console file manager. To install it, I relied on the <a href="http://hub.opensolaris.org/bin/view/Project+pkg/WebHome">pkg package manager</a>. As root (<code>sudo bash</code>), check if you have registered repositories:</p><pre class="brush: text; gutter: false"># pkg publisher
PUBLISHER                             TYPE     STATUS   URI
openindiana.org          (preferred)  origin   online   http://pkg.openindiana.org/dev-il/</pre><p>Yes, we can install new packages. But before that, let&#8217;s do a system update:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# pkg image-update
Creating Plan
Packages to update:   332
Create boot environment:   Yes
DOWNLOAD                                  PKGS       FILES    XFER (MB)
system/extended-system-utilities        19/332     57/2077    0.4/103.9
library/libtecla                        39/332    121/2077    0.6/103.9
system/network/ppp/pppdump              65/332    231/2077    2.3/103.9
system/library                          75/332    302/2077    4.0/103.9
system/kernel                          326/332   2063/2077  102.2/103.9
Completed                              332/332   2077/2077  103.9/103.9

PHASE                                        ACTIONS
Removal Phase                                120/120
Install Phase                                114/114
Update Phase                               5868/5868

PHASE                                          ITEMS
Package State Update Phase                   664/664
Package Cache Update Phase                   332/332
Image State Update Phase                         2/2

A clone of openindiana exists and has been updated and activated.
On the next boot the Boot Environment openindiana-1 will be mounted on '/'.
Reboot when ready to switch to this updated BE.</pre><p>If you want, you can install the <code>mc</code> package (Midnight Commander), after checking if it&#8217;s in the repository:</p><pre class="brush: text; gutter: false"># pkg search mc
INDEX      ACTION VALUE                   PACKAGE
basename   dir    usr/share/doc/mc        pkg:/file/mc@4.7.3-0.151
basename   dir    usr/share/mc            pkg:/file/mc@4.7.3-0.151
basename   file   usr/bin/mc              pkg:/file/mc@4.7.3-0.151
pkg.fmri   set    openindiana.org/file/mc pkg:/file/mc@4.7.3-0.151

root@openindiana:/home/anton# pkg install mc
Creating Plan |
Packages to install:     2
Create boot environment:    No
DOWNLOAD                                  PKGS       FILES    XFER (MB)
runtime/python-24                          0/2    294/2271     1.1/10.6
file/mc                                    1/2   2119/2271     9.3/10.6
Completed                                  2/2   2271/2271    10.6/10.6

PHASE                                        ACTIONS
Install Phase                              2457/2457

PHASE                                          ITEMS
Package State Update Phase                       2/2
Image State Update Phase                         2/2</pre><div id="attachment_6378" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/oi14.png?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/oi14-590x393.png?d9c344" alt="The Midnight Commander (mc) file manager" title="The Midnight Commander (mc) file manager" width="590" height="393" class="size-large wp-image-6378" /></a><p class="wp-caption-text">The Midnight Commander (mc) file manager</p></div><p>For a package list, run <code>pkg list</code>; for more verbose output, run <code>pkg info</code>. Searching for, and attempting to install Apache yields the message &#8220;No updates necessary for this image&#8221;, which means it was already installed in the initial deployment. To check if a package is installed, use the following command:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# pkg list | grep apache
web/server/apache-22                          2.2.16-0.151    installed  -----</pre><p>Let&#8217;s try to install the <code>nginx</code> Web server, which isn&#8217;t in the OpenIndiana repository, by downloading the source and compiling it. Create a <code>src</code> folder, set your HTTP proxy if required, and use <code>wget</code> to download the tarball. However, no GCC compiler is installed. What&#8217;s the compiler package name?</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton#  pkg search gcc | grep set
description  set  GCC Runtime libraries   pkg:/system/library/gcc-3-runtime@3.4.3-0.151
pkg.description set  GCC Runtime - Shared libraries used by gcc and other gnu components pkg:/system/library/gcc-3-runtime@3.4.3-0.151
pkg.summary  set  GCC Runtime libraries   pkg:/system/library/gcc-3-runtime@3.4.3-0.151
description  set   gcc - The GNU C compiler  pkg:/developer/gcc-3@3.4.3-0.151
pkg.description set   GCC Runtime - Shared libraries used by gcc and other gnu components pkg:/system/library/gcc-3-runtime@3.4.3-0.151
pkg.summary  set  gcc - The GNU C compiler   pkg:/developer/gcc-3@3.4.3-0.151</pre><p>The package we need is called &#8220;pkg:/developer/gcc-3 @ 3.4.3-0.151&#8243;, so we can install it with the following command:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# pkg install pkg:/developer/gcc-3@3.4.3-0.151</pre><p>Next, compile <code>nginx</code> with the thoroughly familiar <code>./configure –prefix=/opt/nginx-1.1.0</code> and <code>make</code> recipe. We can omit the output as unnecessary.</p><p>As a hosting platform, OpenIndiana could be surprisingly good. Besides Web servers, you can also find PHP, Python, Ruby, Java and several other packages in the repository, which can be configured or installed with minimum effort. However, some packages need extra care, like PostgreSQL. Let&#8217;s see what happens when we install it:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# pkg install pkg:/service/database/postgres-84@8.4.4-0.151
               Packages to install:     2
           Create boot environment:     No
               Services to restart:     1
DOWNLOAD                                PKGS       FILES       XFER (MB)
Completed                               2/2        211/211     9.6/9.6

PHASE                                   ACTIONS
Install Phase                           1/352 The Boot Environment openindiana-2 failed to be updated.
A snapshot was taken before the failed attempt and is mounted here /tmp/tmpfWSs0u. Use 'beadm
unmount openindiana-3' and then 'beadm activate openindiana-3' if you wish to boot to this BE.

pkg: The requested operation cannot be completed due to invalid package metadata.  Details follow:

The action 'dir group=postgres mode=0755 owner=postgres path=var/postgres' in package
'pkg://openindiana.org/service/database/postgres-84@8.4.4,5.11-0.151:20110523T151027Z' has invalid
attribute(s):
  '//var/postgres' cannot be installed; 'postgres' is an unknown or invalid user.
</pre><p>To install PostgreSQL, you need to have created both a user and group named &#8220;postgres&#8221;. Otherwise, the package simply won&#8217;t be able to assign the right permissions to the newly created <code>/var/postgres</code>.</p><p>Note the interesting point: the package manager always lets you not just remove the package, but even roll it back, in case it was installed improperly. Because of the underlying ZFS, the package is originally installed into a temporary location, and only after successful installation is the temporary location integrated with the main filesystem, known also as BE (Boot Environment). In the example above, the package has been installed into the temporary location &#8220;openindiana-3&#8243;.</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# beadm list
BE            Active Mountpoint Space Policy Created
openindiana   -      -          5.92M static 2011-07-01 16:11
openindiana-1 -      -          448M  static 2011-08-05 12:10
openindiana-2 NR     /          2.39G static 2011-08-05 12:20
openindiana-3 -      -          56.0K static 2011-08-05 12:45</pre><p>You can force the integration process, so an unsuccessful package installation would be joined with the main filesystem with something like: <code>beadm activate openindiana-3</code>. However, it&#8217;s highly recommended to have proper installation without errors. Create the &#8220;postgres&#8221; user and group, and then reinstall PostgreSQL.</p><h2>Service control</h2><p>It&#8217;s time to learn how to control services. The <code>svcs</code> command shows a list of all services. The <code>svcadm</code> command lets you start/stop the desired service. The <code>svccfg</code> and <code>svcprop</code> commands are intended for fine-tuning.</p><p>Here&#8217;s how to first check service status (<em>disabled</em> == not running), and then start a service:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# svcs apache22
STATE          STIME    FMRI
disabled       Aug_08   svc:/network/http:apache22

root@openindiana:/home/anton# svcadm enable apache22
root@openindiana:/home/anton# svcs apache22
STATE          STIME    FMRI
online         10:02:37 svc:/network/http:apache22</pre><h2>Filesystem organisation</h2><p>Yes, I&#8217;m talking about the structure of ZFS.</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# df -h
Filesystem            Size  Used Avail Use% Mounted on
rpool/ROOT/openindiana-2
15G  3.0G   12G  21% /
swap                  2.4G  368K  2.4G   1% /etc/svc/volatile
/usr/lib/libc/libc_hwcap1.so.1
15G  3.0G   12G  21% /lib/libc.so.1
swap                  2.4G   48K  2.4G   1% /tmp
swap                  2.4G   72K  2.4G   1% /var/run
rpool/export           12G   32K   12G   1% /export
rpool/export/home      12G   32K   12G   1% /export/home
rpool/export/home/anton
16G  4.4G   12G  29% /export/home/anton
rpool                  12G   46K   12G   1% /rpool
/dev/dsk/c2t0d0s2     549M  549M     0 100% /media/OpenIndiana_Text_X86
/export/home/anton     16G  4.4G   12G  29% /home/anton</pre><p>You may recall that we allocated 22 GB of space to OI. However, the root system occupies just 15 GB (the first line). Where is the rest? Note that there are three swap partitions used, mounted at <code>/var/tmp</code>, <code>/tmp</code>, and purely for system usage as <code>/etc/svc/volatile</code>. These swaps &#8220;ate&#8221; ~7 GB! The rest of the space is dynamically reallocated for the home directory, mounted and seen as <code>/export</code>.</p><p>Please keep in mind that ZFS is extremely powerful, in terms of the used features. Briefly, what are these? First, you can see the ZFS sections that are on duty:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zfs list
NAME                       USED  AVAIL  REFER  MOUNTPOINT
rpool                     10.4G  11.1G    46K  /rpool
rpool/ROOT                3.96G  11.1G    31K  legacy
rpool/ROOT/openindiana    5.92M  11.1G  1.70G  /
rpool/ROOT/openindiana-1   448M  11.1G  1.66G  /
rpool/ROOT/openindiana-2  3.51G  11.1G  2.92G  /
rpool/ROOT/openindiana-3    56K  11.1G  1.90G  /
rpool/ROOT/openindiana-4    91K  11.1G  1.90G  /
rpool/ROOT/openindiana-5    55K  11.1G  1.90G  /
rpool/dump                1.00G  11.1G  1.00G  -
rpool/export              4.36G  11.1G    32K  /export
rpool/export/home         4.36G  11.1G    32K  /export/home
rpool/export/home/anton   4.36G  11.1G  4.36G  /export/home/anton
rpool/swap                1.06G  12.1G   132M  -</pre><p>Check the history of the changes made to the filesystem:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zpool history
History for 'rpool':
2011-07-01.16:11:03 zpool create -f rpool c1d0s0
2011-07-01.16:11:04 zfs set org.openindiana.caiman:install=busy rpool
2011-07-01.16:11:07 zfs create -b 4096 -V 1024m rpool/swap
2011-07-01.16:11:10 zfs create -b 131072 -V 1024m rpool/dump
2011-07-01.16:11:32 zfs set mountpoint=/a/export rpool/export
2011-07-01.16:11:33 zfs set mountpoint=/a/export/home rpool/export/home
2011-07-01.16:11:37 zfs set mountpoint=/a/export/home/anton rpool/export/home/anton
2011-07-01.16:22:50 zpool set bootfs=rpool/ROOT/openindiana rpool
2011-07-01.16:24:40 zfs set org.openindiana.caiman:install=ready rpool
2011-07-01.16:24:41 zfs set mountpoint=/export/home/anton rpool/export/home/anton
2011-07-01.16:24:45 zfs set mountpoint=/export/home rpool/export/home
2011-07-01.16:24:49 zfs set mountpoint=/export rpool/export</pre><p>View the current load on ZFS:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zpool iostat
capacity     operations    bandwidth
pool        alloc   free   read  write   read  write
----------  -----  -----  -----  -----  -----  -----
rpool       9.45G  12.4G      0      0  1.39K  3.27K
----------  -----  -----  -----  -----  -----  -----</pre><p>Check the integrity of the filesystem:</p><pre class="brush: text; gutter: false">root@openindiana:/home/anton# zdb -c rpool

Traversing all blocks to verify metadata checksums and verify nothing leaked ...

        No leaks (block sum matches space maps exactly)

        bp count:          280189
        bp logical:    10321356800      avg:  36837
        bp physical:   10087483904      avg:  36002     compression:   1.02
        bp allocated:  10148575232      avg:  36220     compression:   1.02
        bp deduped:             0    ref>1:      0   deduplication:   1.00
        SPA allocated: 10148575232     used: 43.21%</pre><p>You can prepare filesystem snapshots (or backups). Decide exactly what parts of the filesystem you want to copy (there&#8217;s no reason to snapshot the entire filesystem, especially if the critical parts are stored only in <code>/export/home/anton</code>).</p><pre class="brush: text; gutter: false"># zfs snapshot -r rpool/export/home/anton@snap4</pre><p>Later, you will be able to recover it with:</p><pre class="brush: text; gutter: false"># zfs rollback rpool/export/home/anton@snap4</pre><p>If a <em>rollback</em> isn&#8217;t advisable, but you want to retrieve lost data, you can mount this snapshot at any directory, and copy the required data out:</p><pre class="brush: text; gutter: false"># zfs clone -o mountpoint=/tmp/snapshot/ rpool/export/home/anton@snap4 rpool/export/home/anton_bak</pre><p>The possible operations with ZFS, as well as ZFS itself are very promising. It combines backup/restore features, data compression on the fly, LVM manager, etc.</p><p>It looks like the Illumos Foundation, responsible for current and future OpenIndiana development, has every chance of bringing, not a rival, but rather, a competitive technology into the Linux world.</p><p>In a subsequent article in this series, we will discuss the <a href="http://www.linuxforu.com/2011/10/virtualisation-and-disk-management-in-openindiana/" title="Virtualisation and Disk Management in OpenIndiana">virtualisation, disk and zone management aspects of OpenIndiana</a>.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/10/virtualisation-and-disk-management-in-openindiana/" rel="bookmark" class="crp_title">Virtualisation and Disk Management in OpenIndiana</a></li><li><a href="http://www.linuxforu.com/2011/05/quick-quide-to-qemu-setup/" rel="bookmark" class="crp_title">The Quick Guide to QEMU Setup</a></li><li><a href="http://www.linuxforu.com/2011/06/qemu-for-embedded-systems-development-part-1/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 1</a></li><li><a href="http://www.linuxforu.com/2011/05/linux-kernel-development-using-git/" rel="bookmark" class="crp_title">Linux Kernel Development Using Git</a></li><li><a href="http://www.linuxforu.com/2011/05/how-to-remaster-ubuntu-to-get-a-customised-distribution/" rel="bookmark" class="crp_title">How to Remaster Ubuntu to Get a Customised Distribution</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/abi/" title="ABI" rel="tag">ABI</a>, <a href="http://www.linuxforu.com/tag/berkeley-software-distribution/" title="berkeley software distribution" rel="tag">berkeley software distribution</a>, <a href="http://www.linuxforu.com/tag/bsd/" title="BSD" rel="tag">BSD</a>, <a href="http://www.linuxforu.com/tag/gnulinux/" title="GNU/Linux" rel="tag">GNU/Linux</a>, <a href="http://www.linuxforu.com/tag/ian-murdock/" title="Ian Murdock" rel="tag">Ian Murdock</a>, <a href="http://www.linuxforu.com/tag/illumos/" title="Illumos" rel="tag">Illumos</a>, <a href="http://www.linuxforu.com/tag/java/" title="Java" rel="tag">Java</a>, <a href="http://www.linuxforu.com/tag/lfy-september-2011/" title="LFY September 2011" rel="tag">LFY September 2011</a>, <a href="http://www.linuxforu.com/tag/linux/" title="Linux" rel="tag">Linux</a>, <a href="http://www.linuxforu.com/tag/monolithic-linux-kernel/" title="monolithic linux kernel" rel="tag">monolithic linux kernel</a>, <a href="http://www.linuxforu.com/tag/openbsd/" title="openbsd" rel="tag">openbsd</a>, <a href="http://www.linuxforu.com/tag/openindiana/" title="OpenIndiana" rel="tag">OpenIndiana</a>, <a href="http://www.linuxforu.com/tag/opensolaris/" title="OpenSolaris" rel="tag">OpenSolaris</a>, <a href="http://www.linuxforu.com/tag/oracle/" title="Oracle" rel="tag">Oracle</a>, <a href="http://www.linuxforu.com/tag/solaris/" title="Solaris" rel="tag">Solaris</a>, <a href="http://www.linuxforu.com/tag/solaris-kernel/" title="solaris kernel" rel="tag">solaris kernel</a>, <a href="http://www.linuxforu.com/tag/sparc-processors/" title="SPARC processors" rel="tag">SPARC processors</a>, <a href="http://www.linuxforu.com/tag/stanford-university/" title="Stanford University" rel="tag">Stanford University</a>, <a href="http://www.linuxforu.com/tag/stanford-university-network/" title="stanford university network" rel="tag">stanford university network</a>, <a href="http://www.linuxforu.com/tag/sun/" title="Sun" rel="tag">Sun</a>, <a href="http://www.linuxforu.com/tag/sun-microsystems/" title="Sun Microsystems" rel="tag">Sun Microsystems</a>, <a href="http://www.linuxforu.com/tag/sunos/" title="SunOS" rel="tag">SunOS</a>, <a href="http://www.linuxforu.com/tag/unix/" title="unix" rel="tag">unix</a>, <a href="http://www.linuxforu.com/tag/zfs/" title="ZFS" rel="tag">ZFS</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/09/openindiana-review-free-solaris-fork/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>VMWare Player, VirtualBox, KVM: Finding Virtualisation Software that Fits</title><link>http://www.linuxforu.com/2011/09/vmware-player-virtualbox-kvm-virtualization-comparative-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=vmware-player-virtualbox-kvm-virtualization-comparative-review</link> <comments>http://www.linuxforu.com/2011/09/vmware-player-virtualbox-kvm-virtualization-comparative-review/#comments</comments> <pubDate>Wed, 31 Aug 2011 18:40:34 +0000</pubDate> <dc:creator>Arjun Venkatraman</dc:creator> <category><![CDATA[Apps]]></category> <category><![CDATA[For You & Me]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[AMD]]></category> <category><![CDATA[bare metal]]></category> <category><![CDATA[Cisco]]></category> <category><![CDATA[Citrix]]></category> <category><![CDATA[commodity hardware]]></category> <category><![CDATA[Dell]]></category> <category><![CDATA[esx]]></category> <category><![CDATA[GPL]]></category> <category><![CDATA[Hardware Compatibility List]]></category> <category><![CDATA[hardware platform]]></category> <category><![CDATA[Innotek]]></category> <category><![CDATA[Intel]]></category> <category><![CDATA[LFY September 2011]]></category> <category><![CDATA[Linux]]></category> <category><![CDATA[Mac]]></category> <category><![CDATA[Mac OS X]]></category> <category><![CDATA[NAT]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[OSX]]></category> <category><![CDATA[performance features]]></category> <category><![CDATA[printer driver]]></category> <category><![CDATA[PXE]]></category> <category><![CDATA[Qumranet]]></category> <category><![CDATA[RAM]]></category> <category><![CDATA[Red Hat]]></category> <category><![CDATA[SAS]]></category> <category><![CDATA[SATA]]></category> <category><![CDATA[SCSI]]></category> <category><![CDATA[Seagate]]></category> <category><![CDATA[storage device]]></category> <category><![CDATA[Sun]]></category> <category><![CDATA[Sun Microsystems]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[Ubuntu Server]]></category> <category><![CDATA[USB]]></category> <category><![CDATA[virtual machine]]></category> <category><![CDATA[VirtualBox]]></category> <category><![CDATA[Virtualisation]]></category> <category><![CDATA[VMDK]]></category> <category><![CDATA[VMs]]></category> <category><![CDATA[VMWare]]></category> <category><![CDATA[volatile memory]]></category> <category><![CDATA[Windows]]></category> <category><![CDATA[Xen]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=6213</guid> <description><![CDATA[This article is intended to guide users in choosing the best virtualisation solution for themselves. According to Wikipedia: &#8220;Virtualisation, in computing, is the creation of a virtual (rather than actual) version of something,...]]></description> <content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-6219" title="Linux Virtualisation Roundup" src="http://cdn.linuxforu.com/wp-content/uploads/2011/11/virt-roundup-590x324.jpg?d9c344" alt="Linux Virtualisation Roundup" width="590" height="324" /></p><div class="introduction">This article is intended to guide users in choosing the best virtualisation solution for themselves.</div><p>According to Wikipedia: &#8220;Virtualisation, in computing, is the creation of a virtual (rather than actual) version of something, such as a hardware platform, operating system, a storage device or network resources.&#8221; For the purposes of this article, I will deal primarily with operating system virtualisation.</p><p>Operating system virtualisation allows one OS (the guest) to be run completely within another OS (the host), like an application. For example, Windows can be run on Linux, or Mac OS X.</p><p>Virtualisation is one of the technologies that will shape the way the world computes in the future. It makes it possible to carve up, allocate and manage compute resources in new ways, allowing new degrees of freedom in systems design.</p><p>While virtualisation has already found a solid footing in the enterprise market, it is still a relatively new technology in the user space. I will compare three popular virtualisation products, and grade them on ease of use, performance, features, licensing and support. As I go through the comparisons, I will attempt to cover not only the specifics of the products themselves, but also the underlying concepts. Finally, I will analyse the scores of different products from the standpoint of different types of users.</p><p>The products I will be comparing are VMWare Player, VirtualBox and KVM. I have chosen these since they are all free of charge for personal use, and have large user communities. I have deliberately excluded VMWare ESX and Xen, since they are both targeted at enterprises. Due to this, despite the fact that they shine on expensive enterprise-grade servers, neither is designed to work with commodity hardware. ESX, for example, refused to install on my test system, altogether.</p><h2>Some basics</h2><p>Virtualisation being a relatively new technology, its language is still evolving. Most terms in the virtualisation space have several meanings, depending on which vendor you speak to. In order to avoid confusion, here are translations into English for some of the jargon that I will use:</p><ul><li>Virtual machine: A VM is a completely isolated instance of an operating system (guest) running inside another operating system (host).</li><li>Hypervisor: A hypervisor, or virtual machine manager, is a software layer that presents the virtualised hardware platform on which the VM instances run. There are two types of hypervisors:</li><ul><li>Type 1 hypervisors run on &#8220;bare metal&#8221; &#8212; that is, they do not require a host OS. In this case, the hypervisor acts almost as the OS itself.</li><li>Type 2 hypervisors require a host OS, and run as an application.</li></ul><li>Full virtualisation: In full virtualisation, every part of the underlying hardware is virtualised and presented to the guest. This means that the guest can be completely unaware that it is running in a VM and not a physical machine.</li><li>Para-virtualisation: In para-virtualisation, the underlying physical hardware performs tasks that function poorly in a virtual environment. This requires the guest OS to be aware that it is running in a virtual instance. Some virtualisation products provide this functionality as a set of drivers to be installed into a guest OS, while others require the OS itself to be modified.</li><li>Snapshots: A snapshot is a point-in-time capture of the VM. Different products classify snapshots differently. However, the most common understanding of the feature is that a snapshot preserves the machine in suspended animation &#8212; that is, the contents of memory and state of the CPU are written to disk, as is. When the machine is restored, the operation resumes from where it was left off. This allows point-in-time recovery, and an ability to roll back unwanted changes.</li><li>Live migration: In the context of virtualisation, live migration is the seamless transfer of a running guest from one physical host to another. Live migration is an advanced feature, and many hypervisors impose restrictions on the source and destination system, most commonly that the CPUs of both need to be identical (homogeneous systems). Live migration between non-homogeneous systems is more complex, and consequently supported by fewer hypervisors.</li></ul><h2>Test system</h2><p>For the purposes of the evaluation, I used an Ubuntu Server (Natty Narwhal) installation on a white-box desktop-class machine, with an AMD Phenom II X6 1090T hexa-core processor, 8 GB of RAM, and a Seagate 7200 RPM, 1 TB SATA hard drive.</p><h2>Asking the right questions</h2><p>One route to evaluating anything is to understand the need. The first question on this route is: &#8220;Why, if at all, should I use virtualisation?&#8221;</p><p>This question is important, because unless you understand your need, it is very simple to get stuck with the wrong solution &#8212; and nothing is worse than<br /> spending weeks tweaking your VMs to get them configured just enough to work, and then discovering that the feature you need is available out of the box in a different product.</p><p>Some reasons to virtualise:</p><ul><li>You need a different OS to run a particular application &#8212; for example, games that run only on Windows, code that can only be compiled on a native Linux machine, etc.</li><li>The need to standardise environments across a group, such as a locked-down development environment for a contractor, several developers collaborating on an open source project, etc.</li><li>Centralising, optimising and sharing resources, as in virtual desktops/servers sharing data-centre hardware.</li></ul><p>The list goes on and on. Ultimately, there are as many use-cases for virtualisation as there are users. While it is possible to analyse one&#8217;s use-case to the last CPU cycle, and choose the right product based on mathematics, it is usually overkill from the standpoint of the average user. It is often simpler to make a choice based on the user&#8217;s skill level and patience.</p><p>The question then becomes: &#8220;How do you classify yourself as a user?&#8221; I usually see users in four categories, based on their profile (see the Box). Given that the user&#8217;s profile usually correlates to the use-case, at least in a broad sense, it is simpler to choose the product that works best for the user.</p><p>Later in this article, I will apply this approach and rate the products, first objectively, and then relative to the user profile.</p><table border="0"><thead><tr><td>How do you classify yourself as a user?</td></tr></thead><tbody><tr><td><h4>The enthusiast</h4><p>The enthusiast is usually at the forefront of the technology adoption curve, picking up the hottest new technologies from the bleeding edge. Enthusiasts are usually motivated by the possibility of bragging rights, and so will go to some lengths to learn and use a new piece of technology, even if they don&#8217;t necessarily need it for any particular purpose.</p><p>The technology is an end in itself. Enthusiasts are typically willing to sit through hours of troubleshooting just to get a cool feature to work. Once they get it working, they like to talk about it and write articles for other users. Enthusiasts are usually motivated by features, performance, and very often, licensing. They will commend ease of use when they see it, but usually won&#8217;t stop using a product just because it is tough to use.</p><h4>The architect</h4><p>Architects are usually visionaries. They look at new technology less emotionally than enthusiasts, and more from a practical standpoint of what it can accomplish for them. Architects are usually motivated by the same things as enthusiasts, with the difference that their priorities on different metrics are based on the job they need to accomplish. For example, an architect might choose a product with a great set of user-level features for a user-oriented project, and reject the same product for a different project where performance is more important.</p><h4>The executive</h4><p>The executive typically is not a technologist, but uses technology to supplement his primary function. For example, an accountant who owns a Mac may run a Windows VM to run Tally. Executives typically have a fixed set of requirements, and rely on architects and enthusiasts &#8212; architects more than enthusiasts &#8212; to tell them which product will work for them.</p><p>Executives typically look for ease of use first, with features a close second. Performance is &#8220;‘nice to have&#8221;, and licensing is usually not a concern for executives, unless it requires them to pay.</p><h4>The follower</h4><p>Followers use technology mostly because everyone else is using it and they are forced to, in order to comply. This bunch is primarily concerned with ease of use and minimal user involvement. On features, they look for things that make their life easier. On performance, they are usually willing to trade better performance for better usability. This group, too, is usually clueless about licensing.</td></tr></tbody></table><h2>VMWare Player</h2><p>VMWare is one of the oldest players in the virtualisation market. Founded by Diane Greene, Mendel Rosenblum, Scott Devine, Edward Wang and Edouard Bugnion in 1998, VMWare launched its first product, VMWare Workstation, in 1999. VMWare Player is a clipped down version of the paid VMWare Workstation product.</p><p>Let&#8217;s take a look at its features.</p><div id="attachment_6222" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig1.png?d9c344"><img class="size-large wp-image-6222" title="The VMware Player Inventory" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig1-590x513.png?d9c344" alt="The VMware Player Inventory" width="590" height="513" /></a><p class="wp-caption-text">Figure 1: The VMware Player Inventory</p></div><div id="attachment_6815" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig2.jpg?d9c344"><img class="size-large wp-image-6815" title="The VM interface on VMware Player. Threadbare or minimalist?" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig2-590x485.jpg?d9c344" alt="The VM interface on VMware Player. Threadbare or minimalist?" width="590" height="485" /></a><p class="wp-caption-text">Figure 2: The VM interface on VMware Player. Threadbare or minimalist?</p></div><h3>Creating, editing and managing VMs</h3><p>Initially, VMWare Player did not allow users to create their own VMs. After version 3, this limitation no longer applies, though several features available in VMWare Workstation are missing on VMWare Player. For example, VMWare Player defaults to a SCSI hard disk during VM creation. This cannot be changed, unless the VM is edited in VMWare Workstation. While this does not pose a problem for the average user, power users who like to tweak configurations will find this irritating. The same limitation also applies to the virtual NIC.</p><p>One cool feature during VM creation is EasyInstall, which allows you to customise the guest OS with such things as licence keys and user accounts, directly through VMWare Workstation, without interacting with the guest during installation. This means that you can now start that long OS installation in your VM before hitting the sack, and wake up to a fully installed OS.</p><p>The network stack on VMWare Player is also noteworthy. VMWare allows three modes of networking for the guest: bridged, NAT and host-only. What I particularly like is that in NAT mode, VMWare creates a virtual network interface and assigns an IP to the host on the same subnet as the guest, allowing network communication between the guest and the host over the NAT interface. VMWare&#8217;s approach to virtual networking makes it very easy for the user to switch between networks. It is almost akin to pulling your LAN cable from one switch and plugging it into another.</p><h3>Device support</h3><p>While VMWare may be finicky about the hardware that it uses for its bare-metal hypervisor, the support for end-user devices that VMWare Player inherits from VMWare Workstation is quite good. VMWare is usually able to recognise the device type (for example, my installation could differentiate a USB webcam from a pen drive) and treat it accordingly.</p><p>One of the most beloved features of VMWare Player/Workstation is virtual printing, enabled through VMWare&#8217;s partnership with ThinPrint Inc. Essentially, any printer installed on your host can be used by applications running in the VM, without installing additional drivers. This is a super feature when it comes to convenience, since most printer driver installers take forever to download and install, on account of bloat-ware.</p><h3>Other features</h3><p>VMWare Workstation offers the ability to snapshot incrementally, thereby allowing multiple points of recovery. VMWare Player, however, does not have the snapshot feature at all. If you really wanted to back up your machine, you could copy the VM folder altogether, providing a poor man&#8217;s snapshot capability. However, VirtualBox and KVM both come with snapshot support out of the box in the free and open source versions.</p><p>The Unity feature allows applications running in the guest to integrate seamlessly with the host. This works particularly well when the only reason to run a guest at all is to use a particular application. With Unity, you can continue to use your own familiar desktop, with the application from the guest fully integrated. The only limitation is that the guest application continues to see the filesystem of the guest. However, with the ability to share folders between guests and hosts, this is easy to work around.</p><p>Another much-touted VMWare feature is the ability to drag and drop files between the host and the guest, and between guests. While &#8220;drag and drop&#8221; works well when both the host and the guest are running Windows, it is somewhat limited for other OSs, such as Linux.</p><h3>Ease of use</h3><p>VMWare Player is one of the easiest products to use, because of VMWare&#8217;s great packaging and simplified user interface, particularly if it is used for its intended purpose, which is to run pre-built VMs. Several VM appliances, preconfigured for common use-cases (like a LAMP server, Ubuntu Desktop, etc) are available for download, and can be run with little or no configuration changes in VMWare Player.</p><h3>Installation</h3><p>The VMWare download site was particularly slow on both my broadband connection and high-speed data card. It took about three hours and two attempts to download the 105 MB binary. Also, since VMWare requires you to sign up and accept several pages worth of legal agreements before any download, there is no link that can be used to download directly from the command line. Since I was running a headless system, with no browser, I had to download to my desktop and then copy the file over the network. However, after the download, the installation was fairly simple.</p><h3>Administration</h3><p>VMWare&#8217;s administrative tools are usually rather slick. However, much of the goodness of the VMWare Workstation UI is missing in VMWare Player. The entire experience is of using something that can do more, but has been artificially stripped down. The VM runs in a floating window on your desktop, or in full screen mode, while the VMWare Player inventory stays in the background as a separate window.</p><p>There is no ribbon with convenient power buttons as with the paid version. All options are tucked away under menus. The Virtual Machine settings page allows you to change machine settings &#8212; except, of course, the hard drive.</p><div id="attachment_6224" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig3.png?d9c344"><img class="size-large wp-image-6224" title="VMware Player’s VM hardware settings" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig3-590x411.png?d9c344" alt="VMware Player’s VM hardware settings" width="590" height="411" /></a><p class="wp-caption-text">Figure 3: VMware Player’s VM hardware settings. No HDD :-(</p></div><div id="attachment_6225" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig4.png?d9c344"><img class="size-large wp-image-6225" title="Options settings on VMware Player" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig4-590x416.png?d9c344" alt="Options settings on VMware Player" width="590" height="416" /></a><p class="wp-caption-text">Figure 4: Options settings on VMware Player</p></div><h3>Look and feel</h3><p>Having been in the desktop user-space for a while, VMWare has learnt its UI lessons well. VMWare Player definitely scores high on the look-and-feel aspect. Even over a remote X server connection, the VM display remained smooth and responsive. The mouse-pointer integration works extremely well. Cute features from the paid version, like &#8220;quick switch&#8221; and &#8220;docked view&#8221;, would definitely be nice to see in the free version.</p><h3>Performance</h3><p>VMWare uses a mix of full virtualisation and para-virtualisation. According to VMWare documentation, VMWare combines the best of all worlds, and picks the appropriate virtualisation strategy for each task. On VMWare&#8217;s bare-metal hypervisor ESX, the para-virtualisation support allows fairly drastic performance improvements. However, on VMWare Player, I found the performance relatively poor (see Table 1 towards the end of this article for a comparison).</p><p>In my experience with VMWare, your mileage will definitely vary on the performance front. As long as you comply with the draconian VMWare Hardware Compatibility List (HCL), you get the benefits of all of VMWare&#8217;s proprietary technology. However, any deviation from the HCL and you are on your own.</p><h3>Licensing and support</h3><p>VMWare Player is distributed &#8220;free, as in beer&#8221;, with a closed-source licence for most of its constituent parts. This immediately makes it unattractive from an open source standpoint. Since VMWare&#8217;s focus is enterprise, they have several partnerships and collaborative efforts in place with industry biggies like Cisco and Dell. As a result, much of VMWare&#8217;s development is directed towards industry-standard operating systems, with support for bleeding-edge releases of Linux OS flavours somewhat lagging.</p><p>There is an open source project that stays ahead of the curve on VMWare Tools features (open-vm-tools) but again, as with non HCL-compliant hardware, you&#8217;re on your own with it.</p><p>Moreover, I have increasingly found that VMWare&#8217;s communities are dominated by enterprise users, and finding community support to solve tricky configuration issues at the bleeding edge is difficult.  VMWare&#8217;s exorbitantly priced support is also unresponsive when it comes to uncommon support issues, particularly with non-compliant or experimentally supported hardware.</p><h3>Score</h3><p>On a scale of 5:</p><ul><li>Features: 3</li><li>Ease of use: 4</li><li>Performance: 3</li><li>Licensing and support: 1</li></ul><h2>VirtualBox</h2><p>Oracle VM VirtualBox, or simply VirtualBox, was originally developed by German software company Innotek, which was acquired by Sun Microsystems in 2008. Sun, in turn, was acquired by Oracle in January 2010. VirtualBox supports most common virtualisation features extremely well, and some uncommon ones as well.</p><div id="attachment_6226" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig5.png?d9c344"><img class="size-large wp-image-6226" title="VirtualBox Manager" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig5-590x437.png?d9c344" alt="VirtualBox Manager" width="590" height="437" /></a><p class="wp-caption-text">Figure 5: VirtualBox Manager</p></div><h3>Creating, editing and managing VMs</h3><p>Creating VMs on VirtualBox is at least as easy as on VMWare Player. The edge that VirtualBox has over VMWare Player in this regard is a wider range of options to choose from, with regard to virtual hardware. For example, you can choose what model of network card should be emulated (PCNet PC II and III, Intel PRO/1000 and virt-io), as well as the disk type (SCSI, SAS or IDE).</p><p>VirtualBox allows the addition of virtual hard disks after creation, a feature missing on VMWare Player. VirtualBox also supports several disk formats, including the VMWare VMDK, which makes it easy for users to migrate to it. You could simply boot your VMWare disk on VirtualBox (some limitations on the VMDK type do apply) and test out the functionality for yourself before porting over, if at all required.</p><p>VirtualBox provides the same networking modes as VMWare Player (Bridged, NAT and Host Only), but without network connectivity between the guest and the host in NAT mode. To reach the guest from the host, or vice-versa, you need to set up a second interface with host-only or bridged networking.</p><div id="attachment_6227" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig6.png?d9c344"><img class="size-large wp-image-6227" title="VM Hardware Settings on VirtualBox" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig6-590x437.png?d9c344" alt="VM Hardware Settings on VirtualBox" width="590" height="437" /></a><p class="wp-caption-text">Figure 6: VM Hardware Settings on VirtualBox</p></div><h3>Device support</h3><p>In this department, VirtualBox lags somewhat behind VMWare Player. USB 2.0 support is only included as a closed source extension. VirtualBox also doesn&#8217;t have the same class of printer support as VMWare does, which means you have to install drivers for all your printers in the guest OS.</p><h3>Other features</h3><p>VirtualBox fully supports snapshots, including multiple snapshots and branching of snapshots. This means you can use VirtualBox to maintain several versions of the same VM. The shared folders work extremely well, as does the clipboard integration, making VirtualBox all the more desirable as a desktop virtualisation solution.</p><p>Live migration is supported between non-homogeneous hosts, something that even VMWare and Citrix enterprise hypervisors struggle with. While this may not be something the average home user would use, from a systems design standpoint, this is definitely interesting.</p><p>VirtualBox also officially (albeit experimentally) supports Mac OSX guests &#8212; and that too, without any hacks on the OSX DVD!</p><h3>Installation</h3><p>VirtualBox is installable from official software repositories of most common Linux distros, which means that it&#8217;s downloaded from the closest mirror, making for a relatively quick download. Once the defauly distro installer is done with the installation (which is usually running a single command), there are no additional steps required to get the software up and running.</p><h3>Administration</h3><p>VirtualBox comes with a great administration interface that allows users to create, modify and manage VMs. Command-line intervention is usually only required for very advanced experiments. Most operations that an administrator would need are available and easy to access. Some of the settings, like the hard-disk-management page, are somewhat hard to find &#8212; but overall, the platform is extremely easy to run and manage.</p><h3>Look and feel</h3><p>The look and feel of VirtualBox is comparable to VMWare&#8217;s in terms of the smoothness of the experience. Mouse-pointer integration is smooth, and VirtualBox is fairly verbose about what it is going to do with regard to the mouse, even without the guest additions installed in the VM. Things like scaling and resizing of the VM display to fit the application window are adequate, even if not in the same league as VMWare.</p><h3>Performance</h3><p>One of the major distinguishing features of VirtualBox is its claim that it does no para-virtualisation. In fact, VirtualBox and KVM seem to be at loggerheads over the subject. VirtualBox&#8217; site says: &#8220;VirtualBox is [also] different from so-called &#8216;para-virtualisation&#8217; solutions [such as Xen], which require that the guest operating system be modified.&#8221;    On the other hand, KVM says: &#8220;So-called &#8216;full virtualisation&#8217; is a nice feature because it allows you to run any operating system virtualised. However, it&#8217;s slow because the hypervisor has to emulate actual physical devices such as RTL8139 network cards. This emulation is both complicated and inefficient.&#8221;</p><p>Religious debates aside, while libvirt (KVM&#8217;s almost-but-not-quite para-virtualisation library) provides phenomenal performance (see Table 1 for comparison), VirtualBox is not too far behind. Moreover, despite the comments about para-virtualisation on the site, VirtualBox also supports the KVM virt-io standard for the virtual network adapter, which allows it to provide almost comparable transfer speeds to KVM. However, virt-io requires the guest to be virtualisation-aware. So while this works out-of-the-box for newer Linux distros with libvirt included, Windows systems will require an installation of the virt-io driver.</p><h3>Licensing and support</h3><p>VirtualBox comes as an open source core system supplemented by proprietary, pre-compiled extension packs for additional functionality, such as RDP, PXE boot and USB 2.0 support. The extension packs are released under the Oracle PUEL (Personal Use and Evaluation License), while the core is released under GPLv2. All of the components are free of cost, with the proviso that the extension packs will be used under the guidelines of the PUEL. Most of VirtualBox&#8217;s features are available in the open source version. The only notable absentee is USB 2.0 support.</p><p>The VirtualBox community is extremely vibrant and responsive, and solutions for most user issues are merely a Google search away.</p><h3>Score</h3><p>On a scale of 5:</p><ul><li>Features: 4</li><li>Ease of use: 4</li><li>Performance: 4</li><li>Licensing and support: 4</li></ul><h2>KVM</h2><p>KVM, or Kernel-based Virtual Machine, is a virtual machine implementation that uses the Linux kernel. Invented and maintained by Qumranet, a technology start-up acquired by Red Hat in 2008, KVM is included out-of-the-box with Linux kernel versions 2.6.20 and above.</p><div id="attachment_6228" class="wp-caption aligncenter" style="width: 549px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig7.png?d9c344"><img class="size-full wp-image-6228" title="KVM’s GUI virt-manager" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig7-e1321650324641.png?d9c344" alt="KVM’s GUI virt-manager" width="549" height="287" /></a><p class="wp-caption-text">Figure 7: KVM’s GUI virt-manager</p></div><div id="attachment_6230" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig9.png?d9c344"><img class="size-large wp-image-6230" title="KVM’s VM Console" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig9-590x462.png?d9c344" alt="KVM’s VM Console" width="590" height="462" /></a><p class="wp-caption-text">Figure 8: KVM’s VM Console</p></div><h3>Creating, editing and managing VMs</h3><p>Creating VMs is simple enough with the virt-manager tool. However, importing an existing VM (from both VMWare as well as VirtualBox) and converting it to run on KVM was nightmarish. For some reason, when KVM is told to use an existing disk, it silently assumes that the disk it is being pointed at is a raw disk format, even if the disk file has a different extension. In order to get my KVM machine to boot, I had to export the VM definition as an XML file, change the disk type manually, and then reimport it.</p><p>KVM offers, by far, the most choice of all the three products reviewed here on virtual hardware selection. Several different types of hardware can be emulated, based on user selection. KVM also allows both NAT and bridged networking. However, the bridged network mode requires setting up a bridge on the host, manually, which can be tedious.</p><div id="attachment_6229" class="wp-caption aligncenter" style="width: 435px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig8.png?d9c344"><img class="size-full wp-image-6229" title="Choosing the bridged device in KVM" src="http://cdn.linuxforu.com/wp-content/uploads/2011/09/Fig8.png?d9c344" alt="Choosing the bridged device in KVM" width="435" height="544" /></a><p class="wp-caption-text">Figure 9: Choosing the bridged device in KVM</p></div><h3>Device support</h3><p>Since KVM is part of the Linux kernel, it supports most devices that Linux does. Moreover, since KVM has a large open source developer community behind it, support for new devices is usually quick to appear. However, KVM&#8217;s device support is far more appealing from the perspective of server virtualisation than the desktop, at least for the average user.</p><h3>Other features</h3><p>KVM&#8217;s feature set is mainly systems-oriented, without too many cute user-land baubles. Live snapshots of guest VMs are supported, from the command line. There is no concept of shared folders or clipboard. USB support is included out of the box. KVM also supports live migration of guests between non-homogeneous hosts.</p><h3>Ease of use</h3><p>KVM is the least user-friendly of the three products reviewed here. It has all the distinctive signs of a product by, and for, the elite geek or the expert systems architect.</p><h3>Installation</h3><p>Simply put, none required. KVM comes backed in with the Linux kernel. The only installation I required was that of virt-manager, a graphical tool to manage VMs, which was a simple installation from the distro&#8217;s package repository. Unfortunately, I also had to install several X libraries on an otherwise headless system, and then access it through a remote X session. The alternative was to spend several hours mastering the command-line language of KVM and virsh, the command-line tool for managing VMs.</p><h3>Administration</h3><p>Even with virt-manager, which simplifies things drastically, KVM&#8217;s administration requires familiarity with virtualisation. If you know exactly what you are looking to accomplish, KVM will probably have the means to accomplish it. However, if you are unsure of your need, it is very easy to get lost within KVM&#8217;s myriad options. Also, the administration console is not very good at giving user feedback.</p><p>For example, changes to a VM that require a reboot can still be made while the machine is running, and will be applied the next time the machine reboots. However, after the change is queued up, there is no visible indication that a change is pending, until the reboot happens, and the change takes place. For an inexperienced user, this sort of behaviour can be quite confusing.</p><h3>Look and feel</h3><p>KVM is definitely not in the same league as VMWare Player or VirtualBox when it comes to look and feel. The VM display is over VNC, the quality of which is dependent on the network link between the client and the KVM server. On my installation, the VNC display refused to recognise several keys altogether, resulting in my having to use a different VNC client. Mouse-pointer and clipboard integration are also not as good as the other two products.</p><h3>Performance</h3><p>Performance is where KVM outshines both VMWare Player and VirtualBox (see Table 1 for a comparison). The secret behind KVM&#8217;s success is the use of the libvirt libraries and the VirtIO network and hard disk interfaces. VirtIO is very similar to para-virtualisation, the only difference being that while para-virtualisation requires the entire guest OS to be modified (for example, Xen&#8217;s requirement that guests run the Xen kernel), VirtIO works by installing components inside the guest. These components are included as the libvirt libraries in most of the new Linux distros. However, for Windows guests, this means that a VirtIO driver needs to be installed.</p><p>For disk I/O, KVM allows the virtual hard disk to be mounted in write-back or write-through mode. In write-back mode, the process of writing data to disk receives an acknowledgement of the write having occurred immediately after the I/O subsystem receives it, even if it has not been committed to disk. This means that processes run faster. However, data in transit (written but not committed) is stored in volatile memory, and so a crash or power outage will result in data loss.</p><p>For mission-critical systems that require high data integrity, the write-through mode is preferable, since it guarantees a commit to disk. However, the existence of the write-back mode means that KVM machines can be tweaked to perform disk I/O at super-fast speeds.</p><h3>Licensing and support</h3><p>KVM&#8217;s licensing is hard to beat for attractiveness, since it&#8217;s completely open source, with all the components released under the GPL or the LGPL. The KVM user community is somewhat biased towards developers and systems designers rather than end users, so finding solutions to problems requires some background and understanding of the platform. Essentially, you can find help, but you really do have to read the manual.</p><h3>Score</h3><p>On a scale of 5:</p><ul><li>Features: 2</li><li>Ease of use: 1</li><li>Performance: 5</li><li>Licensing and support: 4</li></ul><table border="0"><thead><tr><td colspan="4">Table 1: I/O performance comparison</td></tr><tr><td></td><td>VMWare Player</td><td>VirtualBox</td><td>KVM</td></tr></thead><tbody><tr><td>Disk I/O (time to copy a 100 MB file using dd)</td><td>0.97 seconds, 105 MBps</td><td>0.63 seconds, 161 MBps</td><td>0.545 seconds, 188 MBps (write-back mode)</td></tr><tr><td>Network I/O speed (using iperf)</td><td>1.31 GBps</td><td>2.01 GBps / 3.3 GBps with virtio</td><td>4.61 GBps</td></tr></tbody></table><h2>Analysis</h2><p>To sum up the comparison, look at Table 2.</p><table border="0"><thead><tr><td colspan="6">Table 2: Performance summary</td></tr><tr><td></td><td>Features</td><td>Ease of Use</td><td>Performance</td><td>Licensing and support</td><td>Total</td></tr></thead><tbody><tr><td>VMWare Player</td><td>3</td><td>4</td><td>3</td><td>1</td><td>11</td></tr><tr><td>VirtualBox</td><td>4</td><td>4</td><td>4</td><td>4</td><td>16</td></tr><tr><td>KVM</td><td>2</td><td>1</td><td>5</td><td>4</td><td>12</td></tr></tbody></table><p>From a look at the score board, VirtualBox clearly outshines the other two products by being better than average in all the categories, even if it doesn&#8217;t top any of them, with KVM next, and VMWare Player last.</p><p>Let us now see what these scores mean, from the viewpoint of different types of users.</p><h3>The enthusiast</h3><p>From the enthusiast&#8217;s standpoint, KVM would seem like the best choice, since it has the most configuration options. Enthusiasts will find plenty of new combinations of settings to experiment with. KVM&#8217;s lack of end-user features and complexity of use also give it the flavour of being a tool for the elite, which the enthusiast is likely to find appealing.</p><p>Next in line is VirtualBox, which offers fewer options, but still enough to keep a geek interested. Moreover, getting bragging rights on VirtualBox doesn&#8217;t require you to have a PhD. Simply reading the manual and following the forums will suffice.</p><p>VMWare Player is last in line for this category of users, since it offers very limited customisability.</p><h3>The architect</h3><p>For architects, the requirement determines the choice of component. For server virtualisation with an emphasis on performance and scale, KVM is the clear choice. For end users, VMWare Player is the best choice, since it can run a VM authored on Workstation in a manner that makes it extremely easy to use, particularly for a user who&#8217;s not tech-savvy. However, for prototyping and getting off the ground quickly, VirtualBox&#8217; superior feature set makes it the tool of choice.</p><h3>The executive</h3><p>From the executive&#8217;s standpoint, VirtualBox is the product with the likelihood of meeting the most requirements at the least cost. If budget was not a constraint, VMWare Player&#8217;s paid version, VMWare Workstation, could give VirtualBox a run for its money on features. VirtualBox provides many more features in the free version than VMWare. The exception to this is if the VM is being authored elsewhere, and VMWare Player is being used only for access. In that scenario, VMWare Player is much easier to use than either of the other two.</p><p>KVM is not really a solution for the executive at all.</p><h3>The follower</h3><p>From the follower&#8217;s viewpoint, the ideal and often only supportable option is to use VMWare Player to run existing VMs (created by Workstation). Next in line is VirtualBox. As with the executive, KVM is not an option for the follower.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2009/01/virtual-microsoft/" rel="bookmark" class="crp_title">Virtual Microsoft</a></li><li><a href="http://www.linuxforu.com/2011/06/lamp-server-in-10-minutes-turnkey/" rel="bookmark" class="crp_title">Turnkey: Build LAMP Server in Under 10 Minutes</a></li><li><a href="http://www.linuxforu.com/2010/12/turnkey-linux%e2%80%94high-on-steroids/" rel="bookmark" class="crp_title">TurnKey Linux—High On Steroids</a></li><li><a href="http://www.linuxforu.com/2009/04/server-from-scratch-part-3-virtualising-the-server/" rel="bookmark" class="crp_title">Building a Server from Scratch, Part 3: Virtualising the Server</a></li><li><a href="http://www.linuxforu.com/2011/04/deploy-dot-net-apps-linux-mono-delphi-prism/" rel="bookmark" class="crp_title">Confidently Deploy .NET Applications on Linux+Mono with Delphi Prism</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/amd/" title="AMD" rel="tag">AMD</a>, <a href="http://www.linuxforu.com/tag/bare-metal/" title="bare metal" rel="tag">bare metal</a>, <a href="http://www.linuxforu.com/tag/cisco/" title="Cisco" rel="tag">Cisco</a>, <a href="http://www.linuxforu.com/tag/citrix/" title="Citrix" rel="tag">Citrix</a>, <a href="http://www.linuxforu.com/tag/commodity-hardware/" title="commodity hardware" rel="tag">commodity hardware</a>, <a href="http://www.linuxforu.com/tag/dell/" title="Dell" rel="tag">Dell</a>, <a href="http://www.linuxforu.com/tag/esx/" title="esx" rel="tag">esx</a>, <a href="http://www.linuxforu.com/tag/gpl/" title="GPL" rel="tag">GPL</a>, <a href="http://www.linuxforu.com/tag/hardware-compatibility-list/" title="Hardware Compatibility List" rel="tag">Hardware Compatibility List</a>, <a href="http://www.linuxforu.com/tag/hardware-platform/" title="hardware platform" rel="tag">hardware platform</a>, <a href="http://www.linuxforu.com/tag/innotek/" title="Innotek" rel="tag">Innotek</a>, <a href="http://www.linuxforu.com/tag/intel/" title="Intel" rel="tag">Intel</a>, <a href="http://www.linuxforu.com/tag/lfy-september-2011/" title="LFY September 2011" rel="tag">LFY September 2011</a>, <a href="http://www.linuxforu.com/tag/linux/" title="Linux" rel="tag">Linux</a>, <a href="http://www.linuxforu.com/tag/mac/" title="Mac" rel="tag">Mac</a>, <a href="http://www.linuxforu.com/tag/mac-os-x/" title="Mac OS X" rel="tag">Mac OS X</a>, <a href="http://www.linuxforu.com/tag/nat/" title="NAT" rel="tag">NAT</a>, <a href="http://www.linuxforu.com/tag/oracle/" title="Oracle" rel="tag">Oracle</a>, <a href="http://www.linuxforu.com/tag/osx/" title="OSX" rel="tag">OSX</a>, <a href="http://www.linuxforu.com/tag/performance-features/" title="performance features" rel="tag">performance features</a>, <a href="http://www.linuxforu.com/tag/printer-driver/" title="printer driver" rel="tag">printer driver</a>, <a href="http://www.linuxforu.com/tag/pxe/" title="PXE" rel="tag">PXE</a>, <a href="http://www.linuxforu.com/tag/qumranet/" title="Qumranet" rel="tag">Qumranet</a>, <a href="http://www.linuxforu.com/tag/ram/" title="RAM" rel="tag">RAM</a>, <a href="http://www.linuxforu.com/tag/red-hat/" title="Red Hat" rel="tag">Red Hat</a>, <a href="http://www.linuxforu.com/tag/sas/" title="SAS" rel="tag">SAS</a>, <a href="http://www.linuxforu.com/tag/sata/" title="SATA" rel="tag">SATA</a>, <a href="http://www.linuxforu.com/tag/scsi/" title="SCSI" rel="tag">SCSI</a>, <a href="http://www.linuxforu.com/tag/seagate/" title="Seagate" rel="tag">Seagate</a>, <a href="http://www.linuxforu.com/tag/storage-device/" title="storage device" rel="tag">storage device</a>, <a href="http://www.linuxforu.com/tag/sun/" title="Sun" rel="tag">Sun</a>, <a href="http://www.linuxforu.com/tag/sun-microsystems/" title="Sun Microsystems" rel="tag">Sun Microsystems</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.linuxforu.com/tag/ubuntu-server/" title="Ubuntu Server" rel="tag">Ubuntu Server</a>, <a href="http://www.linuxforu.com/tag/usb/" title="USB" rel="tag">USB</a>, <a href="http://www.linuxforu.com/tag/virtual-machine/" title="virtual machine" rel="tag">virtual machine</a>, <a href="http://www.linuxforu.com/tag/virtualbox/" title="VirtualBox" rel="tag">VirtualBox</a>, <a href="http://www.linuxforu.com/tag/virtualisation/" title="Virtualisation" rel="tag">Virtualisation</a>, <a href="http://www.linuxforu.com/tag/vmdk/" title="VMDK" rel="tag">VMDK</a>, <a href="http://www.linuxforu.com/tag/vms/" title="VMs" rel="tag">VMs</a>, <a href="http://www.linuxforu.com/tag/vmware/" title="VMWare" rel="tag">VMWare</a>, <a href="http://www.linuxforu.com/tag/volatile-memory/" title="volatile memory" rel="tag">volatile memory</a>, <a href="http://www.linuxforu.com/tag/windows/" title="Windows" rel="tag">Windows</a>, <a href="http://www.linuxforu.com/tag/xen/" title="Xen" rel="tag">Xen</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/09/vmware-player-virtualbox-kvm-virtualization-comparative-review/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Reviewing the GNUSim8085</title><link>http://www.linuxforu.com/2011/08/gnusim8085-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=gnusim8085-review</link> <comments>http://www.linuxforu.com/2011/08/gnusim8085-review/#comments</comments> <pubDate>Sun, 31 Jul 2011 18:46:22 +0000</pubDate> <dc:creator>Arjun Pakrashi</dc:creator> <category><![CDATA[Apps]]></category> <category><![CDATA[Open Gurus]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[8-bit microprocessor]]></category> <category><![CDATA[assembler]]></category> <category><![CDATA[assembly language]]></category> <category><![CDATA[debugger]]></category> <category><![CDATA[flags]]></category> <category><![CDATA[general purpose computing]]></category> <category><![CDATA[GNUSim8085]]></category> <category><![CDATA[Intel 8085]]></category> <category><![CDATA[Intel 8085 microprocessor]]></category> <category><![CDATA[LFY August 2011]]></category> <category><![CDATA[logical structure]]></category> <category><![CDATA[memory address]]></category> <category><![CDATA[microprocessors]]></category> <category><![CDATA[Processor register]]></category> <category><![CDATA[registers]]></category> <category><![CDATA[simulator]]></category> <category><![CDATA[stack pointer]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=5098</guid> <description><![CDATA[This article reviews the GNUSim8085 &#8212; a graphical simulator, assembler and debugger for the Intel 8085 microprocessor. The Intel 8085 is an 8-bit microprocessor that was launched by Intel in 1977 and hence...]]></description> <content:encoded><![CDATA[<p><img src="http://cdn.linuxforu.com/wp-content/uploads/2011/08/GNUSim-8085.jpeg?d9c344" alt="Not for general-purpose computing" title="Not for general-purpose computing" width="350" height="339" class="alignright size-full wp-image-6579" /><div class="introduction">This article reviews the GNUSim8085 &#8212; a graphical simulator, assembler and debugger for the Intel 8085 microprocessor.</div><p>The Intel 8085 is an 8-bit microprocessor that was launched by Intel in 1977 and hence is something that we have never seen around. So why do we need to learn about the assembly of this old microprocessor?</p><p>The microprocessors we use are all for general-purpose computing, but there are other applications of computers such as making automatic solar-tracking-panels, automatic power-controls, or security control systems. For such applications, general-purpose CPUs are unnecessary &#8212; a waste of resources; a low-powered CPU is what we need. The Intel 8085 is one of the candidates.</p><p>To program this piece of hardware, we first need to know the programming model &#8212; the logical structure of the programmable registers, flags, and the instruction set. The Intel 8085 has seven internal general-purpose 8-bit registers A, B, C, D, E, H, L and 5 flags &#8212; S (sign), Z (zero), AC (Aux Carry), P (Parity) and CY (Carry). The BC, DE and HL registers can be used as register pairs and work as 16-bit registers, with some specific instructions. Besides these, there are two other registers: one is the program counter (PC), which is a 16-bit register, and always points to the memory address of the next instruction to be processed; the other is the stack pointer (SP), a 16-bit register that points to the top of the stack.</p><p>The processor has a total of 246 instructions with which we can manipulate data in the processor registers and memory, and also perform conditional branching in code with the help of flag values, which are set by the instructions, depending on the result. This is a brief overview of the programming model; see the <em>References</em> section at the end of this article for links to more information.</p><p>Programming the Intel 8085 or similar microprocessors is not like present-day programming &#8212; there is no editor, compiler or assembler, and not even a monitor. You can probably have a 7-segment display, which has to be manually interfaced, to show the memory content. You need to burn in the assembled program (essentially, some numbers in memory), connect the memory with the processor, and the microprocessor starts to run the code.</p><p>There are programmers to burn the code into memory, and microprocessor kits that help you program the microprocessor interactively by providing additional controllers, 7-segment displays, a 4&#215;4 keyboard, the interfacing, etc. However, you still have to hand-assemble the code.</p><p>Now, no code is perfect the first time; that&#8217;s why we have bugs. Debugging code on an 8085 itself is a real pain. Even if you use a microprocessor kit with a debugging facility, the limited debugging features make it a complex and slow process, not suited for a beginner. So, essentially, to know if your code is correct or not, completely depends on your skills, the expected outputs of the code, and the minimal debugging interface.</p><p>Wouldn&#8217;t it be great to be able to test the code and develop it completely before even touching the actual processor? This is what a simulator lets you do &#8212; the very purpose of the GNUSim8085 Intel 8085 Microprocessor Simulator.</p><h2>About the simulator</h2><p>The 8085 microprocessor simulator simulates the Intel 8085 programming model, with the same instructions available as on the real system. The input and the output of the actual machine and the simulator are identical, although the internal processing method may differ. The simulator lets you view the contents of the registers, the memory and I/O port values, execute one instruction at a time, and also write code in mnemonics instead of hand-assembled code.</p><p>While I was pursuing my undergraduate course, I began to look for a FOSS-based 8085 simulator. Simulators supplied with text books, and others available on the Internet either did not fulfil my needs, or were not FOSS. Then I recalled that <em>LINUX For You</em> had once published a review of GNUSim8085, and downloaded the software. The basic features listed on the official site are:</p><ul><li>It comes with an 8085 assembler.</li><li>The editor has syntax highlighting.</li><li><em>Register</em> and <em>Flags</em> display are available.</li><li>Has a hex-to-decimal converter.</li><li>Provides a view of memory, I/O and stack contents.</li><li>Step-by-step execution support.</li><li>Print support.</li><li>Has UI in different languages.</li></ul><p>Now, let&#8217;s take a detailed look at this software.</p><h2>The interface</h2><p>When the software is launched, the editor starts with a template &#8212; sample code you can edit &#8212; or, you can open a new file, and start coding. The editor lines are numbered. The code highlighting is good, and makes it easier to read the code. To run or assemble code, you need to save it first, before compilation is allowed.</p><p>On the left-hand pane, all the registers and flags are listed in a very easy-to-read manner. All the register values are displayed in hexadecimal format. The hex-to-decimal conversion box, which is very useful in such applications, is in this pane. Personally, I feel that the implementation ought to have been a bit different. To convert from decimal to hex, or vice-versa, you need to type in the number and click the correct button to make the conversion. I would have liked it if it automatically converted as the input box value change; this would make things much faster and more convenient.</p><p>Then the I/O Ports space is displayed as a spin-box. The spin-box index is the port number, and the text box beside it shows the contents of this I/O port. Similarly, the memory space is shown with another spin-box. Note that the values shown in both are all in decimal. The default input for these is in decimal, but to enter a value in hex, you add an <em>h</em> after it; if the number starts with a letter of the alphabet, you need to add a zero before it. For example, AB is entered as <code>0abh</code>.</p><p>On the right-hand side, there are three tabs. The <em>Data</em> tab shows the data variables you have defined with the assembler EQU pseudo opcode (discussed later). The next tab shows the stack state. After you initialise the stack pointer (SP) and execute <em>PUSH</em>, <em>CALL</em> or other stack-manipulation instructions, this tab will show the address and value of the entire stack, along with the associated pushed <em>register</em> pair or program label (for call).</p><p>This is especially helpful when you are debugging code with many nested subroutines, or using stack-manipulation instructions like XTHL. When pushing the contents of the PSW register (Accumulator and Flags), the Register name under the <em>Proc/Reg</em> field is incorrect, although the performed operations have no problem. This is a really helpful tool for debugging.</p><p>The third tab contains a virtual keypad, consisting of keys corresponding to each instruction. It looks good, but I do not think this is a feature that will get used a lot. It is much easier and simpler to type in mnemonics, than to click buttons to code.</p><p>In the text box on the top labelled &#8220;Load me at&#8221;, you can enter an address location, and make the assembled code load, starting at that memory location. The default input is decimal; to enter hex, use the same rules as before. An empty or invalid address means the program will be loaded at 4200h by default.</p><p>The <em>Assembler</em> menu has three items. The first, <em>Assemble (F8)</em>, is used to assemble the program and load it into memory (at the load address). There is no practical use of only assembling the code in the current version, as you cannot generate an output assembled binary file that you could burn into the 8085&#8242;s memory. The next, <em>Execute (F9)</em>, would execute the compiled program.</p><p>The following entry is <em>Show Listing (Ctrl + L)</em>, which shows you the assembled machine code, along with the memory address opcodes, mnemonics and comments. This window is especially useful when you have successfully run a program in the simulator, and are ready to run it on the actual 8085; you simply need to enter the proper load location, and then either display the listing, or save it into a file and print it out, before entering it into the actual machine. This saves you from the hassles of hand assembly.</p><p>The <em>Debug</em> menu has the <em>Step in (F5)</em>, <em>Step Over(F6)</em> and <em>Step Out(F7)</em> options, along with the program breakpoint management. These features are very helpful for debugging code by inspecting the register and memory contents at each step, or at breakpoints.</p><p>From the <em>Reset</em> menu, you can reset the state of registers, I/O ports, flags and memory, individually or all at once. It is useful when you want to remove old data from the simulator without writing extra 8085 code.</p><p>The toolbar is concise and clutter-free. It contains the normal save, load and new icons, apart from execution and debug shortcut buttons. The icon of the big red cross is to stop (terminate) execution when you are stepping through code, or in between.</p><p>At the bottom of the window is the assembler error message output panel, where you see any errors, with the line number and a brief description of the error. Clicking the error message highlights the line with the error.</p><h2>Assembler</h2><p>This simulator comes with an assembler: you write the code in Intel 8085 mnemonics, and it is converted to machine code by the assembler, freeing you from the pain of hand assembly. The assembler supports four types of syntax parts:</p><ol><li>The assembler Intel 8085 mnemonics:  The instruction strings as in the manuals.</li><li>Labels: A named point in the code, the target for JMP or CALL instructions.</li><li>Comments: Anything on a line after a semicolon (<code>;</code>) is ignored by the assembler, and used to write comments explaining the code.</li><li>Pseudo opcodes: Are not actual opcodes, but instructions to the assembler that provide some features to ease the coding process.</li></ol><p>Instead of repeating the assembler features of the simulator here, I recommend you <a href="http://gnusim8085.org/doc/asm-guide.html">read the official site, where every detail is documented</a>. From version 1.3.7, this assembler tutorial is included with the software, available at <em>Help &#8211;&gt; Assembler Tutorial.</em></p><p>After using this software for quite a long time, I have found some positive and negative points about it, which I will discuss below.</p><h2>The highs (and the lows)</h2><ul><li>Has a detection mechanism for when your code goes wild. For example, if you forget to place a HLT to stop processing, the simulator will automatically stop program execution and warn you about this.</li><li>If you do more POP operations than PUSH, the simulator stops execution and tells you to check the logic. Although there is no warning on the real 8085 (it cannot &#8212; it would simply take the contents of SP as the top of the stack), this is very helpful, because such unbalanced stack operations are hard to detect in a large program.</li><li>The stack view and tracing is a good feature and is really helpful for debugging code with many subroutines and a lot of PUSH, POP and other stack-related instructions.</li><li>Like most simulators, this has a very good and easy-to-read register and flag views, which helps in programming.</li><li>It provides an assembler and lets you enter the program in Intel 8085 mnemonics instead of hand assembly as on the real 8085 (when programmed manually).</li><li>Has debugging features.</li><li>Has assembler listing with address location, opcodes, mnemonics and  comments &#8212; all as a single list. This listing can be followed when entering the code manually on the real 8085, and also keep the mnemonics of the opcodes at hand. Good for documentation.</li><li>The editor has good highlighting, which makes the code easier to read.</li><li>Most importantly, it has a very simple and clutter-free interface.</li></ul><p>Here are some points that I felt needed improvement:</p><ul><li>The label line needs to be assigned at least a line of code. For example, if you do something like the following:<pre class="brush: text; gutter: false">mvi c, 0ah
mvi b, 05h
xra a
loop:
add b
dcr c
jnz loop</pre><p>The above code would not assemble, as the line with the label &#8220;loop&#8221; does not have any code. Either you have to move the ADD B to the &#8220;loop:&#8221; label line, or simply include a NOP beside the label &#8220;loop&#8221;.</li><li>The memory and I/O contents are displayed in decimal, which causes a lot of confusion as the registers&#8217; displays are in hex. Thus, each time, you need to convert the values and check the output. Also, because of this difference, if you are working with code that manipulates a good amount of data from memory, it becomes even more difficult to trace, as each time you need to pay attention to the base of the number you are looking at.</li><li>Representation of the I/O, and the memory editing with the spin-box makes memory data entry and inspection very slow. For example, if you enter some data manually in memory, then you need to: click on the text box, enter data, click <em>Update&#8230;</em> and continue like this. I would recommend that memory and I/O should be editable with the mouse and also with easy keyboard shortcuts. For example, a grid display with scrollbars showing 10-20 memory locations, navigable with the keyboard, would be extremely helpful.</li><li>The editor has only one tab &#8212; so if you open another file when one file is already open, the new replaces the old. An MDI feature would be great, but as it is, this is not much trouble, in my opinion. (See the Bugs section below for more on this)</li></ul><h2>Bugs</h2><p>While using and testing the 8085, I have found some potential problems, bugs and glitches in the simulator, which are listed here.</p><ul><li>The PUSH PSW shows an invalid string for the register name in the <em>Stack debugging</em> tab.</li><li>There is a bug related to opening and closing files. When you are working with one file and then open another, the editor displays the new file &#8212; but what is not obvious is that the old file (which you were working on) is not closed. This is not much trouble, since the limit for the maximum open files is quite large by default (run <code>ulimit -n</code>), but this should be fixed. You can check it by first launching the program, and then keeping an eye on the output of <code>watch ls -l /proc/$(pidof gnusim8085)/fd</code>.</li><li>There is a severe problem with the simulator if you accidentally or intentionally put your code in an infinite loop &#8212; the simulator freezes, looping forever, and there is no way you can stop it except by killing it. The interface does not work in such a case. Running the interface and the execution module in separate threads would help, I guess.</li><li>A minor glitch detected while boundary testing is that if you attempt to enter a negative program-load address, or an address greater than <code>ffffh</code> or <code>65535</code> in decimal, the simulator does not complain, but automatically detects an invalid range and loads the assembled code at the default loading address, <code>4200h</code>. But consider this scenario: you load code at <code>fff0h</code>, and the length of your code is more than 15 (which will try to go beyond the <code>ffffh</code> memory limit). With this, if you assemble/run the code, the simulator immediately crashes. This should wrap around memory and continue to be executed from <code>0000h</code> after reaching the limit <code>ffffh</code>, or simply notify the user about this and stop.</li><li>Although this is a minor bug, I think it is worth pointing it out: if you enter an invalid decimal value in the decimal text box, the hexadecimal conversion shows an invalid value in the hexadecimal box. I think giving some warning of an invalid input would help users.</li></ul><h2>Version 1.3.7 v/s 1.3.5</h2><p>Version 1.3.7 came out recently, almost one year after the last one. On the official website, the 1.3.7 Windows binary (with and without GTK runtime) and the 1.3.7 source code is available. The <code>.deb</code> is obsolete. There are not many externally visible differences in these two versions, but some nasty bugs were killed.</p><p>Version 1.3.6 was released in March 2010, but did not fix the real bugs in 1.3.5 &#8212; like in 1.3.5, clicking <em>Help &#8211;&gt; About</em> would crash the program immediately. If you changed source code in an open file and clicked <em>new</em>, loaded another file, or simply closed it, there was no prompt to save the document. These were fixed in 1.3.7.</p><p>The really nasty DAA bug was killed in 1.3.7, for which reason you should avoid using 1.3.5. In 1.3.5, if you ran DAA after adding <code>99h</code> and <code>01h</code>, the accumulator ought to have contained <code>00h</code>, and the carry flag should have been set, but though the accumulator was <code>00h</code>, the carry flag would not get set. Try adding <code>59h</code> and <code>45h</code> and then apply DAA. The result would be in an invalid BCD form. Thankfully, this nasty bug was killed in 1.3.7. I would like to make you aware that there are a lot of simulators that have implemented DAA incorrectly, so please confirm DAA operation with the above sample, or with the real machine.</p><p>Some other bugs have been fixed as well, so I recommend you download the latest version 1.3.7 if it is available from your distro repository, or if not, install from source.</p><p>Have a look at the version release notes <a href="https://launchpad.net/gnusim8085/+announcement/7810">here</a>.</p><h2>Still to implement</h2><ul><li>The RST instructions (a 1-byte call instruction, jumping to a predetermined jump location).</li><li>RIM and SIM instructions &#8212; you would not be able to test any interrupt or serial I/O-related code. You would notice the <em>Int-reg</em> register in the simulator interface, which apparently represents the interrupt register that holds the masks, the pending interrupts, etc. This is non-functional.</li><li>There are problems when printing on Windows, and the Linux environment implementation is very primitive.</li><li>If you carefully look at the opcodes, you will notice that there are some unused ones that have no mnemonics associated. These unused opcodes are actually used, and are undocumented instructions, of which the Intel 8085 has 10 (they are not documented because they are not supported by 8086 and higher processors). These instructions and the related undocumented flags are not supported by the simulator. This will not bother many people, since, being &#8220;undocumented&#8221;, they are not generally used. Implementation of these is not that urgent, but the availability of the undocumented instructions would definitely make this simulator special and draw attention as these instructions can make some composite operation with a single instruction.</li></ul><h2>What you need to remember&#8230;</h2><p>This is essentially a very good simulator to work with for educational purposes. If you have to practice code for your college exam, or to test the code in the practical copies, then I would recommend that this simulator. Some of my friends and I have used it during our engineering course, and had no problems. It has a very simple and clutter-free interface, an assembler, and the best part is that being under GPL v3, you can see the code and even edit it if you like &#8212; or request any feature update from the developers.</p><p>Programming in the simulator is easy, but it should be kept in that mind that if you are doing a course, then you need to hand-assemble and enter the code when presented with the actual 8085 in your college course. It is good to make a habit of hand-assembling and directly entering code on the actual machine, to keep in touch.</p><h5>References</h5><ul><li><a href="http://gnusim8085.org/index.php">Official Site</a></li><li><a href="http://en.wikipedia.org/wiki/Intel_8085">Wikipedia article on 8085</a></li><li><a href="http://en.wikipedia.org/wiki/GNUSim8085">GNUSim8085 Wiki</a></li><li><a href="https://launchpad.net/gnusim8085/+announcements">GNUSim8085 Announcements</a></li><li><em>Microprocessor Architecture, Programming, and Applications with the 8085</em> by Ramesh Gaonkar</li></ul><div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/06/virtual-machines-for-abstraction-dalvik-vm/" rel="bookmark" class="crp_title">Virtual Machines For Abstraction: The Dalvik VM</a></li><li><a href="http://www.linuxforu.com/2011/07/qemu-for-embedded-systems-development-part-2/" rel="bookmark" class="crp_title">Using QEMU for Embedded Systems Development, Part 2</a></li><li><a href="http://www.linuxforu.com/2010/01/binutils-porting-guide-to-a-new-target-architecture/" rel="bookmark" class="crp_title">Binutils Porting Guide To A New Target Architecture</a></li><li><a href="http://www.linuxforu.com/2009/01/joy-of-programming-some-puzzling-things-about-c/" rel="bookmark" class="crp_title">Joy of Programming: Some Puzzling Things About C Language!</a></li><li><a href="http://www.linuxforu.com/2011/06/sed-part-2-data-structures-and-operators/" rel="bookmark" class="crp_title">Sed Explained, Part 2: Data Structures and Operators</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/8-bit-microprocessor/" title="8-bit microprocessor" rel="tag">8-bit microprocessor</a>, <a href="http://www.linuxforu.com/tag/assembler/" title="assembler" rel="tag">assembler</a>, <a href="http://www.linuxforu.com/tag/assembly-language/" title="assembly language" rel="tag">assembly language</a>, <a href="http://www.linuxforu.com/tag/debugger/" title="debugger" rel="tag">debugger</a>, <a href="http://www.linuxforu.com/tag/flags/" title="flags" rel="tag">flags</a>, <a href="http://www.linuxforu.com/tag/general-purpose-computing/" title="general purpose computing" rel="tag">general purpose computing</a>, <a href="http://www.linuxforu.com/tag/gnusim8085/" title="GNUSim8085" rel="tag">GNUSim8085</a>, <a href="http://www.linuxforu.com/tag/intel-8085/" title="Intel 8085" rel="tag">Intel 8085</a>, <a href="http://www.linuxforu.com/tag/intel-8085-microprocessor/" title="Intel 8085 microprocessor" rel="tag">Intel 8085 microprocessor</a>, <a href="http://www.linuxforu.com/tag/lfy-august-2011/" title="LFY August 2011" rel="tag">LFY August 2011</a>, <a href="http://www.linuxforu.com/tag/logical-structure/" title="logical structure" rel="tag">logical structure</a>, <a href="http://www.linuxforu.com/tag/memory-address/" title="memory address" rel="tag">memory address</a>, <a href="http://www.linuxforu.com/tag/microprocessors/" title="microprocessors" rel="tag">microprocessors</a>, <a href="http://www.linuxforu.com/tag/processor-register/" title="Processor register" rel="tag">Processor register</a>, <a href="http://www.linuxforu.com/tag/registers/" title="registers" rel="tag">registers</a>, <a href="http://www.linuxforu.com/tag/simulator/" title="simulator" rel="tag">simulator</a>, <a href="http://www.linuxforu.com/tag/stack-pointer/" title="stack pointer" rel="tag">stack pointer</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/08/gnusim8085-review/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Locking Horns: Fedora 15 &#8216;Lovelock&#8217; v/s Ubuntu 11.04 &#8216;Natty Narwhal&#8217;</title><link>http://www.linuxforu.com/2011/07/fedora-15-vs-ubuntu-11-04-natty/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=fedora-15-vs-ubuntu-11-04-natty</link> <comments>http://www.linuxforu.com/2011/07/fedora-15-vs-ubuntu-11-04-natty/#comments</comments> <pubDate>Thu, 30 Jun 2011 18:54:38 +0000</pubDate> <dc:creator>Saurav Sengupta</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[For You & Me]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[Broadcom]]></category> <category><![CDATA[built-in tools]]></category> <category><![CDATA[Control Centre]]></category> <category><![CDATA[default tools]]></category> <category><![CDATA[desktop performance]]></category> <category><![CDATA[Fedora]]></category> <category><![CDATA[firewall]]></category> <category><![CDATA[Free Software]]></category> <category><![CDATA[GNOME]]></category> <category><![CDATA[GNOME 3]]></category> <category><![CDATA[GNU/Linux]]></category> <category><![CDATA[KDE]]></category> <category><![CDATA[LFY July 2011]]></category> <category><![CDATA[LibreOffice]]></category> <category><![CDATA[Lovelock]]></category> <category><![CDATA[Mac OSX]]></category> <category><![CDATA[Microsoft Windows]]></category> <category><![CDATA[Network Manager]]></category> <category><![CDATA[OpenOffice.org]]></category> <category><![CDATA[Oracle]]></category> <category><![CDATA[Red Hat]]></category> <category><![CDATA[software developers]]></category> <category><![CDATA[software repositories]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[visible aspects]]></category> <category><![CDATA[xorg-server]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=8208</guid> <description><![CDATA[The two titans of the free software operating system arena, Fedora and Ubuntu, usually time their distribution releases a few days apart. This makes the competition between the two fiercer than it would...]]></description> <content:encoded><![CDATA[<p><img class="aligncenter size-large wp-image-8210" title="Get in the ring!" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/lovelock-natty-590x291.jpg?d9c344" alt="Get in the ring!" width="590" height="291" /></p><div class="introduction">The two titans of the free software operating system arena, Fedora and Ubuntu, usually time their distribution releases a few days apart. This makes the competition between the two fiercer than it would otherwise have been, because the user essentially gets to choose between two very similar options. This article examines the core similarities and differences between the latest releases of the two projects.</div><p>It is quite well-known that the two behemoths among free software operating systems, the ones that both represent and impact GNU/Linux, are Red Hat&#8217;s Fedora and Ubuntu from Canonical. Ubuntu&#8217;s latest version, 11.04, also known as the Natty Narwhal, was released on April 28, and <a title="Ubuntu 11.04 Natty Narwhal Review" href="http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/">a review of this version appeared in the June</a>. Fedora followed on May 24 with version 15, codenamed Lovelock. Now, when you have two such similar releases at practically the same time, it creates rather a &#8220;Big Choice&#8221;, and it might even create a &#8220;Big Dilemma&#8221;. So, how do the two stack up against each other?</p><h2>Delving into the core</h2><p>Examining the core first, we find that the foundations of both are almost the same. The kernel is at version 2.6.38 in Natty, with Lovelock&#8217;s just a few point releases ahead. Kernel version 2.6.38 brings a lot of desktop-oriented improvements, resulting in much better desktop performance than was previously the norm.</p><p>Both distributions have the xorg-server at 1.10.1, udev version 167 and freetype version 2.4.4. However, while Ubuntu has already been using GRUB 2 at version 1.99rc1, Fedora staunchly continues with GRUB 1 at version 0.97. Whichever version you use, this aspect does not create much of a hassle &#8212; just the method of configuring GRUB differs in the two versions. Another area of difference is GCC. Lovelock includes version 4.6.0 of the compiler collection, while Natty includes 4.5.2 &#8212; so developers who want that wee bit more, may be happier with Lovelock.</p><p>With the preliminaries over, let&#8217;s get around to the more visible aspects and look at the giants from the outside!</p><h2>The desktop environments</h2><p>We will not compare KDE on the two distros. The first reason is that, both of them include version 4.6.2 of KDE; second, KDE is not the default environment of either distribution; and third, KDE 4.6 is not as radically different from 4.5 as the default environments of Lovelock and Natty are from their previous counterparts.</p><h3>Lovelock and GNOME 3</h3><p>Lovelock is the first major distribution to include GNOME 3 as the default desktop environment (see Figure 1) and GNOME 3 is&#8230; well, there&#8217;s a lot to say about GNOME 3. Even if you are not biased, you have to admit that GNOME 3 makes almost everything harder than it was previously.</p><div id="attachment_8211" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/1-GNOME-3-desktop.jpg?d9c344"><img class="size-large wp-image-8211" title="GNOME 3 desktop" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/1-GNOME-3-desktop-590x331.jpg?d9c344" alt="GNOME 3 desktop" width="590" height="331" /></a><p class="wp-caption-text">Figure 1: GNOME 3 desktop</p></div><p>A major issue with software developers is their desire to reinvent everything from scratch. This is not essentially a bad thing, and GNOME up to its major version 2, GNOME was definitely plagued by legacy code such as CORBA. However, the problem with the developers and maintainers of GNOME is that they prioritise simplicity to the extent of bordering on the simplistic. This is exactly the case with GNOME 3.</p><p>The default dual-panel setup of GNOME has been replaced by a single panel at the top, and a translucent, hidden notification area at the bottom. The top panel displays the clock in the centre. Clicking on the clock opens up an enhanced version of the standard calendar, which allows managing your events from the calendar itself (Figure 2).</p><div id="attachment_8212" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/2-GNOME-3-calendar.jpg?d9c344"><img class="size-large wp-image-8212" title="GNOME 3 calendar" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/2-GNOME-3-calendar-590x331.jpg?d9c344" alt="GNOME 3 calendar" width="590" height="331" /></a><p class="wp-caption-text">Figure 2: GNOME 3 calendar</p></div><p>The top-right portion of the panel contains the usual system management icons, including the Network Manager, the interface of which has changed somewhat in Lovelock. The networking menu displays a simplified version of the available networks, each with a representation of a toggle switch to the right (Figure 3).</p><div id="attachment_8213" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/3-GNOME-3-network-menu.jpg?d9c344"><img class="size-large wp-image-8213" title="GNOME 3 network menu" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/3-GNOME-3-network-menu-590x331.jpg?d9c344" alt="GNOME 3 network menu" width="590" height="331" /></a><p class="wp-caption-text">Figure 3: GNOME 3 network menu</p></div><p>Simply clicking a network&#8217;s entry turns it on or off. The network settings and systems settings windows have also changed (Figures 4 and 5, respectively); the latter was named Control Centre in previous versions of GNOME. The system settings window appears similar to the KDE one, but some important features have been removed from the user interface. One is that you can no longer customise the desktop theme using the built-in tools as easily as you could in previous versions. In fact, the default tools don&#8217;t have any option to change the theme at all! Another UI change is that now there are no buttons present to minimise or maximise windows. To do that, either right-click the title bar and select the appropriate option, or use the keyboard to achieve the same effectboth much more cumbersome than the established norm.</p><div id="attachment_8214" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/4-GNOME-3-network-settings.jpg?d9c344"><img class="size-large wp-image-8214" title="GNOME 3 network settings" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/4-GNOME-3-network-settings-590x452.jpg?d9c344" alt="GNOME 3 network settings" width="590" height="452" /></a><p class="wp-caption-text">Figure 4: GNOME 3 network settings</p></div><p>&nbsp;</p><div id="attachment_8215" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/5-GNOME-3-system-settings.jpg?d9c344"><img class="size-large wp-image-8215" title="GNOME 3 system settings" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/5-GNOME-3-system-settings-590x570.jpg?d9c344" alt="GNOME 3 system settings" width="590" height="570" /></a><p class="wp-caption-text">Figure 5: GNOME 3 system settings</p></div><p>The top panel&#8217;s default menu has also been replaced by an Activities entry. You can either click on it, or point your mouse to the top-left corner of the screen. This opens up a screen with bookmarked applications on the left and those that are currently running in the middle, along with an Applications tab that lists all installed apps. However, the convenience of having the applications listed in groups (Accessories, Internet, etc.) is gone. The right side of the Activities screen shows the currently available virtual desktops. There is always one more than the number you are using, so you can keep creating as many as you like.</p><p>GNOME 3 is new software, and, just as was the case with KDE 4, this first version still has issues that need to be sorted out. For example, Figure 6 shows the Activities screen along with an error notification at the bottom. This particular error is not fatal, but it keeps recurring, and diminishes one&#8217;s confidence in the software. Notifications in GNOME 3 are unobtrusive, and can be pulled up at a later time, as shown in Figure 7. The Activities screen also allows you to search for applications and files (Figure 8).</p><div id="attachment_8217" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/6-Activities-multitasking-Error.jpg?d9c344"><img class="size-large wp-image-8217" title="Activities -- multitasking -- error" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/6-Activities-multitasking-Error-590x331.jpg?d9c344" alt="Activities -- multitasking -- error" width="590" height="331" /></a><p class="wp-caption-text">Figure 6: Activities &#8212; multitasking &#8212; error</p></div><p>&nbsp;</p><div id="attachment_8218" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/7-GNOME-3-ABRT.jpg?d9c344"><img class="size-large wp-image-8218" title="GNOME 3 ABRT" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/7-GNOME-3-ABRT-590x331.jpg?d9c344" alt="GNOME 3 ABRT" width="590" height="331" /></a><p class="wp-caption-text">Figure 7: GNOME 3 ABRT</p></div><p>&nbsp;</p><div id="attachment_8216" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/8-GNOME-3-search.jpg?d9c344"><img class="size-large wp-image-8216" title="GNOME 3 search" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/8-GNOME-3-search-590x331.jpg?d9c344" alt="GNOME 3 search" width="590" height="331" /></a><p class="wp-caption-text">Figure 8: GNOME 3 search</p></div><p>Another deviation from the norm is the user menu in the top-right corner of the screen (Figure 9). The restart and shutdown options are now gone, and only &#8216;Log Out&#8217; and &#8216;Suspend&#8217; remain. To restart or power off the computer, either press and hold the Alt key while the menu is open, which replaces the &#8216;Suspend&#8217; item with an option to power off or restart &#8212; or log out and then proceed to shutdown from the login screen.</p><div id="attachment_8219" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/9-GNOME-3-user-system-menu.jpg?d9c344"><img class="size-large wp-image-8219" title="GNOME 3 user system menu" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/9-GNOME-3-user-system-menu-590x331.jpg?d9c344" alt="GNOME 3 user system menu" width="590" height="331" /></a><p class="wp-caption-text">Figure 9: GNOME 3 user system menu</p></div><p>If you have more than one window open in GNOME 3, to switch between them, you either press Alt+Tab or open the Activities screen. The panel no longer has a task-bar to list open windows.</p><p>So it seems that GNOME 3 will take some time getting used to. Let&#8217;s see how Natty fares.</p><h3>Natty and Unity</h3><p>The developers at Canonical have not adopted GNOME 3 for Natty, although they will for its successor, the Oneiric Ocelot. Ubuntu already had a netbook interface, which was somewhat similar to Natty&#8217;s new interface, Unity &#8212; Canonical wanted to create a uniform look-and-feel across its desktop and netbook versions.</p><p>Also, the folks at Canonical were not entirely in favour of all the proposed changes in GNOME 3. Whatever be the reason, the decision to not use GNOME 3 in Natty has resulted in a much more stable environment than the one in Lovelock. So, what is Unity and what does it bring to the table?</p><p>Unity is just a shell running on top of GNOME. In Natty, therefore, you can select the Ubuntu Classic session from the login screen, if you want the default GNOME 2 interface instead of Unity. Figure 10 shows a customised Unity desktop on Natty.</p><div id="attachment_8220" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/10-Unity.jpg?d9c344"><img class="size-large wp-image-8220" title="Unity desktop shell in Natty" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/10-Unity-590x331.jpg?d9c344" alt="Unity desktop shell in Natty" width="590" height="331" /></a><p class="wp-caption-text">Figure 10: The Unity desktop shell in Natty</p></div><p>Like GNOME 3, Unity also uses a single top panel, but there is no notification area at the bottom. Notifications appear in the top-right portion of the screen, as in previous versions of Ubuntu. Additionally, the top panel now serves as an integrated menu bar for almost all applications, similar to the way the Mac OSX UI works. This provides maximum vertical screen space (Figure 11). However, the absence of a taskbar even here means that to switch between open windows, you either press Alt+Tab or use the launcher.</p><div id="attachment_8221" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/07/11-Unity-maximised-window.jpg?d9c344"><img class="size-large wp-image-8221" title="A maximised window in Unity merges nicely with the top panel" src="http://cdn.linuxforu.com/wp-content/uploads/2011/07/11-Unity-maximised-window-590x331.jpg?d9c344" alt="A maximised window in Unity merges nicely with the top panel" width="590" height="331" /></a><p class="wp-caption-text">Figure 11: A maximised window in Unity merges nicely with the top panel</p></div><p>The launcher is a bar on the left side of the Unity screen that holds bookmarked applications and some lenses. Lenses are screens that show searchable lists of your applications, files, results on the Web, etc. However, unlike the GNOME 3 Applications list, you can view the categorised lists of your installed applications. Also, the applications lens shows random selections of the apps available for installation from Natty&#8217;s configured software repositories, making it a useful place to discover new apps.</p><p>When you open a window, the launcher hides itself if the window needs its space, just as in the case of a maximised window. To get the launcher back, either hold your pointer at the left edge of the screen, or press and hold the Super (Windows) key on the keyboard. The latter action also causes the launcher to display numbers and letters on top of its icons. You can press a number or letter to open the corresponding window/application.</p><p>Also, right-clicking an icon on the launcher opens a context menu with useful actions. You can remove any application from the launcher, and you can also drag items in the launcher to re-position them. All of this is much more than what the default GNOME 3 panel or Activities screen does.</p><p>In the top-left corner of the screen is the icon for the Dash, a feature similar to the applications lens, which allows you to search for or browse installed applications. The shortcut key for the Dash is the OS (Windows) logo key.</p><p>As for the rest, since Unity runs atop GNOME, the basic interface is that provided by GNOME itself.</p><h2>The outer reaches</h2><p>We now come to the outermost aspect of our giants &#8212; the environment they provide for actually getting work (or play) done on the computer. The most famous component of this environment is probably the office suite. Both Lovelock and Natty include version 3.3.2 of LibreOffice, the new fork of the popular OpenOffice.org suite of applications.</p><p>LibreOffice is owned and operated by the community, so there is no concern of it being monopolised by any single entity. Also, the new suite has the crucial support of several big companies. It will be best if OpenOffice.org can be merged into LibreOffice, thus liberating it from Oracle, but as of now, most major GNU/Linux distributions are switching over to LibreOffice.</p><p>Apart from this, the rest of the software is also pretty standard and up to date. What is not available in the live or installation discs can, of course, be installed from the repositories. The installers are, as usual, radically different in the two distros. The venerable Synaptic Package Manager is available in Natty, just as it should be.</p><p>However, the new software manager, Ubuntu Software Centre, has seen some improvements. It now allows for purchasing software directly through its interface (although a bug prevented me from actually going through with a purchase at one go), and it also now shows libraries and other non-GUI software in search results, on demand, apart from providing some recommendations based on your searches and installations.</p><p>The standard PackageKit installer in Lovelock, on the other hand, seems pretty bare-bones in comparison. It allows simple configuration of the software sources, but is nowhere near Synaptic in power. However, YUM, the installation back-end on Lovelock, scores an extremely important point over the Debian Apt in Natty &#8212; it allows delta packages to be downloaded. A delta is just the code that is different in a new version of a package that is already installed. Downloading deltas instead of entire packages saves huge amounts of time and bandwidth for data transfers during upgrades.</p><p>However, yet another factor negatively affecting Lovelock is that Fedora does not have integrated repositories for proprietary software. It depends on the external RPM Fusion repositories, and they may not always follow the latest Fedora release on time. For example, RPM Fusion did not have the proprietary drivers for the Broadcom BCM4312 Wi-Fi chip for the current Lovelock kernel even several days after the Lovelock release (they are available now, though there is no guarantee that they will be available on time in case of a kernel upgrade).</p><p>Ubuntu, on the other hand, has always had integrated proprietary software repositories. They are not supported by Canonical, of course, but they do track the latest Ubuntu release correctly and Natty is no exception.</p><h2>The verdict</h2><p>Instead of beating about the bush, it is better to admit that, as of now, Natty is much more usable than Lovelock. However, there are some points that must still be taken into consideration. First of all, the future of GNOME is GNOME 3. Even the next version of Ubuntu will have GNOME 3 as its base for Unity. So, whether you like it or not, if you want to stay with GNOME, you will have to consider GNOME 3 sometime or the other.</p><p>Thus, you may want to delve into it right away, and report whatever bugs and missing features you encounter, so that the software matures more quickly; after all, free software is dependent not on corporations, but on users. And besides, KDE version 4.6 also has some serious bugs (such as PolicyKit randomly crashing at the end of a session), which have not yet been addressed by the developers.</p><p>Also, Fedora is known for its leadership and innovation in the GNU/Linux field. If you want to stay absolutely current on the Free Software front, Fedora is the way to go. Lovelock, for example, has a dynamically configurable firewall, which means that you do not have to stop and restart the firewall to effect some changes to its rules.</p><p>You also should keep in mind that if you choose Fedora, you will not just start up to date, but you will also stay up to date. For example, a Fedora release will, as long as it is supported, keep getting the latest versions of all its software, including the kernel and desktop environment, which is not the case with Ubuntu.</p><p>The final decision is, of course, up to you. Both Lovelock and Natty are critical releases that pave the way for the future of the GNU/Linux desktop. Whether you are comfortable with handling the latest stuff, with the occasional trip-up, or want the relative safety of a traditional environment, the choice is yours.</p><p>Whichever you choose, you will be a participant in one of the most important revolutions in the free software world, instead of being a mere spectator.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/05/gnome-3-review/" rel="bookmark" class="crp_title">GNOME 3 is Here!</a></li><li><a href="http://www.linuxforu.com/2011/07/exploring-software-unity-gnome-shell-and-notification-area/" rel="bookmark" class="crp_title">Exploring Software: Unity, GNOME Shell and the Notification Area</a></li><li><a href="http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/" rel="bookmark" class="crp_title">Ubuntu 11.04 Natty Narwhal Review</a></li><li><a href="http://www.linuxforu.com/2011/10/exploring-software-gnome-and-semantic-desktop/" rel="bookmark" class="crp_title">Exploring Software: GNOME and the Semantic Desktop</a></li><li><a href="http://www.linuxforu.com/2009/01/enabling-indian-languages-on-the-foss-desktop-part-2/" rel="bookmark" class="crp_title">Enabling Indian Languages on the FOSS Desktop, Part 2: The Little GNOME Stands Tall</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/broadcom/" title="Broadcom" rel="tag">Broadcom</a>, <a href="http://www.linuxforu.com/tag/built-in-tools/" title="built-in tools" rel="tag">built-in tools</a>, <a href="http://www.linuxforu.com/tag/control-centre/" title="Control Centre" rel="tag">Control Centre</a>, <a href="http://www.linuxforu.com/tag/default-tools/" title="default tools" rel="tag">default tools</a>, <a href="http://www.linuxforu.com/tag/desktop-performance/" title="desktop performance" rel="tag">desktop performance</a>, <a href="http://www.linuxforu.com/tag/fedora/" title="Fedora" rel="tag">Fedora</a>, <a href="http://www.linuxforu.com/tag/firewall/" title="firewall" rel="tag">firewall</a>, <a href="http://www.linuxforu.com/tag/free-software/" title="Free Software" rel="tag">Free Software</a>, <a href="http://www.linuxforu.com/tag/gnome/" title="GNOME" rel="tag">GNOME</a>, <a href="http://www.linuxforu.com/tag/gnome-3/" title="GNOME 3" rel="tag">GNOME 3</a>, <a href="http://www.linuxforu.com/tag/gnulinux/" title="GNU/Linux" rel="tag">GNU/Linux</a>, <a href="http://www.linuxforu.com/tag/kde/" title="KDE" rel="tag">KDE</a>, <a href="http://www.linuxforu.com/tag/lfy-july-2011/" title="LFY July 2011" rel="tag">LFY July 2011</a>, <a href="http://www.linuxforu.com/tag/libreoffice/" title="LibreOffice" rel="tag">LibreOffice</a>, <a href="http://www.linuxforu.com/tag/lovelock/" title="Lovelock" rel="tag">Lovelock</a>, <a href="http://www.linuxforu.com/tag/mac-osx/" title="Mac OSX" rel="tag">Mac OSX</a>, <a href="http://www.linuxforu.com/tag/microsoft-windows/" title="Microsoft Windows" rel="tag">Microsoft Windows</a>, <a href="http://www.linuxforu.com/tag/network-manager/" title="Network Manager" rel="tag">Network Manager</a>, <a href="http://www.linuxforu.com/tag/openoffice-org/" title="OpenOffice.org" rel="tag">OpenOffice.org</a>, <a href="http://www.linuxforu.com/tag/oracle/" title="Oracle" rel="tag">Oracle</a>, <a href="http://www.linuxforu.com/tag/red-hat/" title="Red Hat" rel="tag">Red Hat</a>, <a href="http://www.linuxforu.com/tag/software-developers/" title="software developers" rel="tag">software developers</a>, <a href="http://www.linuxforu.com/tag/software-repositories/" title="software repositories" rel="tag">software repositories</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.linuxforu.com/tag/visible-aspects/" title="visible aspects" rel="tag">visible aspects</a>, <a href="http://www.linuxforu.com/tag/xorg-server/" title="xorg-server" rel="tag">xorg-server</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/07/fedora-15-vs-ubuntu-11-04-natty/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Ubuntu 11.04 Natty Narwhal Review</title><link>http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-11-04-natty-narwhal-review</link> <comments>http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/#comments</comments> <pubDate>Tue, 31 May 2011 18:56:46 +0000</pubDate> <dc:creator>Harsh Gupta</dc:creator> <category><![CDATA[Distros]]></category> <category><![CDATA[For You & Me]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[3d graphics accelerator]]></category> <category><![CDATA[Amazon MP3 store]]></category> <category><![CDATA[banshee]]></category> <category><![CDATA[Canonical]]></category> <category><![CDATA[Document Foundation]]></category> <category><![CDATA[dual boot installation]]></category> <category><![CDATA[Java]]></category> <category><![CDATA[LFY June 2011]]></category> <category><![CDATA[LibreOffice]]></category> <category><![CDATA[Microsoft Windows]]></category> <category><![CDATA[migration assistant]]></category> <category><![CDATA[MP3]]></category> <category><![CDATA[Natty Narwhal]]></category> <category><![CDATA[nvidia]]></category> <category><![CDATA[OpenOffice.org]]></category> <category><![CDATA[Rhythmbox]]></category> <category><![CDATA[search bar]]></category> <category><![CDATA[software centre]]></category> <category><![CDATA[Ubiquity]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[Unity]]></category> <category><![CDATA[Unity bar]]></category> <category><![CDATA[Update Manager]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=4580</guid> <description><![CDATA[The latest and greatest version of Ubuntu, 11.04 Natty Narwhal, was released on April 28, 2011. Ubuntu is now the most popular desktop operating system, and with this release, Canonical has made some...]]></description> <content:encoded><![CDATA[<p><img class="alignright size-full wp-image-8227" title="It's Natty time..." src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/natty.jpeg?d9c344" alt="It's Natty time..." width="350" height="313" /></p><div class="introduction">The latest and greatest version of Ubuntu, 11.04 Natty Narwhal, was released on April 28, 2011. Ubuntu is now the most popular desktop operating system, and with this release, Canonical has made some major changes &#8212; both up front, and under the hood. Read on to learn more.</div><p>In Natty, Unity is the default desktop atop GNOME; it requires a 3D graphics accelerator, as it uses Compiz Fusion heavily &#8212; however, you can switch to GNOME Classic from the login menu, if you don&#8217;t have the right hardware. Ubuntu 11.10 will be shipped with a 2D version of Unity, for systems with average graphics cards.</p><p>Natty replaces Ubuntu Netbook Edition for all PCs and netbooks. Available in the usual variants &#8212; Kubuntu (KDE), Xubuntu (XFCE), Edubuntu and more &#8212; the software defaults have also changed. LibreOffice 3.3.2 is now the default office suite; Firefox 4 is the default browser; and Banshee replaces the Rhythmbox music player.</p><h2>The Ubiquity installer has &#8216;graduated&#8217;</h2><p>The Ubiquity installer is getting much smarter and understandable with every incremental release. People new to Linux (who fear messing up their existing OS while doing a dual-boot installation), and those who don&#8217;t understand what swap space is, or how much they need of it, will like Ubiquity.</p><div id="attachment_8228" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image01.jpg?d9c344"><img class="wp-image-8228  " title="Ubiquity installer" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image01-590x442.jpg?d9c344" alt="Ubiquity installer" width="590" height="442" /></a><p class="wp-caption-text">Ubiquity installer</p></div><p>This installer is quite impressive; it guides you at every step, letting you know what&#8217;s happening, what you might want to do, and how it can be done. It detects whether you are installing on a system with an existing Windows installation, or upgrading from an earlier Ubuntu install, etc. It also has an expert partitioning option for experienced Linux users.</p><p>Once you enter the required choices, the installer begins copying files in the background, while you fill in additional information like the time zone, user details and more. The migration assistant, too, works flawlessly, and migrates your documents, pictures, user settings and so on without any hassle. You can also choose to install third-party software like Flash, MP3 codecs, Java, etc.</p><div id="attachment_8229" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image02.jpg?d9c344"><img class="size-large wp-image-8229 " title="Install third-party stuff right from the installer" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image02-590x368.jpg?d9c344" alt="Install third-party stuff right from the installer" width="590" height="368" /></a><p class="wp-caption-text">Install third-party stuff right from the installer</p></div><p>Installation is not much speedier. Boot time from a live USB was less than a minute on a Core2Duo laptop, and two minutes on my netbook.</p><h2>The Unity bar is here to stay</h2><p>Like it or hate it, the Unity bar is clearly here to stay. It&#8217;s had a major face-lift since 10.10, though it still sits atop GDE. It&#8217;s not much different once you get past the layout and some basic controls. The new Unity interface is very innovative and neat, and saves screen real estate. It has a dock-style bar on the left with common applications, and a standard panel across the top. It auto-hides when you maximise windows, and comes back when you hover the mouse in the upper-right corner. The Unity bar scrolls icons when you hover the mouse pointer over the icons stacked like a deck of cards in the lower-right corner.</p><p>Click app icons to start them. A caret sign appears to the left of the icons for apps that are already running; a caret on the right of the icon shows the currently active app. Shift-clicking an icon launches a new instance of an already-running app; tiny lights show multiple instances. You can drag-and-drop to rearrange icons, and remove an icon by dragging it off the bar. To quit an app, right-click and select Quit from the menu.</p><p>The Ubuntu button (top-left corner of the screen) gives you an iPad-like home screen, with high-resolution icons for your favourite destinations. The Workspace Switcher feature, accessed via a sidebar icon, defaults to four virtual desktops.</p><div id="attachment_8230" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image03.jpg?d9c344"><img class="size-large wp-image-8230" title="Workspace switcher" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image03-590x345.jpg?d9c344" alt="Workspace switcher" width="590" height="345" /></a><p class="wp-caption-text">Workspace switcher</p></div><h2>Mac-like app menu bar</h2><p>The Ubuntu 10.10 netbook edition missed the very important unified menu bar. Yes, Natty has made some Apple-like changes &#8212; the top bar serves as a universal app menu bar, displaying the application&#8217;s menu bar (when they have one) here, instead of in the app window. Natty thus provides users the maximum possible vertical screen space.</p><div id="attachment_8233" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image06.jpg?d9c344"><img class="size-large wp-image-8233" title="Universal menu bar" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image06-590x345.jpg?d9c344" alt="Universal menu bar" width="590" height="345" /></a><p class="wp-caption-text">Universal menu bar</p></div><h2>Unity&#8217;s keyboard navigation</h2><p>Another addition with Unity is navigation for keyboard shortcuts, most of which use the Windows key. Holding down the Windows key shows numbers for each dock item; launch one by pressing the corresponding number. Tap the Windows key for a quick-search box from the upper-left corner, which lets you launch applications, search files and folders, and access system settings and utilities. For a wallpaper with a complete keyboard shortcuts listing, visit <a href="http://askubuntu.com/questions/28086/unity-keyboard-mouse-shortcuts/34876#34876">askubuntu.com</a>.</p><div id="attachment_8231" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image04.jpg?d9c344"><img class="size-large wp-image-8231" title="Quick search bar" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image04-590x345.jpg?d9c344" alt="Quick search bar" width="590" height="345" /></a><p class="wp-caption-text">Quick search bar</p></div><h2>Updated software defaults</h2><p>The Linux kernel is now the much more stable version 2.6.38.2, so users get improved overall system performance. The open source Banshee 2.0 Music Player, which replaces Rhythmbox, was originally named Sonance, until 2005. It uses the Helix and GStreamer platforms for handling media formats. It supports bookmarks, the Amazon MP3 store, video support, audio books support for libraries, metadata fix-up, integration with the sound menu, and a few more features.</p><p>Natty uses LibreOffice 3.3.2, developed by The Document Foundation, which is a fork of the well-known OpenOffice.org. With the same features as OpenOffice.org, it will be easy for users to switch to LibreOffice. Firefox 4 débuts as the default browser in 11.04. With an improved user interface, &#8220;door-hanger&#8221; notifications, a redesigned extension manager and Firefox Sync, users now have a modern browser.</p><p>The updated Software Centre, Ubuntu&#8217;s version of an app store, is already well-liked by users since the release of Ubuntu 10.10. The Ubuntu One control panel now supports selective file synchronising, and the synchronisation itself is improved. The launcher icon also displays file sync progress. In the visual improvements department, scrollbars are now &#8220;zero-size&#8221;, the icons much better, and the overall feel one of an iOS device.</p><div id="attachment_8235" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image09.jpg?d9c344"><img class="size-large wp-image-8235" title="Software Centre" src="http://cdn.linuxforu.com/wp-content/uploads/2011/06/image09-590x345.jpg?d9c344" alt="Software Centre" width="590" height="345" /></a><p class="wp-caption-text">Software Centre</p></div><h2>Things to do after installing</h2><p>First, of course, install all recommended updates using the Update Manager and restart the machine.<br /> For a pleasant Unity experience, hardware drivers must be updated, since Unity demands 3D acceleration. If Unity isn&#8217;t working, run the Additional Drivers program and activate the driver. If you have an nVidia graphics card, then you have to install it using a PPA, as follows:</p><pre class="brush: text; gutter: false">sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current nvidia-current-modaliases nvidia-settings</pre><p>When you restart your system, you should be greeted with the new Unity interface.</p><p>Install Ubuntu Tweak, which enables customising Ubuntu the way you like it, from the Software Centre, or through a PPA, as follows:</p><pre class="brush: text; gutter: false">sudo add-apt-repository ppa:tualatrix/ppa
sudo apt-get update
sudo apt-get install ubuntu-tweak</pre><h2>Basic applications you should install</h2><ul><li>GIMP</li><li>VLC</li><li>Chromium browser</li><li>Multiget, a very nice and easy direct-downloads manager for Ubuntu</li><li>Bleachbit, a system cleaner that cleans out all useless packages, freeing space on the root filesystem for better performance.</li></ul><p>If there is something you want that is not available through Software Centre, you can still download it from the Web in <code>.deb</code> format, and open it with <code>/usr/bin/gdebi-gtk</code> (you must have <code>gdebi</code> and <code>gdebi-core</code> installed). A package installer window appears; hit &#8220;Install&#8221;, and it&#8217;s done.</p><p>I enjoyed the new improvements a lot. I suggest you take the plunge and see what&#8217;s available for you in Ubuntu Linux 11.04 &#8220;Natty Narwhal&#8221;.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2011/11/ubuntu-11-10-oneiric-ocelot-review/" rel="bookmark" class="crp_title">Ubuntu 11.10 &#8216;Oneiric Ocelot&#8217; Review</a></li><li><a href="http://www.linuxforu.com/2011/07/fedora-15-vs-ubuntu-11-04-natty/" rel="bookmark" class="crp_title">Locking Horns: Fedora 15 &#8216;Lovelock&#8217; v/s Ubuntu 11.04 &#8216;Natty Narwhal&#8217;</a></li><li><a href="http://www.linuxforu.com/2011/05/gnome-3-review/" rel="bookmark" class="crp_title">GNOME 3 is Here!</a></li><li><a href="http://www.linuxforu.com/2011/12/setting-up-a-lamp-server-remotely/" rel="bookmark" class="crp_title">Setting up a LAMP Server Remotely</a></li><li><a href="http://www.linuxforu.com/2011/07/exploring-software-unity-gnome-shell-and-notification-area/" rel="bookmark" class="crp_title">Exploring Software: Unity, GNOME Shell and the Notification Area</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/3d-graphics-accelerator/" title="3d graphics accelerator" rel="tag">3d graphics accelerator</a>, <a href="http://www.linuxforu.com/tag/amazon-mp3-store/" title="Amazon MP3 store" rel="tag">Amazon MP3 store</a>, <a href="http://www.linuxforu.com/tag/banshee/" title="banshee" rel="tag">banshee</a>, <a href="http://www.linuxforu.com/tag/canonical/" title="Canonical" rel="tag">Canonical</a>, <a href="http://www.linuxforu.com/tag/document-foundation/" title="Document Foundation" rel="tag">Document Foundation</a>, <a href="http://www.linuxforu.com/tag/dual-boot-installation/" title="dual boot installation" rel="tag">dual boot installation</a>, <a href="http://www.linuxforu.com/tag/java/" title="Java" rel="tag">Java</a>, <a href="http://www.linuxforu.com/tag/lfy-june-2011/" title="LFY June 2011" rel="tag">LFY June 2011</a>, <a href="http://www.linuxforu.com/tag/libreoffice/" title="LibreOffice" rel="tag">LibreOffice</a>, <a href="http://www.linuxforu.com/tag/microsoft-windows/" title="Microsoft Windows" rel="tag">Microsoft Windows</a>, <a href="http://www.linuxforu.com/tag/migration-assistant/" title="migration assistant" rel="tag">migration assistant</a>, <a href="http://www.linuxforu.com/tag/mp3/" title="MP3" rel="tag">MP3</a>, <a href="http://www.linuxforu.com/tag/natty-narwhal/" title="Natty Narwhal" rel="tag">Natty Narwhal</a>, <a href="http://www.linuxforu.com/tag/nvidia/" title="nvidia" rel="tag">nvidia</a>, <a href="http://www.linuxforu.com/tag/openoffice-org/" title="OpenOffice.org" rel="tag">OpenOffice.org</a>, <a href="http://www.linuxforu.com/tag/rhythmbox/" title="Rhythmbox" rel="tag">Rhythmbox</a>, <a href="http://www.linuxforu.com/tag/search-bar/" title="search bar" rel="tag">search bar</a>, <a href="http://www.linuxforu.com/tag/software-centre/" title="software centre" rel="tag">software centre</a>, <a href="http://www.linuxforu.com/tag/ubiquity/" title="Ubiquity" rel="tag">Ubiquity</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.linuxforu.com/tag/unity/" title="Unity" rel="tag">Unity</a>, <a href="http://www.linuxforu.com/tag/unity-bar/" title="Unity bar" rel="tag">Unity bar</a>, <a href="http://www.linuxforu.com/tag/update-manager/" title="Update Manager" rel="tag">Update Manager</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/06/ubuntu-11-04-natty-narwhal-review/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Work Your Brain Cells with Strategy Games on GNU/Linux</title><link>http://www.linuxforu.com/2011/06/work-your-brain-cells-with-linux-strategy-games/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=work-your-brain-cells-with-linux-strategy-games</link> <comments>http://www.linuxforu.com/2011/06/work-your-brain-cells-with-linux-strategy-games/#comments</comments> <pubDate>Tue, 31 May 2011 18:52:09 +0000</pubDate> <dc:creator>Suhit Kelkar</dc:creator> <category><![CDATA[Apps]]></category> <category><![CDATA[For You & Me]]></category> <category><![CDATA[Reviews]]></category> <category><![CDATA[3D graphics]]></category> <category><![CDATA[AI]]></category> <category><![CDATA[Alpha]]></category> <category><![CDATA[Alpha Centauri]]></category> <category><![CDATA[army]]></category> <category><![CDATA[Artificial Intelligence]]></category> <category><![CDATA[civic services]]></category> <category><![CDATA[computer games]]></category> <category><![CDATA[dual-core processor]]></category> <category><![CDATA[FreeCiv]]></category> <category><![CDATA[FreeCol]]></category> <category><![CDATA[gaming]]></category> <category><![CDATA[Glest]]></category> <category><![CDATA[graphical effects]]></category> <category><![CDATA[graphics driver]]></category> <category><![CDATA[healthcare facilities]]></category> <category><![CDATA[Isaac Newton]]></category> <category><![CDATA[LFY June 2011]]></category> <category><![CDATA[LinCity]]></category> <category><![CDATA[linux gaming]]></category> <category><![CDATA[machinery]]></category> <category><![CDATA[magician]]></category> <category><![CDATA[Manitoba]]></category> <category><![CDATA[manufacturing sectors]]></category> <category><![CDATA[mining]]></category> <category><![CDATA[navy]]></category> <category><![CDATA[North America]]></category> <category><![CDATA[ore-mining colony]]></category> <category><![CDATA[players]]></category> <category><![CDATA[RAM]]></category> <category><![CDATA[simulation]]></category> <category><![CDATA[strategy games]]></category> <category><![CDATA[ubuntu]]></category> <category><![CDATA[Video Games]]></category> <category><![CDATA[Westerner]]></category><guid isPermaLink="false">http://www.linuxforu.com/?p=8817</guid> <description><![CDATA[Are you ready to accept the double-barrelled challenge of acquiring hard-to-get natural resources and confronting enemies on the rampage, while in a race against time? GNU/Linux is not all work and no play....]]></description> <content:encoded><![CDATA[<div class="introduction">Are you ready to accept the double-barrelled challenge of acquiring hard-to-get natural resources and confronting enemies on the rampage, while in a race against time?</div><p>GNU/Linux is not all work and no play. Not content with the creation of work software, the Free Software community has produced a rich selection of games, quite a few of which are as entertaining as their proprietary cousins.</p><p>Strategy games are perhaps the most imaginative and fun in the whole gaming repertoire. So are you new to strategy gaming? Fellow FOSS fan, just visualise chessmen on the board. Done? Now endow the chessmen with human life or magical powers. Put them into fantasy or historic story-lines. What you get is a strategy game. Just add a computer, and you get graphical effects to rival your own fertile imagination.</p><p>Allow such joys to unfold (after work) as you become a magician and put all comers to flame and sword in Glest. Populate the wild, wild American West and win independence from the British in FreeCol. Take the path of expansion and forge alliances or make war in FreeCiv. If peace, not war, gives you enjoyment, become an urban planner and tackle pollution to render your city idyllic, in LinCity. Here is entertainment that engages your capabilities to strategise. The best part is that all these brilliant games are free/libre software!</p><h2>Pit magic against technology in Glest</h2><div id="attachment_8821" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Glest.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Glest-590x442.jpg?d9c344" alt="A screeshot of the Glest gameplay" title="A screeshot of the Glest gameplay" width="590" height="442" class="size-large wp-image-8821" /></a><p class="wp-caption-text">Glest &#8212; Opposing factions summon dragons and golems to battle. Screenshot from the Glest website.</p></div><p>Set in a medieval era, Glest pits the minions of magic against those of technology. Whichever side you take (the other is played by the computer, or you could play with others over the Web), you&#8217;ll stockpile gold, wood and stone, maintain stocks of grain at all times, and raise a host of foot soldiers and cavalry, with reserves of armour and even flying contraptions, demons and dragons. In Glest, the rhythm is: when you are not fighting, build fighters. Finishing off opponents is the only objective (does it have to be?).</p><p>As for battles, tactically position individual soldiers or groups of them. Reconnoitre locations, lay ambush, block paths, organise battlefronts and cripple your enemy in subsequent skirmishes. In the meanwhile, try and grow your force as fast as you can, though casualties will pile up. Choose armoured or mounted fighters over unarmed foot soldiers.</p><p>Glest is just complex enough to be enjoyable. Certain fighting units require certain buildings to function. These buildings need natural resources. Natural resources need miners. But hey, soldiers are needed, too, to defend the fort during mining. And you&#8217;ll always find yourself short of time in this arms race. So, you have multiple pressures on resources, personnel and time.</p><p>How do you balance infrastructure construction with army recruitment? That is where strategic thinking is called for. The capability to quickly build a large army and to strategise in battle should lead to a win. Mind you, the Glest AI is designed to be hard to beat. You&#8217;ll need to browse the Glest manual on wikia (see below) for tips and tricks.</p><p>Unlike turn-based strategy games, Glest works in real time. It will make you think fast. There is no respite in Glest, which feels like work sometimes. Ah, but if only building magical creatures was work&#8230;<br /> Glest is recommended for fantasy and medieval history buffs. You will also appreciate Glest&#8217;s decent 3D graphics and its quality animations, which are somewhat rare in GNU/Linux. And this game is not only stable, but also fast.</p><p>A disclaimer: Glest reduces your screen resolution to 1024&#215;768. So reset the resolution every time you quit the game. But what&#8217;s a minor irritant like that when it comes with so much entertainment?<br /> This game&#8217;s on-board tutorials will teach you the game in half an hour. Extensions and addons are on <a href="http://www.glest.wikia.com/">Glest&#8217;s website</a>. Most big distributions carry the game in their software repositories; Ubuntu does. With 2 GB of RAM and a dual-core processor, the game is snappy.</p><p>More than the final results of playing this game, you enjoy the sensations of a world where magic exists and you communicate with fantastic creatures. And you won&#8217;t have to use your imagination: instead, watch dragons in action on your screen. But Glest should have had a bigger and greater storyline. Strategy games have the potential to rival the experience of fantasy-genre books. Surely the fantasy genre is about more than magical creatures and rampaging around. It&#8217;s fun, but is that enough?</p><h2>Conquer the world with FreeCiv</h2><div id="attachment_8819" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Freeciv.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Freeciv-590x333.jpg?d9c344" alt="A screenshot of thhe Freeciv gameplay" title="A screenshot of thhe Freeciv gameplay" width="590" height="333" class="size-large wp-image-8819" /></a><p class="wp-caption-text">FreeCiv: A civilisation with railroads, workers, machinery and un-upgraded swordsmen</p></div><p>If you search around the Web for FreeCiv, you&#8217;ll read of FreeCiv addiction. Strategy buffs can&#8217;t quit before FreeCiv is finished, which may amount to three to eight hours (surely the Save Game concept is real?). Maybe that is because FreeCiv has you making so many micro-level decisions, that its heart-warming graphics, its gripping complexity and its rich storyline keep you hooked at every turn.</p><p>FreeCiv has a rich story. It is based on the history of man. FreeCiv rewards you for exploring your continent. Sometimes you find advanced technology through exploration of unknown places; you&#8217;ll find villages to annex to your kingdom; or gold and friendly mercenaries. On the other hand, you might disturb a village full of hostile pirates! Meanwhile, multiple things are taking place in your kingdom.</p><p>In FreeCiv, terrain is king. Choose your sites for cities with a strategic eye, to sustain a balance between food production and natural resources. The coastal cities are good for maritime trade, but vulnerable to invasion. Forested sites are fine for harvesting raw materials but not necessarily for food production.</p><p>The better the terrain, the quicker the population grows. A growing population lets you build more cities, which speeds up the rate of scientific development and military power. Expand your kingdom further by colonising uninhabited territories, raise garrisons, optimise infrastructure production in cities, change tax rates, construct the wonders of the world (which confer manifold military and technological advantages) like the Hanging Gardens, the pyramids, Leonardo&#8217;s workshop and Isaac Newton&#8217;s college; fund research in literacy, trade, metallurgy, mathematics, physics, and naturally, build an even greater army and raise hell.</p><p>You do these things simultaneously! The unit of progress in FreeCiv is a turn; it is known as a turn-based strategy game. You shift multiple units in one turn. There are no tutorials with this game, but there&#8217;s an excellent help system.</p><p>Politics is crucial in FreeCiv. Strike alliances and keep the peace, share technology with allies, even exchange strategic cities. But note that the computer AI will revoke treaties even when you are not any threat to it. Keep upgrading your standing army. You might play other people online, which can be a violent experience by all accounts. Why can&#8217;t people just get along?</p><p>Win FreeCiv by shedding virtual blood, or, if your civilisation is sufficiently advanced, by designing a spaceship and sending it to the distant star of Alpha Centauri!</p><p>Though rich in graphics, FreeCiv does not offer 3D effects like Glest does. But when your imagination is harnessed, what difference does fancy graphics make? Being 2D, FreeCiv will run in 1 GB of RAM, though 2 GB is recommended.</p><p>FreeCiv is as much about exploration and discovery as about building and fighting. It gives you continuous thrills when your civilisation speeds up its technology development. Turn by turn, the game keeps you entertained. There lies its adventure-novel-like charm, and you&#8217;ll play it for hours on end.</p><h2>Colonise America in FreeCol</h2><div id="attachment_8820" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/06/FreeCol.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/06/FreeCol-590x368.jpg?d9c344" alt="A screenshot of thhe FreeCol gameplay" title="A screenshot of thhe FreeCol gameplay" width="590" height="368" class="size-large wp-image-8820" /></a><p class="wp-caption-text">FreeCol: A wagon train moves from a large manufacturing colony to a supporting ore-mining colony. Also seen are tribal villages and a rival&#039;s colony (in red).</p></div><p>Although FreeCol is far less complicated than FreeCiv, its historical storyline that&#8217;s based on colonisation will appeal to adults more. The remarkable game puts the player in the shoes of a sea-faring migrant to a new continent. (You won&#8217;t have to call the continent North America.) By far, FreeCol is more story-like than the previous games. You are the governor of a new colony. Again, explore the continent no Westerner has discovered, raise your colonies on prime locations, where farmland, lumber and ores are in plenty, and maintain a respectful distance from Apache, Inca, Arawak and other tribes, many of whom are less than happy at your arrival, and ultimately, make peace with them.</p><p>Of course, other Westerners want the country &#8212; so arm your settlers! And while some tribes like the Arawak and the Iroquois are friendly, and just wish to trade with you, the Apache and the Inca are excessively warlike, and might attempt extortion during hard times. Try making periodic gifts to them, and stay on their right side. Keep sufficient hi-tech weaponry like field cannons, to deal with the more hostile tribes and other colonial powers. Note that other colonial powers are more likely than the tribes to violate treaties with you.</p><p>In FreeCol, your ethics will be tested through your choices. Do you coexist with the tribes, or wage war against them? Do you extract tribute from them because you are more powerful? Do you respect their rights to their country, or run them off it? Trading with the tribes pays dividends in FreeCol. The tribes pay well for your goods, and no taxes go to the crown, which is raising an army against you.</p><p>FreeCol isn&#8217;t about mindless mayhem. Unlike most strategy games, FreeCol has the objective of winning independence from a colonial ruler. To do so, form an army and navy, and win the citizens&#8217; support by establishing a rebel government. And while you&#8217;re at it, start newspapers and printing presses to stoke a pro-freedom feeling among your people!</p><p>FreeCol&#8217;s charm is in its fantastic possibilities of alternate history. The emotions it inspires, though, feel real.</p><h2>Urban governance in non-violent Lincity</h2><div id="attachment_8822" class="wp-caption aligncenter" style="width: 590px"><a href="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Lincity.jpg?d9c344"><img src="http://cdn.linuxforu.com/wp-content/uploads/2012/06/Lincity-590x430.jpg?d9c344" alt="A screenshot of the LinCity gameplay" title="A screenshot of the LinCity gameplay" width="590" height="430" class="size-large wp-image-8822" /></a><p class="wp-caption-text">LinCity: Mines, a pottery workshop, a market and two residential buildings in a basic village</p></div><p>Technically, Lincity is not a game, but a simulation. But it&#8217;s a welcome breather after the slash-and-burn of the previous games, and it involves strategy. We&#8217;ve become a mature civilisation; now let&#8217;s make the city sustainable in Lincity. The game offers no opportunity to wage wars, since there is no military. Our foes are underdevelopment, unemployment and pollution.</p><p>Lincity is not as complicated as it looks. That is because it deals with urban concerns. Start with a blank board, with a single village or with an existing city with problems. Lincity offers you not only 3D graphics, but also sound effects that will evoke the hustle and bustle of industry, transport and city living. Your micro- and macro-management skills are tested in this real-time game. Ensure that your residential sectors are close to markets/job centres, healthcare facilities, education and civic amenities. Keep your polluting manufacturing sectors at arm&#8217;s length from residences. Match infrastructure development to income to keep the economy in the black. When you can, build a port and start exporting. Get cracking on your civic services, as your city progresses from the pottery age to the space age.</p><p>There are two ways to &#8220;win&#8221; Lincity: crafting a sustainable economy, or building a spaceship and settling another planet. With no wars or violence, Lincity charms you with its 3D cartoon-style evocation of the sights and sounds of that complex organism, the city.</p><h2>Installation instructions</h2><p>All these games are accessible by default through the software manager on your system. It&#8217;s straightforward to install the first three games. In your software manager, search for their names. In the case of Lincity, though, don&#8217;t install the package called lincity; install lincity-ng instead, and you&#8217;ll get the 3D graphics as promised. Note that these games are big downloads: Glest is about 55 MB, FreeCiv about 30 MB, FreeCol about 44 MB and Lincity about 51 MB.</p><p>Another thing: if Lincity is crashing, it&#8217;s probably due to a bug in the graphics driver on your system. Try updating to the latest driver or (shudder!) install the proprietary driver. Then donate a bit of green to the free software driver developers.</p><h3>Enjoy!</h3><p>While it&#8217;s a known fact that gaming choices on GNU/Linux are fewer than on Windows, how many games do you really need in order to have a great time? Fifty? You&#8217;ll find more than that on GNU/Linux. For a comprehensive list of games, refer to websites like <a href="http://www.linuxgames.com/">linuxgames.com</a>, <a href="http://www.tuxgames.com/">tuxgames.com</a> and <a href="http://happypenguin.org/">happypenguin.org</a>.</p><p>Technical note: To cure FreeCiv addiction &#8212; use the <code>sudo apt-get install willpower</code> command.<div id="crp_related"><h5>Related Posts:</h5><ul><li><a href="http://www.linuxforu.com/2009/09/linux-game-review-glest/" rel="bookmark" class="crp_title">Linux Game Review: Glest</a></li><li><a href="http://www.linuxforu.com/2009/09/linux-game-review-chromium-bsu/" rel="bookmark" class="crp_title">Linux Game Review: Chromium BSU</a></li><li><a href="http://www.linuxforu.com/2009/09/linux-game-review-armagetron-advanced/" rel="bookmark" class="crp_title">Linux Game Review: Armagetron Advanced</a></li><li><a href="http://www.linuxforu.com/2009/09/linux-game-review-secret-maryo-chronicles/" rel="bookmark" class="crp_title">Linux Game Review: Secret Maryo Chronicles</a></li><li><a href="http://www.linuxforu.com/2009/09/linux-game-review-battle-of-wesnoth/" rel="bookmark" class="crp_title">Linux Game Review: Battle of Wesnoth</a></li></ul></div>Tags: <a href="http://www.linuxforu.com/tag/3d-graphics/" title="3D graphics" rel="tag">3D graphics</a>, <a href="http://www.linuxforu.com/tag/ai/" title="AI" rel="tag">AI</a>, <a href="http://www.linuxforu.com/tag/alpha/" title="Alpha" rel="tag">Alpha</a>, <a href="http://www.linuxforu.com/tag/alpha-centauri/" title="Alpha Centauri" rel="tag">Alpha Centauri</a>, <a href="http://www.linuxforu.com/tag/army/" title="army" rel="tag">army</a>, <a href="http://www.linuxforu.com/tag/artificial-intelligence/" title="Artificial Intelligence" rel="tag">Artificial Intelligence</a>, <a href="http://www.linuxforu.com/tag/civic-services/" title="civic services" rel="tag">civic services</a>, <a href="http://www.linuxforu.com/tag/computer-games/" title="computer games" rel="tag">computer games</a>, <a href="http://www.linuxforu.com/tag/dual-core-processor/" title="dual-core processor" rel="tag">dual-core processor</a>, <a href="http://www.linuxforu.com/tag/freeciv/" title="FreeCiv" rel="tag">FreeCiv</a>, <a href="http://www.linuxforu.com/tag/freecol/" title="FreeCol" rel="tag">FreeCol</a>, <a href="http://www.linuxforu.com/tag/gaming/" title="gaming" rel="tag">gaming</a>, <a href="http://www.linuxforu.com/tag/glest/" title="Glest" rel="tag">Glest</a>, <a href="http://www.linuxforu.com/tag/graphical-effects/" title="graphical effects" rel="tag">graphical effects</a>, <a href="http://www.linuxforu.com/tag/graphics-driver/" title="graphics driver" rel="tag">graphics driver</a>, <a href="http://www.linuxforu.com/tag/healthcare-facilities/" title="healthcare facilities" rel="tag">healthcare facilities</a>, <a href="http://www.linuxforu.com/tag/isaac-newton/" title="Isaac Newton" rel="tag">Isaac Newton</a>, <a href="http://www.linuxforu.com/tag/lfy-june-2011/" title="LFY June 2011" rel="tag">LFY June 2011</a>, <a href="http://www.linuxforu.com/tag/lincity/" title="LinCity" rel="tag">LinCity</a>, <a href="http://www.linuxforu.com/tag/linux-gaming/" title="linux gaming" rel="tag">linux gaming</a>, <a href="http://www.linuxforu.com/tag/machinery/" title="machinery" rel="tag">machinery</a>, <a href="http://www.linuxforu.com/tag/magician/" title="magician" rel="tag">magician</a>, <a href="http://www.linuxforu.com/tag/manitoba/" title="Manitoba" rel="tag">Manitoba</a>, <a href="http://www.linuxforu.com/tag/manufacturing-sectors/" title="manufacturing sectors" rel="tag">manufacturing sectors</a>, <a href="http://www.linuxforu.com/tag/mining/" title="mining" rel="tag">mining</a>, <a href="http://www.linuxforu.com/tag/navy/" title="navy" rel="tag">navy</a>, <a href="http://www.linuxforu.com/tag/north-america/" title="North America" rel="tag">North America</a>, <a href="http://www.linuxforu.com/tag/ore-mining-colony/" title="ore-mining colony" rel="tag">ore-mining colony</a>, <a href="http://www.linuxforu.com/tag/players/" title="players" rel="tag">players</a>, <a href="http://www.linuxforu.com/tag/ram/" title="RAM" rel="tag">RAM</a>, <a href="http://www.linuxforu.com/tag/simulation/" title="simulation" rel="tag">simulation</a>, <a href="http://www.linuxforu.com/tag/strategy-games/" title="strategy games" rel="tag">strategy games</a>, <a href="http://www.linuxforu.com/tag/ubuntu/" title="ubuntu" rel="tag">ubuntu</a>, <a href="http://www.linuxforu.com/tag/video-games/" title="Video Games" rel="tag">Video Games</a>, <a href="http://www.linuxforu.com/tag/westerner/" title="Westerner" rel="tag">Westerner</a><br /> ]]></content:encoded> <wfw:commentRss>http://www.linuxforu.com/2011/06/work-your-brain-cells-with-linux-strategy-games/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Content Delivery Network via cdn.linuxforu.com

Served from: www.linuxforu.com @ 2012-02-04 10:56:12 -->
