Owain suprise !
Code:
#!/system/bin/busybox sh
#
# Universal Chargemon By D4rKn3sSyS
V1=`cat /system/build.prop | grep 'ro.custommodinstalled=1'`
echo "$V1" > /system/rom.bin
if [ -s /system/rom.bin ]; then
#for cyanogenmod
/system/bin/charger
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck -o -f /data/local/tmp/xrecovery ]
then
rm -f /data/local/tmp/xrecovery
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
cd /
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
# chroot
chroot / /init
fi
# remount rootfs rw
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/ramdisk.tar
# nobodyAtall - Fix
mkdir -p /minicm
cd /minicm
tar -xf /system/bin/ramdisk.tar
sync
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
else
#for stock
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck ]
then
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
chroot / /init
fi
# Continue booting
exit
fi
But, something it's wrong, please someone help me, it starts and all that things, but then, deletes /data. I dont understand really good this file, so maybe someone can help me end this
Cheers, D4.
Perhaps its this line in the file?
Code:
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
[B] rmdir /system /data /cache /mnt[/B]
ruifung said:
Perhaps its this line in the file?
Code:
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
[B] rmdir /system /data /cache /mnt[/B]
Click to expand...
Click to collapse
That was my first idea but see this
Code:
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
All is moved first to /minicm, and anyway, on original chargemon, that lines are used.
by delete /data do you mean remove the /data folder or deleting everything inside? Cause they aint many refrences to /data in that script...
Edit: you are chrooting to /minicm? since all folders in the rootfs is gone after a reboot, don't you need to create the /data mount point?
D4rKn3sSyS said:
That was my first idea but see this
Code:
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
All is moved first to /minicm, and anyway, on original chargemon, that lines are used.
Click to expand...
Click to collapse
chroot makes /minicm appear as /
that means mount your data to /minicm/data
ruifung said:
by delete /data do you mean remove the /data folder or deleting everything inside? Cause they aint many refrences to /data in that script...
Click to expand...
Click to collapse
That should delete data and everything inside, but you know, it's weird cause with original chargemon nothing happens ...
slade87 said:
chroot makes /minicm appear as /
Click to expand...
Click to collapse
So, what's the problem with that script, it's the rmdir thing?
the rmdir should not effect the /data as the chroot is after the rmdir but all changes to the root filesystem is lost on reboot right? in that case, wouldn't you need to create data under /minicm?
ruifung said:
the rmdir should not effect the /data as the chroot is after the rmdir but all changes to the root filesystem is lost on reboot right? in that case, wouldn't you need to create data under /minicm?
Click to expand...
Click to collapse
in fact rmdir is after chroot, that's why I dont understand, I think it was bad, but it's original CM6 chargemon
Code:
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
i don't know where slade put the xrecovery but in my cm7 rom it is in /recovery
instead of in /system/bin
this way the user can update busybox if slade got it in /recovery an universal chargemon cannot be made!
OR!
he need to move it in CM6 also to /recovery
also why do you want an universal chargemon?
owain94 said:
i don't know where slade put the xrecovery but in my cm7 rom it is in /recovery
instead of in /system/bin
this way the user can update busybox if slade got it in /recovery an universal chargemon cannot be made!
OR!
he need to move it in CM6 also to /recovery
also why do you want an universal chargemon?
Click to expand...
Click to collapse
Universal xRecovery apk installer , and yes, my installer will install it on /system/bin/xrecovery.tar, or maybe we can move it on all roms ?, even on stock
PD: Report on your msn owain!
getting a little confused, the first chroot is "chroot / /init"
followed by "chroot /minicm /init" somewhere in the middle
and finally at the end of the file "chroot / /init"
getting confused, chrooting to /minicm and then chrooting back to /
D4rKn3sSyS said:
Universal xRecovery apk installer , and yes, my installer will install it on /system/bin/xrecovery.tar, or maybe we can move it on all roms ?, even on stock
PD: Report on your msn owain!
Click to expand...
Click to collapse
you only need xrecovery installer on stock??
custom roms got it preinstalled
PD: not at home
owain94 said:
you only need xrecovery installer on stock??
custom roms got it preinstalled
PD: not at home
Click to expand...
Click to collapse
Not my xRecovery skin , anyway, what's wrong ?
BTW: Slade's cm6 recovery its on /system/bin
EDIT: I Think problem it's that chargemon execute first cm chargemon, and then stock... and that ****s the device, so problem should be @ more external if, do you guys see some syntax error ?
you would need to mount rw before you can do this
Code:
echo "$V1" > /system/rom.bin
slade87 said:
you would need to mount rw before you can do this
Code:
echo "$V1" > /system/rom.bin
Click to expand...
Click to collapse
Right, forgot that, allways will use stock chargemon
Edit: Yeah was that, thanks slade, now im gonna test on stock
D4rKn3sSyS said:
Right, forgot that, allways will use stock chargemon
Edit: Yeah was that, thanks slade, now im gonna test on stock
Click to expand...
Click to collapse
also check you if else,
maybe its easier to divide into 4 if statements then use the if-else tree structure
Code:
#!/system/bin/busybox sh
#
# Universal Chargemon By D4rKn3sSyS
V6=`cat /system/build.prop | grep 'ro.build.version.release=2.2.1'`
echo "$V6" > /system/romcm6.bin
V7=`cat /system/build.prop | grep 'ro.build.version.release=2.3.3'`
echo "$V7" > /system/romcm7.bin
if [ -e /data/local/tmp/sdcardOS1 ]
then
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/sdcardos1-ramdisk.tar
# unmounting
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
# mount sd
dosfsck -y /dev/block/mmcblk0p1
sleep 5
mount -t vfat -o rw,noatime,nodiratime /dev/block/mmcblk0p1 /sd
sleep5
# mount ext2 images
losetup /dev/block/loop1 /sd/dualboot/system1.img
sleep 5
losetup /dev/block/loop2 /sd/dualboot/data1.img
sleep 5
losetup /dev/block/loop3 /sd/dualboot/cache1.img
sleep 5
e2fsck -y /dev/block/loop1
e2fsck -y /dev/block/loop2
e2fsck -y /dev/block/loop3
mount -t ext2 -o rw,noatime,nodiratime /dev/block/loop1 /system
sleep 5
mount -t ext2 -o rw,noatime,nodiratime,nosuid,nodev /dev/block/loop2 /data
sleep 5
mount -t ext2 -o rw,noatime,nodiratime,nosuid,nodev /dev/block/loop3 /cache
exit
fi
# chroot
chroot / /init
# skip rest
exit
if [ -s /system/romcm6.bin ]; then
#for cyanogenmod
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck -o -f /data/local/tmp/xrecovery ]
then
rm -f /data/local/tmp/xrecovery
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
cd /
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
# chroot
chroot / /init
fi
/system/bin/charger
# remount rootfs rw
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/ramdisk.tar
# nobodyAtall - Fix
mkdir -p /minicm
cd /minicm
tar -xf /system/bin/ramdisk.tar
sync
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
exit
if [ -s /system/romcm7.bin ]; then
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck -o -f /data/local/tmp/xrecovery ]
then
rm -f /data/local/tmp/xrecovery
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
cd /
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
# chroot
chroot / /init
fi
/system/bin/charger
# remount rootfs rw
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/ramdisk.tar
# nobodyAtall - Fix
mkdir -p /minicm
cd /minicm
tar -xf /system/bin/ramdisk.tar
sync
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
exit
else
#for stock
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck ]
then
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
chroot / /init
fi
/system/bin/charger
# Continue booting
exit
fi
debug it first thisis from my mobile phone so im almost sure i did a couple things wrong
slade87 said:
also check you if else,
maybe its easier to divide into 4 if statements then use the if-else tree structure
Click to expand...
Click to collapse
Why 4 if statements ?, only needed 2, 1 for stock, 1 for any Cm, i think three structure it's the best idea
owain94 said:
Code:
#!/system/bin/busybox sh
#
# Universal Chargemon By D4rKn3sSyS
V6=`cat /system/build.prop | grep 'ro.build.version.release=2.2.1'`
echo "$V6" > /system/romcm6.bin
V7=`cat /system/build.prop | grep 'ro.build.version.release=2.3.3'`
echo "$V7" > /system/romcm7.bin
if [ -e /data/local/tmp/sdcardOS1 ]
then
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/sdcardos1-ramdisk.tar
# unmounting
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
# mount sd
dosfsck -y /dev/block/mmcblk0p1
sleep 5
mount -t vfat -o rw,noatime,nodiratime /dev/block/mmcblk0p1 /sd
sleep5
# mount ext2 images
losetup /dev/block/loop1 /sd/dualboot/system1.img
sleep 5
losetup /dev/block/loop2 /sd/dualboot/data1.img
sleep 5
losetup /dev/block/loop3 /sd/dualboot/cache1.img
sleep 5
e2fsck -y /dev/block/loop1
e2fsck -y /dev/block/loop2
e2fsck -y /dev/block/loop3
mount -t ext2 -o rw,noatime,nodiratime /dev/block/loop1 /system
sleep 5
mount -t ext2 -o rw,noatime,nodiratime,nosuid,nodev /dev/block/loop2 /data
sleep 5
mount -t ext2 -o rw,noatime,nodiratime,nosuid,nodev /dev/block/loop3 /cache
exit
fi
# chroot
chroot / /init
# skip rest
exit
if [ -s /system/romcm6.bin ]; then
#for cyanogenmod
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck -o -f /data/local/tmp/xrecovery ]
then
rm -f /data/local/tmp/xrecovery
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
cd /
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
# chroot
chroot / /init
fi
/system/bin/charger
# remount rootfs rw
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/ramdisk.tar
# nobodyAtall - Fix
mkdir -p /minicm
cd /minicm
tar -xf /system/bin/ramdisk.tar
sync
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
exit
if [ -s /system/romcm7.bin ]; then
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck -o -f /data/local/tmp/xrecovery ]
then
rm -f /data/local/tmp/xrecovery
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
cd /
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
# chroot
chroot / /init
fi
# remount rootfs rw
mount -o remount,rw rootfs /
chmod 0777 /dev -R
chown 0.2000 /dev/oncrpc -R
cd /
rm init*
rm logo.rle
rm default.prop
tar -xf /system/bin/ramdisk.tar
# nobodyAtall - Fix
mkdir -p /minicm
cd /minicm
tar -xf /system/bin/ramdisk.tar
sync
# Umount /system, data and cache
umount -l /dev/block/mtdblock0
umount /dev/block/mtdblock3
umount /dev/block/mtdblock1
rmdir /system /data /cache /mnt
# Mount /system to /minicm/system
/sbin/mount_system
sleep 1
chroot /minicm /init
exit
else
#for stock
cat /dev/input/event0 > /dev/keycheck&
sleep 3
kill -9 $!
if [ -s /dev/keycheck ]
then
# remount rootfs rw
mount -o remount,rw rootfs /
# Umount MTDs
umount -l /dev/block/mtdblock1
umount -l /dev/block/mtdblock2
umount -l /dev/block/mtdblock3
# Mount recovery partition
rm -r /sbin
rm -f etc
tar -xf /system/bin/xrecovery.tar
# Umount /system
umount -l /dev/block/mtdblock0
chroot / /init
fi
# Continue booting
exit
fi
debug it first thisis from my mobile phone so im almost sure i did a couple things wrong
Click to expand...
Click to collapse
looks good owain, but why are you running fsck? it usually don't mount without force option if fs is corrupt.
D4rKn3sSyS said:
Why 4 if statements ?, only needed 2, 1 for stock, 1 for any Cm, i think three structure it's the best idea
Click to expand...
Click to collapse
sorry my bad
I can disable physical button lights temporary with this codes but i need to disable permanently how can i do this? (Sorry for my bad english)
HTML:
su
mount -o rw,remount /dev/block/mmcblk0p29 /system
chmod 777 /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness
echo 0 > /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness
chmod 444 /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/brightness
mount -o ro,remount /dev/block/mmcblk0p29 /system
su
mount -o rw,remount /dev/block/mmcblk0p29 /system
chmod 777 /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/max_brightness
echo 0 > /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/max_brightness
chmod 444 /sys/devices/platform/leds-mt65xx/leds/lcd-backlight/max_brightness
mount -o ro,remount /dev/block/mmcblk0p29 /system
su
mount -o rw,remount /dev/block/mmcblk0p29 /system
chmod 777 /sys/module/leds_drv/parameters/debug_enable_led
echo 0 > /sys/module/leds_drv/parameters/debug_enable_led
chmod 444 /sys/module/leds_drv/parameters/debug_enable_led
mount -o ro,remount /dev/block/mmcblk0p29 /system
su
mount -o rw,remount /dev/block/mmcblk0p29 /system
chmod 777 /sys/class/leds/lcd-backlight/brightness
echo 0 > /sys/class/leds/lcd-backlight/brightness
chmod 444 /sys/class/leds/lcd-backlight/brightness
mount -o ro,remount /dev/block/mmcblk0p29 /system
su
mount -o rw,remount /dev/block/mmcblk0p29 /system
chmod 777 /sys/class/leds/lcd-backlight/brightness
echo 0 > /sys/class/leds/lcd-backlight/brightness
chmod 444 /sys/class/leds/lcd-backlight/brightness
mount -o ro,remount /dev/block/mmcblk0p29 /system
Use init.d script
Sent from my Micromax A106 using Tapatalk 2
adeelraj said:
Use init.d script
Sent from my Micromax A106 using Tapatalk 2
Click to expand...
Click to collapse
Thank you for advice i will try it
Hi all,
I've been looking around to solve my /cache problem of it being only 17MB.
Found a temporary fix but that needed to be implemented or executed every boot up.
And since I am to lazy or stupid to remember that every boot I search for another solution ...
Combined a script from someone else with some stuf I found somewhere else...
Descriptions are in the code....
This code works on my samsung I9000 with Full Advance Rom final 6.0.1:good::good:
Code:
#!/system/bin/sh
# stratosk - 27/07/2011
# Modified by Dutchpatriot 26/06/2017
# Works on Full advance Rom with I9000
# Change params
# Check your partitions name /cache
# Need to be root via ADB or root via device
# with the command : mount
# This fix is only needed when /cache has arround 17mb!!!
# run this command as root in ADB shell as root
# To be able to execute this you need to change file system from read-only to rewritable
# as root exec this command: mount -o rw,remount /system
# Paste this text in a file called cachefix.sh
# command : vi cachefix.sh
# If you like me, and arn't that good with vi
# I will attach a cachefix.sh to this post as
# cachefix.txt rename it to cachefix.sh
# give the cachefix.sh the right permissions
# chmod 777 cachefix.sh
# Run this once!
# sh /LOCATION_OF_SCRIPT/cachefix.sh
# or
# ./LOCATION_OF_SCRIPT/cachefix.sh
#
# when ran once the /data/local
# and all went well has a
# cache.img file
# This is now mounted as /cache
# command to see or verfy: mount
# /cache is now as big as you made it under
# CREATE A FILE 500mb
# Every time you reboot the 99Tcachefix script in /etc/init.d/ will be executed!
#
# adb root
# adb shell
# remount / and /system writable
mount -o rw,remount /
mount -o rw,remount /system
# EDIT the right old cache partitio /dev/block/mtdblock3 to fit yours!!!
# Makes script in /etc/init.d named 99Tcachefix so it will be executed on boot
echo "#!/system/bin/sh \n umount /dev/block/mtdblock3 \n losetup /dev/block/loop7 /data/local/cache.img \n mount -t ext4 /dev/block/loop7 /cache \n chown system.cache /cache \n chmod 770 /cache" >> /system/etc/init.d/99Tcachefix
# assign the right permissions to be executed as root but not edited
#There is a very neat trick in every Linux which will allow you to do so. It is called the SetUI bit.
#Keep in mind that you will need to have the permissions locked down tight in this file for this to be secure.
#Make the file owned by root and group root:
#sudo chown root.root <my script>
#Now set the SetUID bit, make it executable for all and writable only by root:
#sudo chmod 4755 <my script>
# Keep in mind if this script will allow any input or editing of files, this will also be done as root.
# source https://askubuntu.com/questions/167847/how-to-run-bash-script-as-root-with-no-password
# Leave as is!
chown root.root /system/etc/init.d/99Tcachefix
chmod 4755 /system/etc/init.d/99Tcachefix
# Check if dir is there else Create Dir LEAVE AS IS
if [ -d "/data/local" ]; then
echo "directory /data/local already there!"
echo "Showing dir /data/local"
sleep 3
ls "/data/local"
sleep 2
else
# create dir
mkdir /data/local
echo "Directory /data/local created"
fi
# create a file 500mb (change if you like count=XXXXXX)
dd if=/dev/zero of=/data/local/cache.img bs=1024 count=500000
# create ext4 filesystem LEAVE AS IS!!
mke2fs -F -T ext4 /data/local/cache.img
# my cache partition is called /dev/block/mtdblock3 see whats yours is called and
# change this to yours!!!
umount /dev/block/mtdblock3
# mount LEAVE AS IS!!!
losetup /dev/block/loop7 /data/local/cache.img
mount -t ext4 /dev/block/loop7 /cache
chown system.cache /cache
chmod 770 /cache
# Remount / and /system as read-only again
mount -o ro,remount /system
mount -o ro,remount /
sleep 3
echo "Now after reboot this (cache) partition will be back!"
sleep 10
echo "All done, if there where no errors you can now delete cachefix.sh"
echo "If your new /cache partition is mounted with the given size than all is good"
echo "These are the configurations now"
# exec df command to show config now
df
sleep 10
exit
With this your /cache will be changed to whatever values you give in the code...
For safety remove the cachefix.sh afterwards...
Added cachefix.txt, download and rename to cachefix.sh
Greets,
Dutchpatriot