mastafunk said:
Well lets start from the beginning. Does this phone even have a charge_only_mode? If pluged in when off does it fire off a battery meter?
If so is there a file called /system/bin/charge_only_mode. If so is this file a softlink to a file called /system/bin/hijack?
Is /system/bin/hijack actually there?
Those are pretty much the prerequisites for setup....
Then what triggers the whole deal is a file in /data called .recovery_mode
check for that file. Look inside.. is it a "1", if so everything is in place and it should do it.
Click to expand...
Click to collapse
Thanks to mastafunk for the info.
I noticed after uninstalling system recovery that it still worked(edit pull is for emergency only will reset date. Just plug in and power off) w/ a battery pull. I remember now where the /preinstall files came from:
Rom Manager
Set charge mode.
Uninstall sys recov, and rom mgr(if there).
Then DL mkt RM free/donate. Install.
DL latest 5025 (1st choice).
Reboot into recov and it just boots.
Install Tenfar's and get into cwr.
Go adv and reboot recovery (goes to stk recov, should this not be CWR? So here is where the preinstall gets filled?) and reboot from there.
/preinstall is filled!
You do not need to do this just showing how they got there.
I am saying that with these 2 folders: /preinstall and /system/bin as well as the .recovery_mode file , cwr works for the Dx2. While trying to confirm the source of the PI files I crashed. So SBF'ing I confirmed it works: use Root Explorer, you may have to set charge mode and uninstall SR.
1)paste to /preinstall: the 3 files and set perms to rwxrwxrwx ( adbd is not needed btw. ), and update-recovery.zip: rwxr-xr-x . Note hijack goes to /preinstall as well as /system/bin.
2)Change charge_only_mode ( your original in system/bin) to .bak. Then paste the 2 /system/bin files (less the .not file) set perms to rwxrwxrwx.
3)Then .recovery_mode goes in /data perms to rw-rw-rw-.
Edit: have the charger plugged in and Power off. I thought a: (Pull battery and put it back in. Plug in) was needed but it is not. CWR!
Edit: the /pi needs just 3 files: ud-recovery.zip, ud-binary(same as in the zip) and hijack (same as system/bin/) 6 files if you count hijack twice.
This may work on the Milestone X2. I don't know of anyone who tried this yet.
About the files needed (attached at the end)note file: charge_only_mode.bin.not in /system/bin was included for reference NOT TO MESS WITH IT.
The linkage notation, in Root Explorer, from chargeonlymode to hijack gets lost once the files are off the phone but it still works.
This could it be packaged in a zip and flashed from CWR so after a data wipe or a ROM flash CWR could be restored before leaving CWR.
I wrote a test script to write .recovery_mode to /data. I wiped data from cwr then mounted /data manually. Then ran the script and recovery was restored with a battery pull.
I cannot get the full "ReRecovery" to work. For the update-binary I am told P3Droid's prerooted 234 is good to pull from. But have yet to try his binary. Here is where I am at: updater-script:
run_program("/bin/mount", "/dev/block/ mmcblk0p12 ", "/system");
run_program("/bin/mount", "/dev/block/ mmcblk0p16 ", "/data");
run_program("/bin/mount", "/dev/block/ mmcblk0p17 ", "/preinstall");
#this one zeroed /preinstall.
Or
#mount("ext3", "/dev/block/mmcblk0p12", "/system");
#mount("ext3", "/dev/block/mmcblk0p17", "/preinstall");
#mount("ext3", "/dev/block/mmcblk0p16", "/data");
# this gave a status 7
package_extract_dir("data", "/data");
#set_perm(0, 0, 0666, "/data/.recovery_mode");
set_perm(0, 0, 0666, "/data/test");
unmount("/data");
package_extract_dir("system", "/system");
#set_perm(0, 0, 0777, "/system/bin/charge_only_mode");
set_perm(0, 0, 0777, "/system/bin/test");
#set_perm(0, 0, 0777, "/system/bin/hijack");
unmount("/system");
package_extract_dir("preinstall", "/preinstall");
#set_perm(0, 0, 0666, "/preinstall/adbd");
set_perm(0, 0, 0666, "/preinstall/test");
#set_perm(0, 0, 0777, "/preinstall/hijack");
#set_perm(0, 0, 0777, "/preinstall/hijack.killall");
#set_perm(0, 0, 0777, "/preinstall/update-binary");
#set_perm(0, 0, 0755, "/preinstall/update-recovery.zip");
unmount("/preinstall");
End code
#'ed out real files for test files. This trashed /preinstall and no test files got written. Test files are 0 bytes.
Any help would be greatly appreciated.
I got bored and decided to try this out. Did you paste to /preinstall with root explorer because I can't get it to mount r/w. The button to switch modes isn't there in the preinstall file. It is on the root and every other file on the root.
Sent from my DROID X2 using XDA App
I think you are in a kind of unrooted funk. Happened to me b4. RE has a fit. Reroot. Or reinstall RE.
I am certain it was Rom Mgr and a version used at the same time as http://www.droidforums.net/forum/dr...ve-successful-system-upgrade.html#post1791296
Found it!!!!!!!!!!
Set charge mode.
Uninstall sys recov, and rom mgr(if there).
Then DL mkt free RM. Install. Choose "all CWM ..." last menu.
DL 5024.
Reboot into recov and it just boots.
Install Tenfar's and get into cwr.
Go adv and reboot recovery (stk recov) and reboot from there.
/preinstall is filled!
rename these files and cwr will not boot!
Put names back.
From rom mgr "backup current rom"
Pulled(a4 green led) battery and put back(b4 logo) while chg. plug still in.
Got cwr -could not mount sd......
Got this after boot: log
Starting recovery on Sun Dec 25 14:25:38 2011
Starting Open fb0 devices
DroidX2 Recovery GFAN.COM V2.5.1.8
Command: "/sbin/recovery"
ro.secure=1
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1
EXTERNAL_STORAGE_MOUNT=/mnt/sdcard
ro.factorytest=0
ro.usb_mode=normal
ro.serialno=TA05404FJV
ro.bootmode=unknown
ro.baseband=unknown
ro.carrier=unknown
ro.bootloader=unknown
ro.hardware=daytona
ro.revision=33696
ro.build.id=4.5.1A-DTN-150-30
ro.build.display.id=4.5.1A-DTN-150-30
ro.build.version.incremental=0
ro.build.version.sdk=10
ro.build.version.codename=REL
ro.build.version.release=2.3.4
ro.build.date=Tue Aug 23 21:45:08 CDT 2011
ro.build.date.utc=1314153908
ro.build.type=user
ro.build.user=hudsoncm
ro.build.host=il93lnxdroid52
ro.build.tags=release-keys
ro.product.model=DROID X2
ro.product.brand=verizon
ro.product.name=daytona
ro.product.device=daytona
ro.product.board=daytona
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=motorola
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=tegra
ro.build.product=daytona
ro.build.description=daytona-user 2.3.4 4.5.1A-DTN-150-30 0 release-keys
ro.build.fingerprint=verizon/daytona/daytona:2.3.4/4.5.1A-DTN-150-30/0:user/release-keys
persist.ril.uart.flowctrl=1
persist.ril.mux.ttydevice=/dev/ttyHS3
persist.ril.mux.noofchannels=8
persist.ril.modem.ttydevice=/dev/ttySPI0
persist.ril.modem.mode=1
persist.ril.features=0x0C
mot.mdm_panicd.nopanic=yes
ro.hdmi.mirror.enable=false
ro.hdmi.default.app=
hw.overlay.path.config=
ro.mot.ril.danlist=611,*611,#611
persist.ril.ecclist=911,*911,#911
windowsmgr.max_events_per_sec=70
ro.sf.lcd_density=240
dalvik.vm.heapsize=32m
ro.mot.hw.calibratedImager=1
ro.default_usb_mode=2
ro.tether.denied=false
ro.cdma.homesystem=64,65,76,77,78,79,80,81,82,83
ro.telephony.default_network=4
ro.com.google.clientid=android-motorola
ro.url.legal=http://www.google.com/intl/%s/mobile/android/basic/phone-legal.html
ro.url.legal.android_privacy=http://www.google.com/intl/%s/mobile/android/basic/privacy.html
ro.config.vc_call_vol_steps=7
keyguard.no_require_sim=true
ro.cdma.home.operator.numeric=310004
ro.cdma.home.operator.alpha=Verizon
ro.cdma.otaspnumschema=SELC,1,80,99
persist.radio.cdma.min=8186321808
ro.HorizontalVVM=true
ro.opengles.version=131072
ro.url.safetylegal=http://www.motorola.com/staticfiles/Support/legal
ro.mot.hw.HAC=1
ro.mot.eri=1
persist.mot.proximity.touch=1
ro.cdma.nbpcd=1
mot.proximity.delay=450
mot.proximity.distance=60
wifi.supplicant_scan_interval=45
persist.radio.vzw.cdma.mdn=8186321808
ro.mot.mynet=true
cdma.nbpcd.supported=false
ro.mot.bindervm.config=165
ro.ngp_available=1
ro.modem_available=0
persist.mot.usb.mediasync=1
ro.cdma.sms.latin_encode=true
ro.mot.deep.sleep.supported=true
ro.mot.hw.uaprof=http://uaprof.vtext.com/mot/mb870/mb870.xml
ro.blan.interface=usb0
mot.mms.conn.timeout=30000
mot.mms.socket.timeout=120000
mot.mms.tr.vc.timeout=55000
mot.mms.trm.timeout=240000
mot.mms.abort.prog.lim=90
mot.mms.retry.pic.size=512000
mot.mms.retry.default=false
mot.mms.retry.timeout.1=30000
mot.mms.retry.timeout.2=180000
mot.mms.retry.timeout.3=300000
mot.mms.retry.timeout.4=480000
ro.com.google.clientidbase=android-motorola
ro.com.google.clientidbase.ms=android-verizon
ro.com.google.clientidbase.am=android-verizon
ro.com.google.clientidbase.gmm=android-motorola
ro.com.google.clientidbase.yt=android-verizon
rild.libpath=/system/lib/libmoto_ril.so
persist.ril.mux.retries=500
persist.ril.mux.sleep=2
ro.kernel.android.ril=yes
ro.config.ringtone=DroidX2.ogg
ro.config.notification_sound=Droid.ogg
ro.config.alarm_alert=Alarm_Classic.ogg
ro.media.enc.aud.fileformat=qcp
ro.media.enc.aud.codec=qcelp
ro.media.enc.aud.bps=13300
ro.media.enc.aud.ch=1
ro.media.enc.aud.hz=8000
ro.com.google.gmsversion=2.3_r5
ro.config.sync=no
ro.browser.useragent=0
ro.media.camcorder.720p=mp4,h264,30,12000000,aac,128000,44100,2
ro.media.camcorder.d1NTSC=mp4,h264,30,6000000,aac,128000,44100,2
ro.media.camcorder.vga=mp4,h264,30,4000000,aac,128000,44100,2
ro.media.camcorder.cif=mp4,h264,30,1500000,aac,128000,44100,2
ro.media.camcorder.qvga=mp4,h264,15,500000,aac,32000,16000,2
ro.media.camcorder.mms=3gp,h264,15,128000,amrnb,12200,8000,1
ro.media.camcorder.mmsres=qvga
ro.camcorder.zoom=true
ro.media.capture.shuttertone=1
ro.camcorder.videoModes=false
ro.telephony.call_ring.multiple=false
ro.telephony.call_ring.delay=3000
ro.cdma.data_retry_config=default_randomization=2000,0,0,120000,180000,540000,960000
ro.mot.setuptype=2
ro.media.camera.focal=3378.6,3378.6
ro.media.camera.principal=1632.0,1224.0
ro.media.camera.skew=0.0
ro.media.camera.distortion=0.0,0.0,0.0,0.0,0.0
ro.media.camera.calresolution=3264,2448
ro.mot.internalsdcard=1
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
net.change=net.tcp.buffersize.gprs
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.mot.dpmext=true
ro.build.version.full=Blur_Version.1.3.380.MB870.Verizon.en.US
ro.mot.hidden_keyboards=evfwd
ro.sys.atvc_allow_netmon_usb=0
ro.sys.atvc_allow_netmon_ih=0
ro.sys.atvc_allow_res_core=0
ro.sys.atvc_allow_res_panic=0
ro.sys.atvc_allow_all_adb=0
ro.sys.atvc_allow_all_core=0
ro.sys.atvc_allow_efem=0
ro.sys.atvc_allow_bp_log=0
ro.sys.atvc_allow_ap_mot_log=0
ro.sys.atvc_allow_gki_log=0
persist.sys.timezone=America/Los_Angeles
persist.sys.mot.encrypt.mmc=0
persist.sys.localevar=
persist.sys.language=en
persist.service.adb.NV_DISABLE=1
persist.sys.country=US
ro.FOREGROUND_APP_MEM=2464
ro.VISIBLE_APP_MEM=3712
ro.PERCEPTIBLE_APP_MEM=5632
ro.HEAVY_WEIGHT_APP_MEM=5632
ro.SECONDARY_SERVER_MEM=7392
ro.BACKUP_APP_MEM=7392
ro.HOME_APP_MEM=7392
ro.HIDDEN_APP_MEM=14336
ro.EMPTY_APP_MEM=16896
ro.FOREGROUND_APP_ADJ=0
ro.VISIBLE_APP_ADJ=1
ro.PERCEPTIBLE_APP_ADJ=2
ro.HEAVY_WEIGHT_APP_ADJ=3
ro.SECONDARY_SERVER_ADJ=4
ro.BACKUP_APP_ADJ=5
ro.HOME_APP_ADJ=6
ro.HIDDEN_APP_MIN_ADJ=7
ro.EMPTY_APP_ADJ=15
net.tcp.buffersize.default=65536,131072,262144,65536,131072,262144
net.tcp.buffersize.wifi=4095,87380,110208,4096,16384,110208
net.tcp.buffersize.umts=4094,87380,110208,4096,16384,110208
net.tcp.buffersize.edge=4093,26280,35040,4096,16384,35040
net.tcp.buffersize.gprs=4092,8760,11680,4096,8760,11680
wifi.interface=eth0
softap.interface=wl0.1
sys.mot.encrypt.keysig=a32d22b8d3175b4a
sys.chargeonly.mode=1
init.svc.servicemanager=running
init.svc.vold=running
init.svc.netd=running
init.svc.debuggerd=running
init.svc.ril-daemon=running
init.svc.12m_files_copy=stopped
init.svc.nvrm_daemon=running
init.svc.battd=running
init.svc.usbd=running
init.svc.touch=stopped
init.svc.atvc=stopped
init.svc.adbd=running
init.svc.zygote=stopped
ril.restart.counter=1
ro.ril.barcode=
ro.ril.ecclist=911,#911,*911,112
I:Checking for extendedcommand...
I:Running extendedcommand...
Waiting for SD Card to mount (20s)
SD Card mounted...
I:Running script:
I:
ui_print("ROM Manager Version 4.8.0.7");
ui_print("December 25, 2011");
assert(backup_rom("/emmc/clockworkmod/backup/2011-12-25-14.24.18"));
line 1: unexpected character at 'u'
Syntax error in update script
Related
OK, so I've never tried to put a rom together using redbend_ua but figured now was a good time to figure it out... This is basically just the leaked things that would normally be flashed by odin but instead packaged so redbend_ua can flash them. This will flash correctly but it doesn't boot. I'm at a point where I'm stuck so if anyone wants to help out, here's what I have so far.
DO NOT FLASH THIS ROM!
http://www.multiupload.com/TUBMZ3FKH8
I also used redbend to try and restore all the bml partitions (12) and it looks like it's working but now the phone wont ever boot, it just ends up back in recovery...
Edit: I "may" have figured out how to enable download mode for devices that are hardware locked. Still need to tinker and make sure it's safe but nice to stumble on. If you don't mind risking damaging your phone, I believe that it's bml4 or bml5 from a good phone
I'm also thinking an alternative is to dd all the partitions on the phone since redbend can restore them. Maybe I could copy them all off and then rewrite the update to restore each partition? Any ideas? Anyone?
Anyone have any other ideas I could try?
Well, it was a terrible idea to overwrite all the partitions. Now the phone asks for my sim unlock as soon as it boots up... Gotta find a way around that now... It also reboots non stop... Tried to repartition in odin and use the original rom but didn't fix the problem. :O(
Not sure why your having issue with this?
My update.zip & kernel flashing works perfect.
This is for the new leaked rom. Instead of doing the traditional method I wanted to only use redbend_ua with the leaked files. You can flash everything fine through odin but if you use redbend to flash them it wont boot.
youneek said:
Edit: I have figured out how to enable download mode for devices that are hardware locked. When I flashed ms_guru's rom I had to use vol+down and power to get into download mode. I then flashed the recovery bml partition and I can do it by using the volume keys and usb again. Still need to tinker and make sure it's safe but nice to stumble on.
Click to expand...
Click to collapse
Whoa whoa this is a huge discovery. Could you explain that in a little more detail? If you got into download mode using the hardware then you didn't have a locked phone to begin with?
you'll be glad to know you did not destroy all your partitions.
1st of all, i doubt your updater-script actually works - you dont have the update-binary in your update.zip, which means there is no parser who can actually execute the update-script.
assuming im wrong and that your script actually works, it will reboot after the 1st redbend_ua (thats how redbend_ua works - it reboots when it finishes), and according to your script you flash the kernel partition first. so, just reflash the kernel partition again with a valid zImage to repair.
The zip posted in the thread is not my attempt to flash all the bml. It is my version that attempts to flash the new rom using redbend instead of ODIN. The version that has damaged my phone has login information so I wont post it. I can get the phone to boot now but it doesn't recognize any sim cards. redbend works perfectly fine the way I posted it, not sure what you are saying it's missing?
The current upgrade script looks more like the one below... It was a bad idea...
show_progress 0.1 0
copy_dir PACKAGE:redbend TMP:/redbend
set_perm 0 0 755 TMP:/redbend/redbend_ua
copy_dir PACKAGE:bml1 TMP:/bml1
run_program /tmp/redbend/redbend_ua restore /tmp/bml1/bml1.bak /dev/block/bml1
delete PACKAGE:big_update/bml1.bak
copy_dir PACKAGE:bml2 TMP:/bml2
run_program /tmp/redbend/redbend_ua restore /tmp/bml2/bml2.bak /dev/block/bml2
delete PACKAGE:big_update/bml2.bak
copy_dir PACKAGE:bml3 TMP:/bml3
run_program /tmp/redbend/redbend_ua restore /tmp/bml3/bml3.bak /dev/block/bml3
delete PACKAGE:big_update/bml3.bak
copy_dir PACKAGE:bml4 TMP:/bml4
run_program /tmp/redbend/redbend_ua restore /tmp/bml4/bml4.bak /dev/block/bml4
delete PACKAGE:big_update/bml4.bak
copy_dir PACKAGE:bml5 TMP:/bml5
run_program /tmp/redbend/redbend_ua restore /tmp/bml5/bml5.bak /dev/block/bml5
delete PACKAGE:big_update/bml5.bak
copy_dir PACKAGE:bml6 TMP:/bml6
run_program /tmp/redbend/redbend_ua restore /tmp/bml6/bml6.bak /dev/block/bml6
delete PACKAGE:big_update/bml6.bak
copy_dir PACKAGE:bml7 TMP:/bml7
run_program /tmp/redbend/redbend_ua restore /tmp/bml7/bml7.bak /dev/block/bml7
delete PACKAGE:big_update/bml7.bak
copy_dir PACKAGE:bml8 TMP:/bml8
run_program /tmp/redbend/redbend_ua restore /tmp/bml8/bml8.bak /dev/block/bml8
delete PACKAGE:big_update/bml8.bak
copy_dir PACKAGE:bml9 TMP:/bml9
run_program /tmp/redbend/redbend_ua restore /tmp/bml9/bml9.bak /dev/block/bml9
delete PACKAGE:big_update/bml9.bak
copy_dir PACKAGE:bml10 TMP:/bml10
run_program /tmp/redbend/redbend_ua restore /tmp/bml10/bml10.bak /dev/block/bml10
delete PACKAGE:big_update/bml19.bak
copy_dir PACKAGE:bml11 TMP:/bml11
run_program /tmp/redbend/redbend_ua restore /tmp/bml11/bml11.bak /dev/block/bml11
delete PACKAGE:big_update/bml11.bak
copy_dir PACKAGE:bml12 TMP:/bml12
run_program /tmp/redbend/redbend_ua restore /tmp/bml12/bml12.bak /dev/block/bml12
delete PACKAGE:big_update/bml12.bak
show_progress 0.1 10
i was referring to the missing 'update-binary' from the update.zip you posted. without this the script wont run.
regarding redbend - from what ive been told, after a successful flash, redbend reboots. in order to overcome this, one might use '/cache/ota/command' but it hasnt been tested yet (acording to supercurio). take a look here: http://forum.xda-developers.com/showpost.php?p=7906500
which partitions did you flash? if by accident you flashed bml3 then you might screwed your IMEI info holder. take a look here: http://forum.xda-developers.com/showthread.php?t=740218
and i dont agree - i dont think your hacking is such a bad idea
here is an idea i've been playing with lately:
Code:
ui_print("ROM flasher");
# copying needed files in ramdisk
package_extract_file("redbend_ua", "redbend_ua");
package_extract_file("boot.bin", "boot.bin");
package_extract_file("Sbl.bin", "Sbl.bin");
package_extract_file("param.lfs", "param.lfs");
package_extract_file("zImage", "zImage");
package_extract_file("factoryfs.rfs", "factoryfs.rfs");
package_extract_file("modem.bin", "modem.bin");
set_perm(0, 0, 0755, "redbend_ua");
# disable reboot
set_perm(0, 0, 0644, "/sbin/reboot");
ui_print("Flash Now !");
# running the flash operation
run_program("redbend_ua", "restore", "boot.bin", "/dev/block/bml1");
run_program("redbend_ua", "restore", "Sbl.bin", "/dev/block/bml4");
run_program("redbend_ua", "restore", "param.lfs", "/dev/block/bml6");
run_program("redbend_ua", "restore", "zImage", "/dev/block/bml7");
run_program("redbend_ua", "restore", "factoryfs.rfs", "/dev/block/bml9");
run_program("redbend_ua", "restore", "modem.bin", "/dev/block/bml12");
# reboot
set_perm(0, 0, 0755, "/sbin/reboot");
run_program("reboot", "now");
you can redbend the factory.rfs ( I can be Mistaken though ) as it's to big of a file for temp data space to be stored on.
I can get the phone to boot by flashing jp8, then jfd and then ji2 with partitions checked on jp8 and jfd. If I don't do all 3 things, the phone is toast. Now everything works but radio doesn't work. Looks like someone else may have run into this issue before... http://forum.xda-developers.com/showpost.php?p=7580835&postcount=24
youneek said:
I can get the phone to boot by flashing jp8, then jfd and then ji2 with partitions checked on jp8 and jfd. If I don't do all 3 things, the phone is toast. Now everything works but radio doesn't work. Looks like someone else may have run into this issue before... http://forum.xda-developers.com/showpost.php?p=7580835&postcount=24
Click to expand...
Click to collapse
very nice
eugene373 said:
you can redbend the factory.rfs ( I can be Mistaken though ) as it's to big of a file for temp data space to be stored on.
Click to expand...
Click to collapse
so maybe something like this:
Code:
ui_print("ROM flasher");
# mount the sdcard
mount("vfat", "/dev/block/mmcblk1", "/sdcard/sd");
# extract needed files in ramdisk
package_extract_file("redbend_ua", "redbend_ua");
set_perm(0, 0, 0755, "redbend_ua");
# disable reboot
set_perm(0, 0, 0644, "/sbin/reboot");
ui_print("Flash Now !");
# running the flash operation
run_program("redbend_ua", "restore", "/sdcard/sd/boot.bin", "/dev/block/bml1");
run_program("redbend_ua", "restore", "/sdcard/sd/Sbl.bin", "/dev/block/bml4");
run_program("redbend_ua", "restore", "/sdcard/sd/param.lfs", "/dev/block/bml6");
run_program("redbend_ua", "restore", "/sdcard/sd/zImage", "/dev/block/bml7");
run_program("redbend_ua", "restore", "/sdcard/sd/factoryfs.rfs", "/dev/block/bml9");
run_program("redbend_ua", "restore", "/sdcard/sd/modem.bin", "/dev/block/bml12");
# reboot
unmount("/sdcard/sd");
set_perm(0, 0, 0755, "/sbin/reboot");
run_program("reboot", "now");
z4ziggy said:
so maybe something like this:
Code:
ui_print("ROM flasher");
# mount the sdcard
mount("vfat", "/dev/block/mmcblk1", "/sdcard/sd");
# extract needed files in ramdisk
package_extract_file("redbend_ua", "redbend_ua");
set_perm(0, 0, 0755, "redbend_ua");
# disable reboot
set_perm(0, 0, 0644, "/sbin/reboot");
ui_print("Flash Now !");
# running the flash operation
run_program("redbend_ua", "restore", "/sdcard/sd/boot.bin", "/dev/block/bml1");
run_program("redbend_ua", "restore", "/sdcard/sd/Sbl.bin", "/dev/block/bml4");
run_program("redbend_ua", "restore", "/sdcard/sd/param.lfs", "/dev/block/bml6");
run_program("redbend_ua", "restore", "/sdcard/sd/zImage", "/dev/block/bml7");
run_program("redbend_ua", "restore", "/sdcard/sd/factoryfs.rfs", "/dev/block/bml9");
run_program("redbend_ua", "restore", "/sdcard/sd/modem.bin", "/dev/block/bml12");
# reboot
unmount("/sdcard/sd");
set_perm(0, 0, 0755, "/sbin/reboot");
run_program("reboot", "now");
Click to expand...
Click to collapse
in theory it should work, but not having ever tried it myself, idk to be honest.
eugene373 said:
you can redbend the factory.rfs ( I can be Mistaken though ) as it's to big of a file for temp data space to be stored on.
Click to expand...
Click to collapse
I can redbend the factory.rfs but it doesn't look like it fixes the issue. It's flashed during odin anyways. To get it to fit in tmp I had to delete everything else in tmp as part of the script.
My example zip that I posted appears to work correctly and flashes all the files that were in the new update. I'll try and make one that flashes the original since that has more files. Maybe that will work?
Is there a copy PACKAGE like copy PACKAGEriginal_rom/redbend_ua TMP:/original_rom/redbend_ua instead of copy_dir ?
trying to package the stock rom, i'll have an update in a second...
Ok so I made one with everything from the stock rom and after flashing says something like unable to mount sbl11... I'll mess with it more in the morning.
Sent from my Nexus One using XDA App
I have spent over an hour trying to get an update someone else already created that removes sense(to work on a recent ICS leak for the amaze 4g)- all I should need to do is modify the updater-script. I opened and edited with gedit, I've checked everything about it and can't find a reason why I get installation aborted- critical error. The recovery log doesn't give me any detail(I am using 4ext), and I'm sure there is something minor I am missing that is keeping me from such a SIMPLE thing..
*Some of this is a rant to explain that I have done PLENTY of searching, if you can take a look at the file and see if you know what I'm doing wrong it is appreciated.
Before I asked this I have searched everything I could find on doing this- I made sure any hidden osx files in the directory were deleted before compressing, made changes with gedit that should maintain the file type, I signed the file with dxixda's kitchen(I do get an error: ls: illegal option -- X - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...] but everything I've found makes me think this shouldn't be a problem- and if it is I don't even know what is wrong with the kitchen or my file).
As I said, this is a last resort, I've also had problems deodexing and it seems like everything else I've tried to do on my mac lately.. GOING CRAZY. If I don't figure out what keeps screwing things up I'm gonna do a complete new install of OSX- I'm thinking maybe there is something wrong..
/Rant*
Thanks in advance if anyone can point out what I'm doing wrong, I am beyond frustrated! In the end I am trying to develop a zip to remove sense and htc apps that can be replaced by aosp ics apps, and maybe a tiny bit of theming if I integrate all of this into a rom- so I'm dying that i can't even get the first part of this accomplished(as I have in the past!)
Script.sh
Code:
#!/sbin/sh
RDD="/data/app"
RDATA="com.twitter.android-1.apk
com.htc.FMRadioWidget.apk
com.htc.FriendStreamWidget.apk
com.htc.MusicWidget.apk
com.htc.NewsReaderWidget.apk
com.htc.StockWidget.apk
com.htc.TwitterWidget.apk
com.htc.WeatherWidget.apk
HtcAddProgramWidget.apk
htcbookmarkwidget.apk
HtcCalculatorWidget.apk
htccalendarwidgets.apk
HtcClockWidget.apk
htccontactwidgets.apk
HtcCopyright.apk
HtcFootprintsWidget.apk
htcmailwidgets.apk
htcmsgwidgets.apk
HtcPhotoWidget.apk
HtcProfilesWidget.apk
HtcRingtoneWidget.apk
htcsettingwidgets.apk
HtcSyncwidget.apk
HtcWeatherWallpaper.apk
PluginManager.apk
Rosie.apk
WidgetDownloadManager.apk"
RSS="/system/app"
RSYS="com.twitter.android-1.apk
com.htc.FMRadioWidget.apk
com.htc.FriendStream3DWidget.apk
com.htc.MusicWidget.apk
com.htc.Twitter3DWidget.apk
com.htc.Weather3DWidget.apk
htcbookmarkwidget3d.apk
HtcCalculatorWidget.apk
htccalendarwidgets3d.apk
HtcClock3DWidget.apk
htccontactwidgets3D.apk
htcmailwidgets3d.apk
HtcPhotoWidget.apk
HtcProfileWidget.apk
HtcRingtoneWidget.apk
htcsettingwidgets.apk
Sync3Dwidget.apk
HtcWeatherWallpaper.apk
PluginManager.apk
Rosie.apk"
for x in $RDATA; do
rm -f $RDD/$x
done
for x in $RSYS do
rm -f $RSS/$x
done
exit 0
updater script
Code:
format("MTD", "cache");
mount("MTD", "system", "/system");
mount("MTD", "userdata", "/data");
show_progress(1, 15);
package_extract_file("script.sh", "/tmp/script.sh");
set_perm(0, 0, 0777, "/tmp/script.sh");
run_program("/tmp/script.sh", "");
delete_recursive("/data/dalvik-cache");
unmount("/userdata");
unmount("/system");
Disclaimer
Code:
Xperia H2M is made as much noob friendly as I can. Still if something wrong happens due to this or any of my works, I will be in no way responsible for it.
Xperia H2M Porter
About the tool:
This is an automatic tool based on sandy7's great guide to port Xperia HDPI ROMs to Xperia MDPI. This supports porting from 2011 HDPI models to 2011 MDPI models.
Download:
Download the tool from here.
How to use:
Though all the instructions are already included in the tool but still i'll mention here:
1. Extract the rar file to your desired folder.
2. Now place the HDPI ROM in HDPI_ROM folder and MDPI base ROM in MDPI_ROM folder. Make sure the ROM is based on 4.1.B.0.587(May also work for 4.1.B.0.431).
3. Now run the batch file named as X-H2M
4. Now follow the instructions and let the tool do the rest.
5. When build.prop opens up edit it as given in the tool and the instructions file. Or follow this instruction as given by sandy7:
sandy7 said:
change all the red marked values as per ur device.
change the ring defaults in blue marked field.
Code:
##### Merging of the /util/data/semc_kernel_time_stamp.prop file #####
ro.build.date=Wed Jul 4 12:32:24 2012
ro.build.date.utc=1341397944
ro.build.user=BuildUser
ro.build.host=BuildHost
##### Final patch of properties #####
ro.build.product=[COLOR="red"]MT15i[/COLOR]
ro.build.description=[COLOR="red"]MT15i[/COLOR]-userdebug 4.0.4 UL5_3w test-keys
ro.product.brand=SEMC
ro.product.name=[COLOR="red"]MT15i[/COLOR]_1255-1755
ro.product.device=[COLOR="red"]MT15i[/COLOR]
ro.build.tags=release-keys
ro.build.fingerprint=SEMC/[COLOR="red"]MT15i[/COLOR]_1255-1755/[COLOR="Red"]MT15i[/COLOR]:4.0.4/4.1.B.0.587/UL5_3w:user/release-keys
######################## Customized property values #########################
ro.semc.version.cust=1255-1755
ro.semc.version.cust_revision=R1I
#########################################################################
[COLOR="Blue"]
ro.config.ringtone=Missing.ogg
ro.config.notification_sound=notification.ogg
ro.config.alarm_alert=rise_up.ogg
ro.semc.content.number=PA3[/COLOR]
################# Updating of the SW Version #################
ro.semc.version.fs_revision=[COLOR="red"]write any thing u want[/COLOR]
ro.build.id=[COLOR="red"]write any thing u want[/COLOR]
ro.build.display.id=[COLOR="red"]write any thing u want[/COLOR]
##### Values from product package metadata #####
ro.semc.product.model=[COLOR="red"]MT15i[/COLOR]
ro.semc.ms_type_id=AAD-3880100-AV
ro.semc.version.fs=WORLD-i
ro.semc.product.name=[COLOR="red"]Xperia Neo[/COLOR]
ro.semc.product.device=[COLOR="red"]MT15[/COLOR]
ro.product.model=[COLOR="red"]MT15i[/COLOR]
# begin build properties
# autogenerated by buildinfo.sh
ro.build.version.incremental=UL5_3w
ro.build.version.sdk=15
ro.build.version.codename=REL
ro.build.version.release=4.0.4
ro.build.type=user
ro.product.board=
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=Sony Ericsson
ro.product.locale.language=en
ro.product.locale.region=US
ro.wifi.channels=
ro.board.platform=msm7x30
# ro.build.product is obsolete; use ro.product.device
# Do not try to parse ro.build.description or .fingerprint
ro.build.characteristics=default
# end build properties
#
# system.prop for [COLOR="Red"]hallon[/COLOR] (change it 'mango')
#
# Notify the system that the RIL only signals once
ro.telephony.call_ring.multiple=false
rild.libpath=/system/lib/libril-qc-1.so
rild.libargs=-d /dev/smd0
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
DEVICE_PROVISIONED=1
wifi.interface = wlan0
ro.semc.wifi.hostapd=1
ro.semc.sols.product-code=90
ro.semc.timescape_keys=Sony_Ericsson_Xperia
ro.semc.sols.company-code=5
persist.ro.ril.sms_sync_sending=1
ro.use_data_netmgrd=true
# Disable strict mode checking
persist.android.strictmode=0
# Constant values for Battery test in Service menu
ro.semc.batt.capacity=1500
ro.semc.batt.test.z_threshold=50
ro.semc.batt.test.min_level=70
ro.service.swiqi.supported=true
persist.service.swiqi.enable=1
#Default values/Locales for the hiding languages feature
ro.product.locale.excluded=ar_EG ar_IL fa_IR iw_IL
#
# ADDITIONAL_BUILD_PROPERTIES
#
ro.product-res-path=framework/SemcGenericUxpRes.apk
ro.com.google.gmsversion=4.0_r1
ro.com.google.clientidbase=android-sonyericsson
drm.service.enabled=true
keyguard.no_require_sim=true
ro.com.android.dateformat=MM-dd-yyyy
ro.com.android.dataroaming=false
ro.ril.hsxpa=1
ro.ril.gprsclass=10
ro.semc.xloud.supported=true
dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=128m
ro.sf.lcd_density=[COLOR="Red"]240[/COLOR] (change it to 160)
ro.usb.pid_suffix=156
dalvik.vm.dexopt-flags=m=y
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
ro.drm.active.num=4
ro.drm.active.0=semc,1
ro.drm.active.1=cmla,0
ro.drm.active.2=viaccess,0
ro.drm.active.3=marlin,1
Click to expand...
Click to collapse
6. Now add any other tweaks if you wan't to add to the build.prop
7. If you have included a data or similar folder for scripts, tweaks, etc, add a line when the updater-script shows up :
only add the red colored line if u are adding a data folder for supercharger. scripts.
sandy7 said:
Code:
show_progress(0.1, 0);
ui_print(" write any thing inside this");
ui_print(" Installation Started !");
format("MTD", "system");
format("MTD", "cache");
mount("MTD", "system", "/system");
mount("MTD", "userdata", "/data");
show_progress(1.2, 83);
package_extract_dir("system", "/system");
show_progress(0.14, 3);
[COLOR="Red"]package_extract_dir("data", "/data");[/COLOR]
ui_print("");
set_progress(0.700000);
unmount("/system");
unmount("/data");
show_progress(1, 0);
ui_print("");
ui_print("reboot");
Click to expand...
Click to collapse
8. Now the tool will zip the ROM. You can find it in the PORTED_ROM folder with the name portrom.zip. Rename it as desired.
Done! Now enjoy your newly ported ROM.:good: Don't forget to press THANKS.
Credits:
Sandy7 for his great tutorial.
XDA:DevDB Information
H2M Porter, a Tool/Utility for the Sony Ericsson Xperia Mini, Mini Pro, Active
Contributors
Abhinav2, sandy7
Version Information
Status: Stable
Created 2013-09-28
Last Updated 2013-12-11
TROUBLESHOOTING
1-if from is not booting replace this file libandroid_runtime.so hdpi lib folder to mdpi
2-if icons are too big or there is no icons.....resize them into 48x48
3-if ur rom has small apps make sure u copy the additional files req for it from etc/permissions
more info will be updated soon
Re: [TOOL] Xperia H2M Porter for ICS
Will you also make this guide universal?
Sent from my LT28h using xda premium
UchihaDareNial said:
Will you also make this guide universal?
Sent from my LT28h using xda premium
Click to expand...
Click to collapse
Sandy has written a universal guide of porting hdpi roms to mdpi....i'll try to make a tool for it soon..
Best Regards,
AJ
Re: [TOOL] Xperia H2M Porter for ICS
Well ill re-edit my guide which will work universal and ill pm alok..
Then u can make a new tool
Sent from my SK17i using XDA Premium HD app
Re: [TOOL] Xperia H2M Porter for ICS
Great work guys!
Keep it up :thumbup:
Sent from my MT11i using xda premium
hey please upload it again it has been deleted!!!!
upload it again!!!
hey please upload it again it has been deleted!!!!
m021 said:
hey please upload it again it has been deleted!!!!
Click to expand...
Click to collapse
It got removed from my local storage too....i'll re-code it whenever I get time. Till then you can do it manually
Cheers,
AJ
Work with locked bootloaders?
Sent from my WT19a with Next Gen V8 Rom using Xda App :good:
Membrillo007 said:
Work with locked bootloaders?
Sent from my WT19a with Next Gen V8 Rom using Xda App :good:
Click to expand...
Click to collapse
YES
Cheers,
AJ
Abhinav2 said:
YES
Cheers,
AJ
Click to expand...
Click to collapse
hi can you upload it another one???thank you.
m021 said:
hi can you upload it another one???thank you.
Click to expand...
Click to collapse
Is this- http://forum.xda-developers.com/showpost.php?p=49360054&postcount=9 post invisible or u just didnt cared to read it?
Cheers,
AJ
Abhinav2 said:
Is this- http://forum.xda-developers.com/showpost.php?p=49360054&postcount=9 post invisible or u just didnt cared to read it?
Cheers,
AJ
Click to expand...
Click to collapse
thanks!!im not seen that
is it working for the alarm app??
Please
The file to download station does not match the appropriate program! Please reupe the file. thank you
Greetings XDA Forums! First time poster due to a very annoying problem I have with my Updater-Script.
Let me provide background knowledge:
I flashed the Sammy Deluxe Operation IVY Rom on my S4. It's essentially a 100% port of the S5 rom. It works better than my expectation and I was mentally blown away. However there was one annoyance. The hardware keys for the Context Menu and App Switcher were changed to emulate the S5 method. I didnt like it because now context menu is inaccessible. I tried doing the trick where I hold down the capacitive button to see if that works, but Im afraid that trick is a hardware coded trick that was only implemented on the S5. Not the S4 where its merely being emulated.
Adding to my state of annoyance, the ROM author wrote on the front page he wont change it back and dont even ask to change it back. Quote, he said this : "Please change it yourself. This is a S5 style ROM and I don’t understand what the problem is to adapt to new changings. If not, there is always the possibility for you to revert to the original softkey layout." I do understand why he would say that. Let me keep going.
I decided to fix it myself by visiting these 2 links
http://forum.xda-developers.com/showthread.php?t=2792460
This forum post shows you how to emulate the S5 Capacitive Context Menu Button on the S4 ( now the app switcher button )
So I did the reverse process of that. I decompiled the framework-res.apk, edited the boolean back to S4 Default ( which is what I want )
also set the key 139 ( Left Side Capacative ) back to Context Menu function. Recompiled the framework-res.apk.
The question is now is how to install my changes.
I made a flashable zip with updater script and everything. I followed this guide here so I can see the basic syntax and have an understanding of it.
http://forum.xda-developers.com/showthread.php?t=2377695
On doing so, the process of deleting the old framework-res.apk and putting the new one in works perfectly. However the command set_perm doesnt after copying the file to the /system/framework folder. During the flash everything else is good, but once it gets to set perm, Status 7 error is spewed by CWM and it says set_perm some changes failed
I double checked my parenthesis, my semi-colons, and my quotations.
I'm sure the problem is within the syntax of set_perm
Here is my code and I will attach it at the bottom as well for any additional help.
Code:
ui_print("framework-res fix by baboomerang");
ui_print("Mounting system...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(0.150000, 1);
ui_print("Removing old copy of framework-res");
ui_print("Removing old copy of Generic");
delete("/system/framework/framework-res.apk");
delete("/system/usr/keylayout/Generic.kl");
ui_print("Installation...");
show_progress(0.250000, 2);
package_extract_file("/system/framework/framework-res.apk", "/system/framework");
package_extract_file("/system/usr/keylayout/Generic.kl", "/system/usr/keylayout");
ui_print("Patching done");
show_progress(0.476000, 3);
ui_print("Using CHMOD 644 or rw r r");
ui_print("Uploading Stage 1 to diagnose which set perm broken");
set_perm(0,0,0644, "/system/framework/framework-res.apk");
ui_print("Uploading Stage 2 To diagnose which set perm broken");
set_perm(0,0,0644, "/system/usr/keylayout/Generic.kl");
show_progress(0.789000, 4);
ui_print("Unmounting system...");
run_program("/sbin/busybox", "umount", "/system");
show_progress(0.930000, 5);
ui_print("Cleaning Up...");
show_progress(0.999999, 6);
ui_print("Installation done..........");
ui_print("Now your s4 hardware keys should be back to normal");
It works all the way up to the UI PRINT Uploading Stage 1 to diagnose which set perm broken. Then it just stops with status 7 error.
I am finally requesting assistance or guidance on where to fix this problem. or HOW TO to be accurate.
Hello
Copy your apk at the same level of your updater script and try that :
assert(package_extract_file("framework-res.apk", "/system/framework/framework-res.apk"));
Thanks for the help but...
cyrillem28410 said:
Hello
Copy your apk at the same level of your updater script and try that :
assert(package_extract_file("framework-res.apk", "/system/framework/framework-res.apk"));
Click to expand...
Click to collapse
I see the purpose of that line of code you told me to add. Since I see that English isn't your best ( Don't worry, I understand ) I assume your telling me to put that line of yours above my package extract line code.
So like this:
Code:
ui_print("framework-res fix by baboomerang");
ui_print("Mounting system...");
run_program("/sbin/busybox", "mount", "/system");
show_progress(0.150000, 1);
ui_print("Removing old copy of framework-res");
ui_print("Removing old copy of Generic");
delete("/system/framework/framework-res.apk");
delete("/system/usr/keylayout/Generic.kl");
ui_print("Installation...");
show_progress(0.250000, 2);
[B]
[I]package_extract_file("/system/framework/framework-res.apk", "/system/framework");
assert (package_extract_file("framework-res.apk", "/system/framework/framework-res.apk"));
package_extract_file("/system/usr/keylayout/Generic.kl", "/system/usr/keylayout");[/I][/B]
ui_print("Patching done");
show_progress(0.476000, 3);
ui_print("Using CHMOD 644 or rw r r");
ui_print("Uploading Stage 1");
set_perm(0,0,0644, "/system/framework/framework-res.apk");
ui_print("Uploading Stage 2");
set_perm(0,0,0644, "/system/usr/keylayout/Generic.kl");
On doing this I get from cwm:
Code:
-- Installing: /storage/sdcard1/framework-fix
by baboomerang.zip
Finding update package...
Opening update package...
Installing update...
framework-res fix by baboomerang
Mounting system...
Removing old copy of gramework-res
Removing old copy of Generic
Installation...
[I][B]assert failed: package_extract_file("framework
-res.apk", "/system/framework/framework-res.apk")[/B][/I]
E:Error in /storage/sdcard1/framework-fix by b
aboomerang.zip
(Status 7)
Installation aborted.
I get this when the assertion is below/after the original package_extract. I haven't tried the assertion before/above the original package_extract.
Btw thanks, I think Im getting closer.
EDIT: I am closer and got very close. But now I am here.
Code:
ui_print("framework-res fix by baboomerang");
ui_print("Mounting system...");
[I][B]mount("ext4", "EMMC", "/dev/block/mmcblk0p16", "/system");[/B][/I]
show_progress(0.150000, 1);
ui_print("Removing old copy of framework-res");
ui_print("Removing old copy of Generic");
delete("/system/framework/framework-res.apk");
delete("/system/usr/keylayout/Generic.kl");
ui_print("Installation...");
show_progress(0.250000, 2);
[I][B]package_extract_file("system/framework/framework-res.apk", "/system/framework");
package_extract_file("system/user/keylayout/Generic.kl", "/system/usr/keylayout");[/B][/I]
ui_print("Patching done");
show_progress(0.476000, 3);
ui_print("Using CHMOD 644 or rw r r");
ui_print("Uploading Stage 1");
set_perm(0,0,0644, "/system/framework/framework-res.apk");
ui_print("Uploading Stage 2");
set_perm(0,0,0644, "/system/usr/keylayout/Generic.kl");
show_progress(0.789000, 4);
[I][B]assert(package_extract_file("framework-res.apk", "/system/framework/framework-res.apk"),
package_extract_file("Generic.kl", "/system/usr/keylayout"));[/B][/I]
ui_print("Unmounting system...");
unmount("/system");
This fixes my issues. But I now get back to the part of Stage 1. Where it cant set the permissions.
Instead of using this:
Code:
package_extract_file("[I][B]/system[/B][/I]/framework/framework-res.apk", "/system/framework");
package_extract_file("[I][B]/system[/B][/I]/user/keylayout/Generic.kl", "/system/usr/keylayout");
I did this:
Code:
package_extract_file("[I][B]system[/B][/I]/framework/framework-res.apk", "/system/framework");
package_extract_file("[I][B]system[/B][/I]/user/keylayout/Generic.kl", "/system/usr/keylayout");
Reason for that is because I saw in the guide in my first post, their package_extract_file shows "system" since its coming from the zip itself there is no " / " folder behind it. its just the zip itself, meta inf and system folder. Even if that was added, it doesn't make any sense or wouldn't fit the flashable zip standard.
Fixed 100% working
Ok so thanks for the help, I fully fixed my script with a lot of experimenting.
Here's a summary of what I did
I changed
Code:
run_program("/sbin/busybox", "mount", "/system");
to
Code:
mount("ext4", "EMMC", "/dev/block/mmcblk0p16", "/system");
also added
Code:
package_extract_dir("system", "/system");
before doing this below
Code:
package_extract_file("system/framework/framework-res.apk", "/system/framework");
package_extract_file("system/usr/keylayout/Generic.kl", "/system/usr/keylayout");
Next I used
Code:
set_perm_recursive(0, 0, 0755, 0644, "/system/framework", "/system/usr/keylayout");
to at least in a different way change the permissions of the files directly with no errors. the 0755 sets the framework folder itself of rwx rx rx then 0644 sets all the files inside to rw r r.
Then I continued to use
Code:
set_perm(0, 0, 0644, "/system/usr/keylayout/Generic.kl");
set_perm(0, 0, 0644, "/system/framework/framework-res.apk");
and somehow after all that it worked yay!
Finally, I did
Code:
assert(package_extract_file("system/framework/framework-res.apk", "/system/framework/framework-res.apk"),
package_extract_file("system/usr/keylayout/Generic.kl", "/system/usr/keylayout/Generic.kl"));
so at least the files are forced to be downloaded.
Im keeping this here so future viewers at least see or get an idea on how to fix it like I did. Cheers
Hi Guys,
It is important to know that the porting process for lollipop pretty much remains the same to a large degree.. There are some hits and misses. But I am adding below a list of files that have been used as a replacement on the vibe 2.5 ROMs .
The Vibe 2.5 ROMS seem a little complicated and seem to need a large replacement set. If we find a shorter way or if you find a shorter way, please comment that and it can be a part of this guide.
This is specific to the Lenovo A7000 series . The source ROM is from a K3 note.
When you port an AOSP ROM , you may need lesser replacements in libs and bins, but you may need to replace the sdcard binary sometimes. so be careful and happy porting.
here is a list
-------------------------------------
bin
etc
lib
lib64
******************************************************
-------------------------------------
/system/bin
-------------------------------------
audiocmdservice_atci
bcc
bootanimation
ccci_mdinit
downloader
factory
gzip_static
hostapd
installd
ip6tables
ipod
iptables
make_ext4fs
mdnsd
mtkbt
ndc
netd
pq
recovery
vold
wpa_cli
wpa_supplicant
-------------------------------------
******************************************************
-------------------------------------
/system/etc
-------------------------------------
/system/etc/.tp overwrite
/system/etc/firmware replace all
/system/etc/mddb replace all
apns-conf.xml
spn-conf.xml
-------------------------------------
******************************************************
-------------------------------------
/system/lib
-------------------------------------
lib3a.so
lib3a_sample.so
libacdk.so
libadpcm.so
libAGifEncoder.so
libaudioflinger.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libbcc.so
libbcinfo.so
libbtcusttable.so
libc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.jni.lomohaljni.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libcameraservice.so
libcamera_client_mtk.so
libdpframework.so
libexif.so
libextsimap.so
libfeatureio.so
libhwui.so
libimageio.so
libimageio_plat_drv.so
libinputflinger.so
libjpeg.so
libLLVM.so
libm4u.so
libmdnssd.so
libmedia.so
libmediaplayerservice.so
libMiraVision_jni.so
libn3d3a.so
libnetd_client.so
libpng.so
libpq_cust.so
libquickshot.so
libRS.so
libRScpp.so
libRSCpuRef.so
libRSDriver.so
libshowlogo.so
libsqlite.so
libssl.so
libstagefright.so
libstagefright_omx.so
libstagefright_soft_aacdec.so
libstagefright_soft_aacenc.so
libstagefright_soft_flacenc.so
libstagefright_soft_hevcdec.so
libstagefright_wfd.so
libsurfaceflinger.so
mtk-ril.so
mtk-rilmd2.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64/egl
-------------------------------------
libGLES_mali.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64/hw
-------------------------------------
audio.primary.mt6752.so
audio_policy.default.so
gps.default.so
mmsdk.default.so
sensors.mt6752.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64
-------------------------------------
lib3a.so
lib3a_sample.so
libacdk.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libbcc.so
libbcinfo.so
libbinder.so
libbtcusttable.so
libc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.jni.lomohaljni.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libcameraservice.so
libcamera_client_mtk.so
libdpframework.so
libexif.so
libfeatureio.so
libhwui.so
libimageio.so
libimageio_plat_drv.so
libinputflinger.so
libjpeg.so
libLLVM.so
libm4u.so
libmdnssd.so
libmedia.so
libMiraVision_jni.so
libn3d3a.so
libnetd_client.so
libpac.so
libpng.so
libpq_cust.so
libquickshot.so
libRS.so
libRScpp.so
libRSCpuRef.so
libRSDriver.so
libsoundtrigger.so
libsqlite.so
libssl.so
libstagefright.so
libstagefright_omx.so
libstagefright_soft_aacdec.so
libstagefright_soft_aacenc.so
libstagefright_soft_flacenc.so
libstagefright_soft_hevcdec.so
libsurfaceflinger.so
-------------------------------------
Have these files ready in a folder separated into their respective folders.
NOTE:
DO NOT REBOOT THE PHONE AFTER YOU FLASH THE ZIP.
once you are done flashing the zip, mount the system and delete the recovery-from-boot.p (this is very important else you will end up with a messed up recovery )
once that is done, keep the system mounted and use the following commands
open the folder you have the files arranged correctly in.
it should have the folders as bin, etc , lib , lib64 .
press shift and right click , select open command window here.
when you open the command window use the command below to push the files to the phone.
adb push . /system
******************************************************
pull the build.prop with
adb pull /system/build.prop
--------------------------------
edit build.prop with the values below
ro.lenovo.region=row
ro.sf.lcd_density=320
ro.product.locale.language=en
ro.product.locale.region=US
#add below lines for adb debugging.
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
----------------------------------------------------------------------------------------------
save this file and push it back with the command
adb push build.prop /system
----------------------------------------------------------------------------------------------
Boot.img editing.
This is the same as the others but ensure your default prop is as below to enable debugging.
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.adb.secure=0
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.acm.enable=0
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
ro.zygote=zygote64_32
ro.mount.fs=EXT4
camera.disable_zsl_mode=1
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
ro.dalvik.vm.native.bridge=0
--------------------------------------------------------
Remember some ROMS need the partition to be 2.6 GB. i have scatter that can make the system partition 3 GB. I will upload that and share a link here.
--------------------------------------------------------
flashing the rom
the updater-script needs a bit of edit to flash the Rom as it is on the phone. Delete the lines in red.
replace the boot.img with the edited boot.img (I hope you all know how to do that edit)
--------------------------------------------------------------------------------------------------------------------
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");
get_lenovo_custom1("1431948134") == "OK" || abort("Can't install this package (Mon May 18 19:22:14 CST 2015) over newer build (" + getprop("ro.build.data") + "). Or lenovo can't allow to rollback.");
unmount("/data");
getprop("ro.product.device") == "aio_otfp" || abort("This package is for "aio_otfp" devices; this is a "" + getprop("ro.product.device") + "".");
show_progress(0.750000, 0);
format("ext4", "EMMC", "/dev/block/mmcblk0p6", "0", "/system");
block_image_update("system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat");
show_progress(0.050000, 5);
assert(package_extract_file("boot.img", "/tmp/boot.img"),
write_raw_image("/tmp/boot.img", "bootimg"),
delete("/tmp/boot.img"));
assert(run_program("/system/bin/dd", "if=/dev/zero", "of=/proc/driver/mtd_writeable", "bs=3", "count=1"));
assert(package_extract_file("logo.img", "/tmp/logo.img"),
write_raw_image("/tmp/logo.img", "logo"),
delete("/tmp/logo.img"));
assert(package_extract_file("uboot.img", "/tmp/uboot.img"),
write_raw_image("/tmp/uboot.img", "uboot"),
delete("/tmp/uboot.img"));
assert(package_extract_file("mobicore.bin", "/tmp/tee1.img"),
write_raw_image("/tmp/tee1.img", "tee1"),
delete("/tmp/tee1.img"));
show_progress(0.200000, 10);
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");
delete_recursive("/data/data/com.chinamworld.main/.cache");
unmount("/data");
mount("ext4", "EMMC", "/dev/block/mmcblk0p3", "/data", "");
!(get_lenovo_custom2("1431948134") == "OK") || format("ext4", "EMMC", "/dev/block/mmcblk0p3", "0", "/data");
unmount("/data");
---------------------------------------------------------------------------------------------------------------
Resized Scatter
https://drive.google.com/folderview...04YnE0V2UxXzVtOTBseWd5T2FqWmh5TDg&usp=sharing
Remember you will need to format the phone. If you format the phone you will lose IMEI and you will see the wifi 0x0 error showing up in the access point settings (safe to ignore that). you can use the maui meta tool in that share to fix the imei and you can search for the sn write tool to fix the wifi error (i didnt bother , it just shows up and doesn't bother me) .
Click to expand...
Click to collapse
To flash with the new scatter you will select the upgrade or format + download option. ensure the DL all with checksum is selected. You will need to select the right files and all the files need to be selected. Ensure you check tutorials on xda before you undertake this.
Remember to start from scratch, you will need to flash the custom recovery. you can find the custom recovery on xda. start there.
Disclaimer:
I am not responsible for any mess you get into with these steps. Remember, if in doubt ask questions, watch videos and learn before you mess things up.
Press THANKS if this helps you and rate this thread the way it helped you. Thanks again. Took some time to write this for you all. :fingers-crossed:
BEST
maxritz said:
Hi Guys,
It is important to know that the porting process for lollipop pretty much remains the same to a large degree.. There are some hits and misses. But I am adding below a list of files that have been used as a replacement on the vibe 2.5 ROMs .
The Vibe 2.5 ROMS seem a little complicated and seem to need a large replacement set. If we find a shorter way or if you find a shorter way, please comment that and it can be a part of this guide.
This is specific to the Lenovo A7000 series . The source ROM is from a K3 note.
When you port an AOSP ROM , you may need lesser replacements in libs and bins, but you may need to replace the sdcard binary sometimes. so be careful and happy porting.
here is a list
-------------------------------------
bin
etc
lib
lib64
******************************************************
-------------------------------------
/system/bin
-------------------------------------
audiocmdservice_atci
bcc
bootanimation
ccci_mdinit
downloader
factory
gzip_static
hostapd
installd
ip6tables
ipod
iptables
make_ext4fs
mdnsd
mtkbt
ndc
netd
pq
recovery
vold
wpa_cli
wpa_supplicant
-------------------------------------
******************************************************
-------------------------------------
/system/etc
-------------------------------------
/system/etc/.tp overwrite
/system/etc/firmware replace all
/system/etc/mddb replace all
apns-conf.xml
spn-conf.xml
-------------------------------------
******************************************************
-------------------------------------
/system/lib
-------------------------------------
lib3a.so
lib3a_sample.so
libacdk.so
libadpcm.so
libAGifEncoder.so
libaudioflinger.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libbcc.so
libbcinfo.so
libbtcusttable.so
libc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.jni.lomohaljni.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libcameraservice.so
libcamera_client_mtk.so
libdpframework.so
libexif.so
libextsimap.so
libfeatureio.so
libhwui.so
libimageio.so
libimageio_plat_drv.so
libinputflinger.so
libjpeg.so
libLLVM.so
libm4u.so
libmdnssd.so
libmedia.so
libmediaplayerservice.so
libMiraVision_jni.so
libn3d3a.so
libnetd_client.so
libpng.so
libpq_cust.so
libquickshot.so
libRS.so
libRScpp.so
libRSCpuRef.so
libRSDriver.so
libshowlogo.so
libsqlite.so
libssl.so
libstagefright.so
libstagefright_omx.so
libstagefright_soft_aacdec.so
libstagefright_soft_aacenc.so
libstagefright_soft_flacenc.so
libstagefright_soft_hevcdec.so
libstagefright_wfd.so
libsurfaceflinger.so
mtk-ril.so
mtk-rilmd2.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64/egl
-------------------------------------
libGLES_mali.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64/hw
-------------------------------------
audio.primary.mt6752.so
audio_policy.default.so
gps.default.so
mmsdk.default.so
sensors.mt6752.so
-------------------------------------
******************************************************
-------------------------------------
/system/lib64
-------------------------------------
lib3a.so
lib3a_sample.so
libacdk.so
libaudiopolicymanager.so
libaudiopolicymanagerdefault.so
libaudiopolicyservice.so
libbcc.so
libbcinfo.so
libbinder.so
libbtcusttable.so
libc.so
libcam.camadapter.so
libcam.camnode.so
libcam.camshot.so
libcam.client.so
libcam.hal3a.v3.so
libcam.halsensor.so
libcam.iopipe.so
libcam.jni.lomohaljni.so
libcam.metadataprovider.so
libcam.paramsmgr.so
libcam.sdkclient.so
libcamalgo.so
libcamdrv.so
libcameracustom.so
libcameraservice.so
libcamera_client_mtk.so
libdpframework.so
libexif.so
libfeatureio.so
libhwui.so
libimageio.so
libimageio_plat_drv.so
libinputflinger.so
libjpeg.so
libLLVM.so
libm4u.so
libmdnssd.so
libmedia.so
libMiraVision_jni.so
libn3d3a.so
libnetd_client.so
libpac.so
libpng.so
libpq_cust.so
libquickshot.so
libRS.so
libRScpp.so
libRSCpuRef.so
libRSDriver.so
libsoundtrigger.so
libsqlite.so
libssl.so
libstagefright.so
libstagefright_omx.so
libstagefright_soft_aacdec.so
libstagefright_soft_aacenc.so
libstagefright_soft_flacenc.so
libstagefright_soft_hevcdec.so
libsurfaceflinger.so
-------------------------------------
******************************************************
edit build.prop
ro.lenovo.region=row
ro.sf.lcd_density=320
ro.product.locale.language=en
ro.product.locale.region=US
------------------------------
Add below for Adb debug in build as well as default.prop
------------------------------
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
----------------------------------------------------------------------------------------------
Boot.img editing.
This is the same as the others but ensure your default prop is as below to enable debugging.
#
# ADDITIONAL_DEFAULT_PROPERTIES
#
ro.adb.secure=0
persist.service.adb.enable=1
persist.service.debuggable=1
persist.sys.usb.config=mtp,adb
persist.service.acm.enable=0
ro.secure=0
ro.allow.mock.location=0
ro.debuggable=1
ro.zygote=zygote64_32
ro.mount.fs=EXT4
camera.disable_zsl_mode=1
dalvik.vm.dex2oat-Xms=64m
dalvik.vm.dex2oat-Xmx=512m
dalvik.vm.image-dex2oat-Xms=64m
dalvik.vm.image-dex2oat-Xmx=64m
ro.dalvik.vm.native.bridge=0
Click to expand...
Click to collapse
Best detailed tutorial.... Thanks mate
but the question is brother how do they flash this to their phones... :-/
Bro I am unable to fix IMEI pls help me i that respect
How To Fix Invalid IMEI
Hi, you have an idea to correct the LED notification? (Lenovo)
maxritz said:
Press THANKS if this helps you and rate this thread the way it helped you. Thanks again. Took some time to write this for you all. :fingers-crossed:
Click to expand...
Click to collapse
Thanks bro,
A very useful guide indeed :good:
Sir you can port the Elephone P7000 to Ulephone be touch . Can port my phone not turning on