Virtual Guru's Blog – Home of Virtualization Workshops

November 2, 2010

12minutes: Installing Chromium OS to local internal SSD drive without USB flash

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 7:39 pm

12 Minutes: Chromium OS Chromium OS can be install directly to second dedicated drive without need to create and boot USB flash disk.

Last Update for: 0.9.131.8 2010/12/22 1943-a1

1. Detect local dedicated SSD disk

I have attached locally to first s-ata channel on Intel chipset a dedicated 16GB RunCore s-ata II 2.5″ disk
(more…)

October 27, 2010

12minutes: Updating and Rebuilding Chromium OS image on ATOM nettop HW using REPO

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 7:19 pm

12 Minutes: Chromium OS Chromium OS is developer version so you will need time to time to Update and Rebuild Chromium OS image. This entry present skeleton how to do it.

First I will recommend look in chromium-os-dev forum for PSA announcements – these are important changes which can affect process of Updating and Rebuilding your Chromium OS image.

Update: Important PSA announcements are now part of repo sync final report.

Last Update for: 0.9.130.9 2011/01/02

(more…)

12minutes: Chromium OS FAQ: Building (Compiling) of Chromium OS is SLOW !!!

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 6:23 pm

12 Minutes: Chromium OS Based on discussion in chromium-os-discuss some tips how to debug Chromium OS Building (Compiling) seed !!!.

Issue:

Peoples perceive then Building (Compiling) of Chromium OS is SLOW !!!.

Answer:

Generally IDEALLY you need for smooth compiling of Chromium OS good Internet connection, Powerful 64bit CPU and Lot of Memory (+ fast disk) :-) .
(more…)

October 15, 2010

12minutes: Chromium OS FAQ: Evaluating in Virtualization QEMU/KVM, VMware and Virtualbox

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 4:13 pm

12 Minutes: Chromium OS Procedure for creating virtual images change recently, so here is my steps:

Last Updated for: 0.9.85 2010/10/16 1739

Chromium OS use embedded design with focus on small amount of platforms – boards.
If you don’t have compatible with Chromium OS , Virtualization can be a vital alternative.
Chromium OS is for a 32bit OS so you can probalyl run it OK on wide range of Virtualization platforms.

Many evaluators are surprised them Virtualization Tools from concrete platform can’t be installed on Chromium OS due to embedded design with Read-Only Root approach.

1. Virtual Images are now created inside of chroot

whoami
 chronocb

cd ~/chromiumos/src/scripts/

repo sync

 ./image_to_vm.sh --help
  This script must be run inside the chroot. Run this first:
    /buildarea/chromiumos/src/scripts/enter_chroot.sh

(cros-chroot)$ ./image_to_vm.sh --help
USAGE: ./image_to_vm.sh [flags] args
flags:
  --board:  Board for which the image was built (default: 'x86-generic')
  --[no]factory:  Modify the image for manufacturing testing (default: false)
  --[no]factory_install:  Modify the image for factory install shim (default: false)
  --[no]force_copy:  Always rebuild test image (default: false)
  --format:  Output format, either qemu, vmware or virtualbox (default: 'qemu')
  --from:  Directory containing rootfs.image and mbr.image (default: '')
  --[no]full:  Build full image with all partitions. (default: false)
  --[no]make_vmx:  Create a vmx file for use with vmplayer (vmware only). (default: true)
  --mem:  Memory size for the vm config in MBs (vmware only). (default: 1024)
  --rootfs_partition_size:  rootfs parition size in MBs. (default: 1024)
  --state_image:  Stateful partition image (defaults to creating new statful partition) (default: '')
  --statefulfs_size:  Stateful partition size in MBs. (default: -1)
  --[no]test_image:  Copies normal image to chromiumos_test_image.bin, modifies it for test. (default: false)
  --to:  Destination folder for VM output file(s) (default: '')
  --vbox_disk:  Filename for the output disk (virtualbox only). (default: 'os.vdi')
  --vdisk_size:  virtual disk size in MBs. (default: 3072)
  --vmdk:  Filename for the vmware disk image (vmware only). (default: 'ide.vmdk')
  --vmx:  Filename for the vmware config (vmware only). (default: 'chromiumos.vmx')
  -h,--[no]help:  show this help (default: false)

(more…)

12minutes: Chromium OS Internals: Disk lauout of GPT partitions on USB and on DISK after install

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 1:49 pm

12 Minutes: Chromium OS Chromium OS uses GPT with legacy bootloader (syslinux), see more in design doc Disk format and boot process

Here are outputs from modified freeBSD cGPT tool inside Chromum OS build chroot and gdisk / fdisk directly from Ubuntu host:
(more…)

October 14, 2010

12minutes: Installing Ubuntu 10.04 LTS for regular Chromium OS compiling and HW test

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 2:45 pm

12 Minutes: Chromium OS To build a Chromium OS yourself you need a 64bit Linux OS, I also try Fedora 13 64bit, but for this 2 reasons I stick with Ubuntu 10.04 LTS

1. Because most developers are use a Ubuntu
2. Because kernel in Chromuim OS is based on Ubuntu LTS source tree

Installing Ubuntu Desktop 10.04.1 LTS 64bit

Having very similar kernel can help me in way, then I can troubleshoot all HW issues in Ubuntu directly,
for many debugging tasks I will need a GUI so this is why I choose Desktop version.

I use a default installation of Ubuntu Desktop 10.04.1 LTS 64bit

For regular building Chromium OS I create a dedicated partition as /buildarea (you need keep in ming then Chromium OS images have couple GB each) and I make SWAP on third partition,
because Chromium OS build setup put on third partition root file system by default,
so this setup preventing me from incidentally start Ubuntu root from Chromium OS kernel.

sudo fdisk -l /dev/sdb

  Disk /dev/sdb: 80.0 GB, 80026361856 bytes
  255 heads, 63 sectors/track, 9729 cylinders
  Units = cylinders of 16065 * 512 = 8225280 bytes
  Sector size (logical/physical): 512 bytes / 512 bytes
  I/O size (minimum/optimal): 512 bytes / 512 bytes
  Disk identifier: 0x0005d926

     Device Boot      Start         End      Blocks   Id  System
  /dev/sdb1   *           1        3647    29294496   83  Linux
  /dev/sdb2            3648        9461    46700955   83  Linux
  /dev/sdb3            9462        9729     2152710   82  Linux swap / Solaris

 df -h
  Filesystem            Size  Used Avail Use% Mounted on
  /dev/sdb1              28G  8.2G   18G  32% /
  /dev/sdb2              44G   21G   22G  49% /buildarea

Looking what HW we have on my build and evaluation machine

I use a single HW for Chromium OS building and evaluation Used $250 HW for compiling and evaluation of Chromium OS – on Single Machine, so here is some information about this HW from Ubuntu:

(more…)

October 13, 2010

12minutes: Chromium OS FAQ: VMware ESX is not supported by default kernel ?

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 8:50 am

12 Minutes: Chromium OS Based on discussion in chromium-os-discuss looks like there is not all needed drivers included in default x86 board.

Issue:

I was hoping to run it directly on ESXi 4.1. I’m sure I can start with any VM format that works and convert it with vCenter Converter as needed.

Answer:

I was preparing some OpenSolaris JeOS based images for variety of formats including ESX 3.5 so here is my 2 cents:

First issue (if I remember it correctly and is still valid for ESX4.x). ESX don’t support IDE based disks as VM storage and virtual ide controller is only used for CD, so I think then main issue here will be then vCenter Converter will convert disk to SCSI type, but Chromium OS don’t have needed SCSI driver (drivers are reduced to get smaller and faster images).

Second issue can be change in changed CHS mapping, I saw past sometimes during IDE – SCSI conversion changes in CHS geometry so some Linux VMware player images with GRUB legacy don’t boot after conversion due this.

Yes, true is Chromium OS use as legacy loader Syslinux 3.x and GPT which protective partition by definition ignore CHS (and partition boot flag), but on some BIOSes this combination make strange thinks from simple not booting to even system just hang right after you plug drive in !

Here is all needed VMware drivers in Linux(Gentoo) Gentoo VMware Guest

VMware LSILOGIC need Fusion MPT driver in Linux

I see in todays default Chronium X86 kernel
“CONFIG_FUSION is not set”
See Linux kernel fusion

So there is SCSI disks support needed by USB disks anyway, but not needed LSI driver.

Trick is then Chromium OS today don’t use initrd, all drivers need to be in kernel so kernel size is limited by amount of included drivers, may be this is design decision because Chrome OS is to be produced per “device” ?

It can be easily tested in Desktop products when LSI (FUSION) driver is included:

1. Start original ide image in VMware Workstation in IDE mode, check if boot OK
2. Convert disk to SCSI and move it to LSILOGIC SCSI adapter
3. Start converted SCSI image in VMware Workstation or Player

Is ESX 4.x finally supporting booting OS from IDE disks ?

Yes, IDE controler is there in ESX and you can connect Virtual CD-ROM there.

Unless is specially stated somewhere is ESX 4.x release notes as new feature, IDE disks are not supported in ESX due to poor IDE perfomance and scalability, but it can work for it.

From VMware vCenter Converter Standalone 4.0.1 Release notes:

What’t new
– IDE support
— Support for vSphere 4.0 as source and destination targets:

From ESX 4.0 release notes:

An IDE hard disk added to a hardware version 7 virtual machine is defined as Hard Disk 1 even if a SCSI hard disk is already present
If you have a hardware version 7 virtual machine with a SCSI disk already attached as Hard Disk 1 and you add an IDE disk, the virtual machine alters the disk numbering. The IDE disk is defined as Hard Disk 1 and the SCSI disk is changed to Hard Disk 2.

Sou you can try change disk type on converted disk manually back to IDE, reattach it as IDE and try it.

Converting a virtual IDE disk to a virtual SCSI disk

PS: I am working on x86 Chromium OS DEMO prototype where one image can be used for various IDE disk based virtualizations and direct usb boot with GRUB2 loaded and GPT protective partition converted to comply also CHS mode.
I will use as legacy boot loader GRUB2 because in will allow better debug various issues and it has better old BIOSes compatibility.

September 24, 2010

12minutes: Chromium OS Internals: How to start X application = Using aterm to copy outputs directly to blog ?

Filed under: 12minutes, best_practices, ChromeOS — Tags: , — natiku @ 8:01 pm

12 Minutes: Chromium OS Devel version of image have installed useful tools like aterm which is running under X ,
so we can copy commands and their outputs directly to Blog opened in Chrome Browser.

Get to shell first

Ctrl-Alt-t
shell

You now have text terminal with X session

echo $DISPLAY
   :0.0
xdriinfo
   screen 0: i915
xdpyinfo | grep visual: | wc -l
  57

Start aterm in background with scroll back buffer 99000 lines and exit shell

 aterm -sl 99000 &
[1] 1796
disown %1
exit
exit

Now you can switch between Chrome and aterm – copy – paste stuff

Use Alt - Tab to switch windows
Select text in aterm with left click and mouse over
Paste in blog text filed with middle mouse button

September 22, 2010

12minutes: Chromium OS Internals: Installed packages and their sizes on default devel image

Filed under: 12minutes, ChromeOS — Tags: , — natiku @ 3:00 pm

12 Minutes: Chromium OS Let’s look for complexity of Chromium OS from JeOS (reduced install) point of view,
so we can compare it later with my past OpenSolaris X JeOS reduction targets:

Getting Number of installed packages

equery --quiet list '*'| wc -l

368

Issue with layered dev_image and equery size

equery size vim
Traceback (most recent call last):
  File "/usr/local/bin/equery", line 38, in 
    equery.main()
  File "/usr/local/lib/python2.6/site-packages/gentoolkit/equery/__init__.py", line 345, in main
    loaded_module.main(module_args)
  File "/usr/local/lib/python2.6/site-packages/gentoolkit/equery/size.py", line 192, in main
    display_size(matches)
  File "/usr/local/lib/python2.6/site-packages/gentoolkit/equery/size.py", line 82, in display_size
    size, files, uncounted = pkg.size()
  File "/usr/local/lib/python2.6/site-packages/gentoolkit/package.py", line 343, in size
    file_inode = st.st_ino
UnboundLocalError: local variable 'st' referenced before assignment

equery files vim

/usr
/usr/bin
/usr/bin/rview
/usr/bin/rvim
/usr/bin/vim
/usr/bin/vimdiff
/usr/lib

which vim

/usr/local/bin/vim

# /usr/local is layered from dev image from statefull partition
export ROOT=/mnt/stateful_partition/dev_image/

equery files vim
/mnt/stateful_partition/dev_image/usr
/mnt/stateful_partition/dev_image/usr/bin
/mnt/stateful_partition/dev_image/usr/bin/rview -> vim
/mnt/stateful_partition/dev_image/usr/bin/rvim -> vim
/mnt/stateful_partition/dev_image/usr/bin/vim
/mnt/stateful_partition/dev_image/usr/bin/vimdiff -> vim
/mnt/stateful_partition/dev_image/usr/lib

equery size vim
 * app-editors/vim-7.2.303
         Total files : 7
         Total size  : 1.72 MiB

unset ROOT

Is there any RIGHT way we can find which packages are layered using dev image ?

Installed packages with their descriptions

(more…)

September 5, 2010

12minutes: Building Chromium OS image in 12 steps on ATOM nettop HW using REPO

Filed under: 12minutes, ChromeOS — Tags: , — natiku @ 7:02 pm

12 Minutes: Chromium OS Here I will like to share my experience compiling and building Chromium OS image on
relatively low power ATOM netbook or nettop like HW using new REPO command.

Chromium OS is 32 bit system, but you need a 64bit Linux system to build it on,
you can also utilize tricks for low power systems bellow on old 64bit Duron/Athlon with similar power of my nettop like
1.6Ghz ATOM 230 and D510 configurations

Here is my 12 steps for Compiling and Building Chromium OS USB Image:

Last Update for: 0.9.125 2010/11/20 1314

Timing notes: Build process access Internet, my connection is DSL 3Mbit which I can in most cases fully utilize.

(more…)

September 3, 2010

12minutes: How will Web OSes and Web Desktops change Cloud Usage Patterns ?

Filed under: 12minutes, best_practices, ChromeOS, cloud — Tags: , — natiku @ 7:20 pm

12 Minutes: Chromium OS On CloudCamp & CloudExpo Prague 2010 we spend significant time during coffee breaks mapping how future of Cloud
based services and solutions will be influenced by new type of users which will live truly just in Cloud..

We identify then Web OSes and Web Desktops will plays a significant role in this user behavior shift.

(more…)

August 31, 2010

12minutes: Which compression is best for sharing Chromium OS images ?

Filed under: 12minutes, ChromeOS — Tags: , — natiku @ 6:47 pm

12 Minutes: Chromium OS Which compression is best for sharing Chromium OS images with my friends?

Motivation – Most my fiends have strong download size limits

Well, in Europe is common then you have from one hand relatively fast DSL connection, but from other hand you have strong monthly transfer limits in size of single gigabytes. In this situation each megabyte counts and if I wont to share my Chromium OS images with friends which don’t have time to compile itself (or even don’t know how to do it) i need to focus on possible size savings.

Various compression of default Chromium OS image

I use for it this comparison my Chromium OS development system based on Intel Atom Used $250 HW for compiling and evaluation of Chromium OS and my previous experience with OS compressed images like Mapping possible Space and Time savings by using SMP aware (threaded) compression Utilities ? or Compressed ZFS Stream sizes in various compressing programs and OVF

Also some Intel Atom platforms compression benchmarks can be useful:

Intel Atom N550 vs. N450 : 7Zip Benchmarks, Dual Core vs. Single Core PineTrail Fight

NOTE: Chromium OS encrypt sensitive user information!

Compressing a file after encryption is inefficient. The ciphertext produced by a good encryption algorithm should have an almost statistically uniform distribution of characters. As a consequence, a compression algorithm should be unable to find redundant patterns in such text and there will be little, if any, data compression. In fact, if a data compression algorithm is able to significantly compress encrypted text, then this indicates a high level of redundancy in the ciphertext which, in turn, is evidence of poor encryption.

So already used (after login and browsing) Chromium OS image can be much larger then default one you get right after build process.

Measuring various compression of default Chromium OS image

Uncompressed size of default right after Chromium OS images is 1802MB, what minimal compressed image I can get ?
(more…)

August 28, 2010

12minutes: Used $250 HW for compiling and evaluation of Chromium OS

Filed under: 12minutes, ChromeOS — Tags: , — natiku @ 7:58 pm

12 Minutes: Chromium OS My Configuration of used $250 HW for compiling and evaluation of Chromium OS

