Related
is it just me, or when you "adb shell" into the device and then use a program that uses the arrow keys everything goes berserk?
it seems like it's overlaying the command history into the on-screen buffer and all future interactions are corrupted beyond repair.
for example, run vi and use arrow keys to navigate around (yes, i know there are other methods for this, just using this to illustrate) and it pulls info from some sort of history buffer on to the screen.
another example is the ash shell. up and down arrows behave nicely at first allowing you to scroll through your command history. but, it degrades fairly rapidly into being unusable
this does not seem to be an issue using scroll ball in terminal on the device.
I can't find anything in the Android Issues Page.
I've reproduced this in multiple builds on multiple OS's on multiple machines (but I've only got one G1, hence this thread)
Does anyone have any insight?
What OS? Mine behaves this way too, and I think the root problem is the Windows command prompt. Read a comment somewhere on here that makes sense - something along the lines of cmd.exe not properly interpretting ANSI control codes? Need to hit up Google, maybe there's an alternative command shell that would solve this for Windows users.
EDIT: Ok, really need to work on reading comprehension - you tried multiple OSes? I was all set to blame MS. Anyway, I tested in Cygwin, Command2, Command2 wrapped around bash.exe .. No luck. Problem has to be in ADB itself somewhere, either the daemon on the phone or in all the clients.
Saiboogu said:
What OS? Mine behaves this way too, and I think the root problem is the Windows command prompt. Read a comment somewhere on here that makes sense - something along the lines of cmd.exe not properly interpretting ANSI control codes? Need to hit up Google, maybe there's an alternative command shell that would solve this for Windows users.
Click to expand...
Click to collapse
Thx for the reply.
I use a Mac mostly, but have similar response in Linux and Windows.
I've tried Terminal.app as well as iTerm on the Mac.
I tried cmd.exe, powershell, & cygwin / bash in Windows.
I agree it almost has to do have something to do with the way the adb daemon handles ANSI codes.
Maybe this will help...
Hi All,
I don't reckon there isn't an actual problem.
The "DOS" console is not a terminal program and thus doesn't behave proper, and the DOS telnet program is just as bad!
In linux, the console is a terminal program, but is also very generic.
The adb shell is not a very good telnet server either in terms of terminal handling; which all really boils down to the sh being to limited as a login shell.
The following may help a little.
Have PuTTY or the like handy.
For windows, copy paste the following or something like it into a bat file (dlink.bat I called it):
The important bit is the forwarding...
Code:
@echo off
:init
::REM //-----------------------------------------------------------------------
set prog=%~f0&&REM This
set progDir=%~dp0&&REM This location
set workdir=%cd%&&REM Current locataion
set ADB=%progDir%adb
echo --Droid Link--
echo current settings:
echo -----------------
echo prog=%prog%
echo progDir=%progDir%
echo workdir=%workdir%
echo -----------------
::REM //-----------------------------------------------------------------------
::REM //ensure a clean house
%ADB% kill-server&&echo adb server clean: Ok.||echo adb server clean: Problem...
::REM //start fresh server instance, use its own shell as it will not detach from the shell until it ends elsewise due to it running in daemon mode
%SystemRoot%\system32\cmd.exe /e:on/v:on/f:on /c "%ADB% root>nul:"
::REM //get id of the Android (will need to be adjusted for more than one)
for /f %%a in ('"%ADB% devices|find "HT""') do set adev=%%a
::REM //see if we found our device
if .%adev%.==.. (
echo Android not detected...
goto :done
) else (
echo Android detected as:%adev%
)
::REM /if
set DROID=%ADB% -s %adev%
::REM //-----------------------------------------------------------------------
:begin
::REM //-----------------------------------------------------------------------
::REM //forward telnet port
%DROID% forward tcp:18023 tcp:23
::REM //forward ssh port
%DROID% forward tcp:18022 tcp:22
echo This terminal is now held by --Droid Link--
echo You can now connect to Android:%adev% via telnet host:127.0.0.1 port:18023
echo And if you start a ssh server...
echo You can connect to Android:%adev% via ssh host:127.0.0.1 port:18022
echo For best results, use a program like PuTTY or something (dos telnet is lacking).
%DROID% shell telnetd
echo --Droid Link: Closed---
::REM //-----------------------------------------------------------------------
:done
::REM //-----------------------------------------------------------------------
%ADB% kill-server&&echo adb server off-line.||echo adb server dropped: off-line.
::REM //cleanup
set DROID=
set ADB=
set adev=
::REM //-----------------------------------------------------------------------
:xit
echo End of line.
::REM //-----------------------------------------------------------------------
For Mac, I'm afraid I rely on my linux syntax and pray it works the same in OSX:
adb -s {device ID} forward tcp:18023 tcp:23
note the adb -d forward tcp:18023 tcp:23 may do the trick also.
I use PuTTY and have a profile called Android-Telnet, which can be called from the console as putty.exe -load Android-Telnet
PuTTY may or may not be the end-all, be-all of terminal programs, but I like it, it works, and is multiplatform.
Hope that helps.
tyvm, Darkstrumn. that worked great! Can't believe i didn't think to try this as a workaround.
all i did (on OSX Leopard):
adb shell telnetd &
adb forward tcp:9999 tcp:23
telnet localhost 9999
now, to get working on compiling dropbear 0.52 and / or patching adb *eek*
i guess a related question becomes, is there any way to change ash to the default login shell?
alapapa said:
tyvm, Darkstrumn. that worked great! Can't believe i didn't think to try this as a workaround.
all i did (on OSX Leopard):
adb shell telnetd &
adb forward tcp:9999 tcp:23
telnet localhost 9999
now, to get working on compiling dropbear 0.52 and / or patching adb *eek*
i guess a related question becomes, is there any way to change ash to the default login shell?
Click to expand...
Click to collapse
Just a note: The windows version of this is just as simple as those 3 commands, the complexity of the script is simply allowing the script to lock-on to the device by id; my actual scripts enumerate the devices including the emulator into the %adevN% variables where N is 0-X. %adev0% will always be the first instance of the emulator found and %adev1% will always be the first instance of a true device found. I simple made it light and posted it. I think it only matters if you are using the emulator and have a live device connected and what to work with both.
Let me know if the enumeration script would be handy and I can post it also.
I haven't gone the route of dropbear just yet, but I'm interested in using ssh vs telnet.
As far as ash goes, I reckon the trick is to setup a chroot to use it as the console...maybe override the console service defined in init.rc.
Note I think ash is expecting the passwd file to exist and have meaning, so that may need to be setup to have ash behave a little better in the Android environment.
Thanks! This worked a treat for me.
I was having trouble with lynx and ansi chars within an adb session, the forward made my day .
Actually I got rid of the complex batch above, I just set up two small batch files:
myadbshell1.bat
@echo 1
@adb forward tcp:18022 tcp:22
@adb forward tcp:18023 tcp:23
@adb shell telnetd
@exit
myadbshell2.bat
@echo 2
@putty.exe telnet://127.0.0.1:18023
@exit
Run the first, then the second.
Do your story in putty, when exit everything will close.
Why echo 1 and 2? Because withouy I was getting the two batchs hanging, dunno why. :-?
Everything on windows environment.
In windows I created a .bat file called adb.bat, where c:/adb/ is where I installed the SDK:
Code:
c:/adb/tools/adb remount
c:/adb/tools/adb forward tcp:9999 tcp:23
c:/adb/tools/adb shell telnetd
I run this file as Administrator, and then I can telnet into localhost:9999 with putty. Works great!
Putty on Windows
In windows I created a .bat file called adb.bat, where c:/adb/ is where I installed the SDK:
Code:
c:/adb/tools/adb remount
c:/adb/tools/adb forward tcp:9999 tcp:23
c:/adb/tools/adb shell telnetd
I run this file as Administrator, and then I can telnet into localhost:9999 with putty. Works great!
How to install ubuntu on the Droid 4
Note to mods: this thread is a branch off of this thread
Huge thanks to zacthespack for creating the ubuntu installer app and original boot script and to zeroktal for modifying the script to work on the D4 and helping me get it working on my device.
I decided to take my experience in setting this up and put it into a how-to so that others could enjoy the experience of having ubuntu on the Droid 4. If zackthespac or zeroktal have any problems with me making and putting this guide up, please let me know and I will remove it.
Knowledge Required:
working knowledge of command line
working knowledge of vi
OR the ability to learn how to use both
Tools Required:
A rooted Motorola Droid 4
BusyBox (Android Market)
Terminal Emulator (Android Market)
Android VNC Viewer (Android Market)
Ubuntu Installer App (Android Market)
zeroktal's ubuntud4.zip file (attached to this post and mediafire)
Vi Cheat Sheet (lagmonster.org)
Step by Step:
Install BusyBox, Terminal, and Android VNC Viewer
Install and run Ubunutu Installer App
Follow the on-screen instructions and click next
Download either the Small or Large image to your phone, (use zeroktal's ubuntud4.zip file instead of the boot script provided in the guide) after the image downloads (will take a while because the file is HUGE) click next
For this screen, the instructions differ from the app.
1. With your D4 plugged into your PC in USB Mass Storage, create a directory (folder) called ubuntu in the EXTERNAL sdcard's root*
2. Extract the image you downloaded to that directory
3. Download and extract the attached .sh (ununtud4.zip) to that directory
4. Disconnect your phone from your PC
5. Open terminal and run the following commands:
su [ENTER]
mount -o remount,rw,exec,suid /dev/block/vold/179:1 /mnt/sdcard-ext [ENTER]
cd /mnt/sdcard-ext/ubuntu [ENTER]
sh ubuntud4.sh [ENTER]
960x540 [ENTER]**If you get an error message: ubuntud4.sh: 45: syntax error: end of file unexpected (expecting "then") see troubleshooting section below.killall -TERM Xtightvnc [ENTER]
vncserver :1 -geometry 960x540 [ENTER]**6. Open androidVNC app and enter the following settings:
Nickname: Anything you want
Password: ubuntu
Address: localhost
Port: 5901
Color Format: 24-bit color (4 bpp)
7. Hit connect
8. Hit your menu soft button and then set input mode to touchpad
9. You have ubuntu on your Droid 4!
To "shut down" ubuntu:
press the menu button, select disconnect in VNC
In terminal type this command 3 times (terminal will close itself when you are done):
exit [ENTER]
To "start up" ubuntu again:
Follow steps 5-8 above
Troubleshooting:
If you get the error message: ubuntud4.sh: 45: syntax error: end of file unexpected (expecting "then") you are about to have fun with vi at the command line.
Do the following from inside terminal:
su [ENTER]
cd /mnt/sdcard-ext/ubuntu [ENTER]
vi ubuntud4.sh [ENTER]If you see ^M or ^ at the end of any line (remember to scroll all the way to the right to see the end of long lines) remove it. once you do that, everything should work just fine. (See the Vi Cheat Sheet above for help with Vi)
Note: Vol Up + E is [ESC] by default in this terminal emulator
Notes:
* It does not have to be on the external SD, but if you put it on the internal SD you will have to modify things as needed-- if you dont know what needs to be changed, just put it on the external SD.
** Screen size can be whatever you want it to be, but 960x540 is the size of the D4 screen.
*** This is a fairly involved process... especially when it comes to editing the .sh file in vi things can get very frustrating and hard, but just take your time and you will get it. As always, doing anything with root access on your phone, especially on the command line has risks. I am not responsible if anything goes wrong with your phone... proceed at your own risk!
greekchampion04 said:
Notes:
* It does not have to be on the external SD, but if you put it on the internal SD you will have to modify things as needed-- if you dont know what needs to be changed, just put it on the external SD.
** Screen size can be whatever you want it to be, but 960x540 is the size of the D4 screen.
*** This is a fairly involved process... especially when it comes to editing the .sh file in vi things can get very frustrating and hard, but just take your time and you will get it. As always, doing anything with root access on your phone, especially on the command line has risks. I am not responsible if anything goes wrong with your phone... proceed at your own risk!
Click to expand...
Click to collapse
I actually got it up and running on my internal sdcard partition. Pretty much just have to modify the Mount remount command, and a few lines in the script.
Here's the original command
Code:
mount -o remount,rw,exec,suid /dev/block/vold/179:1 /mnt/sdcard-ext
And the modified one
Code:
mount -o remount,rw,exec,suid /dev/block/vold/179:57 /mnt/sdcard
Only things you have to change are the device location(179:57) and mount location(drop the -ext after sdcard)
Now, after that you also have to modify the script a bit. Just go through it, and anywhere that you see sdcard-ext, drop the -ext off the end.
thanks for putting that up for everybody! like i said, if you know what you are doing its not a hard swap to make.
Is anyone else getting just a gray screen when they remote in? What could be causing this?
i had that same problem at first... did you use zeroktal's ubuntud4.zip file? or did you use the ubuntu.sh file included in the app?
I used the sh file included. I did however fix the problem, when mounting at the start i confused vold with void. I did not get the file system mounted properly. This method does work!! however I am currently trying to get bash on my droid to replace sh as the shell. I've checked the forums but have not found anything yet about someone installing bash on the droid 4. With no way for nandroids I feel i should wait before I kill sh.
Sent from my DROID4 using XDA App
If you mod your init.sh in your root directory to the following, your vnc will work on startup without issue. It will also shutdown vnc on exit.
#!/bin/bash
#############################################
# Asks User to screen size and saves as REZ #
#############################################
#echo "Now enter the screen size you want in pixels (e.g. 800x480), followed by [ENTER]:"
#read REZ
##############################################
# Pick which desktop environment to use, this#
# is done by having a xstartup file for each #
# desktop, then renaming the one you want to #
# use to 'xstartup' before boot #
##############################################
echo "Please select which Desktop environment you want to use, type the number to select it then press [ENTER]"
echo "1 - LXDE"
echo "2 - Gnome"
echo "Make your Selection:"
read DESKTOP
if [ $DESKTOP == 1 ]
then
mv /root/.vnc/lxstartup /root/.vnc/xstartup
fi
if [ $DESKTOP == 2 ]
then
mv /root/.vnc/gxstartup /root/.vnc/xstartup
fi
###########################################
# Tidy up previous LXDE and DBUS sessions #
###########################################
rm /tmp/.X* > /dev/null 2>&1
rm /tmp/.X11-unix/X* > /dev/null 2>&1
rm /root/.vnc/localhost* > /dev/null 2>&1
rm /var/run/dbus/pid > /dev/null 2>&1
############################################################
# enable workaround for upstart dependent installs #
# in chroot'd environment. this allows certain packages #
# that use upstart start/stop to not fail on install. #
# this means they will have to be launched manually though #
############################################################
dpkg-divert --local --rename --add /sbin/initctl > /dev/null 2>&1
ln -s /bin/true /sbin/initctl > /dev/null 2>&1
###############################################
# start vnc server with given resolution and #
# DBUS server, (and optionally an SSH server) #
###############################################
dbus-daemon --system --fork > /dev/null 2>&1
/etc/init.d/ssh start
vncserver :1 -geometry 960x540
echo
echo "If you see the message 'New 'X' Desktop is localhost:1' then you are ready to VNC into your ubuntu OS.."
echo
echo "If VNC'ing from a different machine on the same network as the android device use the 1st address below:"
##########################################
# Output IP address of android device #
##########################################
ifconfig | grep "inet addr"
echo
echo "If using androidVNC, change the 'Color Format' setting to 24-bit colour, and once you've VNC'd in, change the 'input mode' to touchpad (in settings)"
echo
echo "To shut down the VNC server and exit the ubuntu environment, just enter 'exit' at this terminal - and WAIT for all shutdown routines to finish!"
echo
###############################################################
# Spawn and interactive shell - this effectively halts script #
# execution until the spawning shell is exited (i.e. you want #
# to shut down vncserver and exit the ubuntu environment) #
###############################################################
/bin/bash -i
#########################################
# Disable upstart workaround and #
# kill VNC server (and optionally SSH) #
# Rename used xstartup to its first file#
#########################################
killall -TERM Xtightvnc
/etc/init.d/ssh stop
Also save the follow lines between ### as remount.sh on your system partition. Then chmod 755 /system/remount.sh. Now you can just run run from a terminal /system/remount.sh and voila it remounts correctly and starts ubuntu(with the above fixes). Im still working on the unmounts.
####### for the internal sd card
mount -o remount,rw,exec,suid /dev/block/vold/179:57 /mnt/sdcard
/mnt/sdcard/ubuntu/ubuntu.sh
######
OR
####### for the external sd card
mount -o remount,rw,exec,suid /dev/block/vold/179:1 /mnt/sdcard-ext
/mnt/sdcard-ext/ubuntu/ubuntu.sh
#######
great stuff!
feel free
Feel free and take, modify, repost or edit anything I touch.
QUESTION:
After I delete all the ^M and ^ what do i do next? I try to hit the command ":x" to exit and save changes but it just creates another line. Also when I press VOL UP + E to escape nothing happens.
PhanTuhC said:
QUESTION:
After I delete all the ^M and ^ what do i do next? I try to hit the command ":x" to exit and save changes but it just creates another line. Also when I press VOL UP + E to escape nothing happens.
Click to expand...
Click to collapse
In vi, the command to save and exit is :wq (probably short for write and quit).
remember, read up on the vi quick-reference guide: http://www.lagmonster.org/docs/vi.html
OK I fixed it but now its not letting me connect with androidVNC. All the settings entered is correct but when I try to connect it says:
"VNC connection failed!" localhost/127.0.0.1:5901 - Connection refused"
ok, i've gone thru this a few times (slowly and deliberately) and must be missing something...the directions seem pretty straightforward! here's what i know...
busy/terminal/vnc are all installed
small 2.5gb image is unzipped in /sdcard-ext/ubuntu directory
the attached .sh file from page 1 is in the same directory
i removed all ^M using vi
but when I try sh ubuntud4.sh i get an error...
"mkdir failed for /data/local/mnt/ubun, No such file or directory"
(plus a few other errors)
should the directory be "ubun" or "ubuntu"? am I typing something incorrectly?
copy and paste new script
Copy and paste the new scripts I posted. They will fix your problem. Remember to use the remount script from /system/ the rest will work perfectly if you are root. I'll check back later on your progress.
Ok, well I started from scratch (deleted both .img and .sh files) and it's still not working.
I have all the apps installed (and yes rooted, SU works just fine)
I used Ubuntu Installer app to download the image zip (tried both the large and small img)
I downloaded the .sh file from the first post
The /sdcard-ext/ubuntu/ folder now has two files: "ubuntu.img" and "ubuntud4.sh"
All ^M characters have been removed from .sh file
Still no joy...
Ideas? What am I missing?
In terminal, I can set SU permissions and the mount/cd commands work just fine...it's the last sh command that spits out a bunch of errors about not being able to create/find the directories.
I'm going to format the sdcard and try again...any help is appreciated.
Update: Even after re-formatting the SD and following the steps exactly, no luck!
Did you remember to remount the sdcard with exec and suid permissions?
Andbuntu will work much better than this method. It works on every single phone with modification to the "environmental variables".
http://code.google.com/p/andbuntu/
Follow the directions in the script to make the process much easier than the first post.
instructions:
generate an image with rootstock on an ubuntu computer.
put it on /sdcard/ubuntu/ubuntu.img
run the script on your phone with "sh /path/to/script"
Here is the script. http://andbuntu.googlecode.com/svn/trunk/uboot
Also, run "firstRun" to make things like terminals work properly.
Adamoutler: That didnt work for me. The permissions were incorrect on the mounted partitions.
Sent from my DROID4 using XDA App
hi i have read numerous posts and tried many tutorials on here but cant seem to get anywhere with my kindle
fire i believe its a kindle fire 2nd gen as sytem version is 10.2.6
im using win xp on my pc and in device manager i have
kindle fire - android composite ADB interface
MTP has exclamation mark by it and wont load any drivers i have windows media player 11 installed.
it doesnt show up in my computer at all which i think is where the problem may lie
can anyone point me in the right direction on turning my kindle fire into an android device
and not amazon.... thanks in advance
inflicted_1999 said:
hi i have read numerous posts and tried many tutorials on here but cant seem to get anywhere with my kindle
fire i believe its a kindle fire 2nd gen as sytem version is 10.2.6
im using win xp on my pc and in device manager i have
kindle fire - android composite ADB interface
MTP has exclamation mark by it and wont load any drivers i have windows media player 11 installed.
it doesnt show up in my computer at all which i think is where the problem may lie
can anyone point me in the right direction on turning my kindle fire into an android device
and not amazon.... thanks in advance
Click to expand...
Click to collapse
Just got my 2nd gen in the mail today, started reading up on how to root 10.2.4, was feeling good about it, ready to get started and noticed that it was in the middle of upgrading to 10.2.6. guess I'll be following this thread, hope something comes along soon...
How To: Root the Kindle Fire 7" 2 with Windows - Version 10.2.6
inflicted_1999 said:
hi i have read numerous posts and tried many tutorials on here but cant seem to get anywhere with my kindle
fire i believe its a kindle fire 2nd gen as sytem version is 10.2.6
im using win xp on my pc and in device manager i have
kindle fire - android composite ADB interface
MTP has exclamation mark by it and wont load any drivers i have windows media player 11 installed.
it doesnt show up in my computer at all which i think is where the problem may lie
can anyone point me in the right direction on turning my kindle fire into an android device
and not amazon.... thanks in advance
Click to expand...
Click to collapse
inflicted_1999,
I am sorry to hear your frustrations around Rooting the Kindle Fire 2 version 10.2.6, this can be a bugger to Root. I have an idea that may help you. When you have a yellow triangle over MTP, this is a strong sign that the driver is not functional. When you have the combination of, one Android Composite ADB Interface with the yellow triangle over MTP, you have a driver failure. Having said this, none of the utilities will work until you have a functional driver. Just FYI Windows Media Player is not needed to get the Kindle to Root. Once you have successfully installed the driver Android Composite ADB Interface will change to Android ADB Interface and the MTP will change to Portable Devices > Kindle. You will also know the driver install was successful when you get a pop-up asking what to do with the Kindle Drive - like sync it with your MP3 collection.
If you already tried Part A for the driver, here are the key points:
Note: Windows 7 and Vista users, please perform this fix before Rooting: http://forum.xda-developers.com/show...php?p=36373627
A) The first step is to get the ADB Driver installed. If you already performed this step and verified communication to the Kindle.
Please open an Administrative CMD Prompt and enter:
Code:
Code:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
Note: We have seen quite a few cases when the driver "fails to install". This message is normally erroneous and can usually be ignored. Plug in your Kindle, then look in the Windows Device Manager to see if the main driver installed.
Our friends at RevTV Created this video which outlines How to install ADB: How to Install ADB Video
The following ADB Driver was provided by Amazon and should install on most platforms (Windows XP, Vista, 7, and 8): Kindle Fire ADB drivers
Note: Due to intermittent issues with the USB Drivers, we offer two versions. First try Kindle Fire ADB drivers.exe if this
does not open ADB Communication try the new updated KindleDrivers.exe
This worked for me
inflicted_1999 said:
hi i have read numerous posts and tried many tutorials on here but cant seem to get anywhere with my kindle
fire i believe its a kindle fire 2nd gen as sytem version is 10.2.6
im using win xp on my pc and in device manager i have
kindle fire - android composite ADB interface
MTP has exclamation mark by it and wont load any drivers i have windows media player 11 installed.
it doesnt show up in my computer at all which i think is where the problem may lie
can anyone point me in the right direction on turning my kindle fire into an android device
and not amazon.... thanks in advance
Click to expand...
Click to collapse
I’m a n00b to this, but this worked for me. I had root than lost it because I didn’t disable auto update. The only way I could get root back is like this.
1. Use Prokennexusa steps to get your comp talking to your kindle, if you run win 7 or Vista make sure you heed the warning. Next find and download “Root_with_Restore_by_Bin4ry_v18” to your desktop and make two copies of it. The name of the folder does not matter you just need two copies of the program, I’ll explain in a minute. I don’t have a download link but it’s on the forum just search for it.
2. Pick one of the two “Root_with_Restore_by_Bin4ry_v18” to modify, you need to modify it to kick the kindle in the head and allow the original to work.open the folder of the one you want to modify and right click on the “RunMe.bat” and click edit. Highlight everything in it and delete. Then copy this in its place.
Code:
@echo off
COLOR 0A
echo ======================================================================
echo = This script will root your Android phone with adb restore function =
echo = Script by Bin4ry (thanks to Goroh_kun and tkymgr for the idea) =
echo = Idea for Tablet S from Fi01_IS01 =
echo = (18.12.2012) v17 =
echo ======================================================================
echo.
:CHOICE
set nxt=0
set ric=0
echo Device type:
echo 1) Normal
echo 2) Special (for example: Sony Tablet S, Medion Lifetab)
echo.
echo x) Unroot
echo.
set /p type=Make a choice:
if %type% == 1 GOTO TEST
if %type% == 2 GOTO TABSMENU
if %type% == x GOTO UNROOT
echo.
echo Please Enter a valid number (1 to x)
echo.
GOTO CHOICE
:TEST
echo Checking if i should run in Normal Mode or special Sony Mode
echo Please connect your device with USB-Debugging enabled now
echo Waiting for device to shop up, if nothing happens please check if Windows ADB-drivers are installed correctly!
stuff\adb.exe wait-for-device
stuff\adb.exe pull /system/app/Backup-Restore.apk . > NUL
stuff\adb.exe pull /system/bin/ric . > NUL
if EXIST ric (set ric=1) else (echo .)
if EXIST Backup-Restore.apk (GOTO XPS) else (echo .)
GOTO OTHER
:UNROOT
set /p unr=Really (y/n) ?
IF %unr% == n GOTO CHOICE
stuff\adb.exe push stuff\busybox /sdcard/Documents/busybox
stuff\adb.exe shell "chmod 755 /sdcard/Documents/busybox"
stuff\adb.exe shell "su -c '/sdcard/Documents/busybox mount -o remount,rw /system'"
stuff\adb.exe shell "su -c 'rm /system/xbin/su'"
stuff\adb.exe shell "su -c 'rm /system/app/Superuser.apk'"
GOTO FINISH
:TABSMENU
echo.
echo Special mode:
echo 1) Root
echo 2) Rollback
set /p tabtype=Make a choice:
if %tabtype% == 1 GOTO TABS
if %tabtype% == 2 GOTO TABS_RB
:TABS
echo.
echo Tablet S mode enabled!
echo.
GOTO START
:XPS
echo.
echo Found Sony Backup-Restore.apk
echo LT26,LT22 etc. mode enabled!
echo.
del Backup-Restore.apk
if %ric% == 1 (del ric) else (echo .)
set NXT=1
GOTO START
:TABS_RB
echo.
echo Tablet S Roll Back
echo.
echo Please connect device with ADB-Debugging enabled now....
stuff\adb.exe wait-for-device
FOR /F "tokens=1 delims=" %%A in ('stuff\adb.exe shell "if [ -d /data/app- ]; then echo 1 ; else echo 0 ; fi"') do SET tabs_app=%%A
if %tabs_app% == 1 GOTO TABS_RB_1
if %tabs_app% == 0 GOTO TABS_RB_2
:TABS_RB_1
stuff\adb.exe shell "rm -r /data/data/com.android.settings/a/*"
stuff\adb.exe restore stuff/tabletS.ab
echo Please look at your device and click "Restore my data"
echo.
stuff\adb.exe shell "while [ ! -d /data/data/com.android.settings/a/file99 ] ; do echo 1; done" > NUL
echo 1st RESTORE OK, hit ENTER to continue.
pause
stuff\adb.exe shell "rm -r /data/data/com.android.settings/a"
stuff\adb.exe restore stuff/tabletS.ab
echo Please look at your device and click "Restore my data"
echo.
stuff\adb.exe shell "while : ; do ln -s /data /data/data/com.android.settings/a/file99; [ -f /data/file99 ] && exit; done" > NUL
stuff\adb.exe shell "rm -r /data/file99"
echo Achieved! hit ENTER to continue.
echo.
pause
stuff\adb.exe shell "mv /data/system /data/system3"
stuff\adb.exe shell "mv /data/system- /data/system"
stuff\adb.exe shell "mv /data/app /data/app3"
stuff\adb.exe shell "mv /data/app- /data/app"
echo "Roll back compelted."
GOTO FINISH
:TABS_RB_2
echo.
echo.
echo "Roll back failed. /data/app- not found."
echo.
echo.
GOTO FINISH
:eek:THER
echo.
echo Normal Mode enabled!
if %ric% == 1 (del ric) else (echo .)
echo.
:START
stuff\adb.exe wait-for-device
IF %type% == 2 GOTO TABTRICK
echo Pushing busybox....
stuff\adb.exe push stuff/busybox /sdcard/Documents/.
echo Pushing su binary ....
stuff\adb.exe push stuff/su /sdcard/Documents/.
echo Pushing Superuser app
stuff\adb.exe push stuff/Superuser.apk /sdcard/Documents/.
echo Making busybox runable ...
stuff\adb.exe shell chmod 755 /sdcard/Documents/busybox
if %ric% == 1 (stuff\adb.exe push stuff/ric /sdcard/Documents/ric) else (echo .)
IF %nxt% == 1 GOTO XPSTRICK
stuff\adb.exe restore stuff/fakebackup.ab
echo Please look at your device and click RESTORE!
echo If all is successful i will tell you, if not this shell will run forever.
echo Running ...
stuff\adb.exe shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done" > NUL
echo Successful, going to reboot your device in 10 seconds!
ping -n 10 127.0.0.1 > NUL
stuff\adb.exe reboot
echo Waiting for device to show up again....
ping -n 10 127.0.0.1 > NUL
stuff\adb.exe wait-for-device
GOTO NORMAL
:TABTRICK
stuff\adb.exe install -s stuff/Term.apk
stuff\adb.exe push stuff/busybox /sdcard/Documents/.
stuff\adb.exe push stuff/su /sdcard/Documents/.
stuff\adb.exe push stuff/Superuser.apk /sdcard/Documents/.
stuff\adb.exe push stuff/rootkittablet.tar.gz /sdcard/Documents/rootkittablet.tar.gz
stuff\adb.exe shell "chmod 755 /sdcard/Documents/busybox"
stuff\adb.exe shell "/sdcard/Documents/busybox tar -C /data/local/tmp -x -v -f /sdcard/Documents/rootkittablet.tar.gz"
stuff\adb.exe shell "chmod 644 /sdcard/Documents/VpnFaker.apk"
stuff\adb.exe shell "touch -t 1346025600 /sdcard/Documents/VpnFaker.apk"
stuff\adb.exe shell "chmod 755 /sdcard/Documents/_su"
stuff\adb.exe shell "chmod 755 /sdcard/Documents/su"
stuff\adb.exe shell "chmod 755 /sdcard/Documents/onload.sh"
stuff\adb.exe shell "chmod 755 /sdcard/Documents/onload2.sh"
stuff\adb.exe shell "rm -r /data/data/com.android.settings/a/*"
stuff\adb.exe restore stuff/tabletS.ab
echo Please look at your device and click "Restore my data"
echo.
stuff\adb.exe shell "while [ ! -d /data/data/com.android.settings/a/file99 ] ; do echo 1; done" > NUL
ping -n 3 127.0.0.1 > NUL
echo 1st RESTORE OK, hit ENTER to continue.
pause
stuff\adb.exe shell "rm -r /data/data/com.android.settings/a"
stuff\adb.exe restore stuff/tabletS.ab
echo Please look at your device and click "Restore my data"
echo.
stuff\adb.exe shell "while : ; do ln -s /data /data/data/com.android.settings/a/file99; [ -f /data/file99 ] && exit; done" > NUL
stuff\adb.exe shell "rm -r /data/file99"
ping -n 3 127.0.0.1 > NUL
echo Achieved! hit ENTER to continue.
echo.
pause
stuff\adb.exe shell "/sdcard/Documents/busybox cp -r /data/system /data/system2"
stuff\adb.exe shell "/sdcard/Documents/busybox find /data/system2 -type f -exec chmod 666 {} \;"
stuff\adb.exe shell "/sdcard/Documents/busybox find /data/system2 -type d -exec chmod 777 {} \;"
stuff\adb.exe shell "mv /data/system /data/system-"
stuff\adb.exe shell "mv /data/system2 /data/system"
stuff\adb.exe shell "mv /data/app /data/app-"
stuff\adb.exe shell "mkdir /data/app"
stuff\adb.exe shell "mv /sdcard/Documents/VpnFaker.apk /data/app"
stuff\adb.exe shell "/sdcard/Documents/busybox sed -f /sdcard/Documents/packages.xml.sed /data/system-/packages.xml > /data/system/packages.xml"
stuff\adb.exe shell "sync; sync; sync"
echo Need to reboot now!
stuff\adb.exe reboot
ping -n 3 127.0.0.1 > NUL
echo Waiting for device to come up again....
stuff\adb.exe wait-for-device
echo Unlock your device, a Terminal will show now, type this 2 lines, after each line press ENTER
echo /sdcard/Documents/onload.sh
echo /sdcard/Documents/onload2.sh
echo after this is done press a key here in this shell to continue!
echo If the shell on your device does not show please re-start the process!
stuff\adb.exe shell "am start -n com.android.vpndialogs/.Term"
pause
GOTO TABTRICK1
:TABTRICK1
stuff\adb.exe push stuff/script1.sh /sdcard/Documents/.
stuff\adb.exe shell "chmod 755 /sdcard/Documents/script1.sh"
stuff\adb.exe shell "/sdcard/Documents/script1.sh"
echo Almost complete! Reboot and cleanup.
stuff\adb.exe reboot
ping -n 3 127.0.0.1 > NUL
echo Waiting for device to come up again....
stuff\adb.exe wait-for-device
stuff\adb.exe shell "su -c 'rm -r /data/app2'"
stuff\adb.exe shell "su -c 'rm -r /data/system2'"
stuff\adb.exe shell "su -c 'rm -r /sdcard/Documents/*'"
GOTO FINISH
:XPSTRICK
set %NXT%=0
echo Pushing fake Backup
stuff\adb.exe push stuff\RootMe.tar /sdcard/Documents/RootMe.tar
stuff\adb.exe shell "mkdir /mnt/sdcard/.semc-fullbackup > /dev/null 2>&1"
echo Extracting fakebackup on device ...
stuff\adb.exe shell "cd /mnt/sdcard/.semc-fullbackup/; /sdcard/Documents/busybox tar xf /sdcard/Documents/RootMe.tar"
echo Watch now your device. Select the backup named RootMe and restore it!
stuff\adb.exe shell "am start com.sonyericsson.vendor.backuprestore/.ui.BackupActivity"
echo If all is successful i will tell you, if not this shell will run forever.
echo Running ......
stuff\adb.exe shell "while ! ln -s /data/local.prop /data/data/com.android.settings/a/file99; do :; done" > NUL
echo.
echo Good, it worked! Now we are rebooting soon, please be patient!
ping -n 3 127.0.0.1 > NUL
stuff\adb.exe shell "rm -r /mnt/sdcard/.semc-fullbackup/RootMe"
stuff\adb.exe reboot
ping -n 10 127.0.0.1 > NUL
echo Waiting for device to come up again....
stuff\adb.exe wait-for-device
:NORMAL
IF %ric% == 1 GOTO RICSTUFF
echo Going to copy files to it's place
stuff\adb.exe shell "/sdcard/Documents/busybox mount -o remount,rw /system && /sdcard/Documents/busybox mv /sdcard/Documents/su /system/xbin/su && /sdcard/Documents/busybox mv /sdcard/Documents/Superuser.apk /system/app/Superuser.apk && /sdcard/Documents/busybox cp /sdcard/Documents/busybox /system/xbin/busybox && chown 0.0 /system/xbin/su && chmod 06755 /system/xbin/su && chmod 655 /system/app/Superuser.apk && chmod 755 /system/xbin/busybox && rm /data/local.prop && reboot"
GOTO FINISH
:RICSTUFF
echo Going to copy files to it's place
stuff\adb.exe shell "/sdcard/Documents/busybox mount -o remount,rw /system && /sdcard/Documents/busybox mv /sdcard/Documents/ric /system/bin/ric && chmod 755 /system/bin/ric && /sdcard/Documents/busybox mv /sdcard/Documents/su /system/xbin/su && /sdcard/Documents/busybox mv /sdcard/Documents/Superuser.apk /system/app/Superuser.apk && /sdcard/Documents/busybox cp /sdcard/Documents/busybox /system/xbin/busybox && chown 0.0 /system/xbin/su && chmod 06755 /system/xbin/su && chmod 655 /system/app/Superuser.apk && chmod 755 /system/xbin/busybox && rm /data/local.prop && reboot"
GOTO FINISH
:FINISH
echo You can close all open command-prompts now!
echo After reboot all is done! Have fun!
echo Bin4ry
pause
This is the original code with initial drop locations changed to insure the software gets on the device. close it and save changes.
Double click on “RunMe.bat” to launch on the modified one (it worked for me without using “run as Admin, as a matter of fact, it would not run with elevateded so just double click and follow the on screen instructions).
When it gets done you may see a flash of “kindle fire” on the screen, that’s because its stumbling (good thing) when you have this done run the original “Root_with_Restore_by_Bin4ry_v18” unchanged and follow all instructions.
You should be rooted after that. Load all your google apk’s and enjoy!:good:
I in no way take credit for the code, I just changed the drop location on a hunch and it worked, props to the developer, not me.
As always if you brick it, it’s on you. This worked for me
prokennexusa said:
inflicted_1999,
I am sorry to hear your frustrations around Rooting the Kindle Fire 2 version 10.2.6, this can be a bugger to Root. I have an idea that may help you. When you have a yellow triangle over MTP, this is a strong sign that the driver is not functional. When you have the combination of, one Android Composite ADB Interface with the yellow triangle over MTP, you have a driver failure. Having said this, none of the utilities will work until you have a functional driver. Just FYI Windows Media Player is not needed to get the Kindle to Root. Once you have successfully installed the driver Android Composite ADB Interface will change to Android ADB Interface and the MTP will change to Portable Devices > Kindle. You will also know the driver install was successful when you get a pop-up asking what to do with the Kindle Drive - like sync it with your MP3 collection.
If you already tried Part A for the driver, here are the key points:
Note: Windows 7 and Vista users, please perform this fix before Rooting: http://forum.xda-developers.com/show...php?p=36373627
A) The first step is to get the ADB Driver installed. If you already performed this step and verified communication to the Kindle.
Please open an Administrative CMD Prompt and enter:
Code:
Code:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
Note: We have seen quite a few cases when the driver "fails to install". This message is normally erroneous and can usually be ignored. Plug in your Kindle, then look in the Windows Device Manager to see if the main driver installed.
Our friends at RevTV Created this video which outlines How to install ADB: How to Install ADB Video
The following ADB Driver was provided by Amazon and should install on most platforms (Windows XP, Vista, 7, and 8): Kindle Fire ADB drivers
Note: Due to intermittent issues with the USB Drivers, we offer two versions. First try Kindle Fire ADB drivers.exe if this
does not open ADB Communication try the new updated KindleDrivers.exe
Click to expand...
Click to collapse
thanks for your help i have tried all the above options yet i still have a prob with MTP not doing anything and i cant see kindle in
mycomputer adb sees it as an attached device...
{
"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"
}
pic attached
of my device manager
Kindle Fire 2 7" - How To Install ADB Drivers On Windows
inflicted_1999 said:
thanks for your help i have tried all the above options yet i still have a prob with MTP not doing anything and i cant see kindle in
mycomputer adb sees it as an attached device...
pic attached
of my device manager
Click to expand...
Click to collapse
inflicted_1999,
We know this one. Once you get the driver installed, the following will happen:
MTP will change to Portable Devices > Kindle
Unknown will change to Kindle > Android ADB Interface
Now, how do you accomplish this task? Take these steps:
Take 3 minutes and watch this video, please: How to Install ADB Video
This video will help you to understand the manual installation method for the next driver. Please download: usb_driver
Extract the alternative driver to your desktop and follow the install instructions at the bottom of this response
The alternative driver originates from the Android SDK and is universal for just about any Android device.
The alternative driver instructions are for Windows XP but can be used with Windows 7 and Vista.
Once we get ADB installed then let's plugin the Kindle to your computer USB to see if it initializes properly.
Once this driver has been properly installed you will see "Android Composite ADB Interface" under "Kindle Fire" in the Windows Device Manager which is located by Right Hand Mouse Click Computer, Choose Properties, then Devices or Device Manager. Expand the tree. Expand Kindle. This is where you will see "Android Composite ADB Interface".
Amazon Notes regarding this ADB Driver can be found here: Amazon ADB Notes
ALTERNATIVE DRIVER INSTALL (Vista/XP/Windows7):
Windows XP
To install the Android USB driver on Windows XP for the first time:
1. Connect your Android-powered device to your computer's USB port.
2. Right-click on My Computer from your desktop or Windows Explorer, and select Manage.
3. Select Device Manager in the left pane.
4. Locate and expand Other Devices in the right pane.
5. Right-click Unknown Device and select Update Driver. This will launch the Hardware Update Wizard.
6. Select Install from a list or specific location and click Next.
7. Select Search for the best driver in these locations; un-check Search removable media; and check Include this location in the search.
8. Click Browse and locate the USB driver folder. (The Google USB Driver is located on your desktop \usb_driver\.)
9. Click Next to upgrade the driver. Sometimes this triggers MTP to update, if this happens stop here and begin the Root procedure as outlined here: http://forum.xda-developers.com/showthread.php?t=2069117 - otherwise proceed to step the next step to update MTP.
10. Locate and expand Other Devices in the right pane.
11. Right-click MTP and select Update Driver. This will launch the Hardware Update Wizard.
12. Select Install from a list or specific location and click Next.
13. Select Search for the best driver in these locations; un-check Search removable media; and check Include this location in the search.
14. Click Browse and locate the USB driver folder. (The Google USB Driver is located on your desktop \usb_driver\.)
15. Click Next to upgrade the driver.
Once the driver installs correctly, you will see a drive named "Kindle" in My Computer and there will be no more Yellow marks in Windows Device Manager.
prokennexusa said:
inflicted_1999,
We know this one. Once you get the driver installed, the following will happen:
MTP will change to Portable Devices > Kindle
Unknown will change to Kindle > Android ADB Interface
Now, how do you accomplish this task? Take these steps:
Take 3 minutes and watch this video, please: How to Install ADB Video
This video will help you to understand the manual installation method for the next driver. Please download: usb_driver
Extract the alternative driver to your desktop and follow the install instructions at the bottom of this response
The alternative driver originates from the Android SDK and is universal for just about any Android device.
The alternative driver instructions are for Windows XP but can be used with Windows 7 and Vista.
Once we get ADB installed then let's plugin the Kindle to your computer USB to see if it initializes properly.
Once this driver has been properly installed you will see "Android Composite ADB Interface" under "Kindle Fire" in the Windows Device Manager which is located by Right Hand Mouse Click Computer, Choose Properties, then Devices or Device Manager. Expand the tree. Expand Kindle. This is where you will see "Android Composite ADB Interface".
Amazon Notes regarding this ADB Driver can be found here: Amazon ADB Notes
ALTERNATIVE DRIVER INSTALL (Vista/XP/Windows7):
Windows XP
To install the Android USB driver on Windows XP for the first time:
1. Connect your Android-powered device to your computer's USB port.
2. Right-click on My Computer from your desktop or Windows Explorer, and select Manage.
3. Select Device Manager in the left pane.
4. Locate and expand Other Devices in the right pane.
5. Right-click Unknown Device and select Update Driver. This will launch the Hardware Update Wizard.
6. Select Install from a list or specific location and click Next.
7. Select Search for the best driver in these locations; un-check Search removable media; and check Include this location in the search.
8. Click Browse and locate the USB driver folder. (The Google USB Driver is located on your desktop \usb_driver\.)
9. Click Next to upgrade the driver. Sometimes this triggers MTP to update, if this happens stop here and begin the Root procedure as outlined here: http://forum.xda-developers.com/showthread.php?t=2069117 - otherwise proceed to step the next step to update MTP.
10. Locate and expand Other Devices in the right pane.
11. Right-click MTP and select Update Driver. This will launch the Hardware Update Wizard.
12. Select Install from a list or specific location and click Next.
13. Select Search for the best driver in these locations; un-check Search removable media; and check Include this location in the search.
14. Click Browse and locate the USB driver folder. (The Google USB Driver is located on your desktop \usb_driver\.)
15. Click Next to upgrade the driver.
Once the driver installs correctly, you will see a drive named "Kindle" in My Computer and there will be no more Yellow marks in Windows Device Manager.
Click to expand...
Click to collapse
sorry to be a complete pain whenever i try to update driver from the \usb_driver\ folder it says this location
doesnt contain information about your device....
Kindle Fire HD and 2 Root Problem - ADB Driver Problem
inflicted_1999 said:
sorry to be a complete pain whenever i try to update driver from the \usb_driver\ folder it says this location
doesnt contain information about your device....
Click to expand...
Click to collapse
inflicted_1999,
You are not being a pain, sometimes it takes several posts - I have seen up to 10 - to resolve a difficult situation. OK, so what is your Operating System?
Please drop to a Command and type the following:
Code:
ping 4.2.2.2
Does this respond with packets? If the response is something like "no internal or external command can be found...", then proceed to patch you computer using this post: http://forum.xda-developers.com/showthread.php?t=2086210 - when you are done please post "completed, moving on to Root" in that thread, not this one.
Finally, do you get an error when you install the original driver or did it install without error? Do you have ADB Enabled under the Device Tab? Do you have any security software installed like Norton Internet Security? Do you have plenty of free disk drive space?
prokennexusa said:
inflicted_1999,
You are not being a pain, sometimes it takes several posts - I have seen up to 10 - to resolve a difficult situation. OK, so what is your Operating System?
Please drop to a Command and type the following:
Code:
ping 4.2.2.2
Does this respond with packets? If the response is something like "no internal or external command can be found...", then proceed to patch you computer using this post: http://forum.xda-developers.com/showthread.php?t=2086210 - when you are done please post "completed, moving on to Root" in that thread, not this one.
Finally, do you get an error when you install the original driver or did it install without error? Do you have ADB Enabled under the Device Tab? Do you have any security software installed like Norton Internet Security? Do you have plenty of free disk drive space?
Click to expand...
Click to collapse
Hi mate thanks for helping... my laptop is running XP pro service pack 3
i get replies from pinging 4.2.2.2
the original drivers installed and said ready to use
i dont have any security software installed at all as its a fresh install, i installed win 7
before this copy of xp and had the same issues...
How To Root Kindle Fire 2 Software Version 10.2.6
inflicted_1999 said:
Hi mate thanks for helping... my laptop is running XP pro service pack 3
i get replies from pinging 4.2.2.2
the original drivers installed and said ready to use
i dont have any security software installed at all as its a fresh install, i installed win 7
before this copy of xp and had the same issues...
Click to expand...
Click to collapse
inflicted_1999,
OK, so we know the variables are OK, now let's dig into ADB, please open a command prompt:
Code:
adb kill-server
adb start-server
adb devices
If the commands work you need to remove the Android SDK prior to using Root MANY ANDROID. Please reply back with the progress.
prokennexusa said:
inflicted_1999,
OK, so we know the variables are OK, now let's dig into ADB, please open a command prompt:
Code:
adb kill-server
adb start-server
adb devices
If the commands work you need to remove the Android SDK prior to using Root MANY ANDROID. Please reply back with the progress.
Click to expand...
Click to collapse
hi mate those commands seem to work as i now have a command prompt with
list of devices attached
D026A024350CJH device
Root the Kindle Fire 2 with Windows - Noob (Simple) Version
inflicted_1999 said:
hi mate those commands seem to work as i now have a command prompt with
list of devices attached
D026A024350CJH device
Click to expand...
Click to collapse
inflicted_1999,
Beautiful, you are ready! First we MUST get rid of Android SDK since Root MANY ANDROID will fail with the SDK installed. So either go to Windows Add/Remove Programs and remove the Android SDK or use Windows Search - find the folder named "platform-tools", one you find it, rename it to "platform-tools-bak".
Once you have renamed or removed the SDK, then we can Root the Kindle Fire 2:
Plug the Kindle back into USB if it is not already plugged into USB.
1. Download Root MANY ANDROID! to your desktop. Extract to your desktop. This package includes updated adb daemons.
NOTE WINDOWS 7 USERS: You need to open a command prompt "as Administrator" when running the above utility batch files RunMe.bat - otherwise Windows will respond with "Permission Denied".
Make sure the Kindle is still plugged into USB.
Root Step 1: Run RunMe.bat from Root MANY ANDROID! through a command window as noted:
Double Mouse Click and Open the Root_with_Restore_by_Bin4ry_v18 folder.
Next Single Left Mouse Click on the Root_with_Restore_by_Bin4ry_v18 folder toolbar.
This highlights the Root_with_Restore_by_Bin4ry_v18 folder.
Note: Make sure none of the files within the Root_with_Restore_by_Bin4ry_v18 are highlighted in blue.
Next Press the SHIFT Key, next Right Hand Mouse Click
Choose "Open command window here"
A Command window will open, finally type
Code:
RunMe.bat
Choose option 1, Run Normal Method and ignore errors. Pay attention, you will need to answer "Restore" a dialogue box on the Kindle. If you are asked for an 'encryption password', enter the password you use to sign onto Amazon. Click on Restore. When the program has completed, the Kindle will Reboot.
The forum notes can be found here: Root MANY ANDROID! Forum.
Root Step 2: When the Kindle reboots it will have Root.
Root Step 3: Please navigate to the Apps Folder and find Superuser on the Device, click to Launch Superuser, then Reboot.
You are now Rooted, you may move on to How to Install Google Play Store here: http://forum.xda-developers.com/showthread.php?p=35962244
prokennexusa said:
inflicted_1999,
Beautiful, you are ready! First we MUST get rid of Android SDK since Root MANY ANDROID will fail with the SDK installed. So either go to Windows Add/Remove Programs and remove the Android SDK or use Windows Search - find the folder named "platform-tools", one you find it, rename it to "platform-tools-bak".
Once you have renamed or removed the SDK, then we can Root the Kindle Fire 2:
Plug the Kindle back into USB if it is not already plugged into USB.
1. Download Root MANY ANDROID! to your desktop. Extract to your desktop. This package includes updated adb daemons.
NOTE WINDOWS 7 USERS: You need to open a command prompt "as Administrator" when running the above utility batch files RunMe.bat - otherwise Windows will respond with "Permission Denied".
Make sure the Kindle is still plugged into USB.
Root Step 1: Run RunMe.bat from Root MANY ANDROID! through a command window as noted:
Double Mouse Click and Open the Root_with_Restore_by_Bin4ry_v18 folder.
Next Single Left Mouse Click on the Root_with_Restore_by_Bin4ry_v18 folder toolbar.
This highlights the Root_with_Restore_by_Bin4ry_v18 folder.
Note: Make sure none of the files within the Root_with_Restore_by_Bin4ry_v18 are highlighted in blue.
Next Press the SHIFT Key, next Right Hand Mouse Click
Choose "Open command window here"
A Command window will open, finally type
Code:
RunMe.bat
Choose option 1, Run Normal Method and ignore errors. Pay attention, you will need to answer "Restore" a dialogue box on the Kindle. If you are asked for an 'encryption password', enter the password you use to sign onto Amazon. Click on Restore. When the program has completed, the Kindle will Reboot.
The forum notes can be found here: Root MANY ANDROID! Forum.
Root Step 2: When the Kindle reboots it will have Root.
Root Step 3: Please navigate to the Apps Folder and find Superuser on the Device, click to Launch Superuser, then Reboot.
You are now Rooted, you may move on to How to Install Google Play Store here: http://forum.xda-developers.com/showthread.php?p=35962244
Click to expand...
Click to collapse
that all seemed to work ok and i opened superuser etc... to load google play etc i need to see the kindle on win xp
dont i which i still cant unfortunately ... is there another way other than through my computer
is it worth me reloading with vista win 7 again or win 8 is that easier to connect than xp
How to Access Files Over WiFi - Kies Air - Attached
inflicted_1999 said:
that all seemed to work ok and i opened superuser etc... to load google play etc i need to see the kindle on win xp
dont i which i still cant unfortunately ... is there another way other than through my computer
is it worth me reloading with vista win 7 again or win 8 is that easier to connect than xp
Click to expand...
Click to collapse
inflicted_1999,
Great work inflicted_1999, so you did make it through your rooting problem, good job! OK, I have another idea to accress the Kindle but let's first identify what may be causing the mounting trouble. Can you please go into your windows System by pressing the Windows Key (found between the CTRL and ALT Keys) with the pause/break key - this keyboard shortcut will open the Windows System, next select the Windows Device Manager. What do you see here? You should see:
Kindle > Android ADB Interface
Portable Device > Kindle
If you see a yellow triangle, please reply with the identification of the Yellow Triangle like "Unknown Device".
The other option is to install the attached service Kies Air, it will allow you to access and upload files to your Kindle Fire HD and 2. This is a WiFi file manager.
Kies Air - Attached to this Thread
It’s time to share wirelessly!
Why not manage your mobile device via your Internet browser?
Kies Air is a application that enables you to easily manage contents saved on your device via PC internet or mobile browser using Wi-Fi technology.
Without having to connect any cables, within a browser you can use diverse function such as multimedia transfer, music listening, PIMS management, text message, file search, and so on.
Since Kies Air is an application for accessing mobile content from a PC or browser, the application has to read the content from the mobile device in order to carry out this function. To ensure that your data is secure and not shared without your consent, when you install/update an application, Kies Air will ask you to grant permission.
To access via PC or laptop:
1. Connect the mobile device and the PC or laptop to the same access point (Wi-Fi router)
2. Open Kies Air on the mobile device and tap Start
3. Kies Air on the mobile device will display a URL. Enter the URL in the browser on the PC or laptop
4. Kies Air will display a 4-digit PIN on the mobile device. When prompted, enter the PIN into the browser on the PC or laptop
5. The PC or laptop is now connected and you can access the content of your mobile device.
You can also create a desktop icon to connect to Kies Air more easily
After creating the desktop icon, you can access Kies Air without having to enter the URL into the browser on the PC or laptop
To access via another mobile device (e.g. device B accesses device A):
1. Connect both mobile devices (A and B) to the same access point (Wi-Fi router)
2. Open Kies Air on device A and tap Start
3. Open Kies Air on device B and shake the device twice. This will start a scan for device A
4. Device A will appear on the screen of device B. Tap on device A
5. Kies Air will display a PIN on device A. When prompted, enter the PIN on device B
If Kies Air is not installed on device B, enter the URL displayed by device A into the browser on device B.
If the motion feature is not supported on device B, press the menu key, and then tap Scan.
During installation, Kies Air requests permission to provide you with access to content or other required functions. Your data is only ever accessible within your local network and never sent to the Kies Air team, Samsung, or any other remote server.
prokennexusa said:
inflicted_1999,
Great work inflicted_1999, so you did make it through your rooting problem, good job! OK, I have another idea to accress the Kindle but let's first identify what may be causing the mounting trouble. Can you please go into your windows System by pressing the Windows Key (found between the CTRL and ALT Keys) with the pause/break key - this keyboard shortcut will open the Windows System, next select the Windows Device Manager. What do you see here? You should see:
Kindle > Android ADB Interface
Portable Device > Kindle
If you see a yellow triangle, please reply with the identification of the Yellow Triangle like "Unknown Device".
The other option is to install the attached service Kies Air, it will allow you to access and upload files to your Kindle Fire HD and 2. This is a WiFi file manager.
Kies Air - Attached to this Thread
It’s time to share wirelessly!
Why not manage your mobile device via your Internet browser?
Kies Air is a application that enables you to easily manage contents saved on your device via PC internet or mobile browser using Wi-Fi technology.
Without having to connect any cables, within a browser you can use diverse function such as multimedia transfer, music listening, PIMS management, text message, file search, and so on.
Since Kies Air is an application for accessing mobile content from a PC or browser, the application has to read the content from the mobile device in order to carry out this function. To ensure that your data is secure and not shared without your consent, when you install/update an application, Kies Air will ask you to grant permission.
To access via PC or laptop:
1. Connect the mobile device and the PC or laptop to the same access point (Wi-Fi router)
2. Open Kies Air on the mobile device and tap Start
3. Kies Air on the mobile device will display a URL. Enter the URL in the browser on the PC or laptop
4. Kies Air will display a 4-digit PIN on the mobile device. When prompted, enter the PIN into the browser on the PC or laptop
5. The PC or laptop is now connected and you can access the content of your mobile device.
You can also create a desktop icon to connect to Kies Air more easily
After creating the desktop icon, you can access Kies Air without having to enter the URL into the browser on the PC or laptop
To access via another mobile device (e.g. device B accesses device A):
1. Connect both mobile devices (A and B) to the same access point (Wi-Fi router)
2. Open Kies Air on device A and tap Start
3. Open Kies Air on device B and shake the device twice. This will start a scan for device A
4. Device A will appear on the screen of device B. Tap on device A
5. Kies Air will display a PIN on device A. When prompted, enter the PIN on device B
If Kies Air is not installed on device B, enter the URL displayed by device A into the browser on device B.
If the motion feature is not supported on device B, press the menu key, and then tap Scan.
During installation, Kies Air requests permission to provide you with access to content or other required functions. Your data is only ever accessible within your local network and never sent to the Kies Air team, Samsung, or any other remote server.
Click to expand...
Click to collapse
it still wont connect to the PC but i managed to get kies downloaded and on there and did it all via that..
amazing thanks so much for your help... i managed to do that then golauncher etc from this link http://forum.xda-developers.com/showthread.php?t=2069668 will this stop automatic updates from amazon or will i need to
do that manually
I'm running Dirty Unicorns ROM. It has an option for custom carrier label. When I run shell for "settings list system" the line custom_carrier_label=Verizon Wireless shows. I want to hide all notifications from the lock screen and have my carrier label show %SMS (variable for unread SMS) Message if %SMS>0. My code settings put system custom_carrier_label=%SMS Message in run shell doesn't work. If this is possible what am I doing wrong?
Sent from my Nexus 6P using Tapatalk
You probably need to restart systemui for the change to take effect.
To do that, run this shell command as root:
Code:
pkill -l TERM -f com.android.systemui
If your screen is on when this command runs, whatever you are doing well get interrupted by your lock screen.
To avoid being interrupted, add this action before the shell command:
Code:
Wait Until
%SCREEN ~ off
Also, your 'settings put ...' shell command needs to be run as root.
Depending on your ROM broadcasting
Code:
android.intent.action.CUSTOM_CARRIER_LABEL
might also work.
Dear Community, dear Developers outside..
I'm using Magisk 14.0 on a Redmi Note 4 Snapdragon and super satisfied with it.
I just want to make simple changes like changing the lowmemorykiller minfree parameters - just like an init.d script in Kernel Adiutor..
Most of the commands are effective - but some of them are not..
This is what I want to apply for example:
chmod 666 /sys/module/lowmemorykiller/parameters/minfree
chown root /sys/module/lowmemorykiller/parameters/minfree
echo '7283,14566,21849,28928,36415,43698' > /sys/module/lowmemorykiller/parameters/minfree
..but does not work..
But these, for example.. these are working just fine:
echo '30' > /proc/sys/vm/swappiness
echo '0' > /sys/module/lowmemorykiller/parameters/enable_adaptive_lmk
echo '80' > /proc/sys/vm/overcommit_ratio
echo '400' > /proc/sys/vm/vfs_cache_pressure
echo '2430' > /proc/sys/vm/extra_free_kbytes
echo '4096' > /proc/sys/kernel/random/write_wakeup_threshold
echo '1024' > /sys/block/mmcblk0/queue/read_ahead_kb
echo '0' > /sys/block/mmcblk0/queue/iostats
echo '1' > /sys/block/mmcblk0/queue/add_random
echo '1024' > /sys/block/mmcblk1/queue/read_ahead_kb
echo '0' > /sys/block/mmcblk1/queue/iostats
echo '1' > /sys/block/mmcblk1/queue/add_random
swapoff /dev/block/zram0 > /dev/null 2>&1
echo '1' > /sys/block/zram0/reset
echo '0' > /sys/block/zram0/disksize
echo '1' > /sys/block/zram0/max_comp_streams
echo '524288000' > /sys/block/zram0/disksize
mkswap /dev/block/zram0 > /dev/null 2>&1
swapon /dev/block/zram0 > /dev/null 2>&1
echo '4096' > /proc/sys/kernel/random/read_wakeup_threshold
echo '4096' > /proc/sys/vm/min_free_kbytes
echo '0' > /proc/sys/vm/oom_kill_allocating_task
echo '90' > /proc/sys/vm/dirty_ratio
echo '70' > /proc/sys/vm/dirty_background_ratio
I do know that all I have to do is to put my script to one of these dirs - depending on when I want to run the scripts:
/magisk/.core/service.d
/magisk/.core/post-fs-data.d
But, as I mentioned - most of them has effect, some of them has no..
Any comment, any suggestion is more than appreciated.
Thank you!
[SOLVED] - solution is in post #5
Desperate bump..
I searched for help docs for service.d and post-fs-data.d but counldn't find them, can I ask you when each folder is executed, also does the scripts inside them must have .sh extension or not ?
I want to restart my systemui after boot complete, can you tell me if this script is ok ?
Code:
#!system/bin/sh
sleep 20
su
pkill -l TERM -f com.android.systemui
ps : the pkill command works fine after an "su" in terminal emulator
sorry for the offtopic !
@sheraro
https://github.com/topjohnwu/Magisk/blob/master/docs/README.MD
First of all: the solution for my issue was a simple sleep 30 in the services.sh to delay the start.. and I used an auxiliary file as well to make the changes (called from services.sh with 30sec delay, copied with the update-binary file directly, set permission to 0777 via config.sh) after that is all started working..
sheraro said:
I searched for help docs for service.d and post-fs-data.d but counldn't find them, can I ask you when each folder is executed, also does the scripts inside them must have .sh extension or not ?
I want to restart my systemui after boot complete, can you tell me if this script is ok ?
Code:
#!system/bin/sh
sleep 20
su
pkill -l TERM -f com.android.systemui
ps : the pkill command works fine after an "su" in terminal emulator
sorry for the offtopic !
Click to expand...
Click to collapse
So, second thing, @sheraro, I think you should delete the command su from your script because Magisk scripts are running as root anyway and if you issue su command it will start a shell with elevated privileges - an interactive shell, not what you want here, a sudo like command.. it works in the terminal because it is interactive but in the shell script if you start su it starts an interactive shell and it halts your script because it won't exit the shell you started.. and the next command will never run.. if you know what I mean.. but you don't need it anyway, because - as I mentioned - it is running as root anyway. +1: The syntax of the shebang is bad in your example, it is missing an exclamation mark. Can you re-test it like this:
Code:
#!/system/bin/sh
sleep 20
pkill -l TERM -f com.android.systemui
exit 0
.sh extension is not needed, the thing is: you have to set the correct permission in the config.sh like this:
Code:
set_permissions() {
# Default permissions, don't remove them
set_perm_recursive $MODPATH 0 0 0777 0777
[..omitted..]
Thing is: the files must have execute priv. and you can execute them like
Code:
$MODDIR/./desiredfilename
in the services.sh script.
Hope this helps.
crok.bic said:
.sh extension is not needed, the thing is: you have to set the correct permission in the config.sh like this:
Code:
set_permissions() {
# Default permissions, don't remove them
set_perm_recursive $MODPATH 0 0 0777 0777
[..omitted..]
Thing is: the files must have execute priv. and you can execute them like
Code:
$MODDIR/./desiredfilename
in the services.sh script.
Hope this helps.
Click to expand...
Click to collapse
I'm just pasting my script in service.d only, set permissions manually to 0777, corrected !#/system typo, removed su command, but no luck...
Where's services.sh and config.sh ?
sheraro said:
I'm just pasting my script in service.d only, set permissions manually to 0777, corrected !#/system typo, removed su command, but no luck...
Where's services.sh and config.sh ?
Click to expand...
Click to collapse
Reading your comment I think you are not developing a Magisk module, do you?
I do and this is why you have no idea where is config.sh, services.sh and the others I think.
If you just want to have some kind of "init.d script" support and run the script in your own phone *only* then your script should be in the folder /magisk/.core/service.d and it should have execute permission. That's all what you need - probably the sleep 20 is not enough, increase it to sleep 30 for instance.
If this is still not enough info I would suggest to read the Magisk documentation thoroughly (linked in post #4) and if you still stuck I suggest you to open your own thread, describe your problem thoroughly (what is your goal? what would you like to achive? how did you already try? what is happening but should not or not happening but you think it should happen? you know what I mean..) and ask the community. Probably you will be able to solve your issue in minutes/hours.
I changed it to sleep 100, same problem, you're right I should create a new thread for this.
I have a theme installed that mimics oreo style, but the systemUI is not themed until it's restarted, so I thought about a script executed after boot, anyway thanks for your help
It seems that sleep will delay the run of other modules' service.sh. is there any solution that will not affect other module?
nicorg3221 said:
It seems that sleep will delay the run of other modules' service.sh. is there any solution that will not affect other module?
Click to expand...
Click to collapse
I don't experience this behavior - what you described is the post-fs-data behavior.
I did the trick with a separate ("auxiliary") file and tried to explain how in post #5 but let me try again:
- created a file in the module's common folder (I gave the name `tweak`)
- this file starts with a shebang (it's a script..) and continues with a sleep 30 then comes my commands..
- then copied the file from the module to the Magisk module directory into /magisk/$MODDIR with the module file META-INF/com/google/android/update-binary (I added it to the copy section, manually.. I know, I know, it should work automagically anyway, but did not work and I was fed up with the coding, so hardcoded it.. sorry)
- I set the default file permission to 0777 in config.sh (yes, 0777, this is loose AF but works.. and I don't really care, the file contains code that can make the device *better* and has no suid bit set, so there is only little to no room to harm anything..)
- then I included a call in my module's common/service.sh like $MODDIR/./tweak to start my script
- when the tweak script starts it will start with the sleep 30 so implements the delay.. BUT!
- Because services.sh files from the modules are called parallelly by Magisk (by default, by it's nature, by it's code.. you got it) my module does not delays others - but still has the delay.
Hope this helps.
sheraro said:
I changed it to sleep 100, same problem, you're right I should create a new thread for this.
I have a theme installed that mimics oreo style, but the systemUI is not themed until it's restarted, so I thought about a script executed after boot, anyway thanks for your help
Click to expand...
Click to collapse
Pleased to help you - but honestly, if the only task you need is to kill and restart systemUI then I would do it via init.d script run by an app that mimics init.d scripting, or using a kernel that supports init.d scripts (if only you want to use that theme). It's just less complex for you I think, but honestly, a simple script file that has execute permission in /magisk/.core/services.d/ gives you 100% the same solution.
crok.bic said:
I don't experience this behavior - what you described is the post-fs-data behavior.
I did the trick with a separate ("auxiliary") file and tried to explain how in post #5 but let me try again:
- created a file in the module's common folder (I gave the name `tweak`)
- this file starts with a shebang (it's a script..) and continues with a sleep 30 then comes my commands..
- then copied the file from the module to the Magisk module directory into /magisk/$MODDIR with the module file META-INF/com/google/android/update-binary (I added it to the copy section, manually.. I know, I know, it should work automagically anyway, but did not work and I was fed up with the coding, so hardcoded it.. sorry)
- I set the default file permission to 0777 in config.sh (yes, 0777, this is loose AF but works.. and I don't really care, the file contains code that can make the device *better* and has no suid bit set, so there is only little to no room to harm anything..)
- then I included a call in my module's common/service.sh like $MODDIR/./tweak to start my script
- when the tweak script starts it will start with the sleep 30 so implements the delay.. BUT!
- Because services.sh files from the modules are called parallelly by Magisk (by default, by it's nature, by it's code.. you got it) my module does not delays others - but still has the delay.
Hope this helps.
Click to expand...
Click to collapse
I have my script in starting in .Core. Maybe that's the problem
nicorg3221 said:
I have my script in starting in .Core. Maybe that's the problem
Click to expand...
Click to collapse
..then it is in the wrong dir.. it is clearly described in the Magisk documentation.
I have researched a bit. I think you can use getprop sys.boot_completed to check if boot is completed. We should run init.d scripts after boot is completed instead of just wait for 30/100 seconds.
I place all my init.d scripts I want to run in /magisk/.core/service.d/init.d.
Then, I have a service.d script [exec_init_d.sh] in /magisk/.core/service.d. Magisk will run exec_init_d.sh when boot.
exec_init_d.sh will wait for sys.boot_completed and run all the files in /magisk/.core/service.d/init.d after boot completed
exec_init_d.sh
Code:
#!/system/bin/sh
# Please don't hardcode /magisk/modname/... ; instead, please use $MODDIR/...
# This will make your scripts compatible even if Magisk change its mount point in the future
MODDIR=${0%/*}
# This script will be executed in late_start service mode
# More info in the main Magisk thread
if [ "$1" != "1" ]; then
$0 1 &
log -p i -t Magisk "start new instance to let Magisk boot stages proceed"
exit
fi
#param
RUNLOG=0
RETRY_INTERVAL=5 #in seconds
MAX_RETRY=60
EXEC_WAIT=3 #in seconds
INIT_D_DIR=$MODDIR/init.d
LOG_PATH=$MODDIR/debug.log
#init
retry=${MAX_RETRY}
#wait for boot completed
log -p i -t Magisk "wait for boot completed"
while (("$retry" > "0")) && [ "$(getprop sys.boot_completed)" != "1" ]; do
sleep ${RETRY_INTERVAL}
((retry--))
done
if (("$retry" == "0")); then
log -p i -t Magisk "boot not completed within maximum number of retry"
else
log -p i -t Magisk "boot completed"
fi
sleep ${EXEC_WAIT}
log -p i -t Magisk "init.d execution started from ${INIT_D_DIR}"
if (("${RUNLOG}" == "1")); then
/data/magisk/busybox run-parts $INIT_D_DIR &> $LOG_PATH
log -p i -t Magisk "init.d execution output written to $LOG_PATH"
else
/data/magisk/busybox run-parts $INIT_D_DIR
fi
log -p i -t Magisk "init.d execution completed"