[ULTIMATE GUIDE][SC6820/SC8810] All about Spreadrum

CREDITS:- XDA
Ultimate guide for Spreadrum sc6820/sc8810 rooting/porting/making cwm recovery/Kernel sources etc.

Every one asking me how i make universal rom & porting different roms
So here i m back with the ultimate guide for porting roms in just few minutes,comling recoveries & how to fix bugs
So Lets Start with about SC6820/8810 Chipset

SC6820 is a cheap marketing chipset provided by Spreadrum....
SC6820 is a such chipset which is not capable to power 3G,it comes with EDGE CLASS 12.....
SC8810 is also same as SC6820 the only difference is that sc8810 supports chinese forum of 3G(not for any other country)...
Most of the sc6820 is GB 2.3.5 powered by MocorDroid marked as fake 4.0 or 4.2 but still some of them are real ICS/JB....... the chipset supports 512mb ram max & it is come with single core CPU @ 1GHz & it can be overclock to 2.4GHz according to chinese developers.
SC6820 is chipset is much faster than other chipset though its drains battery like hell..... So here i m sharing some tricks/tips about SPRD...


Quote:
[GUIDE]How to root unrootable spreadtrum devices & make adb operations on it

Most of the Spreadtrum devices comes with a secured/locked boot.img which cant be rooted..
Although u can root it by force by force by VROOT but u cant do adb actions on it such as pushing files to system with adb......
So we have change something in our boot.img to make it unsecured


Requirements:
1.dsixda's Android Kitchen
2.Ur Stock boot.img
3.Notepad++
4.Little Knowledge


Steps to do:
>Unpack ur boot.img through android kitchen(cywin)[in menu Press 12 for advance option & there u will see option for unpacking]
>now goto Boot-extracted folder & open ramdisk folder
>now open default.prop in Notepad++ & Change from 

Code:
ro.secure=1
to
Code:
ro.secure=0
>Now Repack ur boot.img & flash it using fastboot

>Now ur done u can root ur Phone with any rooting tool (eg.unlock root toolkit,srs root) & do adb operations too
>Or u may State forward to this guide which contains much information about sprd

Quote:
[GUIDE]HOW TO MAKE CUSTOM RECOVERY[CWM/MIUI] FOR SC6820 

Well Compiling Recovery is though hard but for SC6820 its too easy just by porting it

Requirements:-
1.dsixda's Android Kitchen
2.Ur Stock recovery
3.MIUI or CWM Recovery provided by me
4.Little Knowledge


Steps to do:
>First download miui recovery from here or CWM recovery from here
>Make a working folder & unpack miui/cwm recovery through kitchen(It will be better if u rename recovery.img to boot.img)
>Unpack ur stock recovery too(separately)
>copy zimage from stock recovery to miui/cwm recovery.....
>repack the miui/cwm recovery,now u r done u can flash it in fastboot
>If u r still in doubt feel free it reply or attach ur stock recovery below 
Credits:-
Hadi Khouridin for miui recovery
@ElectronikHeart for this informative guide



Angry [guide]porting roms & make it universal
Quote:
[guide]how to port roms/make it universal
here i m going to share my trick how i port different roms in just few minutes.......
As sc6820/8810 is a chipset which have much similar specs with all the phones so the rom dont need much things to boot on any device
lets start


requirements:
1.7zip archiver
2.android kitchen
3.notepad++
4.brain


steps to do:
>first take the port rom which is for same chipset
>now make another folder take ur base rom(u can extract ur system.img in unyaffs tool or android kitchen u can directly copy required files from phone )
>now extract the port rom & took these files from /system/

/app (whole folder)
/framework (whole folder)
/media (whole folder)
/etc/permissions/ (whole folder except hardware_handheld & platform)
/fonts (whole)
libandroid_runtime.so , libwebcore.so (from /system/lib/)
/oem (whole folder if exists,most of the roms does not contain oem)
build.prop


>now put the above file and folders in "/system" folder & for lib make a "lib" folder inside /system & put the libraries in /system/lib, create "etc" folder inside /system folder & put "permissions" folder in /system/etc
so finally it should look like this 

