[CLI]Frequent app changer Aug-8-2013 - Ubuntu Touch Apps and Games

After hacking around the unity8 folder, I figured out how to add, omit, change, rearrange the frequent app folder, and also creating simple web-based apps(leads to mobile view of sites)
I will release both and also merge all my apps into one post.
Have fun with Ubuntu Touch, I know I am.
Sent from my LG-LS970 using xda app-developers app
Code:
#!/bin/bash
echo "Frequent App Changer ---- Ubuntu Touch 13.10"
echo "**This App Requires Super User Permission**"
echo ""
sleep 2
sudo echo ""
echo ""
echo ""
echo "What do you want your first app to be?"
read APP1
echo "What do you want your second app to be?"
read APP2
echo "What do you want your third app to be?"
read APP3
echo "What do you want your fourth app to be?"
read APP4
echo "What do you want your fifth app to be?"
read APP5
echo "What do you want your sixth app to be?"
read APP6
sudo echo "*//Mod" >> /tmp/fapps.qml
sudo echo "" >> /tmp/fapps.qml
sudo echo "import QtQuick 2.0" >> /tmp/fapps.qml
sudo echo "ListModel {" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ1-app.desktop"; }" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ2-app.desktop"; }" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ3-app.desktop"; }" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ4-app.desktop"; }" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ5-app.desktop"; }" >> /tmp/fapps.qml
sudo echo " ListElement { desktopFile: "/usr/share/applications/$READ6-app.desktop"; }" >> /tmp/fapps.qml
sudo cp /usr/share/unity8/Dash/Apps/FrequentlyUsedAppsModel.qml /home/phablet/faBackup/fapps.qml.bak
sudo rm -f /usr/share/unity8/Dash/Apps/FrequentlyUsedAppsModel.qml
sudo cp /tmp/fapps.qml /usr/share/unity8/Dash/Apps/FrequentlyUsedAppsModel.qml
sleep 2
sudo rm -f /tmp/fapps.qml
clear
echo "Thank You for Trying this app"
echo ""
echo ""
echo "Your device will reboot in 3 seconds"
echo ""
sleep 1
clear
echo "."
sleep 1
clear
echo ".."
sleep 1
clear "..."
echo "Rebooting Now..."
sudo reboot -p
**INSTRUCTIONS**
push this file with adb.
On Computer
sudo adb push /location/of/app/freqapp /usr/bin/freqapp
sudo adb shell
sudo chmod 755 /usr/bin/freqapp
On Device
open terminal and type
freqapp
it'll ask for root permission so it can replace the app model in unity8 and delete it's own tmp file.
To use this app you just need to know the name of which app you wanna use. the app list can be found on your Ubuntu Touch device in /usr/share/applications/
so when asked which app for which postion it could look like this
camera
ubuntu-filemanager
ubuntu-rssreader
webbrowser
friends
ubuntu-terminal
or any other grouping, aslong as you know the name of the app.
if there are any issues with icons not showing up please tell me and i'll patch the script.

Update
Backups the original model to /home/phablet/faBackup/fapps.qml.bak
Sent from my TouchPad using xda app-developers app

Good Job
Sent from my LG-LS970 using xda app-developers app

This app will only affect Home Scope and will soon not be usable once the real frequent app model is written and implemented.
Sent from my LG-LS970 using xda app-developers app

Related

WARNING: Possible malicious games for ROMs with superuser

I've noticed that the latest version of two games by "Cooper Media Corp." are attempting to use su on my phone. The games are "Paradise Island" and "My country". I'm not sure what they are trying to do, the Super User logs don't seem to record the command attempted. See attached screenshot.
I replaced su with:
Code:
#!/system/bin/sh
echo "`date +%F-%T` $$ Args: [email protected]" >> /sdcard/su.log
echo -n '# '
while read line; do
echo `date +%F-%T` $$ Cmd: $line >> /sdcard/su.log
if [ "$line" = "exit" ]; then
echo `date +%F-%T` $$ Exiting >> /sdcard/su.log
exit 0
fi
echo -n '# '
done
And it logged:
2011-08-13-11:47:46 8193 Args:
2011-08-13-11:47:46 8193 Cmd: echo "Do I have root?" >/system/sd/temporary.txt
2011-08-13-11:47:47 8193 Cmd: exit
2011-08-13-11:47:47 8193 Exiting
I created that directory and file, but the game doesn't seem to use su after this point. Perhaps it's waiting for something?
It may just check if you're rooted so you can't edit/manipulate game files and stuff so you can cheat. Are the games internet based? Like FarmVille and stuff?
There's a theory. I think using su for that crosses the line a bit...

[MOD] Optimal Multitasking Settings - Improve Multitasking Performance

