Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- img=boot.img
- img2=boot2.img
- port=9999
- url="https://github.com/metalx1000/Moto-G-root-tricks/blob/master/img/stock_boot.img?raw=true"
- dir="work"
- #check if root user
- if [[ $EUID -ne 0 ]]; then
- echo "You must be a root user"
- echo "Trying to restart script as sudo"
- sudo $0 $@
- exit
- fi
- echo "Removing any previous work..."
- rm -fr $dir
- mkdir $dir
- if [ "$1" = "remote" ]
- then
- cat << EOM
- Warning!!!
- This is not safe!
- By using 'remote' option you
- are granting root access to
- anyone on your network
- EOM
- sleep 2
- access=""
- else
- access="-b 127.0.0.1"
- fi
- #check for needed programs
- if [ ! -f "/usr/bin/abootimg" ] || [ ! -f "/usr/bin/fastboot" ] || [ ! -f "/usr/bin/adb" ]
- then
- apt-get install abootimg android-tools-fastboot android-tools-adb -y
- fi
- #get stock boot img
- wget -c "$url" -O "$dir/$img"
- cd $dir
- #unpack stock boot img
- file $img
- #head -n1 $img
- mkdir boot
- cd boot
- abootimg -x ../$img
- file initrd.img
- echo "updating bootimg.cfg"
- rm bootimg.cfg
- wget "https://raw.githubusercontent.com/metalx1000/Moto-G-root-tricks/master/config/bootimg.cfg"
- mkdir ramdisk
- cd ramdisk
- gunzip -c ../initrd.img | cpio -i
- echo "Adding Service to Startup..."
- cat << EOF >> init.rc
- service init_my /init_my.sh
- class main
- user root
- group root
- oneshot
- EOF
- echo "Creating Custom init Script..."
- cat << EOS >> init_my.sh
- #!/system/bin/sh
- echo "loading..."
- sleep 30
- #/system/bin/busybox telnetd -p $port -l /system/bin/sh $access
- /sbin/busybox telnetd -p $port -l /system/bin/sh $access
- EOS
- chmod 777 init_my.sh
- cat << DEB > sbin/debian
- #!/system/bin/sh
- #mounts and chroots debian system on Android
- #might need to create loop
- #busybox mknod /dev/loop0 b 7 0
- #busybox mknod -m640 /dev/block/loop255 b 7 255
- #to install this script you need to make system RW
- #mmcblk0p5 might change so check 'mount' command
- #mount -o remount,rw /dev/block/mmcblk0p5 /system
- #on Lollipop run this to stop ld.so ERROR -- unset LD_PRELOAD
- dir=/storage/sdcard1/
- chroot=\${dir}debian
- img=\${dir}debian_arm.img
- mounts () {
- mount -o loop -t ext4 \$img \$chroot
- busybox mount --bind /dev \$chroot/dev
- busybox mount --bind /dev/pts \$chroot/dev/pts
- busybox mount -t proc proc \$chroot/proc
- busybox mount -t sysfs sysfs \$chroot/sys
- }
- mount|grep "\$chroot"&&echo "Already Mounted"|| mounts
- export PATH=\$bin:/usr/bin:/usr/sbin:/bin:\$PATH
- export TERM=linux
- export HOME=/root
- export USER=root
- busybox chroot \$chroot /bin/bash
- DEB
- chmod 777 sbin/debian
- echo "Getting Busybox for boot image..."
- wget "https://github.com/metalx1000/Moto-G-root-tricks/blob/master/bin/busybox?raw=true" -O sbin/busybox
- chmod 777 sbin/busybox
- #repack boot img
- cd ../
- pwd
- rm -fr initrd_new.img
- abootimg-pack-initrd initrd_new.img ramdisk/
- abootimg --create ../$img2 -f bootimg.cfg -k zImage -r initrd_new.img
- cd ../
- adb reboot bootloader
- echo "Loading $img2 to phone's RAM..."
- fastboot boot ./$img2
- #adb shell
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement