If you like my work, please consider donating!

SAPPHIRE 0.5.0 DROID (Eclair)

Release Information

ROM Sapphire
Device Droid
Version 0.5.0
Status Beta
OS Android 2.1-update1 (Eclair)
License Android: (GPLv2 + Apache), Sapphire: (GPLv2)
Download sapphire-0.5.0-update.zip

NOTICE: There was a minor bug in the original release of this software. If, upon installation, you find yourself unable to sign into your google account, please re-download the package as it has been updated to fix the problem. If you have not yet downloaded the package, don't fear, the download link above is the right one! I apologize for this inconvenience.

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.5.0:

  • Base Features
    • Built from source
    • Fully zipaligned
    • Fully deodexed
  • Kernel Features
    • Custom kernels based on BEKIT (provides many extra modules for various cool 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)
    • Support for wired/wireless tether
    • Compcache (provides in-RAM compressed swapspace to help improve performance)
  • Extended Features
    • Support for Animated GIFs
    • Reboot option in the power menu (screenshots: menu, confirmation)
    • FLAC music file support
  • 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)
    • Cwiid library (full wiimote/extension connectivity support)
  • Apps
    • Superuser (provides root access)
    • Custom Launcher2 (customized launcher2 based off helix's launcher2)
    • Spare Parts app (allows for some nice tweaking)
    • Dev Tools (good for developers)
  • 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)
    • dalvikjit (enable or disable JIT [unstable, this is still eclair after all])
    • 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
    • HQ Youtube (defaults to high quality, use preferences to view in normal quality)
    • Increased wireless scan time to 90 seconds (saves battery life)
    • Increased default video record quality
  • Branding
    • Custom boot animation (looks pretty slick if i say so myself)

Kernels

I have provided various kernels with various overclocking speeds for your convenience. Simply apply these update.zip files after applying the general sapphire install.

Although my ROM is designed to work well with ANY eclair kernel, I HIGHLY RECOMMEND THAT YOU STICK WITH THE KERNELS PROVIDED BELOW. The reason for this is that they are complete, customized, recompiles of bekit's default sholes kernels, and some modules that certain system features use may not be present if you do not use these kernels.

Special thanks to bekit for his awesome kernels and terrific source tree setup, which made making my customizations much easier.

Download Minimum Speed Maximum Speed Voltage Slots
STOCK (included by default) 125mhz 600mhz Standard 5
7x800LV 250mhz 800mhz Low 7
7x800SV 250mhz 800mhz Standard 7
7x1000LV 250mhz 1000mhz Low 7
7x1000SV 250mhz 1000mhz Standard 7
7x1100LV 250mhz 1100mhz Low 7
7x1100IV 250mhz 1100mhz Intermediate 7
7x1100SV 250mhz 1100mhz Standard 7
7x1200LV 250mhz 1200mhz Low 7
7x1200IV 250mhz 1200mhz Intermediate 7
7x1200SV 250mhz 1200mhz Standard 7
7x1300LV 250mhz 1300mhz Low 7
7x1300IV 250mhz 1300mhz Intermediate 7
7x1300SV 250mhz 1300mhz Standard 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

Themes are on the way, I am planning on supporting Dark Edge as well as Smoked Glass Blue (from v6.0.1).

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-ECLAIR ROM)
  5. Push sapphire-0.5.0-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.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.5.0.txt · Last modified: 2010/08/04 23:54 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