These values come from Dev Legend Calkulin and were originally for the HTC One X, but they work marvelously on the HTC EVO 4G LTE. Don't know how to make a flashable zip to implement this, but here we go.
A lot of this code is already in the post_boot.sh file and is simply repeating it, which has no gain. It seemed to work great for me, but then again it could be a placebo. A lot of people are saying that it wont modify our phones, but as always YMMV
Instructions
1. Connect your phone to your PC via adb and type
Code:
adb pull /system/etc/init.qcom.post_boot.sh
2. Open up the file we just pulled with Notepad+ and insert this at the very bottom
Code:
###############################
######MULTITASKING MOD#######
###############################
target=`getprop ro.board.platform`
hardware=`getprop ro.hardware`
case "$target" in
"msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_surf" | "msm7627a" | \
"qsd8250_surf" | "qsd8250_ffa" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "qsd8650a_st1x")
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
;;
esac
case "$target" in
"msm7627a")
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
;;
esac
case "$target" in
"msm7201a_ffa" | "msm7201a_surf")
echo 500000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
;;
esac
case "$target" in
"msm7630_surf" | "msm7630_1x" | "msm7630_fusion")
echo 75000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/module/pm2/parameters/idle_sleep_mode
;;
esac
case "$target" in
"msm7201a_ffa" | "msm7201a_surf" | "msm7627_ffa" | "msm7627_surf" | "msm7630_surf" | "msm7630_1x" | "msm7630_fusion" | "msm7627a" )
echo 245760 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
;;
esac
case "$target" in
"msm8660" | "msm8660_csfb")
echo 1 > /sys/module/rpm_resources/enable_low_power/L2_cache
echo 1 > /sys/module/rpm_resources/enable_low_power/pxo
echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_dig
echo 2 > /sys/module/rpm_resources/enable_low_power/vdd_mem
echo 1 > /sys/module/rpm_resources/enable_low_power/rpm_cpu
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/suspend_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu0/standalone_power_collapse/idle_enabled
echo 1 > /sys/module/pm_8x60/modes/cpu1/standalone_power_collapse/idle_enabled
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown root.system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu1/online
;;
esac
case "$target" in
"msm8960")
echo "ondemand" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
echo "ondemand" > /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
echo 90 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold
echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
echo 1 > /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
echo 4 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_down_factor
echo 10 > /sys/devices/system/cpu/cpufreq/ondemand/down_differential
echo 384000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
echo 384000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpufreq/ondemand/io_is_busy
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
chown system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown root.system /sys/devices/system/cpu/mfreq
chmod 220 /sys/devices/system/cpu/mfreq
chown root.system /sys/devices/system/cpu/cpu1/online
chmod 664 /sys/devices/system/cpu/cpu1/online
chown system /sys/power/perflock
chown system /sys/power/cpufreq_ceiling
chown system /sys/module/restart/parameters/notify_efs_sync
echo "0,1,2,4,7,15" > /sys/module/lowmemorykiller/parameters/adj
case "$hardware" in "elite")
echo "2048,3072,4096,6144,7168,20480" > /sys/module/lowmemorykiller/parameters/minfree
;;
esac
case "$hardware" in "ville")
echo "7946,9953,11960,14008,16015,25108" > /sys/module/lowmemorykiller/parameters/minfree
;;
esac
chown radio.system /sys/module/modem_8960/parameters/enable_modem_ssr
;;
esac
case "$target" in
"msm7627_ffa" | "msm7627_surf" | "msm7627a")
echo 25000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
;;
esac
case "$target" in
"qsd8250_surf" | "qsd8250_ffa" | "qsd8650a_st1x")
echo 50000 > /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
;;
esac
case "$target" in
"qsd8650a_st1x")
mount -t debugfs none /sys/kernel/debug
;;
esac
chown system /sys/devices/system/cpu/cpufreq/ondemand/sampling_rate
emmc_boot=`getprop ro.emmc`
case "$emmc_boot"
in "1")
chown system /sys/devices/platform/rs300000a7.65536/force_sync
chown system /sys/devices/platform/rs300000a7.65536/sync_sts
chown system /sys/devices/platform/rs300100a7.65536/force_sync
chown system /sys/devices/platform/rs300100a7.65536/sync_sts
;;
esac
# Post-setup services
case "$target" in
"msm8660")
start mpdecision
;;
"msm8960")
# Disable ETB tracing and turn off QDSS clocks
# must be prior to mpdecision (see below)
stop mpdecision
echo 1 > /sys/devices/system/cpu/cpu1/online
echo "1\0" > /dev/msm_ptm
echo "0\0" > /dev/msm_ptm
echo 0 > /sys/devices/system/cpu/cpu1/online
start mpdecision
;;
esac
case "$target" in
"msm8660" | "msm8660_csfb")
start thermald
;;
esac
#####################
####MultitaskEnd######
####################
3. Open up terminal/command prompt again and type this
Code:
adb push init.qcom.post_boot.sh /system/etc/
4. Reboot your device
5. Profit!
Great! Thanks for this. I'm perfectly content with Sense 4's aggressive settings at the time being because I'm such a minimal user, but should I ever need to change that, I'll come here for sure.
Thanks for the DIY type of post. Always great to learn how to do these things rather than have it done for us in flashable zips.
Sweet, hopefully this gets baked in a Rom or made into a flashable zip. I myself am not happy with the constant reloads when multitasking, but am afraid to do this mod myself
Sent from my EVO using Xparent Blue Tapatalk 2
Nice!
Sent from my EVO using Xparent ICS Tapatalk 2
Testing it out. I'll see what changes. Thanks!
Baked in and uploading now! will post a link in Team Nocturnal OTA thread in 15 minutes or so.
Edit. Taking link down for now.
Looks like you left the section that actually changes the minfree values as is from the One X as the case statements are for ville or elite only so it wouldn't change anything for us since our hardware is jet. I had diff'd the V2 mod and the undo script posted and the only differences between the two were the minfree and adj values so I believe that's all that's really needed. Adding all this to the end of our existing script would just duplicate code and only change the adj values.
Edit: Here's the diff output.
--- Multitasking Mod V2/system/etc/init.qcom.post_boot.sh
+++ Undo/system/etc/init.qcom.post_boot.sh
@@ -119,9 +119,9 @@
chown system /sys/power/perflock
chown system /sys/power/cpufreq_ceiling
chown system /sys/module/restart/parameters/notify_efs_sync
- echo "0,1,2,4,7,15" > /sys/module/lowmemorykiller/parameters/adj
+ echo "0,2,4,7,9,12" > /sys/module/lowmemorykiller/parameters/adj
case "$hardware" in "elite")
- echo "2048,3072,4096,6144,7168,20480" > /sys/module/lowmemorykiller/parameters/minfree
+ echo "7746,9720,11694,13742,15715,24709" > /sys/module/lowmemorykiller/parameters/minfree
;;
esac
case "$hardware" in "ville")
Sent from my EVO using Tapatalk 2
Not sure if I understand what this is supposed to do. I did it correctly, and tried loading a video on youtube. Multitasking out of the app and back in, it reloads the video still. Is that not what it's supposed to avoid?
Thanks bro!!! Good stuff!!
Sent from my EVO using XDA Premium App
Youtube app will always do that.
Ladicx said:
Sweet, hopefully this gets baked in a Rom or made into a flashable zip. I myself am not happy with the constant reloads when multitasking, but am afraid to do this mod myself
Sent from my EVO using Xparent Blue Tapatalk 2
Click to expand...
Click to collapse
pretty straight forward stuff if you have a good app like root explorer or root browser. added this in literally 30 seconds.
Sent from your mother's bedroom on my LTE
Had trouble pushing it back, but sent it to my SDcard, then renamed the old one, pasted, changed permissions, and boom, worked. Multitasking seems much better now.
dude2k5 said:
Had trouble pushing it back, but sent it to my SDcard, then renamed the old one, pasted, changed permissions, and boom, worked. Multitasking seems much better now.
Click to expand...
Click to collapse
I aways have trouble pushing files or running "adb remount" but you can reboot into TWRP recovery and mount system and push that way too.
Wow didn't know Calk moved over to ATT....
Saw some of his posts talking about it being likely related to the GPU...and said it was nothing to do with Sense....
While I'd prefer him over here, least doing work for the att OneX will transfer here easily!
Sent from my EVO using xda premium
Are we supposed to just copy/paste that? With the smiley faces?
Yes the smiley is just the forum detecting the characters
Sent from my EVO using Tapatalk 2
Spyderekz said:
Yes the smiley is just the forum detecting the characters
Sent from my EVO using Tapatalk 2
Click to expand...
Click to collapse
Just looked at this from my PC and i feel like a [email protected] XD
Can it be made into a flashable zip?
Sent from my EVO using xda app-developers app
Rocklee99 said:
Can it be made into a flashable zip?
Sent from my EVO using xda app-developers app
Click to expand...
Click to collapse
nothing against you, more a rant in general, seems the point of learning is lost in xda, today.
...but it could be done but would require some creative scripting since each ROM is different, but why not try to do it yourself? or wait for mikey to bake into meanROM since he updates it almost daily, lately.
If someone could give me a little help doing this right from my phone using root explorer or astro I'dgive it a shot..scrosler has a zip for this mod over on the hox forum but it didn't play nice with my phone

[Ubuntu][How to][4/11/12 Creating a Kernel Build Script

This thread is meant for kernel devs or people who wants to begin building kernels for their first time.
There is a bit of a learning curve to this though, you need to known Linux functions and have android environment setup
This is a UBUNTU script saved as a shell script for any version of UBUNTU
Start off script with executable script definitions
Code:
#!/bin/bash
This next part is important and ultimately optional however it makes coding the script crazy easier
I call these definitions (likely not what they are technically but, it's my interpretation) to enable shortcoding commands which makes the script look cleaner
These can be named whatever you want btw
Kerneldir - is the directory where your kernel files are kept and this is the main place where you build your kernel
Packagedir - is your work environment, this is where your boot.img will be copied to, extra files, updater-script to be later packaged into a zip folder
INITRAMFS_SOURCE - is where the ramdisk should be placed in folder form [Click Here for how to split ramdisk and zimage from boot.img]
Meta - where the updater script is kept so it can be packaged for my kernel to be able to flashed
ARCH - Must stay as this definition as it is needed for compile to become successful
CROSS_COMPILE - Toolchain command, make sure your kernel supports linaro 4.6 and later. Or default to CM's 4.4.3 toolchain. Must stay as this definition as it is needed for compile to become successful
Code:
export KERNELDIR=/home/ayysir/android/kernel/ASDK
export INITRAMFS_DEST=$KERNELDIR/kernel/usr/initramfs
export PACKAGEDIR=/home/ayysir/android/kernel/asdk_out
export INITRAMFS_SOURCE=/home/ayysir/android/kernel
export Meta=/home/ayysir/android/kernel/Ayysir/META-INF
export Drivers=/home/ayysir/android/kernel/Ayysir/Drivers
export App=/home/ayysir/android/kernel/Ayysir/app
export exfat=/home/ayysir/android/kernel/Ayysir/exfat_modules
export ARCH=arm
export CROSS_COMPILE=/home/ayysir/android/kernel/toolchains/android-toolchain-4.7/bin/arm-eabi-
This part are mostly setup commands to clean out workspace deleting previous compile remnants. This is where definitions we made above comes in handy.
The echo commands are like description commands, used for many situations but for our purpose, it tells the user what is currently happening in the script
Assuming you have knowledge about kernel deving so I don't have to hold your hand in describing things
Below commands vary depending on dev as they have their own defconfig setup for their specific device replace my asdk_defconfig with
this is is for configuring what to include the compile build
UPDATE:
OPTIONAL:
Code:
# Colorize and add text parameters
red=$(tput setaf 1) # red
grn=$(tput setaf 2) # green
cya=$(tput setaf 6) # cyan
txtbld=$(tput bold) # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldgrn=${txtbld}$(tput setaf 2) # green
bldblu=${txtbld}$(tput setaf 4) # blue
bldcya=${txtbld}$(tput setaf 6) # cyan
txtrst=$(tput sgr0) # Reset
Above Codes Colorize and add text parameters.. it makes it look cleaner and more concise on what is happening in the terminal
The "echo -e" command tells terminal to apply the following text.
"${bldcya}" refers back to colorize table, making it bold (bld) and making text color cyan (cya)
"${txtrst}" closes the statement and resets the color back to terminal default. So the color parameters do not spill over into the next lines
Click to expand...
Click to collapse
the echo "" adds a space in between lines, just so it looks clean and does not jumble things
so here are some example on how to implement this: [Below]
Code:
echo -e "${bldcya} Making Kernel ${txtrst}"
make asdk_defconfig
echo""
echo -e "${bldcya} Clean Environment ${txtrst}"
make menuconfig
Code:
echo "Remove old Package Files"
rm -rf $PACKAGEDIR/*
echo "Setup Package Directory"
mkdir -p $PACKAGEDIR/system/lib/modules
echo "Setup App Directory"
mkdir -p $PACKAGEDIR/data/app
echo "Remove old zImage"
rm $PACKAGEDIR/zImage
echo "Remove old ramdisk"
rm $INITRAMFS_SOURCE/ramdisk.img.gz
echo "Clean Environment"
cd $KERNELDIR
make clean
echo "Make the kernel"
make asdk_defconfig
echo "Clean Environment"
make menuconfig
Before we get to this important section you need two files put into your /bin folder, mkbootfs and mkbootimg Click Here to download these files.
Then you need to cp these files to bin folder [put the files in home folder]
Code:
sudo cp ~/mkbootfs /bin
sudo cp ~/mkbootimg /bin
cd /bin
sudo chmod +x mkbootfs
sudo chmod +x mkbootimg
Now we are ready for next section
Make -j[num] command tells system how much things can be compiled at once, it's dependent on your system (number of processors] so i cay default to -j4
You also notice the script coding wrapped around the make command, this is what I setup to create compile log for compile session just incase you need to go back to review errors or debug some things
Code:
script -q ~/Compile.log -c "
make -j12 "
Below command searches for modules in zimage file and copies the modules files to workplace modules folder for packaging
Code:
cp -a $(find . -name *.ko -print |grep -v initramfs) $PACKAGEDIR/system/lib/modules/
Like I stated before you should of have already split the boot.img file and extracted ramdisk to a ramdisk folder. Below command uses mkbootfs to compress that folder into a .gz formatted file.
Below part is a bit tricky, because it is dependent on device to device basis.
first the code below moves ramdisk to workfolder
Then it cd's to the package folder and uses mkbootimg command to combine zimage and ramdisk together to make a boot.img
What is tricky is the command mkbootimg uses to determine space for the boot.img to be compiled in
The best way to determine the page size, base, & ramdiskaddr is either use the previous tools that you used to split a already compile boot.img commands and it spits out a file info run down or use DSIXDA ANDROID KITCHEN and using it's advanced options to determine boot.img info. Again I am not going to hold your hand on this one since you should research before trying this build script.
Note: many boot.img's use cmdline option in creation
Code:
echo "Make boot.img"
cp $INITRAMFS_SOURCE/ramdisk.img.gz $PACKAGEDIR
cd $PACKAGEDIR
mkbootimg --cmdline 'console = null androidboot.hardware=qcom user_debug=31 zcache' --kernel $PACKAGEDIR/zImage --ramdisk $PACKAGEDIR/ramdisk.img.gz --base 0x80200000 --pagesize 2048 --ramdiskaddr 0x81500000 --output $PACKAGEDIR/boot.img
Code:
echo "Packaging Ramdisk"
cd $INITRAMFS_SOURCE/
mkbootfs ./ASDK-ramdisk | gzip > ramdisk.img.gz
Code:
echo "Compiling"
script -q ~/Compile.log -c "
make -j12 "
echo "Copy modules to Package"
cp -a $(find . -name *.ko -print |grep -v initramfs) $PACKAGEDIR/system/lib/modules/
cp $Drivers/* $PACKAGEDIR/system/lib/
echo "Copy zImage to Package"
cp $KERNELDIR/arch/arm/boot/zImage $PACKAGEDIR/zImage
echo "Packaging Ramdisk"
cd $INITRAMFS_SOURCE/
mkbootfs ./ASDK-ramdisk | gzip > ramdisk.img.gz
echo "Make boot.img"
cp $INITRAMFS_SOURCE/ramdisk.img.gz $PACKAGEDIR
cd $PACKAGEDIR
mkbootimg --cmdline 'console = null androidboot.hardware=qcom user_debug=31 zcache' --kernel $PACKAGEDIR/zImage --ramdisk $PACKAGEDIR/ramdisk.img.gz --base 0x80200000 --pagesize 2048 --ramdiskaddr 0x81500000 --output $PACKAGEDIR/boot.img
This is where you add files you want packaged into your zip folder
*Remember add new definitions every time you add a new directory to the mix and have them cp all the files to workfolder
Code:
export curdate=`date "+%m-%d-%Y"`
This sets definition to zip to auto-generate dates to date your builds so it takes the work out of renaming the zip file [Your welcome lol]
Code:
zip -r ../ASDK-AOSP-4.2-$curdate.zip
set a name to your build and add $curdate.zip to enable auto dating zip
Code:
echo "Import of META-INF"
cp -R $Meta $PACKAGEDIR
echo "Import Voltage Control"
cp $App/* $PACKAGEDIR/data/app
echo "Importing Exfat fix"
cp $exfat/* $PACKAGEDIR/system/lib/modules
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/Compile-$curdate.log
rm ~/Compile.log
cd $PACKAGEDIR
rm ramdisk.img.gz
rm zImage
rm ../ASDK-AOSP-4.2*.zip\
rm -R .fr-7q5stU
zip -r ../ASDK-AOSP-4.2-$curdate.zip .
read -p "Press ENTER to Exit"
UPDATE:
Not to confuse anyone, Below is based off my new build script I use. PLEASE DO NOT COPY WORD FOR WORD, CODE BY CODE JUST USE IT AS REFERENCE. IF YOUR NOT SMART ENOUGH TO GET WHAT I AM DOING THEN DONT TRY BUILDING KERNELS LOL
Code:
if [ -e $KERNELDIR/arch/arm/boot/zImage ]; then
echo -e "${bldred} Copy modules to Package ${txtrst}"
cp -a $(find . -name *.ko -print |grep -v initramfs) $PACKAGEDIR/system/lib/modules/
echo ""
echo -e "${bldred} Copy zImage to Package ${txtrst}"
cp $KERNELDIR/arch/arm/boot/zImage $PACKAGEDIR/zImage
echo ""
echo -e "${bldred} Ramdisk Readying.. ${txtrst}"
cp $KERNELDIR/mkbootfs $INITRAMFS_SOURCE
cd $INITRAMFS_SOURCE/
./mkbootfs ASDK-krait | gzip > ramdisk.krait.gz
rm mkbootfs
echo ""
echo -e "${bldred} Making Boot.img.. ${txtrst}"
cp $KERNELDIR/mkbootimg $PACKAGEDIR
cp $INITRAMFS_SOURCE/ramdisk.krait.gz $PACKAGEDIR
cd $PACKAGEDIR
./mkbootimg --cmdline 'console = null androidboot.hardware=qcom user_debug=31 zcache' --kernel $PACKAGEDIR/zImage --ramdisk $PACKAGEDIR/ramdisk.krait.gz --base 0x80200000 --pagesize 2048 --ramdiskaddr 0x81500000 --output $PACKAGEDIR/boot.img
rm mkbootimg
echo ""
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/compile_logs/Success-Krait-$curdate.log
rm ~/Compile.log
cd $PACKAGEDIR
rm ramdisk.krait.gz
rm zImage
rm ../../ASDK-AOSP-3.4.x-*.zip
rm ../ramdisk.krait.gz
rm ../zImage
zip -r ../ASDK-AOSP-3.4.x-$curdate-EXP.zip .
mv ../ASDK-AOSP-3.4.x-$curdate-EXP.zip ~/android/kernel
echo "ASDK HOT OFF THE PRESS"
else
echo "KERNEL DID NOT BUILD! no zImage exist"
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/compile_logs/Failed-Krait-$curdate.log
fi;
exit 0
Now before you get mind blown Let me explain the update above:
"if [ -e $KERNELDIR/arch/arm/boot/zImage ]; then" is known as the "if, then" commands. Most used in C and scripting it tells system to look for a certain file or directory first, "if" present "then" it will proceed to following commands after it.
so if the zimage does exist then, the code after the statement will go on and end up making the zip folder.
"else" commands tells terminal, well if that file in the if statement does not exist then use following commands instead. In this case if $KERNELDIR/arch/arm/boot/zImage does not exist then else do this:
Code:
else
echo "KERNEL DID NOT BUILD! no zImage exist"
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/compile_logs/Failed-Krait-$curdate.log
This else statement makes a fail log to where you keep your build logs. This allows you to see where in the build did you received an error which caused the zimage to not be produced. Also it wont make a zip folder so no useless zips with no boot.img in there
Click to expand...
Click to collapse
chmod +x your script [make sure you save it as blahblah.sh] and boom your done
CLICK HERE TO SEE MY FULL SCRIPT THAT I USE FOR MY GS3 KERNEL BUILDS [NEEDS REVISING THOUGH]
IF YOU HAVE ANY QUESTIONS LEAVE IT IN THE COMMENTS OR PM ME
IF YOU LIKED MY HOW-TO AND WOULD LIKE TO DONATE TO HELP ME DEV FOR MORE DEVICES [APPRECIATED BUT DONATION NOT REQUIRED] CLICK HERE
Reserved
hm
Another Example for Fun
Well this thread looked like it needed a comment or at least some positive feedback so here it goes.
Thanks so much @ayysir for making this tutorial!!!! I've been using scripts to do lots of things for me for about a year now and it all started when I read this thread. (for some reason the though of bash scripts never really crossed my mind before then)
Here is an example of how creative I've got since the beginning of this. My script now includes some colored logos just for fun as well as final build time, uploading to goo.im, and signing of the final zip. (The logos might not show up right on here but they look great in terminal)
Code:
#!/bin/bash
#Cl3Kener's Hammerhead Script
# Colorize and add text parameters (originally grabbed from Ayysir)
red=$(tput setaf 1) # red
grn=$(tput setaf 2) # green
cya=$(tput setaf 6) # cyan
pnk=$(tput bold ; tput setaf 5) # pink
yel=$(tput bold ; tput setaf 3) # yellow
pur=$(tput setaf 5) # purple
txtbld=$(tput bold) # Bold
bldred=${txtbld}$(tput setaf 1) # red
bldgrn=${txtbld}$(tput setaf 2) # green
bldyel=${txtbld}$(tput bold ; tput setaf 3) # yellow
bldblu=${txtbld}$(tput setaf 4) # blue
bldpur=${txtbld}$(tput setaf 5) # purple
bldpnk=${txtbld}$(tput bold ; tput setaf 5) # pink
bldcya=${txtbld}$(tput setaf 6) # cyan
txtrst=$(tput sgr0) # Reset
#Place you defconfig name here:
DEFCONFIG=uber_hammerhead_defconfig
# Change these exports as needed:
export INITRAMFS_DEST=~/android/kernel/usr/initramfs
export PACKAGEDIR=~/android/kernel/OUT
export KERNEL_SOURCE=~/android/kernel
export Meta=~/android/kernel/Cl3Kener/META-INF
export Etc=~/android/kernel/Cl3Kener/etc
export Scripts=~/android/kernel/Cl3Kener/kernel
export Bin=~/android/kernel/Cl3Kener/bin
export Lib=~/android/kernel/Cl3Kener/lib
export GPU=~/android/kernel/Cl3Kener/kcontrol_gpu_msm
export sign=~/android/kernel/Cl3Kener/signapk_files
export ARCH=arm
export CROSS_COMPILE=~/android/kernel/TOOLCHAINS/arm-eabi-4.7/bin/arm-eabi-
# Place your goo.im password here instead of XXXXXX so you don't have to input password (or you can use ssh key if you have one):
export SSHPASS=XXXXXXX
# Start Time
res1=$(date +%s.%N)
# Logo (just for fun)
echo "${bldpur} ${txtrst}"
echo "${bldpur} ________________________________________ ${txtrst}"
echo "${bldpur}| |${txtrst}"
echo "${bldpur}| _| _| _|_|_| _|_|_|_| _|_|_| |${txtrst}"
echo "${bldpur}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldpur}| _| _| _|_|_| _|_|_| _|_|_| |${txtrst}"
echo "${bldpur}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldpur}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldpur}| _|_| _|_|_| _|_|_|_| _| _| |${txtrst}"
echo "${bldpur}|________________________________________|${txtrst}"
echo "${bldpur} ${txtrst}"
echo "${bldcya}Remove Old Package Files ${txtrst}"
rm -rf $PACKAGEDIR/*
echo " "
echo "${bldgrn}Setup Init.d Directory ${txtrst}"
mkdir -p $PACKAGEDIR/system/etc
echo " "
echo "${bldyel}Setup Scripts Directory ${txtrst}"
mkdir -p $PACKAGEDIR/modules
echo " "
echo "${bldblu}Remove old zImage ${txtrst}"
rm $KERNEL_SOURCE/arch/arm/boot/zImage
rm $KERNEL_SOURCE/arch/arm/boot/zImage-dtb
echo " "
echo -e "${bldred}Removing annoying gedit backup files ${txtrst}"
cd ~/android/kernel
find ./ -name '*~' | xargs rm
echo " "
echo "${bldgrn}Clean Environment ${txtrst}"
cd $KERNEL_SOURCE
make $DEFCONFIG
rm $KERNEL_SOURCE/.version
rm $KERNEL_SOURCE/.config.old
rm $KERNEL_SOURCE/.config
make clean
echo " "
echo "${bldpnk}Kernel Menu ${txtrst}"
make menuconfig
echo " "
echo "${bldcya}Compiling.... ${txtrst}"
script -q ~/Compile.log -c "
make -j7"
echo " "
if [ -e $KERNEL_SOURCE/arch/arm/boot/zImage-dtb ]; then
# I used Showp1984 msm_mpdecision hotplug and so I use his KControl Module.
echo "${bldyel}Making GPU Module ${txtrst}"
cd $GPU
make clean
make -j7
echo " "
cd $KERNEL_SOURCE
echo "${bldgrn}Copy Modules to OUT ${txtrst}"
cp -a $(find . -name *.ko -print |grep -v initramfs) $PACKAGEDIR/modules/
echo "${bldblu}Import Scripts ${txtrst}"
cp -R $Scripts $PACKAGEDIR
echo "${bldcya}Copy bin to OUT ${txtrst}"
cp -R $Bin $PACKAGEDIR/system/bin
echo "${bldred}Copy zImage to OUT ${txtrst}"
cp $KERNEL_SOURCE/arch/arm/boot/zImage-dtb $PACKAGEDIR/kernel/zImage
echo "${bldgrn}Import of META-INF ${txtrst}"
cp -R $Meta $PACKAGEDIR
echo "${bldcya}Import Init.d Tweaks ${txtrst}"
cp -R $Etc/init.d $PACKAGEDIR/system/etc
echo "${bldred}Import Dalvik/Bionic Optimized Libs ${txtrst}"
cp -R $Lib $PACKAGEDIR/system
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/Logs/Completed-Uber-hammerhead-$curdate.log
rm ~/Compile.log
cd $PACKAGEDIR
rm ../UBER-Hammerhead*.zip\
rm -R .fr-7q5stU
zip -r ../UBER-Hammerhead-Nightly.zip .
echo " "
echo "${bldblu}Signing Zip ${txtrst}"
cd $KERNEL_SOURCE
cp $sign/signapk.jar $KERNEL_SOURCE
cp $sign/testkey.pk8 $KERNEL_SOURCE
cp $sign/testkey.x509.pem $KERNEL_SOURCE
java -jar ~/android/kernel/signapk.jar testkey.x509.pem testkey.pk8 UBER-Hammerhead-Nightly.zip UBER-Hammerhead-Linaro-4.8.3-$curdate.zip
rm UBER-Hammerhead-Nightly.zip
rm signapk.jar
rm testkey.pk8
rm testkey.x509.pem
echo "${bldgrn} ${txtrst}"
echo "${bldgrn} ${txtrst}"
echo "${bldgrn} ________________________________________ ${txtrst}"
echo "${bldgrn}| |${txtrst}"
echo "${bldgrn}| _| _| _|_|_| _|_|_|_| _|_|_| |${txtrst}"
echo "${bldgrn}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldgrn}| _| _| _|_|_| _|_|_| _|_|_| |${txtrst}"
echo "${bldgrn}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldgrn}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldgrn}| _|_| _|_|_| _|_|_|_| _| _| |${txtrst}"
echo "${bldgrn}|________________________________________|${txtrst}"
echo "${bldgrn} ${txtrst}"
echo "${bldgrn} ${txtrst}"
echo "${bldgrn}Kernel has completed successfully!!! ${txtrst}"
echo " "
echo " "
echo "${bldgrn}Uploading .... ${txtrst}"
echo " "
sshpass -e scp -P 2222 ~/android/kernel/UBER-Hammerhead-Linaro-4.8.3-$curdate.zip [email protected]:/home/Cl3Kener/public_html/HAMMERHEAD/KERNELS/UBER/EXP-LINARO/UBER-Hammerhead-Linaro-4.8.3-$curdate.zip
# Show Elapsed Time
res2=$(date +%s.%N)
echo "${bldgrn}Total elapsed time of ALL BUILDS AND UPLOADS: ${txtrst}${grn}$(echo "($res2 - $res1) / 60"|bc ) minutes ($(echo "$res2 - $res1"|bc ) seconds) ${txtrst}"
else
export curdate=`date "+%m-%d-%Y"`
cp ~/Compile.log ~/android/Logs/Failed-Uber-hammerhead-$curdate.log
rm ~/Compile.log
echo "${bldred} ${txtrst}"
echo "${bldred} ${txtrst}"
echo "${bldred} ________________________________________ ${txtrst}"
echo "${bldred}| |${txtrst}"
echo "${bldred}| _| _| _|_|_| _|_|_|_| _|_|_| |${txtrst}"
echo "${bldred}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldred}| _| _| _|_|_| _|_|_| _|_|_| |${txtrst}"
echo "${bldred}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldred}| _| _| _| _| _| _| _| |${txtrst}"
echo "${bldred}| _|_| _|_|_| _|_|_|_| _| _| |${txtrst}"
echo "${bldred}|________________________________________|${txtrst}"
echo "${bldred} ${txtrst}"
echo "${bldred} ${txtrst}"
echo "${bldred}KERNEL IMAGE DID NOT BUILD PROPERLY! Check Compile log! ${txtrst}"
echo " "
# Show Elapsed Time
res2=$(date +%s.%N)
echo "${bldred}Total elapsed time of ALL BUILDS AND UPLOADS: ${txtrst}${red}$(echo "($res2 - $res1) / 60"|bc ) minutes ($(echo "$res2 - $res1"|bc ) seconds) ${txtrst}"
fi;
echo " "
read -p "Press ENTER to Exit"
Hope this helps some of you get creative!
If you want to see a finished product so you can figure out how everything came together see here: http://goo.im/devs/Cl3Kener/HAMMERHEAD/KERNELS/UBER
Cheers!
Cl3Kener
Awesome guide. probbaly not seen much because of its placement but his is helpful!
This is very helpful. Thanks!
Tapatalk-kal küldve az én Nexus 5-el
I have kali linux,i am using for two years
can i use it for this?

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

[SOLVED] wipe dalvik cache & reboot once a week

Please is there anyway to make a flashable script or cron script that will make @zeppelinrox Sclean script (clear dalvik cache & reboot) to run once each week from the xbin or bin folder?
slimcyril said:
Please is there anyway to make a flashable script or cron script that will make @zeppelinrox Sclean script (clear dalvik cache & reboot) to run once each week from the xbin or bin folder?
Click to expand...
Click to collapse
there should be a way but to make things easier just do it in your recovery. that sounds better for me
reyscott1968 said:
there should be a way but to make things easier just do it in your recovery. that sounds better for me
Click to expand...
Click to collapse
I know it could be done in the recovery & some apps like lucky patcher could also do it but I just want to automate it to be executed at the same time & day each week so I don't have to worry about doing it manually
slimcyril said:
I know it could be done in the recovery & some apps like lucky patcher could also do it but I just want to automate it to be executed at the same & day each week so I don't have to worry about doing it manually
Click to expand...
Click to collapse
i dnt mind spending few minutes every week for this task. and this is my own opinion tho
Lol I understand you @reyscott1968 I have a script that's called xposed log cleaner that clears all xposed logs every 5hrs & it made life very easy so I don't have to do it anymore. Here's a copy of the the script I have in my xbin that I need to be executed once a week at same day & time;
#!/system/bin/sh
#
# SuperClean & ReStart Script (Wipe Dalvik Cache & Reboot) created by zeppelinrox.
#
line=================================================
clear
echo ""
echo $line
echo " -=SuperClean & ReStart=- by -=zeppelinrox=-"
echo $line
echo ""
sleep 1
id=`id`; id=`echo ${id#*=}`; id=`echo ${id%%\(*}`; id=`echo ${id%% *}`
if [ "$id" != "0" ] && [ "$id" != "root" ]; then
sleep 2
echo " You are NOT running this script as root..."
echo ""
sleep 3
echo $line
echo " ...No SuperUser for you!!"
echo $line
echo ""
sleep 3
echo " ...Please Run as Root and try again..."
echo ""
echo $line
echo ""
sleep 3
exit 69
fi
echo " Commencing SuperClean & ReStart!"
echo ""
sleep 2
for cachedir in /*/dalvik-*; do rm -r /$cachedir/* 2>/dev/null; done
echo " All cleaned up and ready to..."
echo ""
sleep 2
echo $line
echo " !!POOF!!"
echo $line
echo ""
sleep 2
busybox sync
if [ -f "/proc/sys/kernel/sysrq" ]; then
echo 1 > /proc/sys/kernel/sysrq 2>/dev/null
echo b > /proc/sysrq-trigger 2>/dev/null
fi
echo " If it don't go poofie, just reboot manually!"
echo ""
reboot; busybox reboot
echo " ==========================="
echo " ) SuperClean Completed! ("
echo " ==========================="
echo ""
exit 0
http://forum.xda-developers.com/showthread.php?t=2700146

Categories

Resources