Motivation for Chromium OS Compiling

Some time ago I was participating in Web Kiosk project based on Linux and low power VIA Epia platform, it just launch Web browser (Firefox) in X and was controlled by touchscreen, we use Gentoo to be able quickly build customized fully manageable systems. Chromium OS project also using a Gentoo ebuild system, so it will like to evaluate whole Chromium OS building process too.

Motivation for Single Evaluation system

I share my big computer with my family, so I will like to have dedicated system for Regular Linux Desktop, Chromium OS and Jolicloud evaluation, which can also build and update Chromium OS over night regularly.

Motivation for used parts

Main motivation surprisingly is not overall system price, but having system which is currently represent a MAIN STREAM of target user base – here Intel ATOM platform users.

My current $250 HW Expenditure Limitation !

I am now freelancer with very small free money, so I will try to keep budget on this project low as possible.
I am in Europe and used parts are here even cheaper because they don’t have 20% VAT (Value Added Tax)

Netbook, Nettop or Custom Intel ATOM system ?

Most supported platform in Vanilla Chronium OS are Intel Atom platforms with Intel Graphic cards, see Chronium OS – Developer Hardware

Netbook:

For about $199 I can get used Asus EeePC 901 netbook with 8.9″ screen, but unfortunately Chromium OS can build today only on 64bit Linux System.

Pity, first generation of netbooks based on Atom Diamondville platfrom have only single-core Atom N270 at 1.6Mhz but without needed 64bit support.

Integrated Nettop:

I can get for $300 used dual-core Atom N330 with Nvidia platform, it’s 64bit, but Nvidia ION is not supported by Chronium OS.

Plus integrated nettop’s are not upgradable same way as netbooks, so they are not good protection of my investment over time.

Custom Nettop (mATX):

To achieve greater flexibility in configurations we can have also custom systems based on variety of mATX (microATX) motherboards and cases.
Most of this systems are produced as Barebone systems (pre-assembled OEM units), but similar systems can be easily assembled directly from part.

Custom ATOM based netbook like system ?

I will start with First Intel Atom generation Diamondville N2xx and 2xx/3xx lines (Introduced in 2008), netbooks are single-core only.

So I will build custom system based on Atom 230 (1.6Ghz, 64bit capable) (now -> D510) on mATX sized motherboard with 2 disks
(one regular IDE for compiling and second SSD for Chromium OS evaluation) and 1GB of installed memory are really minimum,
this system will be closes to first generation of notebooks with single core Atom 270 based HW like Asus EeePC 901 or similar.

Later I will like to use a second Intel Atom generation Pineview N4xx and D4xx/D5xx lines (Introduced in 2010), netbooks will be also dual-core.

See more in 7 Facts About Intel’s Pineview and Pine Trail and New Intel Atom Pineview/Pinetrail slaps Nvidia

Benchmark: Intel Atom N550 vs. D510 vs. N450 – Pine Trail Platform Pineview CPU Battle !
Benchmark: Intel Atom D510 vs. N450 vs. D410 – Pine Trail Platform Pineview CPU Battle !
Benchmark: Intel Atom D525 vs. D510 vs. N270 – Pine Trail Platform Pineview CPU Battle !

Later on I can switch to next generation ATOM D525 1.8Ghz DDR3 like Gygabyte GA-D525TUD to match Asus Eee PC 1215N netbook.

So I now update to newer, but still used Atom D510 + MN10 1.6Ghz real dual core system Gygabyte GA-D510UD mATX motherboard.
I can use for it older cheaper used DDR2-800Mhz memories and current IDE disk, plus IDE / SSD disk will be on separate channels.
This system based on Atom D510 will better match upcoming Atom N550 based netbooks, with performance close to nettops.
Acer, Asus, Lenovo, Samsung, LG, MSI, Fujitsu or Toshiba promise netbooks based on new dual-core Atom N550 platform.

Anyway Nettop’s are also on target Chrome OS to work on tablets, netbooks, laptops and PC? and Chrome OS Nettops – Why Not?

Here is my custom Atom D510 based system for $250 partially from Used parts

(more…)

Theme: Shocking Blue Green. Blog at WordPress.com.

Follow

Get every new post delivered to your Inbox.

%d bloggers like this: