[Script] Kernel Manager for X10 {NO LONGER SUPPORTED} - XPERIA X10 Android Development

< ANNOUNCEMENTS >
these scripts are no longer supported as we plan to make app for this
</ ANNOUNCEMENTS >
PLEASE DO NOT RUSH TO TEST THIS,
PLEASE READ THIS COMPLETE POST TILL THE END AND ONLY THEN USE THE FILES PROVIDED IN 2ND POST.
PLEASE MAKE A NANDROID/RECOVERY BACKUP OF UR CURRENT ROM. AND MAKE SURE THAT U CAN USE FLASHTOOL TO FLASH STOCK SE FW IF THE OS FAILS TO BOOT (IF U R STUCK AT SE TEXT LOGO)
PLEASE READ THE WARNING POSTED TOWARDS THE END OF THIS POST
This Kernel Manager will provide a slight easier way to test/use/switch between custom kernels available for X10... This is as of now its based off GScript (need help from others if it has to become an app)... its basically a bunch of shell scripts... which can be executed to get the desired Kernel Manager
MANY thanks to jerpelea, zdzihu, Bin4ry, Androxyde & others involved in creating custom recovery for X10, FreeXperia Project & developing custom kernels
Thank you anantshri for helping out during testing phase.
Thanks to everyone who tested out v1.0 and provided invaluable feedback/comments/suggestion... Thank you very much...
DIFFICULTY: MEDIUM
Requirements
for using custom kernels u will need to be on baseband 2.0.xx (2.0.52 preferred)... you can download it from BaseBand Collection...
froyo users (who have roms ment for basebands 2.1.5x) can use Base Band Patch for 2.2 roms...
Any working recovery
Features:
Single chargemon script for:
Reboot into recovery
Boot custom kernel at next bootup
Boot stock/custom kernel as default
Slightly elegant way (in my opinion) of selecting custom kernels
Tried my best to keep it as backward compatible with existing scripts as possible
Ability to take backup of stock modules of current ROM
All files will be having LOTS of log capability so that error/bug hunting can be easier
System mounts will be handled more securely and after required operations are complete the system will be remounted to original state
Backup of current chargemon will be taken which can be restored later so as to not disturb current recovery
Included FreeXperia recovery into the kernelmanager package (Thank you jerpelea & zdzihu for ur work on custom recovery)
Some Busybox binaries included in kernelmanager package (this will not interfere with the current busybox on ur current ROM)
This is currently based on shell scripts. There are three types of scripts which are executed:
[Type 1] Some scripts are executed during flashing update.zip
[Type 2] Some shell scripts are executed during bootup (by chargemon)
[Type 3] Others will have to be executed by user.
U will need GScript to be able to use user-executable Kernel Manager scripts. I have not included GScript in package because I found that there can be an issue if GScript gets overwritten. So u can install GScript Lite from market (or download from here). The scripts which require user-interaction and the files which need to be run from OS will be saved in /sdcard/gscript folder.
The files which need to be run from android OS:
backup_stock.sh
DEPRECATED FUNCTION. NO NEED TO RUN THIS.
restore_stock.sh
This program restores the stock modules of current rom. Before running this script make sure that u switch off WIFI/BT. Once restore is complete reboot the device to see if changes worked.
set_default_stock.sh
This sets a flag (/system/kernel/defaultstock) so that STOCK kernel is booted by default and all custom kernel flags are removed.
set_default_custom.sh
This sets a flag (/data/local/tmp/defaultcustom) so that CUSTOM kernel is booted by default and all other flags are removed.
set_test_custom.sh
This sets a flag (/data/local/tmp/kexecboot & /data/local/tmp/defaultcustom) so that CUSTOM kernel is booted ONLY ONCE during NEXT bootup and all other flags are removed. After subsequent reboots the stock kernel will be selected by default.
select_KERNELNAME.sh
This file will be provided in each custom kernel package and will write the name of the folder containing the custom kernel files to /data/local/tmp/selectedkernel
There will also be a “identifier” file in each kernel package which will be displayed to the user.
check_current_kernel.sh
This program is ment to show the currently selected kernel. But for some odd reason it doesn’t show the intended info.
reboot_recovery.sh
This program is ment to reboot the device into recovery.
uninstall_km.sh
This program marks a flag "/data/local/tmp/uninstall_km" which will be read by kernelmanager on next reboot and will restores the stock modules & original chargemon of current rom. Once restore is complete during next bootup the device will automatically reboot (this is expected). Then please see if everything is restored back to stock. For now this will NOT DELETE KERNELMANAGER files.
Add these files into GScript:
just launch the app
click on "Load File" and select each script, all the contents will load automatically
u need to make sure that the option "Need SU?" is checked (ticked)
now save
if u try running the script a popup for SU permissions might come up, this will only come the first time its run, select "Allow"
Short HOW-TO:
Reboot into recovery
Flash KM_v1.1_install.zip
Reboot device
Add all the files into GScript as mentioned above
NOW select the kernel u want to test select_KERNELNAME. the device wont reboot.
U can now select if u want to just test the custom kernel out set_test_custom.sh or want to set custom kernel as default set_default_custom.sh. the device wont reboot.
Once these programs are executed now u can reboot device and enjoy custom kernels
If u want to go back to stock kernel for the current ROM u can just select set_default_custom.sh and stock kernel for the current ROM will be booted on next reboot
If u want to switch kernels just select the kernel u want to use select_KERNELNAME
U can always flash KM_v1.1_restoremodules.zip if u face any problems like installer update.zip did not flash properly / u are stuck at SE text logo (ramdisk related) / facing contant system FC/crashes (ramdisk related)
If u had any problems using kernel manager just pull the log files via ADB shell:
Code:
adb pull /system/kernelmanager/log/ .
adb pull /data/local/tmp/km_log/ .
after which u can flash uninstaller update.zip to return to ur default chargemon & recovery... also it would be helpful if u can post the log files here so that i can look into wht the problem was exactly...
Logs saved at:
/system/kernelmanager/log/ for [Type 1]
/data/local/tmp/km_log/ for [Type 2] & [Type 3]
All filenames of logs will start with km_log_
So if u run into any problems please get the log files from the above directory and post them here.
WARNINGS:
Only those files which are provided here (including kernel packages) will be supported
I have used the miniloader provided in the latest kernels, this version does not print out any on screen text. I am aware that some users are having an issue with using this version of miniloader. A hotfix package released check POST #2.
If ur current rom does not require default custom kernel then please delete /system/kernel folder before flashing installer update.zip
IMPORTANT for CM7 users / users who have ROMs which uses custom kernel as default booting option. PLEASE use v1.1 which is compatible for u guys. also NO NEED TO DELETE /system/kernel/
To-do:
move kernel files to SDCARD
Md5 checker for files before copying to /system
Ideas for future:
Create some sort of framework which will allow to store all currently available custom kernels centrally (may be on some central server), so that the users can download them to their devices as required
APP for this
If we can integrate it into Recovery as an option
Or can be launched (some sort of text interface) via Recovery as an update.zip (something like the interface used by OpenRecovery available for Moto Droid/Milestone)
PLANNED FUTURE WORK
also at this point i would like to disclose some interesting news to everyone...
we.. DooMLoRD, MrHassell, Chumby_666, kxhawkins are working to create an amazing thing for our X10 based on this... basically we are planning to create an APP for this AND CUSTOMIZED RECOVERY WITH KERNEL MANAGER INTEGRATED so that u can select custom kernels right from recovery [no need to keep flashing zips ]
THANK YOU ZDZIHU FOR RELEASING THE XRECOVERY SOURCES
MrHassell is planning to work out android APP related aspects
Chumby_666 & kxhawkins are planning to work out recovery menu integration aspects...
i will help them out whichever way i can...
Downloads are provided in POST #2 (below)...

Release & sources / codes
Releases:
[14-May-2011] Kernel Manager v1.1 additional kernels set2 released
[13-May-2011] Kernel Manager v1.1 released
[11-May-2011] Kernel Manager v1.0 additional kernels set2 released
[09-May-2011] Kernel Manager v1.0 released
[30-Apr-2011] test release v0.1 (with required folder structure) [FOR DEVS ONLY] (check attachment)
Kernel Manager v1.1 additional kernels set2
Release Notes:
There is one update.zip
KM_v1.1_kernels_set2.zip
For additional testing I am providing 2 more kernels:
FreeXperia Kernel-007 / beta7 [FXK_K007_J]
FreeXperia Kernel-009 / beta9 [FXK_K009_J]
FreeXperia Kernel-010 / beta10 [FXK_K010_J]
The associated modules (wifi.ko / ar6000.ko) are also provided in the included package
Downloads (check Post #2)
Kernel Manager v1.1
Release Notes:
There are three update.zips which are provided
KM_v1.1_install.zip (installer update.zip)
KM_v1.1_restoremodules.zip (emergency restore update.zip)
KM_v1.1_uninstall.zip (un-installer update.zip)
For the sake of testing I will be providing only 3 kernels:
FreeXperia Kernel-001 [FXK_K001_J]
FreeXperia Kernel-006 / beta6 [FXK_K006_J]
TripNKernel Modified FreeKernel-03 based on zdzihu's FreeKernel [TK_FK_B3_Z_T]
The associated modules (wifi.ko / ar6000.ko) are also provided in the included package
This version should be compatible with all roms
no more mounting/remounting for user-executed scripts (gscripts)
if u have used v1.0 before flashing u will have to manually remove each script which u had initially loaded from v1.0 in GScript
If ur current rom does not require default custom kernel then please delete /system/kernel folder before flashing installer update.zip
u can always flash KM_v1.1_restoremodules.zip if u face any problems like installer update.zip did not flash properly / u are stuck at SE text logo (ramdisk related) / facing contant system FC/crashes (ramdisk related)
Details (check 1st post)
Kernel Manager v1.0
Release Notes:
There are two update.zips which are included
KM_v1.0_install.zip (installer update.zip)
KM_v1.0_uninstall.zip (un-installer update.zip)
For the sake of testing I will be providing only 3 kernels for testing:
FreeXperia Kernel-001 [FXK_K001_J]
FreeXperia Kernel-006 / beta6 [FXK_K006_J]
TripNKernel Modified FreeKernel-03 based on zdzihu's FreeKernel [TK_FK_B3_Z_T]
The associated modules (wifi.ko / ar6000.ko) are also provided in the included package
Details (check 1st post)
Kernel Manager v1.0 additional kernels set2
Release Notes:
There is one update.zip
KM_v1.0_kernels_set2.zip
For additional testing I am providing 2 more kernels:
FreeXperia Kernel-007 / beta7 [FXK_K007_J]
FreeXperia Kernel-009 / beta9 [FXK_K009_J]
The associated modules (wifi.ko / ar6000.ko) are also provided in the included package
Downloads (check Post #2)
DOWNLOADS
RELEASES
Kernel Manager v1.0
KM_v1.0_install.zip
KM_v1.0_uninstall.zip
Kernel Manager v1.1
KM_v1.1_install.zip
KM_v1.1_restoremodules.zip
KM_v1.1_uninstall.zip
ADDITIONAL KERNELS
Kernel Manager v1.0 Kernels Set 2
KM_v1.0_kernels_set2.zip
Kernel Manager v1.1 Kernels Set 2
KM_v1.1_kernels_set2.zip
HOTFIX
miniloader version issue:
There seems to be some issues face by some users, where in using an older version of miniloader helped them sort out the issues. So I will provide here both versions.
Flashable update.zip via recovery, contains miniloader & splboot.ko:
bootloader_bypass_files_v1.zip [newest miniloader] (recommended)
bootloader_bypass_files_v2.zip [older miniloader] (testing only)
WiFi fix for Froyo
on Froyo ROM if u are getting wifi error on kernel 009/010 then u can use the wifi_bt_fix-fxk_froyo_v01.1.zip : patch module from: [PATCH] Fix WiFi and BT for FreeXperia Kernel (froyo)
U NEED TO FLASH wifi_bt_fix-fxk_froyo_v01.1.zip ONLY

here it is

nicework buddy...
however i would stilll like to have some kind of grub like interface..
i.e a interface with some kind of a timer and when timer reached load default option whatever that may be othewise use up and down vol key for navigation or any other key and allow user to select kernel or recovery etc options

anantshri said:
nicework buddy...
however i would stilll like to have some kind of grub like interface..
i.e a interface with some kind of a timer and when timer reached load default option whatever that may be othewise use up and down vol key for navigation or any other key and allow user to select kernel or recovery etc options
Click to expand...
Click to collapse
I second the grub dos interface.
Still very awesome work dude.

anantshri said:
nicework buddy...
however i would stilll like to have some kind of grub like interface..
i.e a interface with some kind of a timer and when timer reached load default option whatever that may be othewise use up and down vol key for navigation or any other key and allow user to select kernel or recovery etc options
Click to expand...
Click to collapse
hey buddy that wht i am thinking of exactly!!
>>
If we can integrate it into Recovery as an option
Or can be launched (some sort of text interface) via Recovery as an update.zip (something like the interface used by OpenRecovery available for Moto Droid/Milestone)
<<

UPDATE
Sources & codes released in 2nd post
test release v0.1 (FOR DEVS ONLY)

Excellent!
I've got an X10 again So.. now I'm ready when you are, should we integrate with xCharge?

Hey bro, not sure if you knew this already or if it works the same way but there is already a kernel manager app out there that relies on user/dev uploaded kernels and populates the app off a web server (similar to ROM Manager, i believe its the same dev?)..
take a look, maybe it will help your progress?...
https://market.android.com/details?id=com.teamwin.kernelmanager&feature=search_result
Theres also a free version.

BULL3TPR00F said:
Hey bro, not sure if you knew this already or if it works the same way but there is already a kernel manager app out there that relies on user/dev uploaded kernels and populates the app off a web server (similar to ROM Manager, i believe its the same dev?)..
take a look, maybe it will help your progress?...
https://market.android.com/details?id=com.teamwin.kernelmanager&feature=search_result
Theres also a free version.
Click to expand...
Click to collapse
hey BULL3TPR00F,
those apps are ment for users who have unlocked/cracked bootloaders... X10 uses a unique way to load custom kernels (kexec/splboot) so those apps wont be of any use to us...

yeah im aware that the x10 has to bypass the bootloader, but i didnt know that app requires a cracked bootloader.
thanks for the info. keep up the great work

BULL3TPR00F said:
yeah im aware that the x10 has to bypass the bootloader, but i didnt know that app requires a cracked bootloader.
thanks for the info. keep up the great work
Click to expand...
Click to collapse
well actually most of these app write the boot.img to boot partition...
this is from one of the custom kernels ment for Nexus One [i was trying to make it run for our devices but thats a story for some other time.... ]
Code:
write_raw_image("/tmp/boot.img", "boot");
since we are not able to write to that boot partition (yet) we cant use them...

i love how you devs always say: we're unable to (yet), gives me great hope keep up the good work!

THANK YOU anantshri
guys we were finally able to figure out wht the issue was...
it was all related to using a wrong windows text editor (difference between WIN/LINUX characters)
finally got the problematic scripts to work....
i will be able to complete these scripts soon...
once again THANK YOU anantshri

Doom, any news here?
Sent from my X10i using XDA Premium App

Doom just wanted to let you know in public venue that your work... threads ... and help to others is well above most...
Thanks
Sent from my X10project using XDA App

anders260 said:
Doom, any news here?
Sent from my X10i using XDA Premium App
Click to expand...
Click to collapse
hi anders260... v0.2 is ready and is being tested by me... will release it soon for public testing...
will provide 3 custom kernels (Z's FreeKernel, J's FreeXperia Kernel k006, T's modified kernel) for this phase of testing...
all files will be having LOTS of log capability so that error/bug hunting can be easier...
system mounts will be handled more securely and after required operations are complete the system will be remounted to original state...
will be including FreeXperia recovery into the kernelmanager package so as to not disturb current recovery...
backup of current chargemon will be taken which can be restored later...
option to take backup of current ROMs stock modules...
a little glimpse of wht to expect...
Code:
#
# DooMLoRD: Kernel Manager for X10 (v0.2)
# FILE: activate_kernel.sh
#
echo
echo "---[START PROGRAM]---"
# defining VARS
KERNELNAME="FK_A1_Z"
PROGNAME="activate_kernel"
LOGFILENAME="km_log_$PROGNAME_$KERNELNAME.txt"
LOGFILEPATH="/data/local/tmp/$LOGFILENAME"
KMPATH="/system/kernelmanager"
KERNELPATH="$KMPATH/kernel_files/$KERNELNAME"
# removing log file
if [ -e $LOGFILEPATH ]
then
rm $LOGFILEPATH
fi
echo
echo "PROGRAM NAME: $PROGNAME"
echo "-----[START LOG]-----" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "PROGRAM NAME: $PROGNAME" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
date >> $LOGFILEPATH 2>> $LOGFILEPATH
# mount/remount commands
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< MOUNT / REMOUNT >>"
echo "<< MOUNT / REMOUNT >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
CURMNT=`mount | busybox grep /system | busybox awk '{print $4}'`
# Checking current system mount mode and remounting as RW if required
echo "Checking current system mount mode and remounting as RW if required" >> $LOGFILEPATH 2>> $LOGFILEPATH
case $CURMNT in
rw*)
echo "System mounted as RW" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
ro*)
echo "System mounted as RO" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "then system will be remounted as RW" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount -o remount,rw -t yaffs2 `mount | busybox grep /system | busybox awk '{print $1}'` /system >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
esac
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# DOING SOME WORK
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< ACTIVATING CUSTOM KERNEL: $KERNELNAME >>"
echo "<< ACTIVATING CUSTOM KERNEL: $KERNELNAME >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING FILES TO SYSTEM"
echo "COPYING FILES TO SYSTEM" >> $LOGFILEPATH 2>> $LOGFILEPATH
#echo "COPYING ALL FILES" >> $LOGFILEPATH 2>> $LOGFILEPATH
#cp -r -p $KERNELPATH/system/* /system/. >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING boot.img" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/system/kernel/boot.img /system/kernel/boot.img >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING wifi.ko" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/system/lib/modules/wifi.ko /system/lib/modules/wifi.ko >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Fixing permissions" >> $LOGFILEPATH 2>> $LOGFILEPATH
busybox chmod 644 /system/lib/modules/wifi.ko >> $LOGFILEPATH 2>> $LOGFILEPATH
busybox chmod 644 /system/kernel/boot.img >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING IDENTIFIER"
echo "COPYING IDENTIFIER" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/identifier /system/kernel/identifier >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# mount/remount commands
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< MOUNT / REMOUNT >>"
echo "<< MOUNT / REMOUNT >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# remounting system to ORIGINAL mount mode
echo "remounting system to ORIGINAL mount mode" >> $LOGFILEPATH 2>> $LOGFILEPATH
case $CURMNT in
rw*)
echo "System was already mounted as RW... Nothing to do..." >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
ro*)
echo "Remounting system as RO" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Remounting System" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount -o remount,ro -t yaffs2 `mount | busybox grep /system | busybox awk '{print $1}'` /system >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
esac
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "-----[DONE LOG]-----" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "---[DONE PROGRAM]---"
echo
echo "LOG file at: $LOGFILEPATH"
echo
echo
echo "DISPLAYING LOG"
echo
cat $LOGFILEPATH
echo
rdannar said:
Doom just wanted to let you know in public venue that your work... threads ... and help to others is well above most...
Thanks
Sent from my X10project using XDA App
Click to expand...
Click to collapse
thank you rdannar!

Hi DooM,
One simple trick which i was trying to remember nothing big but will save some time and space too.
echo "Hello" >> $LOG 2>&1
this will log both stdout and stderr on same file. $LOG.
hope this helps.
and ya i am also waiting to test this kernel manager.
EDIT : Sorry for top post
DooMLoRD said:
hi anders260... v0.2 is ready and is being tested by me... will release it soon for public testing...
will provide 3 custom kernels (Z's FreeKernel, J's FreeXperia Kernel k006, T's modified kernel) for this phase of testing...
all files will be having LOTS of log capability so that error/bug hunting can be easier...
system mounts will be handled more securely and after required operations are complete the system will be remounted to original state...
will be including FreeXperia recovery into the kernelmanager package so as to not disturb current recovery...
backup of current chargemon will be taken which can be restored later...
option to take backup of current ROMs stock modules...
a little glimpse of wht to expect...
Code:
#
# DooMLoRD: Kernel Manager for X10 (v0.2)
# FILE: activate_kernel.sh
#
echo
echo "---[START PROGRAM]---"
# defining VARS
KERNELNAME="FK_A1_Z"
PROGNAME="activate_kernel"
LOGFILENAME="km_log_$PROGNAME_$KERNELNAME.txt"
LOGFILEPATH="/data/local/tmp/$LOGFILENAME"
KMPATH="/system/kernelmanager"
KERNELPATH="$KMPATH/kernel_files/$KERNELNAME"
# removing log file
if [ -e $LOGFILEPATH ]
then
rm $LOGFILEPATH
fi
echo
echo "PROGRAM NAME: $PROGNAME"
echo "-----[START LOG]-----" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "PROGRAM NAME: $PROGNAME" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
date >> $LOGFILEPATH 2>> $LOGFILEPATH
# mount/remount commands
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< MOUNT / REMOUNT >>"
echo "<< MOUNT / REMOUNT >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
CURMNT=`mount | busybox grep /system | busybox awk '{print $4}'`
# Checking current system mount mode and remounting as RW if required
echo "Checking current system mount mode and remounting as RW if required" >> $LOGFILEPATH 2>> $LOGFILEPATH
case $CURMNT in
rw*)
echo "System mounted as RW" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
ro*)
echo "System mounted as RO" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "then system will be remounted as RW" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount -o remount,rw -t yaffs2 `mount | busybox grep /system | busybox awk '{print $1}'` /system >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
esac
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# DOING SOME WORK
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< ACTIVATING CUSTOM KERNEL: $KERNELNAME >>"
echo "<< ACTIVATING CUSTOM KERNEL: $KERNELNAME >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING FILES TO SYSTEM"
echo "COPYING FILES TO SYSTEM" >> $LOGFILEPATH 2>> $LOGFILEPATH
#echo "COPYING ALL FILES" >> $LOGFILEPATH 2>> $LOGFILEPATH
#cp -r -p $KERNELPATH/system/* /system/. >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING boot.img" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/system/kernel/boot.img /system/kernel/boot.img >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING wifi.ko" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/system/lib/modules/wifi.ko /system/lib/modules/wifi.ko >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Fixing permissions" >> $LOGFILEPATH 2>> $LOGFILEPATH
busybox chmod 644 /system/lib/modules/wifi.ko >> $LOGFILEPATH 2>> $LOGFILEPATH
busybox chmod 644 /system/kernel/boot.img >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "COPYING IDENTIFIER"
echo "COPYING IDENTIFIER" >> $LOGFILEPATH 2>> $LOGFILEPATH
cp -p $KERNELPATH/identifier /system/kernel/identifier >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# mount/remount commands
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "<< MOUNT / REMOUNT >>"
echo "<< MOUNT / REMOUNT >>" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
# remounting system to ORIGINAL mount mode
echo "remounting system to ORIGINAL mount mode" >> $LOGFILEPATH 2>> $LOGFILEPATH
case $CURMNT in
rw*)
echo "System was already mounted as RW... Nothing to do..." >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
ro*)
echo "Remounting system as RO" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Remounting System" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount -o remount,ro -t yaffs2 `mount | busybox grep /system | busybox awk '{print $1}'` /system >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "Checking System mount state" >> $LOGFILEPATH 2>> $LOGFILEPATH
mount | busybox grep /system | busybox awk '{print $4}' >> $LOGFILEPATH 2>> $LOGFILEPATH
;;
esac
echo >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "-----[DONE LOG]-----" >> $LOGFILEPATH 2>> $LOGFILEPATH
echo "---[DONE PROGRAM]---"
echo
echo "LOG file at: $LOGFILEPATH"
echo
echo
echo "DISPLAYING LOG"
echo
cat $LOGFILEPATH
echo
thank you rdannar!
Click to expand...
Click to collapse

anantshri said:
Hi DooM,
One simple trick which i was trying to remember nothing big but will save some time and space too.
echo "Hello" >> $LOG 2>&1
this will log both stdout and stderr on same file. $LOG.
hope this helps.
and ya i am also waiting to test this kernel manager.
EDIT : Sorry for top post
Click to expand...
Click to collapse
hey thanx Anant...
i will include that in future versions...
right now busy testing v0.2

Great news!!!
GREAT NEWS!!!
hello my friends i have some great news for eveyone!!!!
Kernel Manager for X10 is v1.0 NOW and will be RELEASED SHORTLY
after 15 days of trying to make this work i am proud to say that its finally complete!!!
i have personally tested this over the weekend and let me tell u this is going to make our lives so easy for changing custom kernels/associated files!!!
i will be releasing this soon... have been awake all night, need some sleep, and have to prepare "readme"
PLANNED FUTURE WORK
also at this point i would like to disclose some interesting news to everyone...
we.. DooMLoRD, MrHassell, Chumby_666, kxhawkins are working to create an amazing thing for our X10 based on this... basically we are planning to create an APP for this AND CUSTOMIZED RECOVERY WITH KERNEL MANAGER INTEGRATED so that u can select custom kernels right from recovery [no need to keep flashing zips ]
THANK YOU ZDZIHU FOR RELEASING THE XRECOVERY SOURCES
MrHassell is planning to work out android APP related aspects
Chumby_666 & kxhawkins are planning to work out recovery menu integration aspects...
i will help them out whichever way i can...

Related

[Q] init.d --> semicolon use?

Hi everyone,
I have just one question to ask:
In every init.d file that I've found, it's been divided-- some lines are with semicolons, others are one. Most have both, which confuses me greatly...
AND they're right next to each other; for example, in the Pimp My Rom tweaks,
The S10vm tweak has all but one semicolon-ed:
Code:
#!/system/bin/sh
echo "4096" > /proc/sys/vm/min_free_kbytes;
echo "0" > /proc/sys/vm/oom_kill_allocating_task;
echo "0" > /proc/sys/vm/panic_on_oom;
echo "0" > /proc/sys/vm/laptop_mode;
echo "0" > /proc/sys/vm/swappiness;
echo "50" > /proc/sys/vm/vfs_cache_pressure;
echo "90" > /proc/sys/vm/dirty_ratio;
echo "70" > /proc/sys/vm/dirty_background_ratio
In the S36iosched file, almost none are semicoloned:
Code:
#!/system/bin/sh
mount -o remount,rw /sys /sys;
mount -o remount,rw /system /system;
echo 2 > /sys/block/mmcblk0/queue/iosched/fifo_batch
echo 2230 > /sys/block/mmcblk0/queue/iosched/write_expire
echo 300 > /sys/block/mmcblk0/queue/iosched/read_expire
echo 2230 > /sys/block/mmcblk0/queue/iosched/async_write_expire
echo 300 > /sys/block/mmcblk0/queue/iosched/async_read_expire
echo 2 > /sys/block/mmcblk0/queue/iosched/writes_starved
echo 2230 > /sys/block/mmcblk0/queue/iosched/sync_write_expire
echo 300 > /sys/block/mmcblk0/queue/iosched/sync_read_expire
mount -o remount,ro /system /system
mount -o remount,ro /sys /sys
It's driving me nuts (I'm compiling my own init.d file) and I'm not sure whether to include the semicolon or not >__>
Thanks for your definitive response; it is very much appreciated!
The semicolon is a command separator. If command are separated by a new line, you don't need a semicolon. Inserting one won't make any difference.
Sent from my Nexus 7
BillGoss said:
The semicolon is a command separator. If command are separated by a new line, you don't need a semicolon. Inserting one won't make any difference.
Sent from my Nexus 7
Click to expand...
Click to collapse
Okay, thanks for your response! It's much clearer now.

[RECOVERY][ALL MDPI][ALL FIRMWARE VERSIONS] Unofficial TWRP 2.3.3.0 [WIP]

Hey guys,
This is a development project I'm working on, so please read everything carefully! I would really appreciate if you keep this thread clean, because this thread should be for developers (even if I'm not a dev ). So please don't post the same questions again and again and read the FAQ, too. If you like this or you want to tell me too keep this up, please just hit thanks and don't comment "Thank you"
Unofficial TWRP 2.3.3.0
First of all, what is TWRP?
Team Win Recovery Project 2.3, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. We started from the ground up by taking AOSP recovery and loading it with the standard recovery options, then added a lot of our own features. It’s a fully touch driven user interface – no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I built a recovery.img for testing on the xperia 2011 mdpi devices. If you want to test if, flash any kernel and after this flash the recovery.img. Flash it with flashtool or with
Code:
fastboot flash boot recovery.img
Once you have done this unplug phone and just start it, it will automatically start in TeamWinRecovery. And THIS is the biggest bug, it's unable to boot the rom (/system). I'm waiting for advice how to fix this
So if you want to try it, what's and what's not working?
Working:
Touch
Flashing Files
ADB Sideload - New!
Backup
Restore
Wiping Cache/Dalvik Cache
File Manager
Times
Settings
Mount USB - Script Rebased! NEW!
Terminal Command
Onscreen Keyboard
Locking Phone in Recovery
Reboot into Recovery
Reboot into Bootloader
Recognized as adb device
Click to expand...
Click to collapse
What's not working:
Booting in the rom
Click to expand...
Click to collapse
If you find any bugs, please tell me that I can update the list
2.3.3.0:
To download the recovery.img for mango please go here
To download the recovery.img for coconut please go here
To download the recovery.img for smultron please go "here
To download the recovery.img for satsuma please go here
For a detailed Changelog see this!
2.2.2.1:
To download the recovery.img for mango please go here
To download the recovery.img for coconut please go here
To download the recovery.img for smultron please gohere
To download the recovery.img for satsuma please gohere
Please read the FAQ in the 2nd post, too!
FAQ
Will you make this for my device, too?
- This for the xperia 2011 mdpi line, I published it for all devices
The rom is not booting after flashing this!
- Please read the OP, it will directly boot in TeamWinRecovery
Thank you!
- I would be happy if you could just hit thanks instead of commenting
On which kernel can I use this?
- On all kernels with all the android versions (gingerbread, ics, jellybean 4.1, jellybean 4.2) it worked :good:
May I integrated this in my kernel?
- Yes you may of course, but it would be great if you could link to this thread and give credits to me. But remember that you can't use this for your kernel atm because it won't boot!
Credits to:
singh_dd93
an0nym0use_
mericon
M66B
boot into recovery automatically
the key mapped the recovery is the cause of automatic login to recovery . You need to figure out which key the recovery is using.
I have ported recovery into another devices(Neo L) faced the same issue I remapped the key and it will work.
Good luck
I think your current keymap is happening to screen so whenever screen get activated(default when boots) it redirect to Recovery)
b00tbu9 said:
the key mapped the recovery is the cause of automatic login to recovery . You need to figure out which key the recovery is using.
I have ported recovery into another devices(Neo L) faced the same issue I remapped the key and it will work.
Good luck
Click to expand...
Click to collapse
So could you explaine this please. It should go to recovery with the volume down key. How/Where should I edit this?
mihahn said:
So could you explaine this please. It should go to recovery with the volume down key. How/Where should I edit this?
Click to expand...
Click to collapse
Edit must be done at RamDisk level. In ramDisk sbin/bootrec file you have to modify for Ramdisk to work
Sample boot-rec file
Code:
#!/sbin/sh
setprop service.adb.root 1
[B]if [ -e /sbin/bootrec-device ][/B]
then
[B] /sbin/bootrec-device[/B]
fi
[B]if [ -s /dev/keycheck -o -e /cache/recovery/boot ][/B]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
/system/bin/chargemon
#continue booting
sample bootrec-device code
Code:
#!/sbin/sh
# fixing CPU clocks to avoid issues in recovery
echo 1024000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 122000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 0 > /sys/class/android_usb/android0/enable
echo 0FCE > /sys/class/android_usb/android0/idVendor
echo 615D > /sys/class/android_usb/android0/idProduct
echo mass_storage,adb > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
# trigger amber LED
echo '255' > /sys/class/leds/blue/brightness
echo '255' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
echo '255' > /sys/class/leds/button-backlight/brightness
cat /dev/input/event1 > /dev/keycheck&
sleep 3
# trigger amber LED
echo '0' > /sys/class/leds/blue/brightness
echo '0' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
[B][U]echo '0' > /sys/class/leds/button-backlight/brightness[/U][/B]
kill -9 $!
this is what worked with me when I integrated CWM in Neo L... just give it a try..
b00tbu9 said:
Edit must be done at RamDisk level. In ramDisk sbin/bootrec file you have to modify for Ramdisk to work
Click to expand...
Click to collapse
Thanks, I tried (as you told me in the PM) the ramdisk of another kernel but couldn't flash it and boot in the rom. I will try it with your files and report. Many thanks
mihahn said:
Thanks, I tried (as you told me in the PM) the ramdisk of another kernel but couldn't flash it and boot in the rom. I will try it with your files and report. Many thanks
Click to expand...
Click to collapse
I was working on ramdisk the whole night so I can help you
search for line like this
Code:
cat /dev/input/event2 > /dev/keycheck&
for volume down key you have to change the event# to event2 as shown
singh_dd93 said:
I was working on ramdisk the whole night so I can help you
search for line like this
Code:
cat /dev/input/event2 > /dev/keycheck&
for volume down key you have to change the event# to event2 as shown
Click to expand...
Click to collapse
I don't know why it's not working!
My bootrec-device (in out/target/product/mango/recovery/root/sbin):
Code:
#!/sbin/sh
# fixing CPU clocks to avoid issues in recovery
echo 1024000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 122000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 0 > /sys/class/android_usb/android0/enable
echo 0FCE > /sys/class/android_usb/android0/idVendor
echo 6166 > /sys/class/android_usb/android0/idProduct
echo mass_storage,adb > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
# trigger amber LED
echo '255' > /sys/class/leds/blue/brightness
echo '255' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
echo '255' > /sys/class/leds/button-backlight/brightness
cat /dev/input/event2 > /dev/keycheck&
sleep 3
# trigger amber LED
echo '0' > /sys/class/leds/blue/brightness
echo '0' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
echo '0' > /sys/class/leds/button-backlight/brightness
kill -9 $!
And my bootrec (in the same directory)
Code:
#!/sbin/sh
setprop service.adb.root 1
if [ -e /sbin/bootrec-device ]
then
/sbin/bootrec-device
fi
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
/system/bin/chargemon
#continue booting
So after flashing the recovery.img it just shows the FreeXperia logo and goes into recovery
Remove this from bootrec and add to bootrec-device
Code:
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
add these lines at the end after kill -9 line
singh_dd93 said:
Remove this from bootrec and add to bootrec-device
Code:
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
add these lines at the end after kill -9 line
Click to expand...
Click to collapse
Thanks, but the problem is when I edit this and compile again without doing
Code:
make clean
it will use the other files again. It won't just pack it, it will create these two files again. And I don't know how to pack the recoveryimage with another tool
Okay I unpacked, changed and repacked the recovery image using this tool, but it still goes straight into recovery when I flash it over cm9 kernel. Btw I didn't pack the cm9 kernel by myself, I took an older one from FXP. If I pack it the boot.img usin
Code:
make -j1 bootimage
the boot.img won't start in any recovery or else
Any other suggestions guys? We are very near! :good:
all the best
I did compile it once but was stuck at same place.. i have to restore grub..upgraded win8 .. will try to help.
mihahn said:
Thanks, but the problem is when I edit this and compile again without doing
Code:
make clean
it will use the other files again. It won't just pack it, it will create these two files again. And I don't know how to pack the recoveryimage with another tool
Click to expand...
Click to collapse
did not understand you
Do you mean that it automatically add those lines in bootrec??
if yes then add this line to bootrec
Code:
cat /dev/input/event2 > /dev/keycheck&
your final bootrec will look like this
Code:
#!/sbin/sh
setprop service.adb.root 1
if [ -e /sbin/bootrec-device ]
then
/sbin/bootrec-device
fi
cat /dev/input/event2 > /dev/keycheck&
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
/system/bin/chargemon
#continue booting
Yes the line will automaticly be added to the recovery.img if I build it with
Code:
make -j1 recoveryimage
If I flash this image now over the boot.img from cm9 with
Code:
fastboot flash boot recovery.img
it starts in the recovery automatically.
If I run
Code:
make -j1 bootimage
It builds a boot.img but if I flash it, it does nothing. FXP logo appears and it won't go on
Thanks for the new bootrec script, what about the bootrec-device, can you post this, too?
That's my bootrec-device:
Code:
#!/sbin/sh
# fixing CPU clocks to avoid issues in recovery
echo 1024000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 122000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 0 > /sys/class/android_usb/android0/enable
echo 0FCE > /sys/class/android_usb/android0/idVendor
echo 6166 > /sys/class/android_usb/android0/idProduct
echo mass_storage,adb > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
# trigger amber LED
echo '255' > /sys/class/leds/blue/brightness
echo '255' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
echo '255' > /sys/class/leds/button-backlight/brightness
cat /dev/input/event2 > /dev/keycheck&
sleep 3
# trigger amber LED
echo '0' > /sys/class/leds/blue/brightness
echo '0' > /sys/class/leds/red/brightness
echo '0' > /sys/class/leds/green/brightness
# trigger button-backlight
echo '0' > /sys/class/leds/button-backlight/brightness
kill -9 $!
if [ -s /dev/keycheck -o -e /cache/recovery/boot ]
then
echo 0 > /sys/class/android_usb/android0/enable
echo 0fce > /sys/class/android_usb/android0/idVendor
echo 614f > /sys/class/android_usb/android0/idProduct
echo "mass_storage,adb" > /sys/class/android_usb/android0/functions
echo 1 > /sys/class/android_usb/android0/enable
stop adbd
rm /cache/recovery/boot
mount -o remount,rw rootfs /
umount -l /system
umount -l /data
umount -l /cache
umount -l /mnt/sdcard
rm -r /sdcard
rm -r /not/sdcard
mkdir /sdcard
mkdir /tmp
rm /etc
mkdir /etc
cp /recovery.fstab /etc/recovery.fstab
mount /dev/block/mmcblk0p1 /sdcard
/sbin/recovery&
fi
let it remain same
and try
singh_dd93 said:
let it remain same
and try
Click to expand...
Click to collapse
Here's my ramdisk folder of the recovery.img
With this configuration it's not booting after flashing over cm9 kernel...
Sorry if you sometimes can't understand what I mean, because English is not my native language
I will check when I get back home now. Am out for some work
Sent from my SK17i using xda app-developers app
singh_dd93 said:
I will check when I get back home now. Am out for some work
Sent from my SK17i using xda app-developers app
Click to expand...
Click to collapse
Thanks, you are great! Only 8 thanks for one day
Okay I uploaded the other MDPI devices, but remember, that you can't boot in your rom!
Someone who has a mini, active or lww could report here if he can boot in the recovery
Rebased the whole Recovery on 2.3.3.0
Rom still not booting, hope you can help me. My current ramdisk folder can be found here!

[HOW TO]Adding init.d support

This is a quick how to on how to add init.d support to your device. I am posting this as i have had alot of intrest on the subject.
This method has been tested on the n7000 with a rooted rom and philz kernel if you test on other devices and it works(or does not work) please let me know and i will build a compatibility list
you are doing this at your own risk so do not complain when you mess it up.
use this method to test the init.d support if successful then just add your init.d scripts to the init.d folder.
1. Download the file from here: 00test.zip
2. Extract the file, you will get a file named 00test. DO NOT flash!
3. Paste it into /etc/init.d. If there is no init.d folder, most probably you DO NOT have init.d support. However, if you still wanna try, just create the folder named "init.d"
4. Change the permissions of the init.d folder and 00test into rwxrwxrwx.
5. Reboot.
6. If you see a file named Test.log in /data, you have init.d support. If not, you will have to run Uni-init, Term-init or Zip-init.
at step 3 you should have init.d support if you have a rooted rom and a kernel which has init.d support.
if i have helped you please hit thanks button. :good:​
Uhhh, this doesn't tell you at all how to add init.d support. It just tells you how to test and see if you already have init.d support. Thread title is misleading.
1. add this line
exec /system/bin/sysinit
in init.rc (in ramdisk) ,then compile boot.img
2.flash the boot.img
3.extract sysinit (from the attached file) and copy in /system/bin/ with permission rwxr-xr-x (755)
4.reboot
or you can cook it with dsixda kitchen ... ,
just use this apk called uni init.d it work well on my device ...
here is the link http://forum.xda-developers.com/showthread.php?t=1933849
Or, if you really want to learn a little, you can get the VTS (Virtual Ten Studio) from XDA Developers (free), Do a boot project, and add the following in init.rc
Code:
run-parts /etc/init.d
service sysinit /system/bin/logwrapper /system/xbin/busybox run-parts /system/etc/init.d
disabled
oneshot
Then re-compile your boot image and flash or fastboot it.
MD
There is not init.rc in my boot.img ! What can I do now?
PHP:
# Adds kernel's Init.d
INITD() {
if [[ -e "/PATH/TO/init.rc" ]]; then
sed -i -e '0,/class_start /s//start sysinit\n\n class_start /' "/PATH/TO/init.rc"
sed -i -e 's/service media /service sysinit \/system\/bin\/logwrapper \/system\/xbin\/busybox run-parts \/system\/etc\/init.d\n disabled\n oneshot\n\nservice media /' "/PATH/TO/init.rc"
cd "$(dirname "$0")"
cd ..
# Call other methods
MOUNT
INSTALL_RECOVERY
SYSINT
PERMISSIONS
else
ui_print "ERROR, missing needed contents from the ramdisk?!";
rm -rf "$ACTIVE_PROJECT/TEMP"
return 1
fi
}
# Mount system as R/W
MOUNT() {
busybox mount -o remount,rw -t auto /system
}
# Build and write to install-recovery.sh
INSTALL_RECOVERY() {
if [ -e /system/etc/install-recovery.sh ]
then
busybox echo "# init.d support" >> /system/etc/install-recovery.sh
busybox echo "busybox run-parts /system/etc/init.d/" >> /system/etc/install-recovery.sh
busybox echo "" >> /system/etc/install-recovery.sh
busybox awk '!x[$0]++' /system/etc/install-recovery.sh > /tmp/install-recovery.sh
busybox cat /tmp/install-recovery.sh > /system/etc/install-recovery.sh
busybox echo "" >> /system/etc/install-recovery.sh
else
cat > /system/etc/install-recovery.sh
busybox echo "#!/system/bin/sh" >> /system/etc/install-recovery.sh
busybox echo "# init.d support" >> /system/etc/install-recovery.sh
busybox echo "busybox run-parts /system/etc/init.d/" >> /system/etc/install-recovery.sh
busybox echo "" >> /system/etc/install-recovery.sh
fi
}
# Build and write to systint
SYSINT() {
if [ -e /system/bin/sysint ]
then
busybox echo "#!/system/bin/sh" >> /system/bin/sysint
busybox echo "# init.d support" >> /system/bin/sysint
busybox echo "" >> /system/bin/sysint
busybox echo "export PATH=/sbin:/system/sbin:/system/bin:/system/xbin" >> /system/bin/sysint
busybox echo "/system/bin/logwrapper run-parts /system/etc/init.d" >> /system/bin/sysint
busybox echo "" >> /system/bin/sysint
busybox awk '!x[$0]++' /system/bin/sysint > /tmp/sysint
busybox cat /tmp/sysint > /system/bin/sysint
busybox echo "" >> /system/bin/sysint
else
busybox echo "#!/system/bin/sh" > /system/bin/sysint
busybox echo "# init.d support" >> /system/bin/sysint
busybox echo "" >> /system/bin/sysint
busybox echo "export PATH=/sbin:/system/sbin:/system/bin:/system/xbin" >> /system/bin/sysint
busybox echo "/system/bin/logwrapper run-parts /system/etc/init.d" >> /system/bin/sysint
busybox echo "" >> /system/bin/sysint
fi
}
# Set permissions accordingly
PERMISSIONS() {
busybox chmod 755 /system/etc/install-recovery.sh
busybox chown 0.0 /system/etc/install-recovery.sh
busybox chmod 755 /system/bin/sysint
busybox chown 0.2000 /system/bin/sysint
}
# Start process here
INITD
Here is a small snippet from my script that I use with MyMinds_Kernel_Swap for flashing in my recovery to pull my boot.img using dd, unpack using my unmkbootimg binary, edit init.rc and amongst other things in /system, swap kernel, build ramdisk with mkbootfs, build boot.img with mkbootimg, and flash using dd. Pretty much like AnyKernel, but I wrote my own because AnyKernel just didn't work.
Anyways, here you go. Remember, some adjustments are needed more in less but should give you an idea for init.rc support. If you wish to see my entire script then just look up my github and find my repo as named above.

Script to create swapfile

I save this code as ramswap.sh.. but when I try to execute using Terminal emulator with permission of course, it gives me error
Code:
dd if=/dev/zero of=/mnt/sdcard/swapfile bs=1048576 count=300
mkswap /mnt/sdcard/swapfile
swapon /mnt/sdcard/swapfile
echo "vm.swappiness=80" >> /etc/sysctl.conf
sysctl -p
echo "#!/system/bin/sh" >> /etc/init.d/99swapon
echo "sleep 75" >> /etc/init.d/99swapon
echo "swapon /mnt/sdcard/swapfile" >> /etc/init.d/99swapon
echo "sysctl -p" >> /etc/init.d/99swapon

Sparrow_AW2.0 enabling all cores + GPU boost

Hello, I decided to publish some guide + scripts I already use for a while, which allows you to use all CPU cores and boost GPU performance.
Battery consumption using this configuration surprisingly does not change much or even did not change at all, with default as well with new config my watch stays alive for ~32h with daily usage.
Some theory:
Sparrow is sold with Qualcomm Snapdragon 400 1.2GHz, which is 4 core CPU. ASUS AW2.0 official kernel though supports only 600MHz and 787MHz, as Asus probably thinks this is good balance between battery life and performance.
GPU is Adreno 302/305, which is capable running up to 450MHz, which is also supported by ASUS AW2.0 kernel.
Where is the catch?
During boot there are all four CPU cores enabled, however there is post-init script, disabling two of those and setting frequency as fixed 738MHz with performance governor (no frequency scaling). GPU is set to fix 200MHz:
/system/bin/init.asus.post_boot.sh
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
#Put all other cores offline
echo 0 > devices/system/cpu/cpu2/online
echo 0 > devices/system/cpu/cpu3/online
governor="performance"
scaling_min_freq="787200"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo performance > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-1]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[1-3]/online
chmod 664 devices/system/cpu/cpu[1-3]/online
It is indeed required just to alter this script and you can enable all 4 cores with "ondemand" governor, scaling 600-738MHz and GPU scaling 200-450MHz using "msm-adreno-tz" governor:
(and this requires root of course)
Code:
#!/system/bin/sh
PATH=/system/bin
cd /sys
echo 4 > module/lpm_levels/enable_low_power/l2
echo 1 > module/msm_pm/modes/cpu0/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/suspend_enabled
echo 1 > module/msm_pm/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/standalone_power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu0/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu1/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu2/power_collapse/idle_enabled
echo 1 > module/msm_pm/modes/cpu3/power_collapse/idle_enabled
governor="ondemand"
scaling_min_freq="600000"
if [[ `grep "oem_perf_change" /proc/cmdline` ]];then
if [[ `grep "oem_perf_on" /proc/cmdline` ]];then
oem_perf_stats="1"
else
oem_perf_stats="0"
fi
echo -n $oem_perf_stats > /factory/oem_perf_stats
fi
echo $governor > devices/system/cpu/cpu0/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu1/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu2/cpufreq/scaling_governor
echo $governor > devices/system/cpu/cpu3/cpufreq/scaling_governor
#below ondemand parameters can be tuned
echo 50000 > devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 2 > devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential
echo 70 > devices/system/cpu/cpufreq/ondemand/up_threshold_multi_core
echo 10 > devices/system/cpu/cpufreq/ondemand/down_differential_multi_core
echo 787200 > devices/system/cpu/cpufreq/ondemand/optimal_freq
echo 300000 > devices/system/cpu/cpufreq/ondemand/sync_freq
echo 80 > devices/system/cpu/cpufreq/ondemand/up_threshold_any_cpu_load
echo $scaling_min_freq > devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu1/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu2/cpufreq/scaling_min_freq
echo $scaling_min_freq > devices/system/cpu/cpu3/cpufreq/scaling_min_freq
echo 787200 > devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo 787200 > devices/system/cpu/cpu3/cpufreq/scaling_max_freq
#Below entries are to set the GPU frequency and DCVS governor
echo 450000000 > class/kgsl/kgsl-3d0/devfreq/max_freq
echo 200000000 > class/kgsl/kgsl-3d0/devfreq/min_freq
echo msm-adreno-tz > class/kgsl/kgsl-3d0/devfreq/governor
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_max_freq
chown -h system devices/system/cpu/cpu[0-3]/cpufreq/scaling_min_freq
chown -h root.system devices/system/cpu/cpu[0-3]/online
chmod 664 devices/system/cpu/cpu[0-3]/online
(both files also attached to this post)
To exchange files in your watch, you can easily use following bash script in linux:
First push desired file into sdcard and go to ADB shell:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
In ADB shell remount system to RW, replace the file and fix privileges, than remount system back to RO:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Update 2018/09/05:
In case you want to experiment, I'm also sending "full_power" script, setting all cores to max frequency and performance governor. There should be no issues, except probably less battery life. Just test yourself, how battery life is affected if it is affected at all. Just unpack the zip file, rename the sh script from init.asus.post_boot_full_power.sh to init.asus.post_boot.sh. Rest of the procedure is still the same.
Without kernel sources, this is probably the maximum performance you can get from the watch. Obtaining kernel sources we might get up still twice of current maximum, as the HW is there, but locked on kernel level.
I just swapped the files and I'll give this a try over the next few days. It would be awesome to destroy lag without needing a kernel tweak app to make it happen. You are the man!
Update: I followed your directions, then I wiped cache and dalvik in TWRP. I have only used the watch for a few minutes with this tweak and it is noticeably faster/smoother already. Text messages display lightning fast after being received on the phone. I'm currently on WiFi in my office. The times I notice most lag on my watch is when I'm on 4G, have music playing, and get a call. The phone may ring for 5-10 seconds before the watch displays. I'm excited to see how helpful this tweak is under those conditions. I'll know later today and keep you posted.
I have not experienced any Bluetooth lag since enabling this. This is a must have mod. Thanks for this!
Glad to hear that @CVertigo1. This is just simple SW enablement of things already present in kernel, so even no cache cleans are required. You can play with it on the go even without watch restart.
Amazing will be getting some kernel with much more CPU freq. steps, like 300-768 or even to 1.2GHz (yes, our chip is capable doing so, it is just not enabled in kernel). With proper governor battery will be still ok, resting CPU most of the time in low clocks. It is pity we have great HW, but it is taken out from us with stock kernel.
It would be nice if Asus would upload the kernel source for AW2.0.
CVertigo1 said:
It would be nice if Asus would upload the kernel source for AW2.0.
Click to expand...
Click to collapse
Well we do have latest kernel source
https://www.asus.com/us/ZenWatch/ASUS_ZenWatch_2_WI501Q/HelpDesk_Download/
Or directly here:
http://dlcdnet.asus.com/pub/ASUS/Wearable/ASUS_WI501Q/ASUS_WI501Q-5.2003.1603.10-kernel-src.zip
We just need some handy guy able to compile it and add more governors and frequencies. That is something what overlapping my skills.
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
CVertigo1 said:
That is the latest kernel source for 1.5. They have not released their source for 2.0, nor any firmware for 2.0. I have contacted Asus about it multiple times and none of their reps have any idea what I'm talking about.
Click to expand...
Click to collapse
Ah, I see I thought 2017/05/12 stated as a release day was after AW20 concluding this had to be the new one. Pity.
Maybe they'll release it eventually...at an Asus speed, like next year.
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
htduy11 said:
please help me(rom Sparrow_7.1.1_Debloat ROM ):
adb shell
sparrow:/ $ su
Permission denied
Click to expand...
Click to collapse
Hi there, you are missing super user in your ROM. Did you installed SuperSU and Busybox thru TWRP after flashing the ROM?
Do this in TWRP, not Android.
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
You must boot in the TWRP recovery. You need the ADB drivers installed on your computer and is easier to use your computer for this.
mastermoon said:
'the command can be used in adb in windows or are different? watch must be in recovery or bootloader? wrote a step by step for noob guide please
Click to expand...
Click to collapse
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
yeah worked perfectly... after 9 month the zenwatch is back on my wrist....
---------- Post added at 05:31 PM ---------- Previous post was at 05:29 PM ----------
LeeonLee said:
Actually it is quite simple, what you need:
* in case you use Windows, you need drivers for android (not needed with Linux)
* working ADB
* rooted watch
Then just connect normally booted watch and in command line (Windows) or terminal (Linux), execute:
Code:
adb push init.asus.post_boot.sh /sdcard/
adb shell
Second command above will enter adb shell, when you are in, just copy paste and execute following:
Code:
su
mount -o rw,remount /system
mv /sdcard/init.asus.post_boot.sh /system/bin/
chown root:shell /system/bin/init.asus.post_boot.sh
chmod 755 /system/bin/init.asus.post_boot.sh
mount -o ro,remount /system
Click to expand...
Click to collapse
worked perfectly.... after 9 months zenwatch is back on my wrist
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Namelocked said:
Hey guys,
do i need to do it every time i booted up ?
And can i messure this Overclocking anywhere ?
Greetings
Click to expand...
Click to collapse
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
LeeonLee said:
Hi, this is permanent solution. To revert you need to replace the file with original one.
I am also not aware of any reliable Wear benchmark, but you can see HW info using e.g. AIDA64 for Wear.
Click to expand...
Click to collapse
I dont even find the AIDA64 for my smartwatch :/ ?
how can i check core, cpu speed etc... aida64 isn't compatible .. tnx..

Categories

Resources