Instructions for https://android-build.linaro.org/builds/~linaro-android_snowball-jb-gcc47-igloo-stable-blob/

= Get artifacts =

  Scroll down to the 'Downloads' section

  Click on each link to download:
    target/product/snowball/boot.tar.bz2
    target/product/snowball/system.tar.bz2
    target/product/snowball/userdata.tar.bz2

  Accept the end-user license agreement

= Get linaro image tools =

  Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools

  $ sudo add-apt-repository ppa:linaro-maintainers/tools
  $ sudo apt-get update
  $ sudo apt-get install linaro-image-tools

  If you're using a released build (with a -release or from releases.linaro.org), skip this step.
  If you're using a "tip" build do not skip the step and do the following:

  $ sudo apt-get install bzr
  $ bzr branch lp:linaro-image-tools

= Create media (SD card) =

  Disable automount (instructions provided for Gnome)

  $ TMP1=$(dconf read /org/gnome/desktop/media-handling/automount)
  $ TMP2=$(dconf read /org/gnome/desktop/media-handling/automount-open)
  $ dconf write /org/gnome/desktop/media-handling/automount false
  $ dconf write /org/gnome/desktop/media-handling/automount-open false

  Insert an SD card

  Run 'dmesg'

  $ dmesg

  Look for a line that looks like the following at the end of the log

  [288582.790722]  sdc: sdc1 sdc2 sdc3 sdc4 < sdc5 sdc6 >

  WARNING: In the next step, make sure you use /dev/"whatever you see above".
           You can erase your hard drive with the wrong parameter.

  Run linaro image tools

  $ linaro-android-media-create --mmc /dev/sdc --dev snowball_sd --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2

  If you're using tip of linaro image tools

  $ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdc --dev snowball_sd --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2

  Restore automount

  $ dconf write /org/gnome/desktop/media-handling/automount $TMP1
  $ dconf write /org/gnome/desktop/media-handling/automount-open $TMP2

  Remove the SD card from the device writer and plug it into the board.

= Check console output =

  Plug in an USB-to-serial converter and run minicom

  $ minicom -D /dev/ttyUSB0 -w -C minicom.txt

= Notes =

 * Note 1 - Outdated U-Boot

   During the 12.05 cycle, U-Boot changed and must be upgraded in eMMC if your
   boot line is older than: U-boot 2012.04.01 (May 24 2012 - 19:50:12)

   If you only want to be able to boot from the SD card and don't care about
   booting from the eMMC (internal flash), the quick solution is to do:

   $ sudo linaro-android-media-create --image-file snowball.img --image-size 1500M --dev snowball_emmc --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
   $ sudo riff -f snowball.img

   If you don't have riff, follow the instructions below to install it.

   If you want to be able to boot from the eMMC, you need to modify a few lines
   in init.partitions.rc file.

   $ mkdir temp
   $ cd temp
   $ mv ../boot.tar.bz2 .
   $ tar xjf boot.tar.bz2
   $ cd boot
   $ mkdir temp
   $ cd temp
   $ mv ../uInitrd .
   $ dd if=uInitrd of=initrd.gz bs=64 skip=1
   $ gunzip initrd.gz
   $ mkdir init
   $ cd init
   $ cpio -i < ../initrd

   Open the init.partition.rc file and follow the instruction in the file

   $ sudo find . | cpio -o -H newc | gzip > ../newinitrd.cpio.gz
   $ mkimage -A arm -O linux -T ramdisk -C gzip -a 0 -e 0 -n initramfs -d ../newinitrd.cpio.gz ../uInitrd.new
   $ cd ../..
   $ cp temp/init/uInitrd.new uInitrd
   $ rm -rf temp
   $ cd ..
   $ tar cjf boot.tar.bz2 boot
   $ cd ..
   $ mv temp/boot.tar.bz2 .
   $ rm -rf temp

   Download startupfiles from
   http://www.igloocommunity.org/download/linaro/startupfiles/latest

   $ tar -xvf startupfiles_3.0.8-0.tar.gz
   $ linaro-android-media-create --image-file snowball.img --image-size 1500M --dev snowball_emmc --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2

   $ sudo add-apt-repository ppa:igloocommunity-maintainers/snowball-tools
   $ sudo apt-get update
   $ sudo apt-get install riff

   (OPTIONAL) Remove the PPA

   $ sudo add-apt-repository --remove ppa:igloocommunity-maintainers/snowball-tools

   Turn off the board

   $ sudo riff -f snowball.img

   Connect your board using the OTG USB port (next to power supply port) to
   your PC
   Turn on the board
   Riff will detect the board and start the execution
   When execution is finalized riff will exit

   On the first boot, the user interface can take up to 10 minutes to come up.
   Please be patient. If the board doesn't come up, you might be affected by
   https://bugs.launchpad.net/bugs/823313 bug.

 * Note 2 - ADB only works over IP

   In the console type:
     stop adbd
     setprop service.adb.tcp.port 6565
     start adbd
     ifconfig eth0 # to get boardsIP

   On the host type:
     adb connect boardsIP:6565
