├── META-INF └── com │ └── google │ └── android │ ├── update-binary │ └── updater-script ├── README.md ├── common ├── post-fs-data.sh ├── service.sh └── system.prop ├── install.sh ├── module.prop └── system └── bin └── cpulock /META-INF/com/google/android/update-binary: -------------------------------------------------------------------------------- 1 | #!/sbin/sh 2 | 3 | TMPDIR=/dev/tmp 4 | MOUNTPATH=/dev/magisk_img 5 | 6 | # Default permissions 7 | umask 022 8 | 9 | # Initial cleanup 10 | rm -rf $TMPDIR 2>/dev/null 11 | mkdir -p $TMPDIR 12 | 13 | # echo before loading util_functions 14 | ui_print() { echo "$1"; } 15 | 16 | require_new_magisk() { 17 | ui_print "***********************************" 18 | ui_print " Please install the latest Magisk! " 19 | ui_print "***********************************" 20 | exit 1 21 | } 22 | 23 | imageless_magisk() { 24 | [ $MAGISK_VER_CODE -gt 18100 ] 25 | return $? 26 | } 27 | 28 | ########################################################################################## 29 | # Environment 30 | ########################################################################################## 31 | 32 | OUTFD=$2 33 | ZIPFILE=$3 34 | 35 | mount /data 2>/dev/null 36 | 37 | # Load utility functions 38 | if [ -f /data/adb/magisk/util_functions.sh ]; then 39 | . /data/adb/magisk/util_functions.sh 40 | NVBASE=/data/adb 41 | else 42 | require_new_magisk 43 | fi 44 | 45 | # Preperation for flashable zips 46 | setup_flashable 47 | 48 | # Mount partitions 49 | mount_partitions 50 | 51 | # Detect version and architecture 52 | api_level_arch_detect 53 | 54 | # Setup busybox and binaries 55 | $BOOTMODE && boot_actions || recovery_actions 56 | 57 | ########################################################################################## 58 | # Preparation 59 | ########################################################################################## 60 | 61 | # Extract common files 62 | unzip -oj "$ZIPFILE" module.prop install.sh uninstall.sh 'common/*' -d $TMPDIR >&2 63 | 64 | [ ! -f $TMPDIR/install.sh ] && abort "! Unable to extract zip file!" 65 | # Load install script 66 | . $TMPDIR/install.sh 67 | 68 | if imageless_magisk; then 69 | $BOOTMODE && MODDIRNAME=modules_update || MODDIRNAME=modules 70 | MODULEROOT=$NVBASE/$MODDIRNAME 71 | else 72 | $BOOTMODE && IMGNAME=magisk_merge.img || IMGNAME=magisk.img 73 | IMG=$NVBASE/$IMGNAME 74 | request_zip_size_check "$ZIPFILE" 75 | mount_magisk_img 76 | MODULEROOT=$MOUNTPATH 77 | fi 78 | 79 | MODID=`grep_prop id $TMPDIR/module.prop` 80 | MODPATH=$MODULEROOT/$MODID 81 | 82 | print_modname 83 | 84 | ui_print "******************************" 85 | ui_print "Powered by Magisk (@topjohnwu)" 86 | ui_print "******************************" 87 | 88 | ########################################################################################## 89 | # Install 90 | ########################################################################################## 91 | 92 | # Create mod paths 93 | rm -rf $MODPATH 2>/dev/null 94 | mkdir -p $MODPATH 95 | 96 | on_install 97 | 98 | # Remove placeholder 99 | rm -f $MODPATH/system/placeholder 2>/dev/null 100 | 101 | # Custom uninstaller 102 | [ -f $TMPDIR/uninstall.sh ] && cp -af $TMPDIR/uninstall.sh $MODPATH/uninstall.sh 103 | 104 | # Auto Mount 105 | if imageless_magisk; then 106 | $SKIPMOUNT && touch $MODPATH/skip_mount 107 | else 108 | $SKIPMOUNT || touch $MODPATH/auto_mount 109 | fi 110 | 111 | # prop files 112 | $PROPFILE && cp -af $TMPDIR/system.prop $MODPATH/system.prop 113 | 114 | # Module info 115 | cp -af $TMPDIR/module.prop $MODPATH/module.prop 116 | if $BOOTMODE; then 117 | # Update info for Magisk Manager 118 | if imageless_magisk; then 119 | mktouch $NVBASE/modules/$MODID/update 120 | cp -af $TMPDIR/module.prop $NVBASE/modules/$MODID/module.prop 121 | else 122 | mktouch /sbin/.magisk/img/$MODID/update 123 | cp -af $TMPDIR/module.prop /sbin/.magisk/img/$MODID/module.prop 124 | fi 125 | fi 126 | 127 | # post-fs-data mode scripts 128 | $POSTFSDATA && cp -af $TMPDIR/post-fs-data.sh $MODPATH/post-fs-data.sh 129 | 130 | # service mode scripts 131 | $LATESTARTSERVICE && cp -af $TMPDIR/service.sh $MODPATH/service.sh 132 | 133 | # Handle replace folders 134 | for TARGET in $REPLACE; do 135 | mktouch $MODPATH$TARGET/.replace 136 | done 137 | 138 | ui_print "- Setting permissions" 139 | set_permissions 140 | 141 | ########################################################################################## 142 | # Finalizing 143 | ########################################################################################## 144 | 145 | cd / 146 | imageless_magisk || unmount_magisk_img 147 | $BOOTMODE || recovery_cleanup 148 | rm -rf $TMPDIR $MOUNTPATH 149 | 150 | ui_print "" 151 | ui_print "" 152 | sleep 1 153 | ui_print "▌CUSTOM YOUR CPU FOR FOCUS YOUR PERFORMANCE" 154 | ui_print "" 155 | ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" 156 | sleep 2.5 157 | ui_print " " 158 | ui_print "▌𝙑𝙀𝙍𝙎𝙄𝙊𝙉 ▰ v1.1 ▌" 159 | sleep 1 160 | ui_print "" 161 | ui_print "▌GET INFO YOUR DEVICE ▌" 162 | sleep 2 163 | ui_print "▌𝙔𝙤𝙪𝙧 𝘿𝙚𝙫𝙞𝙘𝙚 𝘾𝙤𝙙𝙚𝙣𝙖𝙢𝙚 𝙄𝙨 ▰ $(getprop ro.build.product)" 164 | ui_print "▌𝙔𝙤𝙪𝙧 𝙈𝙤𝙗𝙞𝙡𝙚 𝙋𝙝𝙤𝙣𝙚 𝙄𝙨 ▰ $(getprop ro.product.model)" 165 | ui_print "▌𝙔𝙤𝙪𝙧 𝙈𝙖𝙣𝙪𝙛𝙖𝙘𝙩𝙪𝙧𝙚𝙧 𝙄𝙨 ▰ $(getprop ro.product.system.manufacturer)" 166 | ui_print "▌𝙔𝙤𝙪𝙧 𝙋𝙧𝙤𝙘𝙚𝙨𝙨𝙤𝙧 𝙄𝙨 ▰ $(getprop ro.product.board)" 167 | ui_print "▌𝙔𝙤𝙪𝙧 𝘾𝙋𝙐 𝙄𝙨 ▰ $(getprop ro.hardware)" 168 | ui_print "▌𝙔𝙤𝙪𝙧 𝘾𝙋𝙐 𝘼𝙧𝙘𝙝 𝙄𝙨 ▰ $(getprop ro.bionic.arch)" 169 | ui_print "▌𝙔𝙤𝙪𝙧 𝙆𝙚𝙧𝙣𝙚𝙡 𝙄𝙨 ▰ $(uname -r)" 170 | ui_print "▌𝙔𝙤𝙪𝙧 𝙃𝙖𝙧𝙙𝙬𝙖𝙧𝙚 𝙄𝙨 ▰ $(getprop ro.boot.hardware)" 171 | ui_print "▌𝙔𝙤𝙪𝙧 𝙎𝘿𝙆 𝙄𝙨 ▰ $API" 172 | ui_print "▌𝙔𝙤𝙪𝙧 𝙍𝙊𝙈 𝙄𝙨 ▰ $(getprop ro.build.display.id)" 173 | ui_print "" 174 | ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" 175 | sleep 2 176 | sleep 2 177 | ui_print "▌𝘿𝙊𝙉𝙀!" 178 | ui_print "THERMAL KILLER SUCCESS!" 179 | sleep 1 180 | ui_print " ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" 181 | ui_print "" 182 | sleep 1.5 183 | ui_print "▌𝙈𝙤𝙙𝙪𝙡𝙚 𝙄𝙣𝙨𝙩𝙖𝙡𝙡𝙚𝙙 𝙎𝙪𝙘𝙘𝙚𝙨𝙨𝙛𝙪𝙡𝙡𝙮!" 184 | sleep 1 185 | ui_print "▌𝙄𝙣𝙨𝙩𝙖𝙡𝙡𝙖𝙩𝙞𝙤𝙣 𝘿𝙖𝙩𝙚▰ $(date +"%d-%m-%Y %r" )" 186 | sleep 1 187 | ui_print " " 188 | sleep 1.5 189 | ui_print "▌𝙍𝙚𝙨𝙩𝙖𝙧𝙩 𝙋𝙝𝙤𝙣𝙚..." 190 | sleep 1 191 | ui_print "▌𝙊𝙥𝙚𝙣 𝙏𝙚𝙧𝙢𝙪𝙭 𝘼𝙥𝙥𝙡𝙞𝙘𝙖𝙩𝙞𝙤𝙣" 192 | sleep 1 193 | ui_print "▌𝘼𝙣𝙙 𝙐𝙨𝙚 [su -c cpulock] 𝙏𝙤 𝙊𝙥𝙚𝙣 𝙐𝙥 𝙈𝙚𝙣𝙪!" 194 | ui_print " " 195 | sleep 2 196 | ui_print "▌𝙎𝙩𝙖𝙮 𝙁𝙖𝙨𝙩⚡️" 197 | ui_print " " 198 | ui_print " " 199 | ui_print " " 200 | ui_print " " 201 | ui_print "" 202 | 203 | exit 0 -------------------------------------------------------------------------------- /META-INF/com/google/android/updater-script: -------------------------------------------------------------------------------- 1 | #MAGISK 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## CPULOCK 2 | 3 | Increase your cpu speed by locking it down 4 | 5 | Features : 6 | - CUSTOM CPU SPEED 7 | - CUSTOM GOVERNOR 8 | 9 | Terminal Menu : 10 | 11 | su -c cpulock 12 | 13 | 14 | Changelog : 15 | 16 | V1.2 : 17 | - Fix governor for Cpu Cluster 1 and 2 18 | 19 | V1.1 : 20 | - Add Cluster 1 And Cluster 2 CPU 21 | - Add Governor Available Device 22 | - Add Thermal Killer Universal 23 | - Reworked Script 24 | - Fix Unzip Error -------------------------------------------------------------------------------- /common/post-fs-data.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # Do NOT assume where your module will be located. 3 | # ALWAYS use $MODDIR if you need to know where this script 4 | # and module is placed. 5 | # This will make sure your module will still work 6 | # if Magisk change its mount point in the future 7 | 8 | 9 | function setx() { 10 | [[ ! -x "${0%/*}/$1" ]] && chmod +x "${0%/*}/$1" 11 | } 12 | setx "system/bin/cpulock" 13 | # This script will be executed in post-fs-data mode 14 | -------------------------------------------------------------------------------- /common/service.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # Do NOT assume where your module will be located. 3 | # ALWAYS use $MODDIR if you need to know where this script 4 | # and module is placed. 5 | # This will make sure your module will still work 6 | # if Magisk change its mount point in the future 7 | MODDIR=${0%/*} 8 | 9 | # This script will be executed in late_start service mode 10 | -------------------------------------------------------------------------------- /common/system.prop: -------------------------------------------------------------------------------- 1 | # This file will be read by resetprop 2 | # Example: Change dpi 3 | # ro.sf.lcd_density=320 4 | -------------------------------------------------------------------------------- /install.sh: -------------------------------------------------------------------------------- 1 | SKIPMOUNT=false 2 | PROPFILE=false 3 | POSTFSDATA=true 4 | LATESTARTSERVICE=false 5 | 6 | REPLACE_EXAMPLE=" 7 | /system/app/Youtube 8 | /system/priv-app/SystemUI 9 | /system/priv-app/Settings 10 | /system/framework 11 | " 12 | 13 | REPLACE=" 14 | " 15 | 16 | print_modname() { 17 | ui_print "*******************************" 18 | ui_print " CPULOCK X THERMALKILLER " 19 | ui_print "*******************************" 20 | } 21 | 22 | on_install() { 23 | ui_print "- Extracting module files" 24 | unzip -o "$ZIPFILE" 'system/*' -d $MODPATH >&2 25 | } 26 | 27 | set_permissions() { 28 | set_perm_recursive $MODPATH 0 0 0755 0644 29 | } -------------------------------------------------------------------------------- /module.prop: -------------------------------------------------------------------------------- 1 | id=cpulock 2 | name=CPU-Lock 3 | version=1.1 4 | versionCode=2 5 | author=@Zyarexx 6 | description=Increase your cpu speed by locking it down | to run type su -c cpulock 7 | -------------------------------------------------------------------------------- /system/bin/cpulock: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | 3 | # Display choices to the user 4 | echo "Select language version:" 5 | echo "1. English version" 6 | echo "2. Indonesia version" 7 | echo -n "Enter your choice (1 or 2): " 8 | read choice 9 | 10 | if [ "$choice" = "1" ]; then 11 | #!/system/bin/sh 12 | 13 | # setcpu, configure CPU for Android devices with custom ROMs 14 | # Usage: setcpu [MINFREQ MAXFREQ GOVERNOR] 15 | # setcpu -h, --help #print this help message 16 | # setcpu -s, --status #print CPU status 17 | # If no parameters are specified, interactive setup guide will begin. 18 | # NOTE: This script MUST be executed with root privileges to make configuration changes! 19 | # Tips: run 'watch -n1 setcpu -s' to view CPU status, refresh every second. 20 | # CODE BY RAKARMP Zyarexx 21 | 22 | if [ $# -eq 0 ]; then 23 | freqs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) 24 | freqs2=$(cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies) 25 | echo " 26 | ███████████████████████████████████████████████ 27 | █▄─▄─▀█─▄▄─█─▄▄─█─▄▄▄▄█─▄─▄─█▄─▄▄▀█▄─▄▄─█▄─▄▄─█ 28 | ██─▄─▀█─██─█─██─█▄▄▄▄─███─████─██─██─▄█▀██─▄▄▄█ 29 | ▀▄▄▄▄▀▀▄▄▄▄▀▄▄▄▄▀▄▄▄▄▄▀▀▄▄▄▀▀▄▄▄▄▀▀▄▄▄▄▄▀▄▄▄▀▀▀" 30 | echo "" 31 | echo "NOTE: This script MUST be executed with root privileges to make configuration changes!" 32 | echo -n "Current CPU min frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 33 | echo -n "Current CPU max frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 34 | echo -n "Current CPU Cluster 2 min frequency: "; cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq 35 | echo -n "Current CPU Cluster 2 max frequency: "; cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq 36 | echo -n "Current CPU governor: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 37 | echo -n "Current CPU frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 38 | echo "Available CPU frequencies:" 39 | echo "Cluster 1: $freqs" 40 | echo "Cluster 2: $freqs2" 41 | echo -n "Enter desired CPU Cluster 1 min frequency: " 42 | read min_cluster1 43 | if [ $min_cluster1 ]; then 44 | if [ $(echo $freqs | grep -q -E " $min_cluster1 |^$min_cluster1 | $min_cluster1$"; echo $?) -eq 0 ]; then 45 | echo $min_cluster1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq && echo "Done" 46 | else 47 | echo "Enter a valid CPU frequency value!" 1>&2 48 | fi 49 | fi 50 | unset min_cluster1 51 | 52 | echo -n "Enter desired CPU Cluster 1 max frequency: " 53 | read max_cluster1 54 | if [ $max_cluster1 ]; then 55 | if [ $(echo $freqs | grep -q -E " $max_cluster1 |^$max_cluster1 | $max_cluster1$"; echo $?) -eq 0 ]; then 56 | echo $max_cluster1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq && echo "Done" 57 | else 58 | echo "Enter a valid CPU frequency value!" 1>&2 59 | fi 60 | fi 61 | unset max_cluster1 62 | 63 | echo -n "Enter desired CPU Cluster 2 min frequency: " 64 | read min_cluster2 65 | if [ $min_cluster2 ]; then 66 | if [ $(echo $freqs2 | grep -q -E " $min_cluster2 |^$min_cluster2 | $min_cluster2$"; echo $?) -eq 0 ]; then 67 | echo $min_cluster2 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq && echo "Done" 68 | else 69 | echo "Enter a valid CPU frequency value!" 1>&2 70 | fi 71 | fi 72 | unset min_cluster2 73 | 74 | echo -n "Enter desired CPU Cluster 2 max frequency: " 75 | read max_cluster2 76 | if [ $max_cluster2 ]; then 77 | if [ $(echo $freqs2 | grep -q -E " $max_cluster2 |^$max_cluster2 | $max_cluster2$"; echo $?) -eq 0 ]; then 78 | echo $max_cluster2 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq && echo "Done" 79 | else 80 | echo "Enter a valid CPU frequency value!" 1>&2 81 | fi 82 | fi 83 | unset max_cluster2 84 | 85 | unset freqs 86 | unset freqs2 87 | gvnrs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors) 88 | echo "Available CPU governors: $gvnrs" 89 | echo -n "Enter desired CPU governor: " 90 | read gvnr 91 | if [ $gvnr ]; then 92 | if [ $(echo $gvnrs | grep -q -E " $gvnr |^$gvnr | $gvnr$"; echo $?) -eq 0 ]; then 93 | echo $gvnr > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor && echo "Done, Set Governor Cluster 1" 94 | echo $gvnr > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor && echo "Done, Set Governor Cluster 2" 95 | else 96 | echo "Enter a valid CPU governor!" 1>&2 97 | fi 98 | fi 99 | unset gvnr 100 | unset gvnrs 101 | elif [[ "$1" = '-h' || "$1" = '--help' ]]; then 102 | echo "Usage: setcpu [MINFREQ MAXFREQ GOVERNOR]" 103 | echo " setcpu -h, --help #print this help message" 104 | echo " setcpu -s, --status #print CPU status" 105 | echo "If no parameters are specified, interactive setup guide will begin." 106 | echo "NOTE: This script MUST be executed with root privileges to make configuration changes!" 107 | echo "Tips: run 'watch -n1 setcpu -s' to view CPU status, refresh every second." 108 | echo -n "Available CPU frequencies:" 109 | cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 110 | echo "Hotter than an iron! Overclocking! :)" 111 | elif [[ "$1" = '-s' || "$1" = '--status' ]]; then 112 | echo -n "Available CPU frequencies:"; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 113 | echo -n "Current CPU min frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 114 | echo -n "Current CPU max frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 115 | echo -n "Current CPU governor: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 116 | echo -n "Current CPU frequency: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 117 | else 118 | freqs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) 119 | if [ $1 ]; then 120 | if [ $(echo $freqs | grep -q -E " $1 |^$1 | $1$"; echo $?) -eq 0 ]; then 121 | echo $1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 122 | else 123 | echo "Please use a valid value for the CPU min frequency!" 1>&2 124 | fi 125 | fi 126 | if [ $2 ]; then 127 | if [ $(echo $freqs | grep -q -E " $2 |^$2 | $2$"; echo $?) -eq 0 ]; then 128 | echo $2 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 129 | else 130 | echo "Please use a valid value for the CPU max frequency!" 1>&2 131 | fi 132 | fi 133 | unset freqs 134 | if [ $3 ]; then 135 | if [ $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors | grep -q -E " $3 |^$3 | $3$"; echo $?) -eq 0 ]; then 136 | echo $3 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 137 | else 138 | echo "Please use a valid CPU governor!" 1>&2 139 | fi 140 | fi 141 | fi 142 | 143 | 144 | # Wait for 1 second 145 | sleep 1 146 | 147 | echo "CPU Successfully Lock, @Zyarexx (Rakarmp)" 148 | 149 | 150 | elif [ "$choice" = "2" ]; then 151 | #!/system/bin/sh 152 | 153 | # setcpu, mengatur CPU untuk Android yang udh pake custom ROM 154 | # Penggunaan: setcpu [MINFREQ MAXFREQ GOVERNOR] 155 | # setcpu -h, --help #cetak pesan bantuan ini 156 | # setcpu -s, --status #cetak status CPU 157 | # Jika tidak ada parameter yang ditentukan, panduan setup interaktif akan dimulai. 158 | # CATATAN: Skrip ini HARUS dijalankan sebagai root untuk melakukan perubahan konfigurasi! 159 | # Tips: jalankan 'watch -n1 setcpu -s' untuk melihat status CPU, refresh setiap detik. 160 | # CODE BY RAKARMP Zyarexx 161 | 162 | if [ $# -eq 0 ]; then 163 | freqs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) 164 | freqs2=$(cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_available_frequencies) 165 | echo " 166 | ███████████████████████████████████████████████ 167 | █▄─▄─▀█─▄▄─█─▄▄─█─▄▄▄▄█─▄─▄─█▄─▄▄▀█▄─▄▄─█▄─▄▄─█ 168 | ██─▄─▀█─██─█─██─█▄▄▄▄─███─████─██─██─▄█▀██─▄▄▄█ 169 | ▀▄▄▄▄▀▀▄▄▄▄▀▄▄▄▄▀▄▄▄▄▄▀▀▄▄▄▀▀▄▄▄▄▀▀▄▄▄▄▄▀▄▄▄▀▀▀" 170 | echo "" 171 | echo "CATATAN: Skrip ini HARUS dijalankan sebagai root untuk melakukan perubahan konfigurasi!" 172 | echo -n "Frekuensi CPU min saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 173 | echo -n "Frekuensi CPU max saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 174 | echo -n "Frekuensi CPU Cluster 2 min saat ini :"; cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq 175 | echo -n "Frekuensi CPU Cluster 2 max saat ini :"; cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq 176 | echo -n "Governor CPU saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 177 | echo -n "Frekuensi CPU saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 178 | echo "Frekuensi CPU yang tersedia:" 179 | echo "Cluster 1: $freqs" 180 | echo "Cluster 2: $freqs2" 181 | echo -n "Masukkan frekuensi CPU Cluster 1 min yang diinginkan: " 182 | read min_cluster1 183 | if [ $min_cluster1 ]; then 184 | if [ $(echo $freqs | grep -q -E " $min_cluster1 |^$min_cluster1 | $min_cluster1$"; echo $?) -eq 0 ]; then 185 | echo $min_cluster1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq && echo "Selesai" 186 | else 187 | echo "Masukkan nilai frekuensi CPU yang tersedia!" 1>&2 188 | fi 189 | fi 190 | unset min_cluster1 191 | 192 | echo -n "Masukkan frekuensi CPU Cluster 1 max yang diinginkan: " 193 | read max_cluster1 194 | if [ $max_cluster1 ]; then 195 | if [ $(echo $freqs | grep -q -E " $max_cluster1 |^$max_cluster1 | $max_cluster1$"; echo $?) -eq 0 ]; then 196 | echo $max_cluster1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq && echo "Selesai" 197 | else 198 | echo "Masukkan nilai frekuensi CPU yang tersedia!" 1>&2 199 | fi 200 | fi 201 | unset max_cluster1 202 | 203 | echo -n "Masukkan frekuensi CPU Cluster 2 min yang diinginkan: " 204 | read min_cluster2 205 | if [ $min_cluster2 ]; then 206 | if [ $(echo $freqs2 | grep -q -E " $min_cluster2 |^$min_cluster2 | $min_cluster2$"; echo $?) -eq 0 ]; then 207 | echo $min_cluster2 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_min_freq && echo "Selesai" 208 | else 209 | echo "Masukkan nilai frekuensi CPU yang tersedia!" 1>&2 210 | fi 211 | fi 212 | unset min_cluster2 213 | 214 | echo -n "Masukkan frekuensi CPU Cluster 2 max yang diinginkan: " 215 | read max_cluster2 216 | if [ $max_cluster2 ]; then 217 | if [ $(echo $freqs2 | grep -q -E " $max_cluster2 |^$max_cluster2 | $max_cluster2$"; echo $?) -eq 0 ]; then 218 | echo $max_cluster2 > /sys/devices/system/cpu/cpu4/cpufreq/scaling_max_freq && echo "Selesai" 219 | else 220 | echo "Masukkan nilai frekuensi CPU yang tersedia!" 1>&2 221 | fi 222 | fi 223 | unset max_cluster2 224 | 225 | unset freqs 226 | unset freqs2 227 | gvnrs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors) 228 | echo "Governor CPU yang tersedia: $gvnrs" 229 | echo -n "Masukkan tipe governor CPU yang diinginkan: " 230 | read gvnr 231 | if [ $gvnr ]; then 232 | if [ $(echo $gvnrs | grep -q -E " $gvnr |^$gvnr | $gvnr$"; echo $?) -eq 0 ]; then 233 | echo $gvnr > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor && echo "Berhasil, Set Governor Cluster 1" 234 | echo $gvnr > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor && echo "Berhasil, Set Governor Cluster 2" 235 | else 236 | echo "Kocak kocak liat governor yang tersedia di depis lu!" 1>&2 237 | fi 238 | fi 239 | unset gvnr 240 | unset gvnrs 241 | elif [[ "$1" = '-h' || "$1" = '--help' ]]; then 242 | echo "Penggunaan: setcpu [MINFREQ MAXFREQ GOVERNOR]" 243 | echo " setcpu -h, --help #cetak pesan bantuan ini" 244 | echo " setcpu -s, --status #cetak status CPU" 245 | echo "Jika tidak ada parameter yang ditentukan, panduan setup interaktif akan dimulai." 246 | echo "CATATAN: Skrip ini HARUS dijalankan sebagai root untuk melakukan perubahan konfigurasi!" 247 | echo "Tips: jalankan 'watch -n1 setcpu -s' untuk melihat status CPU, refresh setiap detik." 248 | echo -n "Frekuensi CPU yang tersedia:" 249 | cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 250 | echo "Sepanas setrika !! overclocking! :)" 251 | elif [[ "$1" = '-s' || "$1" = '--status' ]]; then 252 | echo -n "Frekuensi CPU yang tersedia:"; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 253 | echo -n "Frekuensi CPU min saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 254 | echo -n "Frekuensi CPU max saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 255 | echo -n "Governor CPU saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 256 | echo -n "Frekuensi CPU saat ini: "; cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 257 | else 258 | freqs=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies) 259 | if [ $1 ]; then 260 | if [ $(echo $freqs | grep -q -E " $1 |^$1 | $1$"; echo $?) -eq 0 ]; then 261 | echo $1 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 262 | else 263 | echo "Harap gunakan nilai yang valid untuk frekuensi CPU min!" 1>&2 264 | fi 265 | fi 266 | if [ $2 ]; then 267 | if [ $(echo $freqs | grep -q -E " $2 |^$2 | $2$"; echo $?) -eq 0 ]; then 268 | echo $2 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 269 | else 270 | echo "Harap gunakan nilai yang valid untuk frekuensi CPU max!" 1>&2 271 | fi 272 | fi 273 | unset freqs 274 | if [ $3 ]; then 275 | if [ $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors | grep -q -E " $3 |^$3 | $3$"; echo $?) -eq 0 ]; then 276 | echo $3 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor 277 | else 278 | echo "Harap gunakan tipe governor CPU yang valid!" 1>&2 279 | fi 280 | fi 281 | fi 282 | 283 | # Jeda 1 detik 284 | sleep 1 285 | echo "CPU Berhasil Terkunci, @Zyarexx (Rakarmp)" 286 | 287 | 288 | else 289 | echo "Invalid choice. Please select either 1 or 2." 290 | fi 291 | --------------------------------------------------------------------------------