If you like my work, please consider donating!

SAPPHIRE 0.6.2 DROID (Froyo)

Release Information

ROM Sapphire
Device Droid
Version 0.6.2
Status Release
OS Android 2.2 (Froyo)
License Android: (GPLv2 + Apache), Sapphire: (GPLv2)
Download sapphire-0.6.2-update.zip
Mirrors MediaFire
MD5 0c5133baa65160ad57b510438741d610

License Agreement

The core of Android is released from AOSP under a combination of the Apache and GPLv2 licenses. Sapphire is released under the GPLv2 license, which can be found below:

Sapphire ROM - A custom Android OS built from AOSP
Copyright (C) 2010 Austen Dicken (CVPCS)

This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2 of
the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not,
write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Core Features

Below are a list of the core features provided by Sapphire 0.6.2 (for a list of changes since 0.6.0, view the changelog at bottom of the page):

  • Base Features
    • Built from source
    • Fully zipaligned
    • Fully deodexed
    • Fully optipnged
    • Adobe FLASH support Download
  • Kernel Features
    • Overclocking started automatically at boot time (regardless of whether SetCPU is there or not)
    • Proper working “modprobe” command (makes loading/unloading kernel modules easier)
  • Command-Line Tools
    • Vixie-CRON low-level task scheduler (command-line task scheduler)
    • Colored BASH shell (simply type “bash” after entering adb shell or terminal emulator shell)
    • NANO text editor with syntax highlighting (simply type “nano” using a terminal emulator [syntax highlighting for asm, c, css, html, java, php, sh, xml, and more])
    • Busybox (lots of fancy tools and stuffs)
  • Apps
    • Superuser (provides root access)
    • Spare Parts app (allows for some nice tweaking)
    • Dev Tools (good for developers)
    • App2SD works
    • Native IM app
  • ScriptyBox (scripts!)
    • adblock (turns ads on or off in the browser/apps)
    • camsounds (turns camera shutter/record sounds on or off)
    • cpuinfo (display CPU info)
    • freemem (ensure that 50, 75, or 100 mb of RAM is always available)
    • halt (shuts down the system)
    • meminfo (display memory info)
    • mtdinfo (display internal system partition info)
    • rmapk (remove various APKs, such as amazon mp3 and whatnot)
    • sysro (mounts the system partition read-only)
    • sysrw (mounts the system partition read-write)
    • swapinfo (displays swap space info)
    • switchapk (downloads and swaps between various apps, i.e. milestone and 2.1 music, without the need to put them on the sd card)
    • zipalign_apks (zipaligns ALL apks on the entire system)
  • Other Tweaks
    • Increased wireless scan time to 90 seconds (saves battery life)
    • Reboot to recovery option
    • Ability to pick colors for notification texts (in spare parts)
    • Reduced ring delay
    • FLAC support
  • Branding
    • Custom boot animation (looks pretty slick if i say so myself)

Known Issues

Notification Bar Transparency

For those interested in trying out theming this rom, Froyo source removed the ability to have a translucent notification bar. This has already been fixed in my repositories, however it did not make it into this release. That being said, the update IS included in the provided themes (as what's a theme without a transparent notification bar? haha). This is only a problem for people attempting to create a custom theme. You can find a copy of the updated services.jar file in any of the theme packages below, so if you wish to create a theme that uses translucency on the notification window, then be sure to grab that file from one of the provided themes and include it in yours.

Kernels

Below are the supported kernels for this ROM. Feel free to take your pick!

The ROM itself provides a kernel from Bekit that provides 7 slots from 125-800mhz at low voltage, but some users have experienced problems with it. It is recommended that you ONLY DOWNLOAD THE BELOW KERNEL IF YOU ARE HAVING PROBLEMS WITH THE INCLUDED ONE. The below kernel was released with Debugging symbols and it WILL completely fill your /system partition.

Special thanks to P3Droid for all of his hard work on any of the kernels you see below!

Download Mirrors Minimum Speed Maximum Speed Voltage Slots
7x1000LV MediaFire 125mhz 1000mhz Low 7

Overclocking your phone can be dangerous and is guaranteed to increase the likelyhood that it will become unstable. If you are experiencing random hard-reboots or force-closes, consider trying a kernel either with a higher voltage, or a lower clock speed. I personally recommend kernel 7x1000LV, as it provides good speed with good stability, and longer battery life.

Themes

Below are the various themes that have been set up to work with Sapphire 0.6.2. For screenshots of these themes in action, check out the screenshots section on this page!

Download

Theme Installation

Because of how theming is done in android, it is recommended that you always apply a new theme by first reverting back to the stock theme (as themes tend to change different things and don't always overlap). The easiest way to do this is to download both the Stock theme, as well as the theme you want, and then apply them in that order.

Installation of themes is done using update.zip format. As such, simply download the desired theme file to /sdcard/update.zip and then apply it.

Many themes require that text colors be changed as well using the Spare Parts app. It is recommended that you make these changes PRIOR to installing the theme, as the changes themselves require a reboot anyway to take effect. For suggested values for the text colors, check out the theme's corresponding screenshot page.

It is recommended that you WIPE THE CACHE before installing a theme. This simply promotes stability and will prevent some unnecessary problems when you reboot.

Screenshots

Below are some pages linking to screenshots of the system, under various themes. Enjoy!

Installation

Installation is performed using the standard update.zip installation method. The steps of which are:

  1. Download the update.zip file at the top of this page
  2. Reboot your phone into recovery mode
  3. MAKE A BACKUP OF YOUR PHONE
  4. Optionally reset phone to factory default (THIS STEP IS REQUIRED IF YOU CURRENTLY ARE RUNNING A NON-FROYO ROM)
  5. Push sapphire-0.6.2-update.zip to /sdcard/update.zip
  6. Tell your recovery to allow update.zip installation
  7. Install from /sdcard/update.zip

If you plan on installing a new kernel or theme, simply follow the same steps as above with those zip files.

The first time you boot Sapphire will also be the longest. This is because it must rebuild the dalvik cache to use the system. Please give it a fair amount of time (anywhere from 1 to 10 minutes) for this to occur.

Occasionally the system will be unstable following the initial boot of the system. This is generally caused by the dalvik cache being rebuilt, and can often be solved by simply rebooting the phone after the system has fully booted initially.

Report a Bug / Request a Feature

All bug reports and feature requests will be done through Bugzilla, an issue tracker hosted on this site. It requires a valid email to register (which is only used for tracking which users have what bugs), and provides a much better interface to report and track problems or features.

You can find the Sapphire Bugzilla here: CVPCS Sapphire Bugzilla

Donations

As a starving college student, I do this on my free time simply because I love it and want to provide something great to the community. That being said, I would love to be able to devote more time to doing this as a living. If you like the work that I do, please consider making a contribution!

Changelog

Below is the changelog for the system.

A copy of the entire changelog for the system is always included on the device itself at /system/etc/CHANGELOG-SR.

0.6.2:
    Re-added compcache executable
        NOTE: compcache support is not yet enabled in the kernel, so although
        the executable is there, unless you load a new kernel with compcache
        support.  Expect support in the next kernel.

    Fixed a control race condition for bluetooth [cyanogen]
        There was a race condition that would cause connections to fail for
        certain bluetooth devices.  Kudos to cyanogen's team for finding this
        error as well as the fix.

    Other tweaks:
        Reduced ring delay [cvpcs]
        Re-added FLAC support [cyanogen]
        Re-added the droid notification sound back [cvpcs]
        Updated to wpa-supplicant 0.6.x [koush]
        Added ChromeToPhone app [cvpcs]

    Modified ContactProvider overlay [cvpcs]
        removed erraneous unrestricted packages that were preventing facebook
        from syncing to contacts properly

0.6.1:
    Modified scriptybox [cvpcs]
        updated to be relevent to froyo
        added Visual VM to rmapk

    Switched to bekit's kernel [bekit]
        seems to provide more stability for wifi.  also includes various other
        modules that weren't included before

    Fixed a problem with the qwerty touchscreen file not being found [cvpcs]
        didn't really seem to cause any problems, but hey, i hate that it was
        spitting out errors to the log...

    Other tweaks:
        Optipng-ed the whole system [cvpcs]
        Re-added native IM app [cvpcs]

0.6.0:
    Updated to AOSP source for Froyo [cvpcs]
        this update was hell in and of itself to get going, so lots of thanks to
        Sniffle and Koush, as well as support from anyone else! :D

0.5.2:
    Modified SpareParts [cvpcs]
        added ability to customize text colors for download notifications

    Fixed MMS [cvpcs]
        provided proper carrier file (credit to cyanogen for the file itself) to
        properly connect to verizon

0.5.1:
    Added Color Picker in Spare Parts [cvpcs (modifications)]
                                      [cyanogen (base work and commit)]
        provides a method to set the various text colors in the notifcation and
        status bars

    Modified scriptybox [cvpcs]
        added commands:
            help (must invoke as "scriptybox help")
                provides an easy way to get information about the various commands
                included in scriptybox, without actually running those commands
        modified commands:
            {all}
                all commands were updated so that if you run them as:
                  [command] --help
                they will be guaranteed to print out their usage information

    Added command line knock executable [cvpcs]
        provides low-level port knocking functionality without the need for an app

    Other tweaks:
        optipng'ed the entire system [cvpcs (redone with optipng)]
                                     [cyanogen/koush (base optimizer scripts)]

0.5.0:
    Modified scriptybox [cvpcs]
        modified commands:
            mtdinfo
                added code to ensure that the proper functions actually get called
            rmapk
                added code to remove IM

    Other tweaks:
	added new Sapphire brand bootanimation [cvpcs]

0.4.6:
    Added native IM app [pete? (found in one of pete's forums)]
        app to connect to MSN, Yahoo!, and AOL messenger, originally natively included
          with android.

    Modified scriptybox [cvpcs]
	added commands:
            mtdinfo
                displays information about all of the internal system partitions

    Other tweaks:
        changed default kernel to STOCK (no overclock) [cvpcs]
        added basic support for ROMManager [cvpcs]

0.4.5:
    Modified scriptybox
        fixed sysro syncing issues [pete]

0.4.4:
    Modified scriptybox [cvpcs]
	finished changing scriptybox to be bash-based
        fixed a minor typo in the script
	fixed a problem with switchapk not getting the system to recognize the change

    Other features:
        added regular "Reboot" option [cvpcs]
        moved "Reboot into Recovery" under "Reboot" option [cvpcs]

    Other tweaks:
        re-added unknown terminfo file [cvpcs]

0.4.3:
    Modified scriptybox [cvpcs]
        switched over to the new bash shell to make scripts more sleek and managable

0.4.2:
    Added nano text editor [cvpcs]
        provides a simple text editor for use in modifying text files from
          the command line
        provides basic syntax highlighting to common source files such as:
          asm, c, css, html, java, perl, php, sh, xml, and more

    Added Bourne Again SHell (bash) [cvpcs]
        provides a bash shell with much more feature support than the native
          system shell
        is dynamically linked to reduce size, as opposed to other roms which
          use a statically linked bash shell
        provides basic color highlighting features
        set as default shell

    Modified compcache [cvpcs]
        fixed a bug where the ramzswap module would not unload on stop

    Modified scriptybox [cvpcs]
        fixed a bug where scriptybox wouldn't mount the system read-only on some occassions

    Other features:
        added native FLAC support [kruton]
        added "Reboot into recovery" option to power dialog [cvpcs]

    Other tweaks:
        moved wminput from /system/bin to /system/xbin [cvpcs]

0.4.1:
    Modified scriptybox [cvpcs]
        fixed several typos
	fixed bug in switchapk command
        changed internal structure

0.4:
    Switched to default android-omap-2.6.29-bekit_sapphire kernel [cvpcs]
                                                                  [bekit (base)]
        provides overclocking of 250-1000mhz at low-voltage, is patched for
        compcache support, and also includes the following modules:
            cifs, ext2, ext3, ext4, fuse, isofs, jfs, nfsd, nfs, ntfs,
            ramzswap, reiserfs, squashfs, tiwlan_drv, xfs
        also supports wired and wireless tether

    Replaced stock Launcher2 [sniffle]
        provides more columns in the app drawer
        based off helix launcher2

    Added vixie-cron task scheduler [cvpcs]
        ported the vixie-cron (cron) task scheduler to android.  this allows for
        system-level processes to be run periodically whenever the phone is on.
        search google for "cron" to learn more about how this works.  system
        cron tab should be placed at /data/cron/systab.

    Modified scriptybox [cvpcs]
        fixed some typos
        added new commands:
            adblock [cvpcs (speed increase for blocking)]
                    [pete (original blocklist)]
                turns ad blocking on or off
            halt [cvpcs]
                replacement for "shutdown" command
            switch [cvpcs]
                replaces certain apps with replacement versions of them (such as
                2.1 music and milestone music)
        modified commands:
            rmapk
                fixed code to remove the Amazon MP3 app
                added code to remove the AlarmClock app
                added code to remove the Music app
        removed commands:
            shutdown
                removed because it is renamed to "halt"

    Modified init process [cvpcs]
        added script to enable ondemand overclocking upon boot
        added script to start cron daemon if a systab exists

    Other features:
        added animated gif support to webkit [cyanogen]

0.3:
    Added default android-omap-2.6.29-sapphire kernel [cvpcs]
                                                      [AdamZ (base)]
        provides overclocking of 250-1000mhz at low-voltage, is patched for
        unionfs support, is patched for compcache support, and also includes
        the following modules:
            unionfs, squashfs, cifs, xfs, ext2, ext3, ext4, reiserfs, isofs,
            jfs, nfsd, nfs, ntfs, fuse, ramzswap, tiwlan_drv
        also supports wired and wireless tether

    Added scriptybox [cvpcs]
        provides a busybox-like interface to many different command scripts that
        implement a barrage of features.  these commands are:
            camsounds [pete]
                turns the camera shutter and video sounds on and off
            cpuinfo [cvpcs]
                displays information about the cpu
            freemem [cvpcs (added default setting)]
                    [pete (base)]
                ensures that stale processes are killed to keep a specific
                amount of RAM available
            dalvikjit [cvpcs]
                enables or disables JIT compiling in the Dalvik Virtual Mahcine
                (requires a reboot)
            meminfo [cvpcs]
                displays information about memory in the system
            rmapk [cvpcs (streamlined the script)]
                  [pete (idea for the scripts)]
                removes certain applications from the system if they exist
            shutdown [cvpcs]
                powers off the system without reboot
            sysro [cvpcs]
                mounts the system partition read-only and syncs the system
            sysrw [cvpcs]
                mounts the system partition read-write
            swapinfo [cvpcs]
                displays information about swap partitions in the system
            zipalign_apks [cvpcs (streamlined the process)]
                          [pete (base)]
                zipaligns all APKs on your entire system

    Added a custom init system [cvpcs (customizations)]
                               [cyanogen (base ideas)]
        provides a series of scripts that get ran upon boot
        added the following scripts:
            00 - banner: prints a banner upon boot to the syslog
            10 - sysrw: mounts the system partition read-write for the 1* 
                        script block
            11 - depmod: sets up the kernel module directory to ensure that
                         modprobe works
            19 - sysro: remounts the system read-only
            99 - ready: notifies the system that our init process is finished

    Added some tweaks:
        increased the wireless scan interval to 90 seconds [cvpcs]
        increased the default video record quality [fede]

    Other features:
        switched to ChainsDD's Superuser [chainsdd]
        added a default ringtone [cvpcs]

0.2:
    Added custom init.rc [cvpcs]
        provides a way to customize the boot process

    Other features:
        added HQ YouTube app [pete]

0.1:
    Added Superuser [cyanogen]
        provides root access via su

    Added busybox [cvpcs (removed need for modified bionic)]
                  [cyanogen (base)]
        provides a large set of command line executables

    Added libc-ext [cvpcs]
        provides syscalls not included in bionic used by busybox

    Created cvpcs vendor [cvpcs (customizations for my custom build)]
                         [cyanogen (base vendor setup)]
                         [koush (base device setup)]
        removed the need for koush's motorola/sholes-open device or cyanogen's
        vendor/cyanogen vendor setup.

    Customized build setup [cvpcs]
                           [cyanogen (used his ideas for build.prop overrides)]
        modified the build setup from scratch to support some extra features.

    Added CWiid library [cvpcs]
        provides support for connecting wiimotes to the phone via bluetooth

    Other features:
        added custom boot animation [cvpcs]
 
releases/sapphire-0.6.2.txt · Last modified: 2010/08/04 23:53 by Austen Dicken
 
Except where otherwise noted, content on this wiki is licensed under the following license:GNU Free Documentation License 1.2
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki