Friday, November 27, 2009

Moblin vs Chrome OS

I compared Moblin 2.1 and Chrome OS before time.

Project page
Moblin 2.1: http://moblin.org
Chrome OS : http://www.chromium.org/chromium-os

Kernel
Moblin 2.1: 2.6.31(-netbook, -ivi, -menlow, -mrst)
Chrome OS : 2.6.31(-chromeos-intel-menlow) but It isn't included psb driver
Currently, I think this kernel is for netbooks, CULV laptops

Base distribution
Moblin 2.1: Original
Chrome OS : Ubuntu Karmic

Kernel parametor
Moblin 2.1: vga=current quiet root=/dev/sdx (no initrd)
Chrome OS : (USB) quiet console=tty2 initrd=initrd.img init/sbin/init boot-local rootwait root=LABEL=C-ROOT ro noresume noswap i915.modeset=1 loglevel=1
(HDD) quiet console=tty2 init/sbin/init boot-local rootwait root=/dev/sda ro noresume noswap i915.modeset=1 loglevel=1

Both of them uses ply-image for boot splash.

Boot loader
Moblin 2.1: GRUB1
Chrome OS : extlinux

Fast boot
Mobln 2.1: ~10sec
Chrome OS: ~5, 6sec? Anyway USB boot is faster than Moblin. this was as fast as HDD boot. And Boot Booster for EeePC is enabled by second partition of EFI.

Device Boot Start End Blocks Id System
/dev/sdb1 1 618 4962143+ 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sdb2 618 739 972800 ef EFI (FAT-12/16/32)
Partition 2 does not end on cylinder boundary.
/dev/sdb3 * 739 860 972800 83 Linux
Partition 3 does not end on cylinder boundary.
/dev/sdb4 860 982 972800 83 Linux
Partition 4 does not end on cylinder boundary.

Some applications
Moblin 2.1: connman 0.45, clutter 1.0.8
Chrome OS : connman 0.42, clutter 0.9

Maybe there are Chrome OS packages in the following.
chronos@localhost:~$ dpkg -l | grep chrome
ii chromeos-acpi 0.1 chromeos acpi scripts
ii chromeos-assets 0.3 Chrome OS platform assets
ii chromeos-chrome 0.1 chromeos chrome
ii chromeos-connman 0.3 connman
ii chromeos-cryptohome 0.1 Helper scripts which smooth the integration
ii chromeos-init 0.3 Chrome OS init scripts
ii chromeos-installer 0.1 Chrome OS installer
ii chromeos-libcros 0.1 Chrome OS plug-in library for Chrome
ii chromeos-login 0.4 Chrome OS login manager
ii chromeos-monitor-reconfig 0.1 Small module that will reconfigure an extern
ii chromeos-pam-google 0.10 Linux-PAM module to authenticate against Goo
ii chromeos-ply-image 0.1 Chrome OS boot splash image loader.
ii chromeos-screenlocker 1.0-1 Screen locker configuration for Chrome OS.
ii chromeos-wm 0.4 Chrome OS window manager
ii chromeos-wpasupplicant 0.1 wpasupplicant
ii e4fsprogs-git 1.41.9-1chromeos1 statically-linked version of the ext2/ext3/e
ii linux-image-2.6.31.4-chromeos-intel-menlow 002 Linux kernel binary image for version 2.6.31
ii slim 1.3.1-chromeos3 desktop-independent graphical login manager
ii xscreensaver 5.0.8-chromeos2 Screen locker for Chrome OS
ii xserver-xorg-video-openchrome 1:0.2.903+svn758-0ubuntu1 X.Org X server -- VIA display driver

Installer
Moblin 2.1: moblin-installer(anaconda)
Chrome OS : chromeos-installer(installation script)
this script deletes all partition. so It's no flexibility.

Misc
Chrome OS is splitted 3 partitions. one is data cache partition, two is EFI partition for Boot Booster. three is rootfs parition. /home to tmpfs to mount as. I think that is for appliance more than Moblin. As you know, Moblin is supported Atom processor based Netbooks, Entry-level PCs, MIDs, and In-Vehicle Infortainments. Long time ago, I suggested moblin should define security. e.g SELinux, AppArmor and son. But currently, Moblin is no defined. I think It's no good. :-(