Wednesday, November 25, 2009

A First Peek at Google's Chrome OS

Last Thursday, Google Inc. introduced Chrome OS aka Chromium OS, to the public with quite considerable fanfare. The news enjoyed universal coverage in the media. Chromium OS is an operating system that the company is developing on its own as an open source effort. Sources and build directions are now easily accessible.

I gave it try. In short, Chromium OS consists of a Debian-derived operating system using a Linux 2.6 kernel and Google's Chrome browser. It is meant to run on personal computers with the i386 architecture with either 32- or 64-bit processors. With the packages Google includes, the compressed install image is roughly 800 megabytes in size and takes up 2.8 gigabytes of disk space expanded.

The distribution is open to customization. Adding applications is possible. Only, the packages have to comply with the Debian distribution format.

Obviously, Chrome OS is meant to run bare-bones on very thin clients. Non-essential applications and data are intended to be stored elsewhere in the cloud. The small footprint and, hopefully, the ensuing speed may harbor this operating system's greatest strengths, potentially turning Chrome OS into a powerful, cost-efficient tool for corporate users.

In view of the current governmental push for patient record digitization, the health care sector appears particularly suited. I regularly visit a large academic outpatient clinic. Every examination room is equipped with a conventional stand-alone personal computer connected to an intranet. Across the entire hospital campus, these computers must number in the thousands. In such environment, thin clients appear superbly suited to drastically diminish cost for hardware, software and IT maintenance. Here, Chrome OS may provide a rich resource.

The build instructions for Chrome OS on the Chromium project site are straight forward. I compiled the system with Ubuntu's Karmic Koala (9.10) hosted on a work station with two 64-bit AMD Opteron 246 processors. The hardware is described in detail in my post dated May 22, 2008. I opted not to compile the Chrome browser myself. Instead, I downloaded the pre-built package available from Google and copied it to the build directory as directed in the Chromium project documentation. Do not omit to provide a user name and a shared user password. They may be essential for log in and system administration later.

The build process unfolded uneventful. However, complications arose, when I had to decide how to actually run the Chrome OS.

Google provides two options to ready the successful build for installation. One method uses a bootable USB 1-gigabyte flash memory drive, from which the system can be installed on a dedicated computer. For this procedure to work, USB devices have to be enabled in the boot list of the bios first.

The other installation option bundles the build in a VMware image named ide.vmdk.

Since I did not wish to dedicate a computer to testing Chrome OS quite yet, I chose this option. Eventually, I managed to install the image on a virtual personal computer emulated with qemu-kvm (version 0.11.0). Unfortunately, the emulation slows operations down considerably. Regardless, the procedure worked sufficiently fast for preliminary exploration.

I used qemu with the following options on the command line to start the emulator:
  • qemu-system-x86_64 -localtime -m 256 -vga std ide.vmdk

The screenshots below illustrate the sequence of steps I encountered starting up Chrome OS.

After a successful boot, the system introduces itself with a login screen.

I used my preset shared user password to log in. After we are signed in successfully, the Chrome browser launches. automatically.

We may browse the web or start our web applications.

Not too bad at this point!

Alas, I was not able to bring Chrome OS up to speed with qemu. I found a satisfactory solution in virtualbox. This emulator, however, does not accept the format of ide.vmdk. It has to be converted to vdi. The conversion takes two steps: We have to convert the Chrome OS vmdk image to a raw image with the suffix .bin with two commands in the directory where the image resides:
  1. We have toconvert the Chrome OS vmdk image to a raw image with the suffix .bin using qemu-img convert  ide.vmdk chrome_os.bin
  2. Then, we convert the raw image into a vdi image using a virtualbox tool with the command VBoxManage convertdd chrome_os.bin chrome_os.vdi

If we have not installed virtualbox yet, we shall be instructed to do so using sudo apt-get while trying to execute the second command.

After opening the virtualbox graphic user interface with the command virtualbox, we attach the vdi image as a hard drive from the menu by clicking Add in the Hard Disks tab under File > Virtual Media Manager. We locate and select the chrome_os.vdi image and click Open. Once the image has been added to the list, we click OK, and continue to create the remaining virtual machine profile. I reserved 256 megabytes as Base Memory. The operating system is Linux. The version is 2.6. The rest is set by default or optional. Now, Chrome OS is ready for boot.

Virtualbox is also available for Apple Macintosh computers with the intel architecture. Following the same steps as above, I successfully installed Chrome OS using the vdi image in virtualbox on a Mac Mini running OS X 10.5 (Leopard).

The emulator runs Chrome OS on both computers surprisingly fast. 

Related Posts:

Related Links:

Monday, November 23, 2009

Chinese Drywall: kleiner Hinweis!

Auf Grund des rasanten Immobilienpreisverfalls in den amerikanischen Golfanrainerstaaten und des zur Zeit niedrigen Dollarkurses bereisen wachsende Zahlen deutscher Interessenten Florida auf der Suche nach günstigen Ferienbehausungen.

Sollten Sie den Ankauf einer Immobilie in Florida ernsthaft in Erwägung ziehen, achten Sie darauf, daß bei Reparaturarbeiten keine Rigipsplatten aus China verwendet worden sind.

Die tropischen Stürme der letzten Jahre haben an vielen Gebäuden an der Golfküste beträchtliche Wasserschäden hinterlassen. Der enorme Bedarf an Baumaterial hatte die Liefermöglichkeiten heimischer Hersteller schnell erschöpft. Importeure, zum Teil aus Deutschland, sprangen mit Billigware ein. Vielfach wurden zur Wandinnenverkleidung Kartongipsplatten aus China eingebaut.

Es stellte sich schnell heraus, daß diese Rigipsplatten stark korrosive Stoffe (vor allem Schwefelwasserstoff und Formaldehyd) in hoher Konzentration enthalten. Dies führte in kurzer Zeit zu erheblichen Schäden an elektrischer und sanitärer Installation. Darüber hinaus klagen einige Bewohner über chronische Gesundheitsbeschwerden.

Die Rigipsplatten müssen in diesen Häusern letztendlich ausgetauscht werden. Die geschädigte Infrastruktur, inklusive Heizung und Klimaanlage, muß ersetzt werden. Die Umbauarbeiten sind mit erheblichen Kosten verbunden, die keine Versicherung erstattet.

Bestehen Sie deshalb vor dem Kauf ihres Ferientraumes im Sonnenscheinstaat auf eine rechtsgültiges Gutachten, daß bei Instandsetzungsarbeiten keine chinesischen Rigipsplatten verwendet worden sind. Falls dies der Fall gewesen sein sollte, müssen die Schäden adequat behoben sein. Gutachten und Schadstofftests sind vor Ort erhältlich. Immobilien ohne Zertifikat sind weder versicherbar, noch weiterverkäuflich!

Anhang
  • Immobilienversicherungen sind in Florida recht teuer, insbesondere an der Küste. Wasserschäden sind in Minimalversicherungspolicen nicht inbegriffen. Die staatliche Zusatzversicherung deckt Windschäden ab. Es ist darauf wertzulegen, sich neben Feuerschäden auch gegen Wasserschäden abzusichern. Schäden durch starken Regen und Flutwasser treten in Florida häufig auf. Mit ihnen muβ gerade bei tropischen Stürmen gerechnet werden. Je nach Lage und Wert der Immobilie kann eine Versicherungsprämie $15.000.-  im Jahr überschreiten. 

Lesestoff zum Thema:

Friday, September 25, 2009

Netgear WG311v2 Wireless Adapter & 64-bit Operating Systems

I was trying to make a Netgear WG311v2 wireless PCI adapter connect to our Apple MB763LL/A AirPort Extreme Dual-band Base Station router using WPA password protection. I am running Ubuntu 9.04 (Jaunty Jackalope) on a machine with two AMD Opteron 64-bit CPUs. Note the card works out of the box with the driver provided by ubuntu on unprotected networks as well as on networks with WEP password protection, but not with WPA password protection.

I spent a whole week on the idea of adding WPA capability with the result that VERSION 2 of the adapter JUST WILL NOT work with this option on machines with 64-bit processors, because nobody compiled drivers for the 64-bit architecture. This simple truth applies to ALL wireless adapters based on the TEXAS INSTRUMENTS ACX100/111 aka TNETW1450 chipsets, regardless of brand, and also applies to ALL Windows 64-bit operating system users.

The careful examiner will already notice this bitter truth on the adapter label shown on the Netgear support site. On the label of WG311v2, you will find 32-bit PCI. They mean it! By contrast, WG311v3 uses a Ralink chipset, for which 64-bit drivers are available.

Ubuntu 9.04 supports WG311v2 cards on the AMD 64-bit architecture, using the drivers that the Acx100 sourceforge project provides. This project develops Linux drivers for the acx100/111 chipset without help from manufacturers. In my situation, this meant that the card was immediately recognized after boot and the driver was loaded. I could configure the default wlan0 connection with a WPA key in NetworkManager (0.7.0.100). The spinning wheel in place of the network icon on the menu bar indicated repeated attempts to associate with the router. However, the connection was never successfully established.

I reckoned that perhaps NetworkManager did not set up the WPA password properly and delved into the use of WPA_supplicant for setting up a connection without using NetworkManager. This ubuntu geek tutorial was instructive. Still I could not associate the card with the router.

I decided that perhaps the driver module provided with the ubuntu distribution did not support WPA. I began to search for alternatives. Since Netgear claimed on their site that WPA was supported by their latest driver software (version 2.0.0.7), perhaps there was a way to use their driver.

I happened upon Ndiswrapper. This application wraps windows wireless adapter drivers into a Linux module. Because I could use a wired internet connection temporarily, I was able to install version 1.9 with ubuntu's Synaptic Package Manager. I found good instructions how to proceed on this ubuntu forum here. Most importantly, in order to load the new ndiswrapped acx module successfully, you need to blacklist the old module provided by ubuntu in /etc/modprobe.d/blacklist.conf. The name of the module to be blacklisted is "acx".

Ndiswrapper recognized the card correctly and installed the Netgear driver without complaint.  However, the command sudo modprobe ndiswrapper failed.

Why?

Because the Netgear driver was not compiled for a 64-bit architecture.

Remember the label on the card says "32-bit"! The constraint does not stem from the hardware, but from the unavailability of a compatible driver. I checked with all other adapter manufactures using this chipset. No luck!

So unless the next version of ubuntu's acx driver will support WPA, consider buying a new adapter card, making sure that the manufacturer provides drivers for a 64-bit architecture. Since most adapters are available in several versions, make sure to pick the correct one. Remember the difference between Netgear's WG311v2 and WG311v3, I noted above? You may have to check the label on the pci card.  Once you obtained an adapter with a 64-bit driver, you may use ndiswrapper, if ubuntu does not support the options you want out of the box.

If I am not mistaken, 64-bit Microsoft Windows users (be it XP_64, vista or windows 7) will run into this incompatibility-of-driver problem as well.