[REQ] ADB string for deleting stuff - HD2 Android Q&A, Help & Troubleshooting and Genera

Need to be able to delete files from the NAND ROM I'm using and Droid Explorer won't do it...unless I'm not doing something right. I suppose ADB is the only option to effectively remove files or install files. But what I need to know is, what is the commands for doing this? For example: MDJ kernels come with more than 2 modules. The Gauner kernel comes with 2 modules. Updating to an MDJ kernel puts in about 5 or 6 modules and if you go back to the Gauner module using the kernel install script, you still have the other MDJ modules hanging on. Droid Explorer won't delete anything and won't add anything. You can copy anything, but not delete or add in these NAND ROMs.
The only option I suppose is to use ADB. But that requires knowing what the commands are and I'm not a computer programmer. So I would be most grateful to anyone providing the commands to delete and add files.
Thanks in advance.

adb shell rm -rf "/path/to/file"

First make system r/w, can't remember command right now. And then.
Adb shell rm system/lib/modules/[libname.so without the [] ]
Sent from my HTC HD2 using XDA App

Thanks, guys.
I want to install the G2 launcher in Darkstone FroYo NAND. I will try to use the kernel "Install" script. What would be the string? Here is what the script shows for installing a zImage and modules. What should it be edited to to install the G2 launcher? The launcher is named "Launcher2" and it will be located on the root of the SD card. It will install to the system > app folder
EDIT - Actually, the launcher will be inside a folder on the root of the card along with the install script, adb and
AdbWinApi.dll.
@echo off
echo Creating directory and mounting /boot...
adb shell mkdir /data/boot
adb shell mount -t yaffs2 -orw,nosuid,nodev /dev/block/mtdblock0 /data/boot
echo Pushing zImage...
adb push zImage /data/boot/zImage
echo Remounting system and pushing modules...
adb remount
adb push bcm4329.ko /system/lib/modules/bcm4329.ko
adb push tun.ko /system/lib/modules/tun.ko
adb push cifs.ko /system/lib/modules/cifs.ko
adb push fuse.ko /system/lib/modules/fuse.ko
adb push msm_rmnet.ko /system/lib/modules/msm_rmnet.ko
adb push nls_utf8.ko /system/lib/modules/nls_utf8.ko
echo Cleaning up...
adb shell umount /data/boot
adb shell rmdir /data/boot
echo All done!
pause

Greetings. I need help. The phone is HONOR 20. The problem is that I can't find a description of "music" in the list. ADB delete works. But I don't want to uninstall another app. Maybe someone can sneeze? If I have to I can copy the whole list here.

svgyula said:
Greetings. I need help. The phone is HONOR 20. The problem is that I can't find a description of "music" in the list. ADB delete works. But I don't want to uninstall another app. Maybe someone can sneeze? If I have to I can copy the whole list here.
Click to expand...
Click to collapse
That's one way of bringing us a nostalgic moment. Boy, the HD2 sure was something! But it's not the Honor 20. You may want to post your question in the Q&A section of the Honor 20 here: https://forum.xda-developers.com/honor-20/help
You may also want to make your question a bit clearer. Description of what "music" in what list? Perhaps it would be wise to add the "whole list" but if it's rather large, add it as an attached txt file or put it between CODE or HIDE tags if it's really big. Good luck!

Hello! Thank you for the comment! I solved the problem! I've cleaned up com.google.mediacenter!

Related

Replacing HTC apps with ANDROID ones

Hi,
After reading this thread and learning that you CAN replace HTC's apps with stock Android ones, I have started messing around to see what other apps I can / should change. I'll use this thread as kind of a log, so if I mess things up I can come back and see where I went wrong. Fellow noobs can surely use it too!
I am using SDK in Ubuntu, but the procedure should be pretty similar in Windows.
First, follow the Unlockr's method to root your phone.
Download a stock Android rom and extract its /system/apps folder inside /sdk/tools. I named the folder "Apps-stock
Check if Ubuntu recognises your phone:
Code:
./fastboot devices
Load the recovery image and mount the system:
Code:
./fastboot boot cm-hero-recovery.img
./adb shell mount /system
Replacing HTC's calendar:
Code:
./adb shell rm /system/app/Calendar.apk
./adb shell rm /system/app/Calendar.odex
./adb push Apps-stock/Calendar.apk /system/app/
I'll edit the thread, add details as I go on
Nice one!
Please keep us informed!
Thanks for this thread.
Post moved to a more appropriate topic :
http://forum.xda-developers.com/showthread.php?p=4477971#post4477971
Thanks for setting this thread up!
Firstly, you should probably say in the first post that everyone should do a Nandroid backup first - it's saved my bacon. Might be an idea to link to the files, too?
Second, I've got a problem trying to run this method. I removed the original calendar.apk and .odex without any problems, and copied the new one over, but on rebooting, it wasn't in the list of applications anywhere. I browsed there in Astro and opened the file, which gave me an option to install it - which then gave an error of "Calendar could not be installed on this device".
I'm running the MoDaCo 2.1 custom ROM and using the calendar.apk from this thread.
Thanks for your time!
fastboot
can you tell me where this fastboot command is located? I am using Ubuntu too, but can not find fastboot. What is it for by the way?
dragonflyFZX said:
can you tell me where this fastboot command is located? I am using Ubuntu too, but can not find fastboot. What is it for by the way?
Click to expand...
Click to collapse
fastboot and adb are executables you get from the Android SDK - see here.
This thread does require your phone to be rooted, though, which would require you to have already used adb at least once....
frandavid100 said:
........
Replacing HTC's calendar:
Code:
./adb shell rm /system/app/Calendar.apk
./adb shell rm /system/app/Calendar.odex
./adb push Apps-stock/Calendar.apk /system/app/
I'll edit the thread, add details as I go on
Click to expand...
Click to collapse
how about simply replacing those files using a file explorer (like linda)? possible, or would that screw up my system?

A little guidance please (delete permissions, etc.)

(Sorry for not posting actual links - the system won't let me because I'm still a "new user.")
I already rooted my Sprint Hero using this (thread 583291) guide and can successfully tether using the WiFi Tether app. Yay!
Now I want to delete and/or replace the boot up sound (boot.mp3 located in /system/media/bootscreen) When I try to delete it right now (either through adb shell on my computer or from within a file manager app on the phone itself) I get permission denied or "read-only file system."
I see two threads regarding busybox, superuser, and adb remount. Thread 591303 which is dated 11/28/09 and is just for busybox and Thread 593952 which is dated 12/03/09.
I'm not sure which of these two I need to install. If it's the latter which includes ADB remount and superuser as well as busybox, then I'm not sure if I am supposed to unzip them before pushing them to my phone.
Could anyone point me in the right direction based on what I want to do (delete files on my phone - ANY file I want)?
Thanks in advance for any help you can offer.
All you should need to do is:
Code:
adb remount
rm /insert file path/file
So yours would be
Code:
rm /system/media/bootscreen/boot.mp3
Mr. Biggz said:
All you should need to do is:
Code:
adb remount
rm /insert file path/file
So yours would be
Code:
rm /system/media/bootscreen/boot.mp3
Click to expand...
Click to collapse
will rm work without busybox?
As long as you can shell into the phone it should work. The rm command is to be run inside the shell.
So it actually should be
Code:
adb remount
adb shell
rm /system/media/bootscreen/boot.mp3
You want to install the busybox remount and superuser Rom if you want to run stock.
Or manually install busybox, superuser whitelist and adb remount
Biggz - looks like they are on stock. No adb remount.
gbhil said:
Biggz - looks like they are on stock. No adb remount.
Click to expand...
Click to collapse
Unfortunate, custom is so much better.
If you are on stock, do this:
Code:
adb shell
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
mv /system/media/bootscreen/boot.mp3 /system/media/bootscreen/boot.mp3.old
exit
[you can also do rm /system/media/bootscreen/boot.mp3 instead]
gbhil said:
You want to install the busybox remount and superuser Rom if you want to run stock.
Or manually install busybox, superuser whitelist and adb remount
Biggz - looks like they are on stock. No adb remount.
Click to expand...
Click to collapse
successfully removed (rm) the boot.mp3 in the shell - Thank you for that. I do want to replace it with a different one (I'll use the same file name since the .xml file still refers to it) so I'll need the cp command and I've noticed that it's missing in shell. I'm assuming I need to install busybox to get this functionality. I'm not really sure I want to install a complete new ROM and I don't mind manually installing busybox, adb remount, etc. What does installing "superuser whitelist" and "adb remount" allow me to do? I'm not sure what their potential uses are?
I installed busybox and have the cp command functionality now (see above post) but now when I try to copy anything to the /system/media/bootscreen folder I get "cp: cannot create '/system/media/bootscreen/boot.mp3': Permission denied"
I type "mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system" after getting into shell and typing "su" and getting the "#" prompt and it takes successfully (this is the only way I was able to actually "rm" the original boot.mp3 file to begin with.
See anything I'm doing wrong?
Nope, that is correct.
/system is normally mounted as read-only, so you can't add or delete anything. The mount command remounts it as read-write, so you can modify it as root.
armyturtle said:
<snip> I'm not really sure I want to install a complete new ROM and I don't mind manually installing busybox, adb remount, etc. What does installing "superuser whitelist" and "adb remount" allow me to do? I'm not sure what their potential uses are?
Click to expand...
Click to collapse
Superuser whitelist is an application that warns you and asks for you to provide permission whenever an app tries to use the su binary to run as another user. You want this, as without it there's no way to know if an application runs as root.
Adb remount is a service that allows you to toggle the +RW bit on the /system/ partition through the shell. IIRC the one one floating around also kills color terminfo so you don't get all the extra chars on a windows PC when using the ls command. Just a matter of convenience.
jonnythan said:
Nope, that is correct.
/system is normally mounted as read-only, so you can't add or delete anything. The mount command remounts it as read-write, so you can modify it as root.
Click to expand...
Click to collapse
I can't create/copy anything after getting into the shell and remounting as read-write. From CMD prompt I type:
adb shell
and get:
$
Then I type:
su
and get:
#
This is where I type:
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
Then trying to copy anything into the /system directory gives me:
Permission denied
It will let me DELETE anything I want from this folder (as confirmed by now deleting boot.gif just to check) but it won't let me cp (copy) anything to this folder. WHY?
What the heck?
try these commands for the boot mp3
Code:
cd/
cd /androidsdk/tools/
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
exit
adb push directoryonpcwhereyourbootmp3is /system/media/bootscreen/
make sure that you rename the mp3 to boot.mp3 or it wont work anyways.
the other option (this is what I do) is find a bootscreen that you like (I use this one). open the zip file useing winrar or 7zip, navigate into the files where you see the boot.mp3 and drag in YOUR (now renamed) boot.mp3 close the window, put the zip file onto the root of your sd card, boot into recovery, choose flash from zip, flash the file and your good to go.
wtphoto said:
try these commands for the boot mp3
Code:
cd/
cd /androidsdk/tools/
adb shell
su
mount -o remount,rw -t yaffs2 /dev/block/mtdblock3 /system
exit
adb push directoryonpcwhereyourbootmp3is /system/media/bootscreen/
make sure that you rename the mp3 to boot.mp3 or it wont work anyways.
the other option (this is what I do) is find a bootscreen that you like (I use this one). open the zip file useing winrar or 7zip, navigate into the files where you see the boot.mp3 and drag in YOUR (now renamed) boot.mp3 close the window, put the zip file onto the root of your sd card, boot into recovery, choose flash from zip, flash the file and your good to go.
Click to expand...
Click to collapse
tried this just now and still get "failed to copy 'C:\android-sdk-windows\tools\boot.mp3' to '/system/media/bootscreen/boot.mp3': Permission denied"
It's the /system folder... I can push to /data/local all day long, but anything in the /system folder is read only. How the hell can I change this?
/system/media/bootscreen/boot.mp3
Click to expand...
Click to collapse
if this is the code you are using then that could be your issue
the code line should look like this
Code:
adb push C:\android-sdk-windows\tools\boot.mp3 /system/media/bootscreen/
doing adb push C:\android-sdk-windows\tools\boot.mp3 /system/media/bootscreen/boot.mp3 says that you are trying to push the boot.mp3 to the directory bott.mp3 and there is no boot.mp3 directory the folder where you want the boot.mp3 is bootscreen. try the ubove code and see what happenes.
wtphoto said:
if this is the code you are using then that could be your issue
the code line should look like this
Code:
adb push C:\android-sdk-windows\tools\boot.mp3 /system/media/bootscreen/
doing adb push C:\android-sdk-windows\tools\boot.mp3 /system/media/bootscreen/boot.mp3 says that you are trying to push the boot.mp3 to the directory bott.mp3 and there is no boot.mp3 directory the folder where you want the boot.mp3 is bootscreen. try the ubove code and see what happenes.
Click to expand...
Click to collapse
Nope, was a typo on my part (here in the post, not when issuing the command). Still permission denied. I don't think it's actually mounting the /system folder as writable. Is there a way to check after issuing the remount command?
A quick command of "ls -l" at root prompt gives the following for the /system folder:
drwxr-xr-x root root 2009-09-21 06:30 system
after you run the remount command what does it say? does it say remount succeded?
After typing the remount command it simply repeats my command back at me and returns to the "#" prompt.
honestly at this point what I would try doing is do a back up then flash a custom rom like fresh 1.1 that has all the tools built into it. then go into the cmd prompt and cd to where sdk is then type adb remount and see what it says then adb shell and try to cp the file to that directory.
this is more a test than anything else.
wtphoto said:
honestly at this point what I would try doing is do a back up then flash a custom rom like fresh 1.1 that has all the tools built into it. then go into the cmd prompt and cd to where sdk is then type adb remount and see what it says then adb shell and try to cp the file to that directory.
this is more a test than anything else.
Click to expand...
Click to collapse
I'll try this - so you recommend trying fresh 1.1 then? I know it's just a test, but just in case I like the ROM and decide to stick with it, might as well try a really good one! I'll try this tomorrow - I'm beat! (Thanks again!)

[SOLVED] Reinstall Launcher.apk after Root?

Hey can someone please tell me how to reinstall the original home (Launcher.apk) i tried installing via astro with no luck.
where do i have to push the file too? can someone post instructions, thanks.
EDIT: NVM this is what i did and it worked:
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb shell dd if=/sdcard/apps/Launcher.apk of=/system/app/Launcher.apk
adb shell dd if=/sdcard/apps/Launcher.odex of=/system/app/Launcher.odex
adb shell chmod 644 /system/app/Launcher*
adb shell reboot
Mod. edit: not dev related, moved to general
changed your title to signal an available solution, hope you don't mind
BULL3TPR00F said:
Hey can someone please tell me how to reinstall the original home (Launcher.apk) i tried installing via astro with no luck.
where do i have to push the file too? can someone post instructions, thanks.
EDIT: NVM this is what i did and it worked:
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock2 /system
adb shell dd if=/sdcard/apps/Launcher.apk of=/system/app/Launcher.apk
adb shell dd if=/sdcard/apps/Launcher.odex of=/system/app/Launcher.odex
adb shell chmod 644 /system/app/Launcher*
adb shell reboot
Click to expand...
Click to collapse
Where do have I to enter those command line please ?
in any cmd prompt
Draken Korin said:
Mod. edit: not dev related, moved to general
changed your title to signal an available solution, hope you don't mind
Click to expand...
Click to collapse
yeah sorry about the wrong section, i figured it would be helpful in the dev section for people who had just finished rooting and wanted to reinstall the original home.
but thats cool, and no problem with the title change.
I don't know if you want it or not, but the free ADW launcher is quite a lot nicer. More features and feels really fast.
BULL3TPR00F said:
in any cmd prompt
Click to expand...
Click to collapse
I get a adb not found...
I'll try with another terminal app...
And the ADW launcher with the root is horrible (and the icon to show all hap is deleted when I put my finger on T_T)), I installed zeam launcher for the moment...
There isn't a way to exec all those command live at one time ? (like .bat for windows)
Vilam said:
I get a adb not found...
I'll try with another terminal app...
And the ADW launcher with the root is horrible (and the icon to show all hap is deleted when I put my finger on T_T)), I installed zeam launcher for the moment...
There isn't a way to exec all those command live at one time ? (like .bat for windows)
Click to expand...
Click to collapse
You will need the Android SDK to be able to use adb... and your phone has to be in 'debug' mode (Settings>Applications>Development>USB Debugging should be checked)
Hi i just used root explorer and copied the two files to system/app/
then changed permission to rw-r--r--
then rebooted phone and it worked

[GUIDE] ADB Workshop and Guide for everyone

This workshop was held in #android-learning on irc.freenode.net by XDA Member Adrynalyne. All credit to him for this guide, I simply am taking it and turning it into a guide. Here we go!
You can find the raw IRC log here
Good evening folks, and welcome to my ADB workshop. This is by no means a full explanation on the subject, but more of a crash course to help folks get up to speed, and get more from their devices. There may be some things you already know here, so please be patient and respect those who do not.
Reference Files
http://adrynalyne.us/files/How to install adb.pdf
http://adrynalyne.us/files/Using ADB.pdf
So, lets just start with the basics.
What is ADB?
ADB stands for the android debugging bridge and is used for testing and debugging purposes by developers.
However, we like to get more out of our devices, and its a great way to fix things.
Knowing adb can mean the difference between a paperweight and a working phone.
So, to start with, we will look at installing ADB.
Generally speaking, the Sun/Oracle JDK is required to run all SDK functions.
ADB is but one tool in the SDK arsenal.
So, we begin by downloading and installing the JDK. This can be found here:
https://cds.sun.com/is-bin/[email protected]_Developer
Choose your OS, download and install. I recommend that 64 bit users use the regular x86/32 bit version as well.
Moving ahead, we download the Windows sdk from here:
http://dl.google.com/android/installer_r08-windows.exe
Due to already installing JDK, you won't be stopped by the install process.
Now, if you notice, I installed it to:
C:\android-sdk-windows
I did this because it makes things easier when setting up path variables.
I encourage everyone to do the same, but obviously it is not required.
So, this SDK is handy, but is only good up to 2.2. We want the latest and greatest! (Well I do)
So, we navigate to:
C:\android-sdk-windows\
and we run SDK Manager.exe
If you notice in your PDF file for installing adb, you will notice that you can update, and I made a choice not to include earlier sdk versions.
I won't go into full detail on that, but depending on the version of SDK you have, 8 or 9, it WILL make a difference in using adb.
By default, for version 8 adb.exe resides in C:\android-sdk-windows\tools
By default, for version 9 adb.exe resides in C:\android-sdk-windows\platform-tools
We will assume version 9 in this guide
Really, the SDK is installed and adb is usable right now, but in my humble opinion, its not enough
I like the ability to use adb in ANY directory on my machine.
To do this, we edit Windows's environment variables.
Specifically, the system path.
To do this, we click on start, or the orb (depending on OS), and right click on Computer, left clicking on properties in the menu.
If its windows XP, I believe it brings you into advanced system properties immediatly. Vista and 7 need a second step.
On the left hand side, as you notice I have highlighted in the pdf, left click advanced system settings.
Under advanced tab, we left click environment variables...
There are two boxes here.
We are concerned with system variables, however.
So we scroll down the list and highlight path and click edit.
Ignoring all the extra stuff in here, make sure you are at the end of the line, and type
Code:
;C:\android-sdk-windows\platform-tools
The semicolon allows us to separate it
from the previous path statement.
Click ok all the way out.
We now have ADB setup globally. We can use cmd.exe (I use powershell) and no matter what directory we are in, adb is recognized.
If it is not, make certain you entered the path into system variables, and made no typos.
If you installed to a different location, you will need to adjust the path accordingly.
This concludes the section on installing the Android SDK to use ADB.
This next section will be on using ADB, so please open that pdf now.
Now, this applies to any OS, not just Windows.
Well, with the exception of the USB drivers.
I will not go too much into that, but if you take a look at the PDF, it goes through installing usb drivers for the sdk, and how to download them.
Fiarly straightforward, in that rspect.
Now, to setup our phones to use with the SDK and ADB, we must change some settings.
First, we go to menu softkey, then settings.
We scroll down to Applications and tap it.
Under Development, we will check Enable USB Debugging. Please note the SGS phones are different in this respect.
The USB cable must be unplugged before enabling or disabling this setting.
Once this is done, we are now ready to play with adb
One quick note: If you get device not found/conencted, please reboot your phone. DJ05 has a quirk in it where ADBD randomly crashes on boot.
A reboot will fix this
ADBD= ADB Daemon
Ok, continuing on.
Lets look at installing applications. This is also known as sideloading.
Unlike installing from the SD card, it does not require unknown sources to be enabled.
The command for this is
Code:
adb install packagename
This assumes that you are working from the directory where the file is located.
This will install the application to /data/app.
It will also show sometimes useful errors if install fails.
That is not something you will see from the Android GUI.
Now, a lot of us have probably deleted files with apps like Root Explorer. While this isn't really a bad thing, it leaves behind databases and data for the application removed.
This is where the 0kb applicaiton entries come from.
If you take that application entry name, you can uninstall the extra data via adb.
First we go to the adb shell which logs into the phone.
Code:
adb shell
If we end up with a $, we will want admin rights, in many cases. This is not one of them, I don't beleive.
To get admin rights, you want to type
Code:
su
Look at your phone if this is the first time, it may prompt you to allow access. Else you will get permission denied.
If you are not rooted, this will not work either.
Ok, now that we are logged in, we will type
Code:
pm uninstall packagename
where packagename is the name of the 0kb listing.
Now this seems like a pain in the a** and I agree.
HOWEVER
There will be a time where Manage applications crashes when you try to uninstall it from the phone. In this case, a factory reset, or this method is the only effective way to fix the problem.
Moving on.
How many of us have removed system applications or renamed them? Did you know that you can simply disable them from the system?
Code:
adb shell
su
pm disable appllicationname
This will disable it, and the system will ignore it.
This can be seen as safer than deleting or renaming things, but your mileage may vary.
On the other hand, you can also re-enable these applications.
Code:
adb shell
su
pm enable applicationname
Please note: Not all applications will properly re-enable. I believe a factory reset or reinstall of said application will fix the issue.
Also, application names are absolutely case sensitive.
*nix based Operating Systems see the letter 'a' and 'A' as two different things.
when you log into adb shell, you are playing by android rules
Ok, a lot of us tweak and mod our phones and turning off the device to get to clockwork recovery, or battery pulls, or multiple button holds to get into Download mode are troublesome and annoying at best.
ADB can help us here.
Here, we do not need to be logged into the shell
If we want to merely reboot the phone:
Code:
adb reboot
If we want to go to recovery (works well with voodoo5)
Code:
adb reboot recovery
If we want to go to Download Mode because we need Odin, heaven forbid:
Code:
adb reboot download
Its instant. No waiting on animations or anything else.
Its also handy if Android has locked up, but yet still works in adb.
I for one hate taking my case off to battery pull.
So now we move on to pushing and pulling files.
Sometimes, I don't feel like mounting my sd card to copy a file over to my phone.
I can use this command to push a file straight to my sd card:
Code:
adb push filename /pathtodirectoryonphone
So for instance, if I have test.txt that I want to send, I would type:
Code:
adb push test.txt /sdcard/
and there it goes.
Ok moving on
Pushing files can be done to any directory, however, some are protected.
For instance, /system is going to give you a permission denied or a read only filesystem error.
To get around this, the easiest thing to do is push the file to your sdcard, then log into the shell:
Code:
adb shell
Code:
su
We will then mount the system as writable
Code:
mount -o rw,remount /dev/block/stl9 /system
Then we can use something like
Code:
cp /sdcard/test.txt /system/app/test.txt
cp stands for copy
and it requires the path of the file and destination path. The name of the file is optional
When you copy it, you can rename it to whatever you like.
For instance, if we wanted to backup a file
Code:
cp /sdcard/test.txt /sdcard/backuptest.txt
Now, lets assume you do not have busybox installed.
You non rooted users will not.
Then you must use a slightly more complicated command called dd
This is used like this:
Code:
dd if=/sdcard/test.txt of=/system/app/test.txt
if is for inputfile
of= output file
Not every user friendly, but probably one of the safer copy commands.
Ok, moving on to pulling files.
Lets say you want to get a file from your phone, to modify, backup, etc.
To do this, we simply use adb in this manner:
Code:
adb pull /pathtofile/filename destinationname
For instance, if I wanted to backup ADW launcher in system/app
I would do this
Code:
adb pull /system/app/ADWLaucnher.apk ADWLauncher.apk
And it will pull the file from the phone and put it in the current directory.
Like above, you can specifcy where it goes.
pushing files to the sdcard, it seems prudent to talk about changing permissions.
sdcards are typically fat32, which destroys permisisons, and Android is heavily permission based.
So if you push an application to your sd card, then try to copy it to /system/app/ bad things are going to happen, or the app may not even show up.
So in that case, we use something called chmod.
This is used in this manner
Code:
adb shell
su
chmod 755 /pathtoapplication/applicationname
Keep in mind
you dont want to do this while its still on your sd card.
an example
Code:
adb shell
su
chmod 755 /system/app/ADWLauncher.apk
755 is good for applications and script files.
Just a couple more topics to cover.
Lets go over deleting files.
This becomes especially handy for removing rogue applications.
To do this, we must be in the adb shell.
Code:
adb shell
su
rm /system/app/ADWLauncher.apk
You may need to remount system as writable with:
Code:
mount -o rw,remount /dev/block/stl9 /system
That applies when using chmod as well.
So what I did above was delete ADW Launcher from system/app
However, what if I wanted to delete the entire contents of a directory?
Same thing as before, except
Code:
adb shell
rm -f /data/dalvik-cache/*.*
I just cleared my dalvik-cache with that command
very quick, very effective.
If you just tried that, please reboot your phone now
Ok....this leaves us with the final topic: logcat
logcat allows us to log what the OS is doing, and possibly delve information for when things are not working
its quite simple Reading it is another.
To use logcat
Code:
adb shell
logcat
To logcat to a certain file do
Code:
adb shell
logcat > /sdcard/logcat.txt
Now we let the log settle down to a reasonable amount of data coming in and not a wall of scrolling, then start the app in question. When it gives an error, we hit ctrl-C and kill the adb shell session.
This should have captured enough data to see the error. Now, I prepared an example. A user came to me on IRC, and Google Maps was force closing. Clearing data didnt fix it, Clearing dalvik-cache, and fix permissions did not fix it. In this case, the user did not know how to use adb So I had him grab an app called alogcat from the market and email me the log. This is also a very valid method.
this file explains what the problem was, and highlights what to look for as an example.
http://adrynalyne.us/files/logcat.pdf
___________________________________________________________________
This concludes the guide from Adrynalyne, there will be more workshops such as this one in irc.freenode.net #android-learning.
Thanks to everyone in #samsung-fascinate !
Reserved for possible extension of topic
Great, saves a lot of questions/answers & search
Every new user should read this!!
Thread stuck as valuable reference thread
Just to add, if I may, a little about the permissions...
============================================================
File permissions for Unix... which Android is based, just so those who tinker with the file permissions may know what they are getting into.
============================================================
Use the chmod command to set file permissions.
The chmod command uses a three-digit code as an argument.
The three digits of the chmod code set permissions for these groups in this order:
1.Owner (you)
2.Group (a group of other users that you set up)
3.World (anyone else browsing around on the file system)
Each digit of this code sets permissions for one of these groups as follows. Read is 4. Write is 2. Execute is 1.
The sums of these numbers give combinations of these permissions:
0 = no permissions whatsoever; this person cannot read, write, or execute the file
1 = execute only
2 = write only
3 = write and execute (1+2)
4 = read only
5 = read and execute (4+1)
6 = read and write (4+2)
7 = read and write and execute (4+2+1)
Chmod commands on file apple.txt (use wildcards to include more files)
Command Purpose
chmod 700 apple.txt Only you can read, write to, or execute apple.txt
chmod 777 apple.txt Everybody can read, write to, or execute apple.txt
chmod 744 apple.txt Only you can read, write to, or execute apple.txt Everybody can read apple.txt;
chmod 444 apple.txt You can only read apple.txt, as everyone else.
Detecting File Permissions
You can use the ls command with the -l option to show the file permissions set. For example, for apple.txt, I can do this:
$ ls -l apple.txt
-rwxr--r-- 1 december december 81 Feb 12 12:45 apple.txt
$
The sequence -rwxr--r-- tells the permissions set for the file apple.txt. The first - tells that apple.txt is a file. The next three letters, rwx, show that the owner has read, write, and execute permissions. Then the next three symbols, r--, show that the group permissions are read only. The final three symbols, r--, show that the world permissions are read only.
Compliments and full credit from:
http://www.december.com/unix/ref/chmod.html
Amazing thread just what I needed lol thanks!
cooolone2 said:
Just to add, if I may, a little about the permissions...
============================================================
File permissions for Unix... which Android is based, just so those who tinker with the file permissions may know what they are getting into.
============================================================
Use the chmod command to set file permissions.
The chmod command uses a three-digit code as an argument.
The three digits of the chmod code set permissions for these groups in this order:
1.Owner (you)
2.Group (a group of other users that you set up)
3.World (anyone else browsing around on the file system)
Each digit of this code sets permissions for one of these groups as follows. Read is 4. Write is 2. Execute is 1.
The sums of these numbers give combinations of these permissions:
0 = no permissions whatsoever; this person cannot read, write, or execute the file
1 = execute only
2 = write only
3 = write and execute (1+2)
4 = read only
5 = read and execute (4+1)
6 = read and write (4+2)
7 = read and write and execute (4+2+1)
Chmod commands on file apple.txt (use wildcards to include more files)
Command Purpose
chmod 700 apple.txt Only you can read, write to, or execute apple.txt
chmod 777 apple.txt Everybody can read, write to, or execute apple.txt
chmod 744 apple.txt Only you can read, write to, or execute apple.txt Everybody can read apple.txt;
chmod 444 apple.txt You can only read apple.txt, as everyone else.
Detecting File Permissions
You can use the ls command with the -l option to show the file permissions set. For example, for apple.txt, I can do this:
$ ls -l apple.txt
-rwxr--r-- 1 december december 81 Feb 12 12:45 apple.txt
$
The sequence -rwxr--r-- tells the permissions set for the file apple.txt. The first - tells that apple.txt is a file. The next three letters, rwx, show that the owner has read, write, and execute permissions. Then the next three symbols, r--, show that the group permissions are read only. The final three symbols, r--, show that the world permissions are read only.
Compliments and full credit from:
http://www.december.com/unix/ref/chmod.html
Click to expand...
Click to collapse
Thanks! Added
ih4ckback said:
Amazing thread just what I needed lol thanks!
Click to expand...
Click to collapse
Thanks, all goes to Adrynalyne
Thanks for the guide. Helped me pick out the stupid stupid mistakes I was making...so just a problem. I'm able to use fastboot easily but I seem to be unable to use ADB still on my windows 7. It says there are no devices and I'm dang well sure I have USB debugging on. Is it because Windows 7 is missing drivers for the nexus one or something else?
wonderful guide. I would like to add it to the guides thread.
Really awesome work, thumbs up.
But we should also take a guide on installing adb with Ubuntu/Linux, which isn't a very difficult thing...
mm7490 said:
Really awesome work, thumbs up.
But we should also take a guide on installing adb with Ubuntu/Linux, which isn't a very difficult thing...
Click to expand...
Click to collapse
If I got time tomorrow I could do that. I work primarily in Linux also
Sent from my Samsung Fascinate using Tapatalk Pro
This is good but I have a problem, when I try to remove an .apk file from /system/app it fails and says 'rm failed, Directory not empty'
I have followed exact instructions many time but never succeeded :s any help!!
(I am runnging these commands in device mod)
when I am in recovery mod I get this prompt ~ # and I am not able to enter su mod. how to get rid of this??
Well when the $ changes to # it means you have SU access
mustafa.aziz said:
This is good but I have a problem, when I try to remove an .apk file from /system/app it fails and says 'rm failed, Directory not empty'
Click to expand...
Click to collapse
Please give us the exact command(s) you entered
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
mustafa.aziz said:
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
Click to expand...
Click to collapse
Ok i think you need to do a recursive force delete which should be rf but i am not too sure! could somebody please confirm/ correct this?
Well, I don't think so ^^ As he doesn't want to erase a whole directory, but only a file.
What surprises me the most is the returned message... You're trying to delete an apk, and it says it's a directory :/
Could you please give us the output of this :
Code:
su
mount -o rw,remount /dev/block/stl9 /system
ls -l /system/app/mytouch*
Perhaps you don't even need the su and mount lines, but I'm not sure about that, and that can't harm your system ^^
Khoral said:
Well, I don't think so ^^ As he doesn't want to erase a whole directory, but only a file.
Click to expand...
Click to collapse
I know he doesn't want to delete a whole directory, but since the apk isn't compressed perhaps android looks at is as a directory and not a file? i don't know since what was returned suggested that it was a directory i presumed it was a directory! :S
mustafa.aziz said:
Here are the commands I entered after adb shell;
su
mount -o rw,remount /dev/block/stl9 /system
rm /system/app/mytouchmusic-signed.apk
exact message returned is 'rm failed for mytouchmusic-signed.apk, Directory not empty'
Click to expand...
Click to collapse
rm -rf /blah/blah
here is your desired output:
sh-3.2# su
su
sh-3.2# mount -o rw,remount /dev/block/stl9 /system
mount -o rw,remount /dev/block/stl9 /system
sh-3.2# ls -l /system/app/mytouch*
ls -l /system/app/mytouch*
-rw-r--r-- root root 299838 2008-08-01 18:00 mytouchmusic-signed.apk
sh-3.2#

Full Root for Nook Glowlight

It took some doing, but after following the instructions in this link:
http://forum.xda-developers.com/showthread.php?t=2559915
I was finally able to root my Nook Glowlight. The instructions are kind of sprawled out and extremely unclear so I will sum up.
As always, you will need the ADB. In order to install the ADB, you need the Java Development Kit and the Android Studio (formerly known as the Android SDK)
http://www.oracle.com/technetwork/java/javase/downloads/index.html
http://developer.android.com/sdk/installing/studio.html
How to obtain root via ADB: The ONLY way you can root is using Windows. I was successful on Windows 7 32 bit, but it may be possible on other versions.
step 1) install bootloader driver.
You need to grab the drivers from here (bnusbdrivers.zip):
http://forum.xda-developers.com/showpost.php?p=49665945&postcount=279&nocache=1&z=184593200683593
then, open the Device Manager (on Windows). Be ready to right click on the new device 'omap3660' that shows.
With the nook turned completely off, plug in a USB cable. you will have less than 3 seconds to right click the new omap3660 device that shows up in the system profiler.
If you were successful and you right clicked on it in time, manually install the Barnes & Noble USB driver (there are entries added to the generic Google drivers for both the TI Omap 3660 bootloader and the ADB device after you modify the uRamdisk later on)
***NOTE***
If you WEREN'T successful on your first try (took me THREE times to get to it in time), you aren't going to get another chance to install the drivers. At least not easily anyway, because after Windows tries to automatically install the drivers for the bootloader and fails, it will disregard the device any time it shows up after that. So, you are going to need to delete the registry entries that it created, which in my experience was easier said than done. Even admin access was not sufficient to make the necessary changes to the registry.
You will need to launch regedit.exe using another tool called psexec which is available here:
http://technet.microsoft.com/en-us/sysinternals/bb897553.aspx
after you download the pstools package, copy those .exe files to C:\Windows\System32\ (in order to add them to $PATH in cmd.exe)
Then, once you've installed the pstools commands to C:\Windows\System32\, run cmd.exe as admin (right click it and select 'run as administrator') and then open regedit.exe with the following command
Code:
psexec -s -i -d regedit.exe
Then, once regedit is open you need to find the keys created by the Nook bootloader and delete them. The Nook bootloader's device ID is 0451:d00e
You are going to be looking in HKEY_LOCAL_MACHINE\Current Control Set\enum\usb\ for the keys with the bootloader's device IDs. There may also be keys generated in control set 001 and 002 as well. Delete all of those keys and then reboot your computer. Then with the nook power off completely, repeat the process from the first step. eventually you will be successful installing the bootloader driver.
Step 2) temporarily boot with uRamdisk-noogie
you need to download omaplink.exe from here:
http://www.temblast.com/android.htm
and you also need to download the four files which allow you to temporarily mount the boot partition; omap3_aboot.bin, u-boot-ng2-exp-v03.bin, uImage-ng2-130-stk and uRamdisk-noogie.
They are available here:
http://forum.xda-developers.com/showpost.php?p=49779966&postcount=285
download usbboot-ng2-images-noogie-v1.zip
The next part is easy.
Extract the .zip file and then fire up cmd.exe. cd into the directory of the newly extracted .zip
in the new working directory, enter the command
Code:
omaplink omap3_aboot.bin u-boot-ng2-exp-v03.bin uImage-ng2-130-stk uRamdisk-noogie
Then, with the Nook powered all the way off and omaplink running, plug it in and a few seconds later, after the device boots up all the way, you will be looking at the contents of the boot partition instead of the internal storage like normal.
Step 3) Edit uRamdisk
you will need to download bootutil.exe from here
http://www.temblast.com/android.htm
copy bootutil.exe to C:\Windows\System32
with the boot partition mounted, copy uRamdisk to your computer and extract the files init.rc and default.prop, eg;
Code:
bootutil /x /v uRamdisk init.rc default.prop
then using notepad++ (available here: http://notepad-plus-plus.org/) edit the files as follows
default.prop
ro.secure=0
ro.allow.mock.location=1
ro.debuggable=1
persist.service.adb.enable=1
and
init.rc
comment out lines 375 and 392-399
(do this by adding a # to the beginning of the line)
uncomment line 215
(do this by deleting the # at the beginning of the line)
save both files and then repack them into uRamdisk
Code:
bootutil /r /v uRamdisk init.rc default.prop
copy uRamdisk back onto the Nook, eject the disk and power off the device. Reboot and you should be able to connect to ADB via WiFi
eg;
Code:
adb connect 192.168.0.10
replacing '10' with whatever IP your Nook is grabbing from your router.
Step 4) Full Root
at this point, you have root access via ADB only. You will not have root access in any apps like Root Explorer, Terminal, TiBackup, etc.
In order to finish PROPERLY rooting your Nook, you need to install 'su' to /system/bin/ and install the superuser.apk
Code:
adb connect 192.168.0.10
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
reboot your device one more time and then you will be fully rooted.
*** Note ***
this devices firmware seems to be a strange hybrid between donut and eclair, although it purports itself to be Android 2.1. The Superuser.apk and su binary came from an old Cyanogenmod 4.6 build in case anyone was wondering (Android Donut). The ones from Cyanogenmod 5 (Android Eclair) do not work. you will get the 'install failed older sdk' error.
installing busybox
I tired installing busybox by using the stericson busybox pro.apk. It would always freeze at 6.47%.
I figured out that if I grabbed an older version of the busybox binary and pushed it to /system/xbin manually and then chmodded it to the proper permissions, auto updates and proper symlinking work using the busybox app
Code:
adb shell mount -o remount, rw /system
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Then reboot, and run the busybox app to update and create symlinks.
enjoy!
installing nano and bash
Code:
adb connect 192.168.0.10
adb shell
mount -o remount, rw /system
adb push nano /system/xbin/
chmod 6755 /system/xbin/nano
adb push bash /system/xbin/
chmod 6755 /system/xbin/bash
bash
mv /system/bin/sh /system/bin/sh.bak
ln -s /system/xbin/bash /system/bin/sh
chmod 6755 /system/bin/sh
adb push profile /system/etc/
adb push terminfo /system/etc/
and then in terminal emulator under 'Preferences' change the initial command to
Code:
export TERMINFO=/system/etc/terminfo;export TERM=linux;export HOME=/sdcard;
and finally
Code:
adb push bashrc /sdcard
adb shell
mv /sdcard/bashrc /sdcard/.bashrc
exit
nano works just fine via ADB, but because of lack of 'ctrl' key (and physical buttons to assign it to) you won't be able to write files (ctrl+o) using the terminal on your nook. But between having full proper root access, busybox, a proper bash terminal emulator and nano for editing config files, this should REALLY extend the usefulness of your Nook Glowlight. It should work just fine on other versions of Nook too.
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
As far as remounting /system as ro, I would HIGHLY recommend just rebooting at this point, otherwise your nook might be stuck in a weird pseudo-rooted state. Probably won't cause any problems, but why risk it?
Thanks for clarifying the line number. I will make the appropriate edits to my instructions. I was working off the top of my head and couldn't remember what exact line the ADB over TCP config was, as I just used ctrl+w '5555' to find it myself.
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
darz said:
Hi N00b-un-2,
Many thanks for your summary!
There is one important edit that I think you missed,
in init.rc you also need to:
Line #375, comment out "disabled" with a # at the start of the line.
(see http://forum.xda-developers.com/showthread.php?p=49070213#post49070213)
without this I couldn't get adb to connect.
And since you already made it very noob friendly, might I suggested you clarify:
Line #215 remove # to enable adb over wifi
(rather than search for 5555)
Also, I'm not expert, but I believe the commands to get superuser on the device are (at least it worked for me):
adb connect 192.168.x.x
adb shell mount -o remount, rw /system
adb push su /system/bin/
adb shell chmod 6755 /system/bin/su
adb install superuser.apk
Finally, I'm not sure if this is important, but maybe remount system as read only again:
adb shell mount -o remount, ro /system
Thanks again, nice work!
---------- Post added at 01:48 PM ---------- Previous post was at 01:10 PM ----------
Hi again,
had similar issues with installing busybox, here's what worked for me (note needed to run su to create dir):
adb shell mount -o remount, rw /system
adb shell /system/bin/su
adb shell mkdir -p /system/xbin
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
cheers.
Click to expand...
Click to collapse
N00b-un-2 said:
There are several pre-edited uRamdisk images floating around the forum with various features enabled which would be easier for noobs than extracting the config files and manually editing and then repacking them. In the future I'll probably throw those on here as well.
Click to expand...
Click to collapse
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
darz said:
Would have been good if I could have easily found a pre-edited image, but your instructions were a great alternative, thanks again
Click to expand...
Click to collapse
Sorry for the really noob question, I have rooted, wifi adb running and installed apps as per your instructions, but I can't seem to access any of it on the nook. How can I get access to the launcher I installed?
You mentioned pre-edited images, do any of those come with the apps I need to get access to a custom launcher?
Cheers,
Dariusz
==============
Updated: All sorted
==============
For some reason had some issues with ADW launcher, Launcher pro worked fine.
ps I think I made a mistake with the su step I suggested, if you run a one line shell command I don't think it keeps su privileges, so I believe you need to run commands within the shell as per below:
adb shell
mount -o remount, rw /system
/system/bin/su
mkdir -p /system/xbin
exit
adb push busybox /system/xbin
adb shell chmod 6755 /system/xbin/busybox
adb install busybox.apk
Noob
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
The above instructions from N00b-un-2 should work fine running a vm with parallels on your Mac.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
valentin1985 said:
Hey guys any instructions noob friendly or a video in youtube,i stick up at dab connect 192.168.0.10.I dos't have a Windows PC and using Mac whit Parallels Desktop.Is it possible instructions for Mac?
Click to expand...
Click to collapse
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
darz said:
Before you perform the adb connect step you need to find out what your IP address is:
On your nook, click on the settings icon in the top right corner and then select "Change"
Under Wireless Networks, select the wifi name that you are already connected to (where it says "Connected to the internet")
This will display your connection details, remember that IP address
Now go back to your pc and type:
adb connect [IP address]
Click to expand...
Click to collapse
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
thenookieforlife3 said:
BIG HINT! If you're using Powershell ISE, you have to type .\adb.exe connect [IP address] or else it won't recognize "adb" as an executable!
Don't ask why, because I don't know. :?
Click to expand...
Click to collapse
So far so good,but now what?
valentin1985 said:
So far so good,but now what?
Click to expand...
Click to collapse
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
thenookieforlife3 said:
I just gave a little tip on Powershell ISE. I do not know much about the Nook GlowLight rooting process, as I have a NSTG, not a NG. Ask someone else.
Click to expand...
Click to collapse
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
valentin1985 said:
Yes,i try whit dis command .\adb.exe connect 192.168.0.9 but result is the same.
Click to expand...
Click to collapse
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
thenookieforlife3 said:
But that's okay! What I said was, if you are using the command program Powershell ISE, do it that way instead. But you are just using cmd.exe, not Powershell ISE!
In cmd.exe, which is what you are using, it is not neccessary to type .\adb.exe. Just type adb.
From there, ask someone else in this thread.
Click to expand...
Click to collapse
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
N00b-un-2 said:
I prefer to use ConEmu or Console2 when I am forced to use Windows. Not a big fan of CMD.EXE or Powershell/PowershellISE. there are plenty of other CLI alternatives out there
Click to expand...
Click to collapse
Well, as I ONLY use Windows and Powershell ISE has a nice-enough layout for my purposes, I use it. That's why I gave a tip on it.
Actually on a lot of installs just typing adb in the command console won't work either unless it's got the path variable set up correctly, I find it easiest to just right click and choose run as administrator, no need for the path to be setup.
OB
Sent from my SPH-D710VMUB using Tapatalk 2
FW 1.2.1
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
real-6 said:
Hi guys,
thanks for creating this thread. I was wondering if this rooting procedure was tested with the firmware 1.2.1 ?
Click to expand...
Click to collapse
This rooting procedure is for the new Nook GlowLight with firmware 1.3.1. Your device is a Nook Simple Touch with GlowLight, which can be rooted very easily using the rooting package here.

Categories

Resources