Thursday, July 22, 2010

Dual boot Meego with Windows XP

After quite a bit of hesitation, last week I managed to install Meego onto my hard disk on EEEBox along with Windows XP. The success stories on getting dual boot on Meego aren't many (in fact none that was satisfactory to let me confidently try). Anyways, it was a pain to boot the live version on USB and reconfigure every time.

This wasn't smooth. There were at least 2 times when I thought I just lost one or more Windows partitions!! I wasn't sure how good is Meego's installer's partition manager, so did all the partitioning on Windows.

/boot -- primary partition; better to keep this primary (ext3)
/home -- logical partition (ext3)
/ -- logical partition (btrfs) - recommended by Meego for /
swap -- logical partition (swap)

Obviously, formatting was done during the Meego installation. The first time I started the install and configured all the mount points, filesystems etc., and let the installer to proceed. The installer failed half-way while formatting my / partition! Not sure if that's related to btrfs or whatever. But it failed and the installer exited. Huh! The first thing I did then was to boot into Windows and check my data (and they were in tact). Although I was actually hopeless to retry, the second try just worked! This time, I didn't have to format /boot, /home, swap as they were already formatted in the previous try - not sure if that means anything here.

Okie, the Meego install was super-fast. Takes less than 5 minutes. I believe they just copy the live image as-is to the disk and just do some post configuration. The post configuration has the boot loader part. It detected my Windows and asked about the default option etc., Sadly there is no option to configure the boot loader timeout. I purposely let Meego as my default boot, so I can fix the boot loader if some thing goes wrong (it helped). Renamed the "Other" option to "Windows" and completed the install.

When EEEBox restarted, I couldn't have even a glimpse of the boot loader. Meego was quickly on its way. I had read about this timeout issue earlier in other forums. The boot loader does not wait enough by default. The boot loader config file is in /boot/extlinux/extlinux.conf. Edit the file as root and fix the 'timeout' configuration to 100 (means 10 seconds). Also comment the "menu hidden" line by prefixing with #.

timeout 100
#menu hidden

I didn't know that a shocker was waiting. I rebooted the EEEBox and tried entering into Windows, just to see the notorious error : "NTLDR missing". I was quite scared if Meego just blew up my Windows partition. Thankfully, I vaguely remembered that during the boot loader configuration (in install), I noticed that my Windows partition was identified as /dev/sda2. I had doubted that right at that time, but I hoped Meego would do it right. Actually my Windows was on /dev/sda1 (and most Windows installations would be). But the extlinux.conf file doesn't have any mention of /dev/sda2; for that matter even "sda2". The Windows boot is done by chain.c32 and the boot partition is an argument to this image.

# this is how the conf file looked
kernel chain.c32
append boot 2

Here, the boot parameter means /dev/sdx2. As it doesn't say the disk id, it looks to me if Meego can detect only other OSes on the same disk as where Meego is installed. Hmm..

Changed the config to 'append boot 1' and got into Windows successfully. Sigh!

Though there were hickups, Meego didn't make any damage beyond repair - Happy about that at least. Now Meego automatically logs into my home Wifi without any additional config. Installed gcc, cpp, kernel-headers, kernel-source etc., It has been a week since then; never got back to it :D

Keep Moving In Life

Courtesy: Pravs World

He who is silent is forgotten.
He who does not advance falls back.
He who stops is distanced, crushed.
He who ceases to grow becomes smaller.
He who leaves off, gives up.

When you decide to stand still in life,
you mark the beginning of your end.

Monday, July 05, 2010

Meego on my Asus EEEBox

I've been planning to do this for a while, at last managed to do it this weekend -- installing Meego on my Asus EEEBox.

Meego is primarily a Linux platform for the handhelds. While Meego is under rapid development for the smartphone sector, the Netbook version 1.0 of Meego has been out for a while (more than a month). The interesting thing about Meego is that it supports two hardware architectures: ARM and IA32 (the x86). As you might have guessed, ARM is mainly for the smartphones and x86 is for the notebooks -- primarily targeting the Intel's Atom processor series. In fact, x86 Meego is supported only on Intel's Atom and Core 2. My EEEBox is Atom N270, so didn't have any issues with it.

As any other modern linux distros, Meego needn't be installed, but could be run live from USB (or whatever). One can download the image file from Meego's official website (Note: there are two versions for Notebooks, one with Google Chrome browser and the other without Chrome -- due to the need for a separate EULA from Google). The image file is a standard img file and can be burnt on to a USB stick. One can use win32diskimager on Windows or use the well-known 'dd' (dd bs=4096 if=imgfile of=usbdevice) on Linux.

Note: Burning the image file onto USB disk, will messup with the existing file system on the USB disk; so be ready to lose those files, if it wasn't obvious.

Once the USB image is burnt, it was flawless. Here are some screenshots (you are seeing my TV, as my EEEBox is connected to my TV):

Boot loader:

Boot splash screen:

From the time, I selected 'Boot Meego' at the boot loader, it did not take more than 15-18 seconds to boot and get to the Home screen. It was impressive. For a handheld, I guess this is a big plus. A quick boot and a bunch of features at the finger tip, makes sense. Unless you know it already to be a Linux variant, it is difficult to predict by its appearance.

The Home screen:

Actually once I opened a bunch of applications, this home screen has more items. It acts like a task bar to switch between various running apps. All my devices were detected and Meego had its drivers: Display, Audio, Ethernet, Wifi. The first thing I wanted was to bring it on to my Wifi network and run VNC so I can play with it remotely. My EEEBox is just a computing node with no input devices (so I had to borrow it from my desktop for a while). Setting up Wifi was easy as any other OS. It detected all the wifi networks. Key-in the password as necessary and it just connects!

Wifi Configuration:

Once connected, I was so excited to play around with the network stuff. With Google Chrome browser handy, it wasn't any different than any other OS. I wanted to try out a video from youtube, to test the graphics capabilities. I was only stunned. I even ran the video in full screen and it was hassle free. See for yourself.

I am seriously considering to use Meego when I need to use my EEEBox as a media center PC -- which is what I do most times with it connected to my TV. Primarily because it is much faster to load and light-weight. Presumably, given that it is a Linux variant, it may not be difficult to port any non-UI services to Meego (the UI framework is specific to Meego, I could see that right at first look -- in Meego terms it is called UX, User eXperience). Btw, I did install the VNC server (vino) on Meego and was able to control it from my network. There is a Linux Shell available in the menus, which is a native linux shell opening up the beast behind. 'rpm' is the package manager. It was fun!