Sunday, December 13, 2009

Boot ChromiumOS from Grub

ChromiumOS-cherry can be easily imaged to a usb-key and booted from there using the syslinux bootloader that comes with this image.
However, just for conformity with the other OSes I have on my EeePC 901, I started booting ChromiumOS (pn a 2GB usb-key) from the Grub1 that I have on Ubuntu Karmic on a SSD partition.
This involved just copying the vmlinuz and initrd.img files from /boot on the C-ROOT partition (/dev/sdc2 for me) on the usb-key to /boot/chromeos/ on the Ubuntu root partition (/dev/sdb2 for me).
Then when I include this stanza in Ubuntu's /boot/grub/menu.lst, I can easily boot to ChromiumOS on the usb-key.

title Google ChromeOS 2.6.30-chromeos-intel-menlow
root (hd1,1)
kernel /boot/chromeos/vmlinuz-2.6.30-chromeos-intel-menlow root=/dev/sdc2 append quiet console=tty2 initrd=initrd.img init=/sbin/init rw noresume noswap loglevel=1
initrd /boot/chromeos/initrd.img-2.6.30-chromeos-intel-menlow

I then found that others in the Google Groups ChromeOS Discuss forum were having trouble booting Chromium from Grub.
So, I did a little fiddling around and found three other ways this can be achieved. I include them all here and each stanza works perfectly. In each case the Ubuntu root partition on the SSD is /dev/sdb2 (hd1,1) and the ChromiumOS C-Root partition on the usb key is at /dev/sdc2 (hd2,1):
title ChromiumOS Chainloader
root (hd2,1)
chainloader +1

title Google ChromiumOS -- boot files on usb key
root (hd2,1)
kernel /boot/vmlinuz-2.6.30-chromeos-intel-menlow root=/dev/sdc2
append quiet console=tty2 initrd=initrd.img init=/sbin/init rw
noresume noswap loglevel=1
initrd /boot/initrd.img-2.6.30-chromeos-intel-menlow

title Google ChromiumOS --- generic boot files on usb key
root (hd2,1)
kernel /boot/vmlinuz root=/dev/sdc2 append quiet console=tty2
initrd=initrd.img init=/sbin/init rw noresume noswap loglevel=1
initrd /boot/initrd.img

No comments:

Post a Comment