THIS METHOD IS NO LONGER WORKS as of update version 2.0.5 and higher.
Please visit this thread instead for the current rooting method.
Posting in this thread will get you nowhere, let it RIP.
ANNOUNCEMENT:
If you have a new Nook HD/HD+ and want to root and get the GAPPS running, you should follow the guide at the All-in-One thread instead. That said, I won't copy all the information here to there, so you should continue to read on.
Let me start by saying that I didn't come up with the working root method. The original root instruction came from verygreen in this thread. And I am not a developer, I merely have a few linux background and even less so in the Android. I worked on this on my spare time by myself.
I merely take what was working, but unusable to make it usable. I found something that he is missed. This may actually be working on Nook HD (non-plus) also, but since I don't own one I can't say that it will.
Disclaimer:
If something gone wrong, it's all your fault. I take ZERO responsibility for what happen to your device, your life, your wife/husband, your kids, your unborn child and etc. You get the idea.
Background:
When I found out the root doesn't actually work past a reboot, I start looking what actually cause the Nook to be pissed and factory reset itself. Well, it seem that the /system and anything in there is basically coming from a /dev/block/mmcblk0p8 And if something got change, Nook get pissed and do a FULL FACTORY RESET(I'll explain in a moment). Well, at least I start investigated under that idea.
What I found:
What I found, or at least what I think I found is that, probably just adding file, or increase in the size(maybe there is a threshold for this), will cause it to do a full factory reset. What I also found is that there is a $PATH for /system/sbin but not pointing to anywhere. So I come up with the idea of making another ext4 file system in a file and loop mount it to /system/sbin I guess that work(very well). What I also found is that, there are two kind of factory resets. The one that you perform yourself, which is actually not a full factory reset and the one that Nook get pissed and do the full one.
A factory reset that you perform yourself, whether from the GUI or button combination will basically clean the partition /data while a full blown one will basically restore other partition such as /system
What is included:
basically a zip file, inside that zip file are 6 files.
boot_complete_hook.sh.bak this is basically a modified version of verygreen's
busybox & su are basically from his thread
superuser.apk well I found this one floating around and seem like a good idea to stick it in there (not even sure if it gonna work w/ Nook)
makeroot.bat this is basically what do most of the work. It's base on verygreen original rooting instruction.
sbin_mount This is basically an ext4 file system which have su and another version of busybox all setup nice and tidy for you all. This version of busybox is 1.20.2r2 which I grabbed from here.
Prerequisite:
ADB, it's your responsibility to have adb up and running, meaning not just have it install, but it can see your nook also.
leapinlar wrote a post to help you getting ADB to work here.
Now to get root:
all you have to do is unzip it and run makeroot.bat (obviously you run this in windows command prompt). Yub that's all. The batch file will do the rest, including reboot the nook and wait for it to reboot and stuff. Won't make a coffee for you though.
The manual and hard way:
well, I will only explain this in a summarize way. Basically this start with verygreen rooting method. It basically take advantage of the exploit and run /data/boot_complete_hook.sh which you adb push yourself(with correct permission) with root privilege. What you can run in there is basically up to your creativity. So obviously in this case, you mount the sbin_mount as an ext4 filesystem in the /system/sbin You can make this file yourself if you want to, in linux using dd and mkfs command. Basically using dd to create a file volume to the size you want and mkfs to format it to ext4. Mount it and start uploading stuff you want in there. You will have to correct all the file permission as well. Since all of this will be mounted to /system/sbin you should be aware what you gonna put in there. I guess I could make this thing 100MB, but for this specific purpose 10MB is enough. I my case, just the su and busybox and the symbolic links for the busybox. I'm doing this for the long term. I'm too lazy to point to busybox everytime I wanna do something.
What to do afterward:
Now that you have root, you can Enable Unknown Source to allow you to install app from within the device and install GAPPS. Follow the two guides below if you interested.
Enable Unknown Source: Again, I make an easy little tool for you here.
GAPPS: here.
Did I missed something:
Well, as I said I'm no coder so if I didn't do a clean job, you can refine it. If I didn't document or give proper credit, then I guess I missed that. Sorry about that, again I'm no coder and never done this. And finally:
If this thing work for you, feel free to hit that "THANKS" button. I spent many hours trying to come up with this solution.
FAQ:
Q: My so and so application when attempting to have root access get freeze up, or superuser doesn't work?
A: Well, I'm not sure if this is dued to how the Nook side-loading work or not, but it seem for some reason superuser won't start by itself. So you have to start it manually the first time.
Q: I type in "adb root" and I can't get in as root, it doesn't work?
A: yes it does, it's just not working with adb root. You can get in via "adb shell" once you get in, type in "su" and you can see that you now should have root access.
Thank you so much! This works perfectly. Survives reboot.
here's the Linux version.
Thanks someone0 for getting this started.
Haven't fully tested the linux version, but it loads and starts up, so should work.
extract, and open up terminal and navigate to the dir you extracted to, and type
./makeroot.sh and then enter.
This sounds like a good idea initially.
It is true that the B&N does not just check for /system/xbin/su directly like they did in the past.
This time they check for something else and I just had no time to look into it more deeply to find out what is it they are actually checking for. I plan to figure this out on Friday when I am back home.
Also wanted to tell you that having Linux background is a great thing when tinkering with Android (at a low level, anyway). I don't have much Android background to speak of as well.
This works really well, and thanks to Someone (and mad props too) for getting persistent root working on this.
I may be being very naive, but my suspicion on the reboot is around the manifest file that's present at root.
It seems to be generated by the boot process and it might provide a quick and dirty list of what's permitted on the device to check. With persistent root, lots of investigation becomes a lot less painful. I expect that by end of day we'll have install unsigned running.
Early in my experimenting with the HD+, I noted:
- some versions of the Google Services Framework can be installed via adb
- when I launched the native calendar app after installing gsf, it wanted to sync to a google account, and was able to add the google account
- one version of the Play store installed and launched as far as throwing the 'you must accept the terms of service' before crashing
What BN most likely does is calculating the hash value (or digest, if you prefer) of certain system files that they think shouldn't be tampered with, then during reboot, the values of these files must match, or they will do a factory reset.
The key point is to find out where they do these checks and fool the check.
This sound simple but it depends on how they implement it. If they use binary decisions (like if the hash_value == calculated), then it is easy to get around. If not (e.g. using white box algorithm to hide keys), then it get more complicated.
excellent and very elegant solution. Kudos!
I'm heading out to work, and if you think your theory is right, try poking around with it. Now that your have root, you can try to dd those bootloading partitions out to user area and upload them out to PC and inspect them.
looking at the vold.fstab
Code:
xloader -> /dev/block/mmcblk0p1
bootloader -> /dev/block/mmcblk0p2
recovery -> /dev/block/mmcblk0p3
boot -> /dev/block/mmcblk0p4
rom -> /dev/block/mmcblk0p5
bootdata -> /dev/block/mmcblk0p6
factory -> /dev/block/mmcblk0p7
system -> /dev/block/mmcblk0p8
cache -> /dev/block/mmcblk0p9
userdata -> /dev/block/mmcblk0p10
Be extra careful when touching those partition if you not sure, don't touch them. But making a block copy of them and taking them out should be relatively easy and safe. Obviously you gonna need a Linux box to do this. I setup a VM on one of my PC last night because I need to get a ext4 partition and put all the goodies in there.
krylon360 said:
here's the Linux version.
Thanks someone0 for getting this started.
Haven't fully tested the linux version, but it loads and starts up, so should work.
extract, and open up terminal and navigate to the dir you extracted to, and type
./makeroot.sh and then enter.
Click to expand...
Click to collapse
Just wonder why do use a zip file for the linux version? Wouldn't this kinda messup the permission when compress/uncompress? meaning, makeroot.sh may not have the proper permission when unzip. Please double check.
someone0 said:
Just wonder why do use a zip file for the linux version? Wouldn't this kinda messup the permission when compress/uncompress? meaning, makeroot.sh may not have the proper permission when unzip. Please double check.
Click to expand...
Click to collapse
works just fine.
I chmod a+x'd the script before putting it into the zip.
heh, yeah, it works. Forgot I had my touchpad pluged in and it rebooted it....
whoops.
thanks for posting the location of the /recovery partition. I want to put a copy of htat on ice to prevent BN from undoing any of my work in a future update - I may want some of the fixes they have, but I want to be able to roll them back if needed.
Someone0 are you around can you pm me, Your root works, I installed nook color tools ver .02 in system/app folder and was able to see it in my sideloaded launcher, was able to uncheck/check install non market apps which sets the setting for US to be able to install .apk files from the nook itself, ONLY ISSUE is since I put that file in the system/app folder and the nook didnt like it I got stuck in a bootloop and get to start this process all over again! (nook resetted to ground zero)
maybe we temporary can leave it there get us the permission to install non market apps then remove the file and we will be ok or maybe stuck in another bootloop.
---------- Post added at 09:20 PM ---------- Previous post was at 08:52 PM ----------
GOT IT WORKING NOW:
1. Once rooted, get a file manager with root support and enable read/write permission to /system
2. temporary copy nook tools ver .02 .apk to the system/app folder
3. have a sideloaded launcher and check the app drawer youll see nook tools, run it, first screen uncheck and check the install non market apps box couple of times make sure its checked afterwards
4. have a test .apk to run the BN installer on and see you can now install .apks from the NOOK HD and HD+
5. remove the nook tools.apk file from the system/app folder and quit your file explorer which should reset everything for the system folder back to the way it orginally is!
6. reboot, if you reboot successfully with no boot loop 8 times, your GOLDEN FOR NOW! once again load up a file manager go select an .apk file and see you can now install it! Next step is trying to get amazon market working! then google somehow, but for google you need files in system/app folder permanently!
7. YOU CAN NOW SUCCESSFULLY DOWNLOAD .APK FILES through web, email, any other app and install through the NOOK HD or HD+ BN installer for .apk files. Watch what you install, if it gets put into /system or /system/app folder DREADED BOOT LOOP which resets everything! AMAZON MARKET WORKS!!!! and apps from there install fine to the BUILT IN MEMORY.
** Hopefully amazon market dont install stuff to the system/app folder and if it does hopefully you do not get the dreaded boot loops where you got to start this whole process over again so be forwarned!!! you will loose all data on NOOK HD and HD+ if u get stuck in the bootloops! BACKUP STUFF before messing with root and this kind of thing! DEVELOPMENT!
Aside from moving the actual apk to /system/app/ temporary (since you only do it once), putting a symbolic link there may work also without creating a reset loop. But can't you just side load the apk and run it in other folder?
someone0 said:
Aside from moving the actual apk to /system/app/ temporary (since you only do it once), putting a symbolic link there may work also without creating a reset loop. But can't you just side load the apk and run it in other folder?
Click to expand...
Click to collapse
when you sidelaod it OR install or have it installed to another folder or ran from another folder it cant modify the setting to allow non market apps to install!!
has to be in the /system/app folder THEN RAN from app drawer then you can set the setting uncheck and check box quit program and for now YOU HAVE to remove the .apk from the system/app folder and then you can reboot and the setting sticks! I GOT AMAZON MARKET INSTALLED right now installing apps! NOW WE GOT A KINDLE ladys and gentleman!
Amazon apk installs in internal memory. Apps downloaded from Amazon get installed in internal memory. You can then move them to SD card or leave them in internal memory. System apps are provided in the ROMs by the developers or vendors. ALWAYS back up before making system changes.. Now rooted - use Titanium Backup. System/app should be static throughout ROM lifecycle unless modified by user.
skyhawk21 said:
7. YOU CAN NOW SUCCESSFULLY DOWNLOAD .APK FILES through web, email, any other app and install through the NOOK HD or HD+ BN installer for .apk files. Watch what you install, if it gets put into /system or /system/app folder DREADED BOOT LOOP which resets everything! AMAZON MARKET WORKS!!!! and apps from there install fine to the BUILT IN MEMORY.
** Hopefully amazon market dont install stuff to the system/app folder and if it does hopefully you do not get the dreaded boot loops where you got to start this whole process over again so be forwarned!!! you will loose all data on NOOK HD and HD+ if u get stuck in the bootloops! BACKUP STUFF before messing with root and this kind of thing! DEVELOPMENT!
Click to expand...
Click to collapse
This is why I put the /system back to ro, at least that is what I think I did.
Amazon Store working on ROOTED Nook HD
Proof of Concept:
http://youtu.be/wCyd730L74Y
skyhawk21 said:
Proof of Concept:
http://youtu.be/wCyd730L74Y
Click to expand...
Click to collapse
LOL, your internet is slow. Could have cut the video time by 1/2 if not 2/3 if you switch to faster ISP.
skyhawk21 said:
Someone0 are you around can you pm me, Your root works, I installed nook color tools ver .02 in system/app folder
Click to expand...
Click to collapse
What exactly did you install? I cannot find "nook color tools" in Google Play or on APKTOP. Thanks for your hard work!
NEVERMIND! I found the thread that has the link for the app: http://forum.xda-developers.com/showthread.php?t=868366 Thanks again.
does this root method work on Nook HD+2.0.2?
if not how I can downgrade to 2.0.0?
When I originally bought the Nook HD+, I made several futile attempts to get ADB working so I could sideload apps to it. I was so frustrated that I was ready to give up and return it. But I finally got it going and with the help of a few smart users here was able to get it rooted and installing apps directly on the device. So, to save some other users the same frustration I had, I thought I would outline what I did to make this device hum.
Update 12/27/2012: A lot has changed since I first created this tips thread. I am updating it to the latest information. Most of the steps below are not necessary anymore since I now have a new thread here which lets you do these things easily with a special version of ClockworkMod (CWM) recovery for the HD and HDplus. And the text here has been modified to reflect that and include the HD.
Update 11/02/2013: Since B&N has included the gapps and Play Store in version 2.1.0 and above and since verygreen developed the new boot.img that removes B&N /system file protection scheme and I updated my HD/HD+ CWM thread to account for those changes, I decided to give this thread an update. I have added comments to the sections in italics below where necessary
If you have questions or comments on this post, reply to this thread. Please do not send me private messages or emails. By posting in the forums others get a chance to help you and if I answer your question in the forum, others can see my response and it may help them too.
1. Setting up ADB
ADB is very useful for many things but you do NOT need ADB to root anymore. Look at my thread referenced above to use CWM to root.
Also, rather than use ADB via USB, it is much easier to use a Wireless ADB app available in the Play Store.
If you want to know how to set up ADB with USB, click on the "show content" button below.
The first thing you need to do is get ADB working on your PC so that it can connect with the HD+. The instructions to do that is on B&N's own site here. (But you really don't have to do all that, see below). To make it easier for XDA users, I have attached to this post the drivers downloaded from B&N site. Download and unzip that file to your PC.
To install the drivers, do the following (I tested this on Windows XP and Windows 7):
1. On your HD+ go to settings, device information, developer options, and make sure check "Enable ADB" is not checked.
2. Plug in the device to the PC with the USB cable. MTP should install.
3. Unplug the device, go to settings again and check 'Enable ADB'. Plug back in.
4. New devices will try to install. When they do, work your way through the options until you get to the choice "include this location in search" (the terminology is a little different in Win7) and browse to the location you unzipped the driver files above. Continue and the driver should install. In Windows 7 just one device will pop up. On Windows XP, two may. (Edit: If you are having trouble with this step, go to the B&N link I have above and read and follow section 4.6 of that guide. You can skip section 4.6.2 since you unzipped those drivers earlier. But do all of the remaining steps in section 4.6).
5. An "Android Composite ADB Interface" will install. If the computer says it needs to reboot to finish. Do it.
6. If, when it starts back up, and after installing ADB below, it does not work, you may need to go the Device Manager and look to see if "Android Composite ADB Interface" device has a yellow exclamation point by it. If it does, update the driver with the B&N driver again.
7. Create a file named adb_usb.ini and put 0x2080 in it with no line feed or carriage return. Go to \documents and settings\ and open your users folder and create a folder named .android and put that file in it.
8. I have attached a file named adb.rar below. Just unrar the adb.rar file. There will be three files there that you can put in a directory (any name you want).
9. Open a command prompt and cd to wherever you copied those adb files. If you set your path to that directory, you can have the prompt set for any directory, like where your apks are stored. Type 'adb devices'. It should go through some commands ending with a list of devices connected. The serial number of your HD+ should be listed. You can now run ADB commands.
2. Sideloading Apps
Once Unknown Sources is activated by my CWM zip above, you do not really need to install apps this way anymore.
Once you have ADB connected to your HD/HD+, it is very easy to sideload install apps. Just have your command prompt set to the location that you have your apk's stored and type "adb install xxx.apk", where xxx.apk is the name of your app. It is best to name the apk to something simple with no underlines or special characters in the name. It does not matter what you name it, the real name is inside the apk. The app should install. I would start with a launcher app since sideloaded apps cannot be seen in the stock launcher. Then I would install AnyCut which I have attached to this post. This app allows you to put the Home command on your launcher's home screen so that after you make your launcher default, you can get back to the B&N home page. There is a trick mentioned in the B&N guide referenced above that lets the stock app drawer see your sideloaded apps. On the Apps screen, hold the volume up button while you press the "Apps" word at the top of the screen for 2-3 seconds. An "Extras" screen will pop up showing all of the sideloaded apps. You have to do this every time you want to see it.
3. Rooting the HD/HD+
Rooting is now very easy using CWM in the referenced thread above. If you want to use the older manual method, click on the "show content" button below. But be warned these older methods no longer work on version 2.0.5 or newer.
Verygreen came up with the original scheme to root the HD+. But it had a problem. The HD+ checks on boot to see if /system has changed, and if it has, it will not boot. It tries this 8 times and on the last time the "8 failed boot" procedure kicks in and your device is wiped clean (including your storage space) and the factory ROM is re-installed. He later modified it to survive a reboot. Someone0 developed another scheme where he can root without modifying /system directly. So the next time it boots, it boots normally. See his thread here.
ONCE YOU HAVE ROOT, DO NOTHING THAT MODIFIES /SYSTEM OR IT WILL NOT BOOT AND END UP RESETING ITSELF. Also do not install anything that installs to /system, like busybox, AdFree and a few other apps. Ignore this warning with Universal Root rev3 or higher.
4. Setting OTA (Over the Air) Updates from B&N to Manual
When you first register the HD/HD+ it will automatically update itself to the latest version. To protect yourself against further updates that might jeopardize your ability to root or add other mods, you should try to block further automatic updates. But it seems that making this mod is no longer effective, B&N updates anyway.
Again, I have a CWM zip that will do this for you in the referenced thread above. If you want to see how to do it manually, click on the "show content" button below.
EDIT: (2/22/13) I have a new way to block OTA that seems to work so far. Another user (thanks greenya!) discovered this and I have come up with a way to implement it. I use the app AdAway to put my own black list of sites to not allow access to. If you want to try this, you must be rooted. Get AdAway either on the 1mobile.com market or at its developer's site (http://code.google.com/p/ad-away/). Before you do anything go to its preferences and change the target hosts file to /data/data/hosts. That way it will not reset the device. Then go to "Your Lists". Add this site to the black list: su.barnesandnoble.com. Then go to the main menu and select "Download files and apply ad blocking". It will ask you if you want to add a symlink, say yes. (If you installed the new boot.img from verygreen or flashed my latest version of Universal Root (rev3 or higher), you do not need to worry about adaway resetting your device. Just install it normally.)
It does not seem to block any B&N shopping or downloading apps or books. I installed this on my 2.0.5 and purposely tried to update and it says it needs the update but pushing download does nothing. Then I unblocked it and pushed download and it started to download immediately. So it does work.
Basically the same method used on the Nook Color and Nook Tablet should work on the HD+. It requires that you edit a database file and that requires root access. I use the paid Speed Software's SQLite Editor. You need to use the latest version (2.0.1). I could not get my older version to get root access.
So here is a description on how to do it with SQLite Editor. Open the app and it should get granted superuser access. Then browse with it to /data/data/com.bn.devicemanager/databases. There should be a file there named "devicemanager.db". Open that with SQLite Editor. There should be a list down the left side, one being "registry". Click on that. A table opens up that looks like a spread sheet. On line 6 is com.bn.device.fota.mode. Scroll across till you see the value column. It should say auto. Edit that to manual. Save the database and you are done.
This worked on the other Nooks, so should work here. See the post below for another automatic method.
5. Setting Up Installing from Unknown Sources
I also have a CWM zip that will do this for you in the referenced thread above. If you want to see how to do it manually, click on the "show content" button below.
You can toggle the unknown sources using the same method as I used for blocking OTA. Just look for the database in /data/data/com.android.providers.settings/databases. The database is settings.db. Open secure and line 4 - install_non_market_apps and change the value to 1.
6. Setting up Google Play Store and Google Apps
I also have a CWM zip that will do this for you in the referenced thread above. If you want to see how to do it manually, click on the "show content" button below. If you have stock version 2.1.0 or higher you do not need to flash my zip. Play store is included in the ROM.
Someone0 has a post on how to add Google Play Store is here. And he now has it so you can install the entire Gapps package, including Play Store. Again, you must be rooted first.
7. Setting LCD Density
If you are like me, you hate the tiny fonts on these high resolution devices. You can change the default lcd density to help with that. The default lcd density for the HD/HD+ is 240. I changed it to 300 and everything works fine on the HD+ and fonts are a little larger. But you cannot modify build.prop on /system to do that. It will cause the device to reset itself since you are modifying /system. To get around that, create a file in /data named local.prop. Add the following line to that text file:
qemu.sf.lcd_density=300
Then reboot and your new density is set. You need to be rooted to do this on the device.
I found that changing the density on the HD made the SystemUI app crash. If you want larger fonts for the HD, I recommend you use the tip in the next section.
8. Larger System Fonts
If you don't want to set your LCD density higher but you still want larger fonts, a user (Windsor1959) just passed on this tip. Go to the B&N app store and install the free app Go Read. Once that is installed, open it and use the menu to go to accessibility settings. There is an option for larger system fonts. It works great. Thanks Windsor1959.
I also just discovered that there is another hidden setting that lets you set the system fonts from small, normal, large and huge. To get to these settings you need a third party launcher like zeam or adw and the AnyCut app I attached below. On the launcher screen long press and select shortcut. Select AnyCut from the list. Within AnyCut select activity and scroll down to fonts. Select that and a fonts shortcut will appear on the launcher screen. Open that and you can select the font size.
9. Data structures on the HD/HD+
For those of you used to having two separate partitions for data and media files, B&N has used a different scheme for the HD/HD+. They make one very large /data partition ranging from 5GB to 28GB depending on which device you have. Then they create a folder in /data (/data/media) and, using the sdcard fuse feature, link it permanently to /sdcard. So that means it is one big dynamic space for both /data and /sdcard, sharing the free space. /data is considered root and /sdcard is not.
They named it /sdcard because a lot of third party apps expect there to be an sdcard on the system and won't run unless there is one. That creates a little bit of a terminology problem for us Nook Color users. We are used to having /sdcard be an external SD. And on top of that, if we do add an external SD, it is mounted as /ext_sdcard under /mnt and that is hard for some apps to see. And when you connect your device to your PC with MTP, internal media (sdcard) is called 'internal memory' and the SD (ext_sdcard) is called 'SD card'. I think B&N did this with the expectation that users would not be rooted and be able to see that stuff under the hood.
Since sdcard is really just a part of /data, it is formatted as ext4 instead of FAT32 like the Nook Color media partition was. That means you can store a single file larger than 4GB, which is the limit for FAT32. Most external SD cards are formatted FAT32 so they are also limited to a single file size of 4GB. But it makes them directly readable by your Windows based PC. When you first put a new external SD in the HD/HD+, it asks you if you want to reformat it so you can more easily store your media files. If you say yes, it will format it to ExFAT, a new flash drive format that supports larger file sizes. That's good for your media files since you can have very large files on it. But it could be bad if you want to take the card out and put it in your Windows XP PC because XP cannot read it without an update patch from Microsoft. If you have Vista or higher, ExFAT can be read natively.
When you do a factory reset (clear /data) your media directory (/sdcard) is wiped out too.
Also, the B&N media, books, magazines, etc., are stored in /data/nookmedia, which is root.
10. White on White Text for Some Apps
One of the annoying issues with using some third party apps is the HD/HD+ displays some dialogue boxes with white text on a white background so that the text is unreadable. Someone0 and I developed a patch that can repair this. I have a zip in my CWM thread referenced above to repair the HD+ and HD. (Also since stock version 2.1.0, B&N has dramatically changed the color scheme so that the white-on-white issue is no longer the problem it used to be, I have discontinued providing white-on-white mods for version 2.1.0 and above.) If you want to see how to do it manually, click on the "show content" button below.
Someone0 and I have been working on this and have found a solution. It requires a modification to the framework-res.apk on /system. And the mod works very well. The problem is that the apk is on /system and must be symlinked using our symlink trick we use on /system files when we need to modify them. That is easy to do, but this particular apk is very critical to your system. If you do not get it installed properly, it will lock up the device and you either need to reset it completely or repair with ADB.
If you are tech savvy enough you could modify your own apk and install it. In the colors.xml file in the values section of the de-compiled apk, are two settings that need to be changed, "background_light" and "background_holo_light" need to be changed to "ffcfcfcf". The color choice was a compromise between making the text dark enough to be seen against a white background and bright enough to make things like menus show in the grey backgrounds. Re-compile and put the apk in /data, delete the apk in /system and symlink to the one in /data. The problem with doing it manually while running is as soon as you delete the apk, things go bonkers. And you cannot add the new symlink until the original apk is deleted. If you start messing with this mod, be sure to have ADB enabled so if it locks up and gets stuck on booting, you can access things with ADB and hopefully repair it. When I did my system manually, I copied the modded apk to /data with root explorer, used root explorer to set /system to read/write, then used ADB to delete the apk in /system and create the symlink. If you mess up, it will boot, but get stuck at the 99% level. Hopefully if you left ADB enabled, you can use ADB to repair whatever is wrong.
11. Implementing Userinit.d
Userinit.d can be used to run specialized scripts as part of the boot process. The HD/HD+ does not implement userinit.d, but it can be modified to allow it. And these scripts can be used to customize the performance of the device, like modify fonts, change colors, add symbolic links, modify drives, set CPU speeds and tweaks, etc.
I have implemented userinit.d in the new Universal Root zip in my referenced CWM thread above. (The latest version no longer uses it).
The scripts are usually named with numbers at the beginning and no extension. Examples would be the scripts from CM7 init.d which are: 00banner, 01sysctl, 03firstboot, 05mountsd and others. They are executed in the order of the numbers. They are plain text files that have as the first line:
#!/system/bin/sh
Then they have script commands in text format.
The beauty of these scripts on the HD/HD+ is you put them in /data instead of /system which would reset your device. Put the script files in a new folder named /data/local/userinit.d. Set the script file permissions to execute.
There are examples of userinit.d scripts out there if you search for init.d scripts on XDA or the web. Some will work on the HD/HD+ and some won't. I have a great example in the next section.
12. Swapping "sdcard" and "ext_sdcard"
I now also have this modification as a flashable zip in my CWM thread linked above. No need for root with that one.
As explained in section 9 above, the internal media is named "sdcard" so that apps can store their files there. Some users would like them stored on their external SD. I have a userinit script that will swap "sdcard" and "ext_sdcard" so that apps will store their files on the external SD. The external SD will show as "sdcard" and the internal media will show as "ext_sdcard". And it shows swapped using MTP also. It can be a little confusing since we cannot control the names, but they are swapped. If you don't have an external SD plugged in, both sdcard and ext_sdcard will show the internal media.
To swap the drives, make sure userint.d is implemented, then download the attached file, 11SDswap.rar, and extract it and put the file in /data/local/userinit.d. Set the permissions of the file to execute in all three boxes. On the next reboot, they will be swapped. To return to normal, just remove the file and reboot.
13. Skipping OOBE (Out of Box Experience)
Skipping OOBE is when you want to skip the registration step when you first start your device or after a reset. Not registering means that you will not be able to buy books or apps from B&N or, if you already have an account, have access to already purchased items. Your name will show as TEST (which can't be changed). And, if you set up wifi, the device will still check for updates and if found, update.
So if you don't want to register, or that device is already registered to someone else and you can't, just skip OOBE. There are instructions for the Nook Color here. They still work for the HD/HD+.
14. Back Up Your Stock ROM Installation with CWM v6.0.2.8 for Nook HDplus and v6.0.2.7 for the HD
Now you can backup your stock installation with my bootable CWM (ClockworkMod) recovery SDs. That way you can restore if you make a mistake and change /system so the device starts to reset itself. Just catch it before the reset completes, insert the card and restore and you will be back to OK.
You can do anything with these CWM SDs you normally would do with CWM, (nandroid backup, wipe system, data, cache, dalvik-cache, fix permissions, etc).
One of the nice features is you can wipe /data without it wiping your internal media at /data/media. So, if you want to reset, just wipe /data and your media files are still left intact. And when you do a nandroid backup, it can be placed either on internal media or your external card. The nandroid backup feature backs up /boot, /system, /cache and /data (without the media folder). So if you want the media folder backed up you must do it manually from within stock. And when you restore, you can selectively restore any partition. So if you mess up /system by putting something there that causes a reset, just selectively restore /system.
EDIT (5/22/13) - There is a new procedure brought to my attention by another user (thanks fanoush) which lets you make the CWM SD without burning the image. It seems the OMAP4 devices are a little more liberal on the booting requirements than previous OMAP devices. This makes it easier to install on any size SD. Go to my HD/HD+ CWM thread linked in my signature and look at item 1a. There are instructions and files there.
The versions attached below are under 120 MB so they can be put on any size SD. It burns very quickly. But there is no room there for any backups. After burning the SD you can use partitioning software (like Mini-Tool Partition Wizard or EaseUS Partition Manager, both free) to expand it to the full size of your SD card if you want so there would be plenty of room for backups. But be sure to only expand the back end of the partition, being careful not to touch the beginning.
I also now have a 4GB versions for both the HD and HDplus attached to the CWM thread referenced above.
To make the SD, download the version for your device and extract the file. It should be a 120MB .img file. Burn (write) that image file to your SD card using Win32diskimager in Windows. In Linux or OSX (Mac) use the "dd" command.
To use Win32DiskImager, find it on the web (here, it's free) and install it on your Windows PC. Open it (be sure to run it as administrator) and select the drive (device) that has your card reader with your SD inserted. Then in the image file box put the location where you have the extracted img file. Then when everything is set right, click on the write button. A warning will pop up asking if you want to proceed. When you have verified that you are going to write to the correct device, click on Yes. (One user overwrote their external USB hard drive by not verifying first). With the small version it should burn fairly rapidly. If you get an error message about access denied, it means you are looking at the drive with Windows Explorer. Close Windows Explorer and try again. In fact, it is a good idea to close all unnecessary windows when burning, even your browser.
Insert the SD into your powered off Nook HD/HD+ and power on. It should boot to CWM with the label v6.0.2.8 for HD+ stock. The HD version just says v6.0.2.7 for Stock. You can tell it is booting properly if the cyanoboot logo shows up after the Nook logo shows for a few seconds. If the Nook logo stays there and starts changing, it means it is booting to stock. Hard power off by holding the power button for several seconds. Try again.
Manipulate the controls with volume up/down for cursor, n key to activate and power key for back.
15. Modifying System Files on the HD/HD+
Ordinarily you cannot modify system files on these devices because they will detect the change and reset themselves back to factory stock, wiping out all your data at the same time. But there is a safe way to do it if you are rooted.
If you have installed my new Universal Root rev3 or higher or installed verygreen's boot.img, the below procedure is no longer necessary, just modify the files directly.
The HD/HD+ has a manifest file included in the boot files that has a listing of each file that is supposed to be in /system and a checksum of each file. On boot, it reads the files in /system and makes sure each file that is there is on the list and matches the checksum. It ignores directories, symlinks and missing files. If one is added or has the wrong checksum, it stops and tries to boot again. If it reboots 8 times in a row without completing the boot, the automatic reset feature kicks in and your device is formatted and the factory ROM is reinstalled.
So you can see that missing files are OK and symlinks are OK. So if you want to modify a system file, first copy it to /data somewhere, delete the original, and make a symlink in /system to replace the deleted file. The symlink points to the file copied to /data. But be careful, some files, like framework-res.apk, are being used all the time and if you delete it, even temporarily, the system goes crazy.
The scheme that someone0 and I use is to mimic /system under /data/su so that the structures are the same to avoid confusion. For example, if you wanted to modify build.prop, it would be copied to /data/su/system/build.prop and the symlink would point there. Since build.prop is not used very often, it is safe to now modify it however you want. But be careful, some settings there are vital, like hardware rotation. Mess with that and things will go all wonky on the next reboot.
Here are the specific commands to make this happen using build.prop as an example:
1. Use your root file manager to copy /system/build.prop to /data/su/system/build.prop. Set the file's permissions to match the original.
2. Delete /system/build.prop also using your root file manager
3. Set up Terminal Emulator. Start the program and type su enter. After you allow superuser access, the prompt turns to #
4. Type the following command at the # prompt (without the quotes):
"mount -o remount,rw /system"
5. Then this command:
"ln -s /data/su/system/build.prop /system/build.prop"
(That first letter is a lower case L)
6. Then this command:
"mount -o remount,ro /system"
You are done. You can now modify build.prop in /data any way you want and the system will not reset.
But before you do this mod or any other system file mod, I recommend you have backed up your system using CWM as described in the previous section. That way if you did not get it right somehow and it starts to reset, you can insert your CWM card to stop the rebooting and selectively restore /system and try again.
One side benefit of doing this build.prop mod is if B&N tries to update you in the future, it will fail because it cannot verify your build.prop because it is missing. And, in my experience, it does not try again.
16. Nook HD/HD+ internal partition structure and backups
The partition structure for the HD/HD+ is the same and is as follows:
Code:
P# Name Size Type
1 xloader 128K Fastboot Image
2 bootloader 256K Fastboot Image
3 recovery 15MB Fastboot Image
4 boot 16MB Fastboot Image
5 rom 48MB vfat
6 bootdata 48MB vfat
7 factory 448MB ext4
8 system 672MB ext4
9 cache 464MB ext4
10 data varies ext4
There is a simple process to make image backups of your internal partitions. Most people will never have to use the backups, but there is one critical partition that holds vital device specific information that was created at manufacture that is probably wise for you to back up. The process requires that you have either Terminal Emulator installed or ADB set up. And it can be done either in rooted stock or CM10/CM10.1. In Terminal Emulator or ADB Shell in superuser mode, type the following command:
dd if=/dev/block/mmcblk0p7 of=/mnt/sdcard/factory.img
This will make an image of your partition 7 that has that vital information. It also has a copy of the factory.zip file used to reset your device should you need to. If you want to back up the rest of your partitions, just change the p# and file name in the above commands to match the listing above. Partition 10 is quite large so should not be backed up using this method.
To restore a partition, just reverse the information following the if= and of= statements in the command. The information stored in partitions 1, 2, 3, 4, and 8 is specific to the ROM version you were running when you made the backup, so restoring them to another version is probably not a good idea (and if you do, restore all 5 of them together). Only do it if it is a last resort. And of course you should not restore HD partitions to the HD+ and vice versa.
Enable Unknown Sources and Blocking Auto OTA made easy (updated 12/3)
Instead of making a new thread, I have decide to make the tips that already available, but hard to use and make it simple.
So, what is it? This little thing will set Enable install from Unknown Sources and change the auto update to manual update for Nook HD ROM. I keep hearing how people are saying they have hard time making these changes so, I make it pretty dead simple. It's as simple as I can make. If you are looking at the timeline, root first, then this, and then gapps after. I now make them all so simple that it take me like 15mins to do all those 3 things from scratch. Originally I grab the sqlite3 from one of the app, which I guess I shouldn't have. Now I replace it w/ the one from CM9, which I guess is okay. And smaller size too.
If you were using verygreen version of root, try running this first.
Code:
adb shell su -c "/data/su/busybox chown shell.shell /data/su"
Pre-Requisite:
ADB and root.
NEW Instruction:
download the settings_new.zip in the attachment and save it somewhere.
unzip it.
run install.bat (for windows)
OLD Instructions:
download the settings_old.zip in the attachment and save it somewhere.
unzip it.
run install.bat (it basically just upload settings.sh and sqlite3 and change their permission, if you are on linux just do that instead)
adb shell
su
/data/su/settings.sh
*** OLD TEXT ***
While it's true that we should put heavy emphasis on not touching /system and that is not just manual works, but also any app with root access. You could be installing something like busybox via goole play store and screw everything up. That said, we are not touching /system at the moment because we lack the knowledge of that the nook is doing during boot process. I have been able to get asomething like AdAway to work which actually creating a sym link from /system/etc/hosts to /data/data/hosts file. I been doing this under the assumption that mounting and sym link are ok in the /system. But I would be worried too if there is a lot of those.
Click to expand...
Click to collapse
Lost and Confused
I tried following the instructions on the B&N’s website, but I do not see ‘Android Composite ADB Interface’ or even ‘Android Phone’ within the Device Manager of Windows. I now have ‘BNTV600’ and ‘NOOK’ under Device Manager/Portable Devices. I think this is for the big leagues and I may mess something up. Probably going to wait until there is a YouTube video guide showing step by step on how to successfully root the Nook HD+.
Many thanks to ‘leapinlar’ for the help.
cybersonic_ca said:
I tried following the instructions on the B&N’s website, but I do not see ‘Android Composite ADB Interface’ or even ‘Android Phone’ within the Device Manager of Windows. I now have ‘BNTV600’ and ‘NOOK’ under Device Manager/Portable Devices. I think this is for the big leagues and I may mess something up. Probably going to wait until there is a YouTube video guide showing step by step on how to successfully root the Nook HD+.
Many thanks to ‘leapinlar’ for the help.
Click to expand...
Click to collapse
If you read my description above, it says to update the driver for BNTV600.
No longer able to access internal & external memory on the Nook
leapinlar said:
If you read my description above, it says to update the driver for BNTV600.
Click to expand...
Click to collapse
This is what I did:
1. Plugged my Nook HD+ to my computer (ADB enabled)
2. Device Manager / BNTV600 / Update Driver Software / Browse my computer for driver software / Usb_driver_r04-windows folder / OK
3. Clicked on ‘Let me pick from a list of device drivers on my computer’
4. MTP USB Device appeared so I clicked on ‘Have Disk’
5. Browsed ‘android_winsub’ and clicked Open and OK
6. Android Composite ADB Interface appeared so I clicked ‘Next’
7. Message, ‘Windows can’t verify the publisher of this driver software’
8. Install this driver software anyway
9. Rebooted my computer
10. When the Nook is connected to the computer (ADB not enabled)
a. The Nook shows up as a G: drive and ‘MyNOOK Setup’ is the only file in it
b. Clicking on the ‘MyNOOK Setup’ brings me to a message:
• Welcome to MyNOOK Setup.
• MyNOOK Setup is a one-time installation that will allow you to tranfer your personal files to your NOOK.
• Transferable files include, but are not limited to: photos, music, videos, EPUB, PDF and Microsoft Office files.
• Note: Copyright protected files are not transferable
• To install, go to .... can't post link since im a noob
• For more information, visit ..... can't post link since im a noob
c. MyNOOKSetup.dmg appears when I click on the first link
11. When the Nook is connected to the computer (ADB enabled)
a. AutoPlay ‘BNTV600’ constantly appears.
12. I cannot access the internal or external memory on the Nook for both #10 & #11,
13. Running ‘makeroot.bat’ in the cmd for both #10 & #11 does not work either.
14. Device Manager / NOOK (BNTV600 no longer exist)
Follow my instructions to install the drivers and use my driver file from my first post. Go to device manager and delete any those three drivers you installed earlier, composite, mtp, etc. Then just do the bntv600.
Sent from my Nook HD+ using Tapatalk
Cool but....
...I am having a slight problem. I can not download your attached file usb_driver_r04-windows-Modded-for-HD.zip :/ everytime I do my computer which is running windows xp is telling me there is nothing there. Can you please help me thank you
Possible driver conflict with Samsung Galaxy Tab 7 Plus
leapinlar said:
Follow my instructions to install the drivers and use my driver file from my first post. Go to device manager and delete any those three drivers you installed earlier, composite, mtp, etc. Then just do the bntv600.
Sent from my Nook HD+ using Tapatalk
Click to expand...
Click to collapse
I followed your instructions and I successfully installed the driver you provided in your zip but the following actions occur after computer reboots.
When ADB is disabled
• NOOK (G Drive appears in My Computer
When ADB is enabled
• NO NOOK (G Drive in My Computer
• BNTV600 AutoPlay windows constantly pops up
I forgot to say that I have a Samsung Galaxy Tab 7 Plus installed in this computer. The following items are what I see in Device Manager:
• Portable Devices / NOOK
• SAMSUNG Android Phone / Android Composite ADB Interface
I tried deleting all the drivers and repeat your instructions but the SAMSUNG Android Phone / Android Composite ADB Interface keeps appearing.
Dopey32 said:
...I am having a slight problem. I can not download your attached file usb_driver_r04-windows-Modded-for-HD.zip :/ everytime I do my computer which is running windows xp is telling me there is nothing there. Can you please help me thank you
Click to expand...
Click to collapse
I don't know what to tell you. I just tried again with windows XP and it downloaded fine. Just keep trying. And watch where windows puts it.
cybersonic_ca said:
I followed your instructions and I successfully installed the driver you provided in your zip but the following actions occur after computer reboots.
When ADB is disabled
•NOOK (G Drive appears in My Computer
When ADB is enabled
•NO NOOK (G Drive in My Computer
•BNTV600 AutoPlay windows constantly pops up
Click to expand...
Click to collapse
I experienced a lot of the same symptoms.
The Nook G: is for Mac users that do not have MTP. It is so they can get the drivers they need. Notice the .dmsg (sp ?) is for them. That will only go away when you get MTP working or switch to enabled adb.
I was most concerned with getting the adb interface working, so I just ignored the MTP issues until later. In fact I temporarily disabled it so it would not keep popping up during adb.
After I got everything sideloaded and rooted, I tackled the MTP issue. With adb unchecked, I went to USB devices and uninstalled the USB mass storage device (which was the Nook G). Then it recognized MTP.
Sent from my Nook HD+ using Tapatalk
I think it's safe to say that what we(me and other who got all the stuff out seperately) did so far aren't anything very dangerous. We havn't touch any other partition or boot loader. Unless you mess them up yourself since now you have root, then the worst it could happen is a full factory reset or you can force yourself to factory reset it.
okay got a little farther
I have installed the drivers and my nook is having the same symptoms as cybersonic_ca. Now I am trying to figure out how to utilize the command prompt, i type in adb devices and it responds with 'adb' is not recognized as an internal or external command, operable program or batch file.
please help, i am trying to root my nook and HD+ but i feel i must be forgetting something. I am sorry if i am very bothersome but i can not figure out what is going on
All these tips also help with the HD. Thanks so much!
Sent from my Nook HD using xda premium
Dopey32 said:
I have installed the drivers and my nook is having the same symptoms as cybersonic_ca. Now I am trying to figure out how to utilize the command prompt, i type in adb devices and it responds with 'adb' is not recognized as an internal or external command, operable program or batch file.
please help, i am trying to root my nook and HD+ but i feel i must be forgetting something. I am sorry if i am very bothersome but i can not figure out what is going on
Click to expand...
Click to collapse
Then you have either not installed the Android SDK (Software Development Kit) on your PC (which includes adb) per the B&N instructions or your path variable is not set to include where you installed it.
Sent from my Nook HD+ using Tapatalk
Dopey32 said:
I have installed the drivers and my nook is having the same symptoms as cybersonic_ca. Now I am trying to figure out how to utilize the command prompt, i type in adb devices and it responds with 'adb' is not recognized as an internal or external command, operable program or batch file.
please help, i am trying to root my nook and HD+ but i feel i must be forgetting something. I am sorry if i am very bothersome but i can not figure out what is going on
Click to expand...
Click to collapse
if you can't follow or understand the instructions about adding the path to adb in the environment path you can always just cd "/to the directory adb is installed/" and run adb directly from there. easy way is to just drag the folder into the command prompt window. it'll save a bit of typing - only works if you're not running cmd as admin.
You said you modded the drivers from B&N? What did you change? Just curious...
So, instead of making another thread, since this is a tips thread, I'll just post it here.
Just in case you are not familiar with a factory reset on the Nook HD+, there are two kind of factory resets. The one that you perform yourself, which is actually not a full factory reset and the one that Nook get pissed and do the full one.
A factory reset that you perform yourself, whether from the GUI or button combination will basically clean the partition /data while a full blown one will basically restore other partition such as /system.
Why do I bring this up, because as we know, we are not perfect. I make mistake and so do other. Sometime instead of trying to re-trace the step and fix our mistake, it's easier to just reset everything. Well, since we can't just do a full blown factory reset our self, at least not very easy, we can at least force the Nook to do it for us.
So, if you felt like I did something wrong, and I don't know which step to take next, I make a little tool for you to start over. You can see the attachment, reset.zip in there, there are 3 files. You only have to run reset.bat if you need a linux version, maybe you can beg the OP to do it for you. If you exam the package, you can see that this is very similar to the original root method which force itself to factory reset, so this is basically a modified version of that. Obviously you still required ADB. Well, on the other hand, if you never get ADB working in the first place, you probably can't mess up that bad that you need this tool in the first place.
Let me make it clear, this tool WILL RESET EVERYTHING. It also REBOOT MANY TIMES. And expect the whole process to take about 10 minutes.
dbh369 said:
You said you modded the drivers from B&N? What did you change? Just curious...
Click to expand...
Click to collapse
I actually modified a generic driver by putting the Nook HD+ device id in it. I was not able to download the B&N driver so I don't know if it needed modifying or not.
Sent from my Nook HD+ using Tapatalk
cybersonic_ca said:
I followed your instructions and I successfully installed the driver you provided in your zip but the following actions occur after computer reboots.
When ADB is disabled
• NOOK (G Drive appears in My Computer
When ADB is enabled
• NO NOOK (G Drive in My Computer
• BNTV600 AutoPlay windows constantly pops up
I forgot to say that I have a Samsung Galaxy Tab 7 Plus installed in this computer. The following items are what I see in Device Manager:
• Portable Devices / NOOK
• SAMSUNG Android Phone / Android Composite ADB Interface
I tried deleting all the drivers and repeat your instructions but the SAMSUNG Android Phone / Android Composite ADB Interface keeps appearing.
Click to expand...
Click to collapse
I am having the same problem as Cybersonc_ca. I did everything according to the nook developer website and when I enable ADB on my nook hd+, it does not show my BNTV600 under portable devices but I DO have Android Phone >> Android Composite ADB Interface.
If I go to command prompt, how can I make it so that it checks that folder as well?
I apologize for such noob questions. Thank you.
sayw0rd said:
I am having the same problem as Cybersonc_ca. I did everything according to the nook developer website and when I enable ADB on my nook hd+, it does not show my BNTV600 under portable devices but I DO have Android Phone >> Android Composite ADB Interface.
If I go to command prompt, how can I make it so that it checks that folder as well?
I apologize for such noob questions. Thank you.
Click to expand...
Click to collapse
Go to command prompt and type 'adb devices' and see if you have any. And the looking for bntv600 was for getting the composite to show. You have that.
Sent from my Nook HD+ using Tapatalk
As I was going through the trial-and-error of rooting my phone for the first time, I ended up with both Magisk and SuperSU installed. I have used the "complete uninstall" option to make SuperSU uninstall itself. I used TWRP to restore the system image I had backed up before rooting, and reinstall Magisk. On the Magisk side, I turned on the "Magisk Hide" option for Google, Google Pay, Google Play Store, Google Services Framework, and Netflix. I also enabled "Magisk Core Only Mode" in the settings. The ctsProfile and basicIntegrity checks say true but Google Pay still says I have a "rooted or otherwise modified device" and now Google Play doesn't even show me the "Device certification" field in the settings-- it just ends at "Play Store version"
I should have kept closer track of what root-using apps I installed and removed, but the ones I have right now are: AdFree, Apps2SD PRO, BusyBox Free, Call Recorder Add-on (installed as a Magisk module), ConnectBot, Root Checker, and Titanium Backup.
My questions for the experts:
Is it better to flash unSU.zip via TWRP or just restore the old boot partition and flash Magisk again?
Are there any other places where I should undo changes besides system and boot?
Let's say I get desperate and try to re-flash the latest stock images. What is the best way to preserve my apps and configurations this time around?
I have not found anything about the "Device certification" being outright missing from Google Play settings... does anybody know what causes this and how to fix it?
For my fellow noobs who might in the future find this post, here are some details on how I got to where I am (a working, rooted, non-bricked Moto G6plus but not yet able to use Google Pay, and installed entirely within Linux). I had to piece this together from various places, so hopefully if you find this post you can go straight to the ones that ended up working for me... and learn from my mistake-- do _not_ install SuperSU if you want to your device to pass SafetyNet checks. If I got any of the facts wrong, please correct me and I will update.
TWRP is a recovery tool which you can use to backup and install partitions on android.
There are various already rooted system images floating around, in various states of completeness and compatibility. I nearly bricked my phone that way. Luckily I was able to restore it using the stock image and instructions posted here.
There is little in the way of Linux-specific instructions. Don't try to look for Odin or "Android USB" drivers or whatever. All you need is to run sudo apt-get install android-tools and it will give you adb and fastboot. Then, create the following file... /etc/udev/rules.d/70-android.rules (owned by root, readable by all) and put the following in this file:
Code:
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", ATTRS{idProduct}="2eb7", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}="685d", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", ATTRS{idProduct}="685d", ENV{ID_MM_DEVICE_IGNORE}="1"
Finally, run (only need to do this once) sudo service udev restart. Non-Debian-based distros might have different syntax for package installation and udev restart but the basic idea is the same. From this point forward, you can follow the same command line instructions as Windows users.
Make sure you have at least 10 or so Gb free on the phone's SD card.
The basic root process seems to be: unlock boot loader, download a zipfile with EITHER SuperSU OR Magisk and save it to the SD card on your droid. Drop your phone into fastboot mode, push the TWRP image onto it.
Your droid will reboot into the TWRP app. At this point you back up the following partitions: boot,dsp,efs1,efs2,fsg,logo,oem,system,system_image,vendor_image.
Then, still in TWRP you select the zip file you earlier put at the top level of the SD card and flash it. It will make the necessary changes to enable root for apps that you want to have root and then reboot the phone.
I didn't understand initially but SuperSU and Magisk are two alternate ways of rooting your droid-- both can grant root access to apps. The difference is that SuperSU modifies several special partitions including system, while Magisk somehow gives you root without permanently modifying any of the partitions (don't ask me how). The problem is that lately Android OS checks for modified system partitions via SafetyNet. If the OS detects alterations it prevents you from using Google Pay and causes your Google Play account to flag your device as uncertified which apparently will prevent you from installing certain apps. Unlike SuperSU, Magisk can hide itself allowing you to have a rooted phone while still enjoying the benefits of having a certified device.