/system/app/
/system/framework/
/system/lib/
/system/fonts/
/system/media/
/system/oem/
/system/etc/permissions/
./system/build.prop


>now we will make a flashable zip of the above files/folders
>get meta-inf folder from any rom/any other flashable zip
>now open updator script from meta-inf\com\google\android\ & open it with notpad++
make it blank & add these lines

Code:
ui_print("****************************************");
ui_print("* >>>>>>>>>universal rom<<<<<<<<<< *");
ui_print("****************************************");

show_progress(1.000000, 0);
ui_print("mounting filesystems...");
run_program("/sbin/busybox", "mount", "/system");
set_progress(0.100000);

ui_print("deleting files...");
delete_recursive("/system/framework"); 
delete_recursive("/system/app"); 
delete_recursive("/system/media");
delete_recursive("/system/fonts");
ui_print("extracting files...");
package_extract_dir("system", "/system");
set_progress(0.300000);

ui_print("setting permissions...");
set_perm(0, 0, 0644, "/system/lib/libandroid_runtime.so");
set_perm(0, 0, 0644, "/system/lib/libwebcore.so");
set_progress(0.400000);
set_progress(0.500000);
set_progress(0.700000);

# unmounting filesystems...
Run_program("/sbin/busybox", "umount", "/system");
set_progress(0.900000);

set_progress(1.000000);
ui_print("****************************************");
ui_print("*          install complete!           *");
ui_print("*         reboot your device           *");
ui_print("****************************************");
>now save it & make a zip archive of system & meta-inf folder in 7zip & set compression level to normal

>now u can flash the universal rom in cwm......... 


some additional information:-
*if rom have a oem folder than it must contain a oem.prop which need to be work the rom buglessly although the rom can boot without its oem but still it will lead some bugs & the rom who have oem they have the bootanimation in the oem folder....
Oem folder/oem.prop does not works unless we define it in our default.prop @boot.img

[color="rgb(221, 160, 221)"]so what we have to:[/color]
-unpack the boot.img
-open default.prop in notepad++ & add this code to the bottom of defaul.prop

Code:
ro.oempath=/system/oem
-now save the default.prop & repack boot.img
-now u r done u can see the bootanimation now
*u can make flashable zip of ur boot.img
-just take meta-inf from any where & open updater-script in notepad++
make it blank & add these lines

Code:
ui_print("installing please wait");
assert(package_extract_file("boot.img", "/tmp/boot.img"),
       write_raw_image("/tmp/boot.img", "boot"),
       delete("/tmp/boot.img"));
show_progress(0.2, 10);
-save updater-script
-now make zip archive of meta-inf & boot.img at compression normal
-ur done u can flash it in cwm


happy porting 
if u still faced any trouble u can comment below we will help u 
Although u can make universal rom/port roms easily from the above method but u cant port some critical roms like lewa with this method so u have to try the ultimate porting method given below to port any rom but its not universal & not recomended for noobs xd
Quote:
[guide][dev]ultimate guide to port roms 
well as i know porting is easy than modding apps xd
its takes lot of time to make a rom by modding all the stock apps which i know better  but porting arom is work of minutes or may be a year depends upon u 
in this guide i will tell u how to port lewa or bee os or any other roms which u failed on the above method......
So lets start


requirements:
1.7zip archiver
2.android kitchen (cywin)
3.notepad++
4.brain


note:- u cant port roms from different chipset(it does not mean its impossible ) & u cant port roms having differnt sdk version(eg. Gb to jb,its possible only through source codes ), u can port roms from sc6820 to sc8810 or sc6820 to sc6820 or sc8810 to sc8810,u can port too from hdpi to mdpi & mdpi to hdpi(only if u know decompiling/modding apps),for porting ram & cpu clock speed does not matter.

steps to do:
>take any of ur stock based roms & extract to a folder & name it "base"
>take the rom which u want to port & extract it to a folder & name it "port"
copy these files from stock to port

from /system/bin
akmd8975
tc
netd
wpa_supplicant
hciattach
bluetoothd
bccmd


from /system/lib
hw(whole folder)
modules(whole folder)
egl(whole folder)
libhardware.so
libhardware_legacy.so
libbluetooth.so
libbluetoothd.so
libbluedroid.so
libctest.so
libdbus.so
libdiskconfig.so
libeng_wifi_ptest.so
libclient.so
lisensorservice.so


[size="3"]from /system/etc[/size]
bluetooth(whole folder)
dhcpcd(whole folder)
firmware(whole folder)
wifi(whole folder)
handheld_core_hardware.xml (from permissions)
platform.xml(from permissions)
vold.fstab


from from /system
sps(whole folder)
usr(whole folder)


>now open build.prop of port rom & change device name,version to ur desired one
>atlast take boot.img from ur stock rom....
>now repack the rom in 7zip by selecting compression normal
>ur done,it should boot now  


additional steps for porting lewa:-lewa os cant boot with ur stock boot.img,so u have to made some changes in ur boot.img(@init.rc) toboot lewa
u have to change its bootclass path to boot lewa......
>unpack ur stock boot.img in a working folder using android kithen
>now open ur init.rc (in ramdisk) with notepad++ & search for the line 

Code:
 export bootclasspath
>now select the whole line as shown in the image below

change the whole line to this
Code:
export bootclasspath /system/framework/core.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar:/system/framework/core-junit.jar:/system/framework/lewa.policy.jar:/system/framework/lewa.systemservice.jar
>now save ur init.rc & repack ur boot.img
>now lewa should boot with this boot.img 
If booted take a bear lol 

credits:
hadi khoirudin for his patch rom methods
& ofc me


U can take some roms from below links to port as very less custom roms are available for sc6820... so me & Somnath made some amazing roms by modding stock apps 
Links:-
http://forum.xda-developers.com/show...php?p=53610668
http://needrom.com/

Quote:
fixing known issues/bugs 
well my porting methods should not lead bugs as the procedure contains much from ur stock...
But still if u flash a rom of a clone of ur device or what ever u port leads bugs then these are the steps to fix.....
Take these files from ur stock 


boot
libandroid_runtime.so ( if rom did not boot with port lib)
libandroid_servers.so

wifi
libhardware_legacy.so - it contains the driver path of wifi
from modules 8723as.ko or unifi_sdio.ko or may be other - these are the drivers to load wifi
if u are confused what is ur wifi driver then do these steps
>open libhardware_legacy.so in notepad++ & search for /system/lib/modules/ the name(*****.ko) u will find after that is ur wifi driver
libeng_wifi_ptest.so :- important to work wifi properly
from binaries(/system/bin) copy these
wpa_supplicant - for this u can scan networks
synergy_wifi_attach - important
synergy_service
netd
eng_setbtwifiaddr
engmodemclient
engservice
engtest
from /etc/
dhcpcd- for this u will be able to find networks
wifi - important
firmware - most important


bluetooth
libhardware_legacy.so
libbluedroid.so
libbluetoothd.so
libbluetooth.so
from binaries
bluetoothd
synergy_service
netd
eng_setbtwifiaddr
engmodemclient
engservice
engtest

from /system/etc/
bluetooth
firmware


headset
headset.ko from /system/lib/modules

rotation
libsensorservice.so
sensors.sprdbp.so (from /system/lib/hw)
android.hardware.sensor.proximity.xml (from /etc/permissions)

gpu
egl folder (from /system/lib)
mali.ko (from modules)
gralloc.mali.so (from hw)


hardkeys/softkeysusr folder (from /system)

touch
sps folder (from /system)
Angry SC6820/SC8810 Kernal Sources by Hadi
Well Every one knows Micromax or Karbon are not releasing their source codes for their phone & most of the cheap phones comes with a Spreadtrum Chipset.....
But now ur wait is over 
Developers Get ready for the war as we got Kernal sources.....
A big thanks @Hadi_K.t(t_t)t for sharing the source codes of Spreadtrum Sc6820

Kernal Source Codes SC6820 GB


[Guide]Compiling Kernal with source codes using ubuntu 

Comments