yashsingh1/xdaforums huggingface dataset:
[Nook Touch General] prurigro:
Fork of idefix0815's Linux root package

This thread has produced some fantastic work and I'm so much happier with my Nook Glowlight for it- thanks to everyone who contributed to making this happen!

I ended up using idefix0815's Linux root package from http://xdaforums.com/showpost.php?p=49924502&postcount=316 to get things up and running, and I made some modifications for my own purposes as I went. Once I got things where I wanted them, I realized my configuration might be useful to others too and decided to re-add my changes added my changes in as an extension of the original functionality, then updated the documentation a bit and converted it to markdown.

Changelog from "2014-02-04" to "prurigrofork-2014-05-12":

* The README has been converted to markdown and additional information and detail has been added.

* In the scripts, 'bash' declaration are now more OS-agnostic.

* The movement of files in the B&N disable scripts only occurs now if they currently exist.

* An additional script has been added that disables unnecessary apps as well as B&N stuff, like the original one (still included), but this one leaves the stock ebook reader, the functionality to resume reading with the book icon in the notification bar and the default launcher (which exists with most of its functionality stripped so the book icon will work and should probably be replaced by ReLaunch as the default launcher).

* Replaced the ReLaunch apk with the F-Droid version.

* Provided a scripts folder with some scripts that can be dropped in a local folder and run in adb or a terminal.

My primary reason to share my update is to provide the additional disable script that keeps the stock ebook reader, named: "61-disable_unnecessary_and_cloud_bn.sh", which took some trial and error to figure out the additional packages (and nothing more) needed for all its features to work. Maybe the scripts and modified README.md will come in handy for someone too.

I would have released it on Github, but sadly the NookManager project (where most of this project originated according to idefix0815) doesn't include a license. Also, idefix0815, if you like these changes and want to include them back into yours, feel free to let me know and I'll update this post to redirect to yours.

Cheers!
[Nook Touch General] Dimasio:
View attachment 2459205
[Nook Touch General] usenothing:
I just tried. Keep pressing the B&N key, then power off, nothing happened.

With the B&N key pressed, i pressed the power key . The screen displayed once and then turned dark.

Finally , I loosen the B&N key ,then power on . Nook Glowlight booted as usual.

Sorry for my shabby English :)
[Nook Touch General] straygecko:
OK, so the power key and n key gets you to factory reset. I thought we might be able to cut out a step but no big deal.
[Nook Touch General] jwxuan:
How did you do it？

But I find nothing when powering on while holding down the n button，it can't be turn on！How did you do it like the picture？

---------- Post added at 11:26 AM ---------- Previous post was at 11:22 AM ----------

I make it when I holding down the n button while powering off，it gives me the interface of Factory reset，that‘s weird！
[Nook Touch General] Dimasio:
In first I pinched both buttons (power and n), after the launch of reader I hold the power button, but I left clamped n. This method used in Apple devices for DFU mode, I assumed that in the nook uses a similar algorithm.
[Nook Touch General] Renate:
Wanted: One brave soul

I'm looking for a brave volunteer.

I'd like to check on the ROM bootloader on the new Glow.

I have a Windows executable that should be able to do this.

It will not try to download anything.

It will just try to connect over USB, receive the ASIC ID, then tell the Nook to boot normally.

I think that in the worst case it will cause the Nook to sit there waiting and require a long power button reset.

I have tried this on my Touch and it works fine.

Here's how:

First, add three lines to ...SDK\extras\google\usb_driver\android_winusb.inf

Two lines go below the other Nook lines and one line after the String section:

%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0003&MI_01
[b]%SingleBootLoaderInterface% = USB_Install, USB\VID_0451&PID_D00E
%SingleFastBootInterface% = USB_Install, USB\VID_0451&PID_CAFE[/b]

[Strings]
[b]SingleFastBootInterface = "Android FastBoot Interface"[/b]

Do a full power down on your Nook.

Now connect the USB to your Nook.

It should power up and try to boot.

A "new device found" should pop up on your desktop.

Go and manually select the INF file above.

It should install successfully even if the Nook has moved on from presenting that VID/PID.

Disconnect the USB, full power down the Nook.

Run asicidcheck.exe

It should say "Waiting for device..."

Plug in the USB.

The Nook should power up and start to boot.

The desktop should print "connected" and print some stuff.

The Nook should boot normally.

Waiting for device... connected
Received ASIC id
OMAP36XX, rev 07
Unlocked
ID12: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ID14: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CRC1: 13 BF 3E EF
CRC2: 00 00 00 00

Copy and paste the result.

Thanks.
[Nook Touch General] straygecko:
USB Boot Proof of Concept Builds

***** If you are just looking for an easy way to root your new NG then DON'T TRY THIS. *****

***** This is Linux Only *****

This is just an attempt to **gather information** to devise methods for backup and rooting the new Nook Glowlight. I don't own a Nook Glowlight, I own a Nook Simple Touch so this is going to be a very slow process unless someone with a NG wants to take what I've done and run with it (hint, hint - I'm just doing this because the USB boot sounded like fun, without a NG I'll probably get bored with it pretty quick).

OK, so here's the dangerous stuff for the brave and very careful to play with. First is the USB boot to CWM I have working for the NST. Second is a USB boot to CWM that might work with the new Nook Glowlight. Then again it might not. The CWM it boots is a NST CWM so it might not run on the NG. Or B&N might have locked down the bootloader on the NG. This is purely for proof of concept and hopefully exploring the innards of the NG. I can't guarantee it won't brick your NST or NG even though I don't think it will unless it works and you do something dumb with CWM / ADB. If you try this with your NST make sure you have a current full backup first.

You should know your way around low level Linux & Android and be comfortable with ADB if you are going to try this.

To try this out you need to be running Linux on bare hardware. I tried from Virtualbox but wasn't able to get it working. To try it:

Extract the appropriate tar.gz file

Power off your NST or NG

run sudo ./booty

Connect your NST / NG via USB cable - it should automatically power up and you'll see messages on your PC that it was recognized and things are being sent to it.

Wait a little bit and CWM should appear.

If you do get CWM on your NG I highly recommend not playing with any of the options (oh, you probably won't be able to because you don't have hardware buttons on the NG). At this point connect with ADB and see what you can see. CWM mounts the boot and rom partitions to /boot and /rom assuming they are in the same place as on the NST. It also tries to mount the cache partition to /cache though that fails on my NST. In ADB take a look at /rom. If its like the NST it should have a directory devconf in it. That's all your device specific stuff. adb pull /rom over to your pc and save it somewhere safe. Don't change anything on your NG at this point!!! Now select reboot on the CWM menu by pressing the n key. Now report back and tell us how it worked.
[Nook Touch General] Renate:
No disrespect to straygecko, but try my stuff first. :angel:

(It's less invasive.)

Thanks straygecko, that aabbccdd stuff is unique to aboot.

It works fine on my Windows downloader:

Waiting for device... connected
Received ASIC id
OMAP36XX, rev 07
Unlocked
ID12: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ID14: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CRC1: 13 BF 3E EF
CRC2: 00 00 00 00
Sending image file omap3_aboot.bin, 3480 bytes... done
Ack: AABBCCDD
Sending image file u-boot.bin, 170572 bytes... done
[Nook Touch General] straygecko:
No disrespect taken, I thoroughly agree with trying yours first. I had my post in process for a long time while handling customer calls and didn't see yours until after I posted.

OK, if that's working try sending over my u-boot.bin next and then use fastboot from the android sdk (same folder as adb is in) to see if you can talk to it. Try "fastboot getvar all" to dump the board info. If that works try "fastboot boot uImage uRamdisk" to boot CWM or whatever image you want to try booting.
[Nook Touch General] Renate:
Just to reiterate my updated post: The inf file should be modified so:

%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0003&MI_01
[b]%SingleBootLoaderInterface% = USB_Install, USB\VID_0451&PID_D00E
%SingleFastBootInterface% = USB_Install, USB\VID_0451&PID_CAFE[/b]

[Strings]
[b]SingleFastBootInterface = "Android FastBoot Interface"[/b]

(For the new Nook Glow, those PID_0003 will be PID_0007

This will make a difference when we come to trying out ADB.)

Yes, once I load aboot & u-boot I am in FastBoot mode.

You need to do the same thing again, when the "new device" for fastboot appears, select the inf.

I couldn't get "fastboot getvar all" to work but "fastboot getvar product" works fine.

"fastboot boot uImage uRamdisk" got CWM up for me just fine.
[Nook Touch General] wozhere:
First step should be adopting a universal acronym to avoid confusion:

NTSG2
[Nook Touch General] Edgur:
Any chance that you have a Linux version?

I'd be happy to try this, but I've just spent an hour or two trying to get the WinUSB driver working on Windows 8 with no luck at all. Under device manager, I now have Android Device -> Android Bootloader Interface, and the Hardware IDs say USB\VID_0451&PID_D00E...

But when I turn the Nook on, I still get error messages. Here's the message from the event log:

Device USB\VID_0451&PID_D00E\5&xxxxxxxx&0&4 had a problem starting.

Driver Name: oem1.inf

Class Guid: {3f966bd9-fa04-4ec5-991c-d326973b5128}

Service: WinUSB

Lower Filters:

Upper Filters:

Problem: 0xA

Status: 0x0

(It didn't say xxxxxxxx, but that looked like it might be a serial number of some sort so I obscured it)

Windows (especially 8) and drivers drive me absolutely nuts!
[Nook Touch General] Edgur:
Well, I figured after my failure to get things going under Windows, I'd give yours a shot. :)

I downloaded and attempted the second one (Glowlight version).

eddie@MyLinuxBox:~/usbrec_ng_130$ sudo ./booty
?
waiting for OMAP3/OMAP4 device...
0501050136300707130201001215010000000000000000000000000000000000000000141501000000000000000000000000000000000000000015090113FFFFFFBF3EFFFFFFEF00000000
Device OMAP3630 found
sending 2ndstage to target...
waiting for 2ndstage response...
unexpected 2ndstage response
creating boot image...
creating boot image - 4079616 bytes
< waiting for device >
^C

After powering on the Nook, the above is what happened. Looks encouraging -- it allowed a second stage to be sent, at least!

However, the Nook just shrugged it off. It continued with its boot as normal.

I let it sit for a little bit just in case, but the computer just sat at <waiting for device>, so i killed it.
[Nook Touch General] jwxuan:
there is no “ the other Nook lines”

I have download the SDK from http://developer.android.com/sdk/index.html，and open the inf file，but there is no “ the other Nook lines”，or I just add three lines to the bottom？
[Nook Touch General] Renate:
Wow, a lot of things to respond to here.

First off, the Linux usbboot is formatting the ASIC id incorrectly.

They are apparently using (signed) chars so that things get sign extended.

The 0xBF gets displayed as FFFFFFBF

Once we get over that hurdle, we see that the NG2 is spitting out the same id as the NST.

OMAP36XX, rev 07
Unlocked
ID12: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ID14: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CRC1: 13 BF 3E EF
CRC2: 00 00 00 00

Edgur's Linux experiment failed.

What happened was that the omap3_aboot.bin loaded but apparently did not acknowledge back correctly.

It should have spit out 0xaabbccdd

Since that was not detected, usbboot exited.

The script file booty then tried to proceed with fastboot.

The Nook was not in fastboot mode at this point since it had never downloaded u-boot.bin

Thus, failure.

Did omap3_aboot.bin respond at all and what did it respond with?

Is there an incompatibility in omap3_aboot.bin between NST & NG2?

The good news is that there may be more work to do, but we should be able to beat this.

As far as android_winusb.inf goes, I may have gone too fast here for some.

If you had an older Nook working with ADB you had modified it already.

The modifications are listed in the XDA Wiki on ADB for Nook

The ids stated are for the NST.

For the NG2 you must use different ids.

A complete chunk including NST, NG2, OMAP loader, fastboot would be:

[Google.NTx86]
; Nook Simple Touch
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0003&MI_01
; Nook Glow 2
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0007
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0007&MI_01
; OMAP3630 bootloader
%SingleBootLoaderInterface% = USB_Install, USB\VID_0451&PID_D00E
; FastBoot
%SingleFastBootInterface% = USB_Install, USB\VID_0451&PID_CAFE

[Google.NTamd64]
; Nook Simple Touch
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0003
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0003&MI_01
; Nook Glow 2
%SingleAdbInterface% = USB_Install, USB\VID_2080&PID_0007
%CompositeAdbInterface% = USB_Install, USB\VID_2080&PID_0007&MI_01
; OMAP3630 bootloader
%SingleBootLoaderInterface% = USB_Install, USB\VID_0451&PID_D00E
; FastBoot
%SingleFastBootInterface% = USB_Install, USB\VID_0451&PID_CAFE

[Strings]
SingleBootLoaderInterface = "Android Bootloader Interface"
SingleFastBootInterface = "Android FastBoot Interface"

Windows 8 requires signed drivers.

To install unsigned drivers (like ours) you need to disable driver verification.

You'll eventually have to get the drivers working because it's the same for the rom loader, fastboot and ADB.

The good part is that my little Window program is not necessary since we verified the ASIC id on the NG2 already.

Still, it would be a useful test to see if you've got the drivers working correctly.
[Nook Touch General] jwxuan:
it just

The bad news is when I finish a full power down, connect the USB, it just connect as u disk, there is no "new device found" pop up on my desktop. My system is XP！
[Nook Touch General] Renate:
You added the lines to android_winusb.inf?

You had asicidcheck.exe running before you connected the USB?

Check in devmgmt.msc (Device Manager).

Do you see under "Android Phone" "Android BootLoader Interface"?

I added some bells, whistles and checks to my full Windows app:

Waiting for bootloader... connected
Received ASIC id
OMAP36XX, rev 07
Unlocked
ID12: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
ID14: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
CRC1: EF3EBF13
CRC2: 00000000
Sending image file omap3_aboot.bin, 3480 bytes... done
Ack: AABBCCDD
Sending image file u-boot.bin, 170572 bytes... done
Waiting for disconnect... done
Waiting for fastboot startup... done
[Nook Touch General] Dimasio:
Renate NST,

For your experiment I will need to activate the ADB on my NG2? I did everything according to your instructions, installed the SDK and ADB module, configuring ini-files. But, after connect NG2 to USB and then turn on NG2, win7 does not appear driver search window. More precisely, this window appeared once, OMAP3630 device detected and windows couldn't find driver for it. But win7 wouldn't let me choose my own driver for install. After that I couldn't find OMAP3630 in device Manager. Device Manager contains only "B&N NOOK GlowLight USB Device". When re-reboot omap3630 device appears on 2-3 seconds and disappears again.
[Nook Touch General] Renate:
Hmm, well that's the problem there.

It's not easy because without a connection, omap3630 only hangs around for 3 seconds.

I'll look a bit for how to force W7 to always manually install drivers.

Do you still get "Found new device" each time?
[Nook Touch General] Renate:
More adventurous souls required

Ok, I've put together a little zip for Windows.

This should be able to put your Nook in fastboot mode.

Unzip in any directory and run the .exe

The code works solid on my Windows XP and Nook Touch.

This code should not harm your NG2, but no guarantees.

This software will change in future releases as to arguments, options, functions.

This is an experiment.

You should have the Android SDK installed and have platform-tools\fastboot.exe

Your computer should be allowing you to select the driver when it "Finds new device".

Do as above to install the driver for bootloader.

You will not be able to install the driver for fastboot until my program gets to "Waiting for fastboot startup..."

There is no timeout so there is no hurry.

Do not ^C out of my program while you are installing the driver.

My program will exit happily when the fastboot is working with driver.

Copy/paste any results.

If the program completes happily, try some safe fastboot commands:

fastboot getvar product
fastboot reboot

If you have any older Nook Touches this should all work safely too.

It will be a good double check if you are having a problem with a NG2.

Edit: Added checking whether device is already in fastboot or ADB mode.
[Nook Touch General] Windsor1959:
I'm new to Linux (I'm using Ubuntu), and I'm trying to follow the procedure in the Linux root package. I was able to check for prerequisites and install the missing packages However, when I tried to run ./11.boot_cwm.sh, this was the line I got in Terminal:

./11-boot_cwm.sh: line 5: ./usb.boot/omap3_usbload: No such file or directory

That was with and without the sudo parameter.

I'm obviously missing something, but I can't see it yet! Thanks for your help.
[Nook Touch General] prurigro:
Hey, it looks like your issue is that it's looking for usb.boot instead of usb-boot, and I noticed you're running 11.boot_cwm.sh too, when that file should be named 11-boot_cwm.sh (note the dash where you have a dot.) Are you using my package or the original one by idefix0815? Both *should* work on that note, but it might be useful to know if one is causing the issue but not the other. You should open up the 11-boot_cwm.sh file and check to see if at the top it says USBBOOT="./usb-boot" or USBBOOT="./usb.boot" (in the second case, change usb.boot to usb-boot.) It might also be possible to solve the issue by copying the usb-boot folder to usb.boot, as that seems to be where it's looking. If the usb-boot folder doesn't exist at all, you should make sure you extracted everything, and if you've done everything suggested and it still gives you that error, a printout of the results of the command "find ." and "cat 11-boot_cwm.sh" run inside the ng2-root folder would be helpful.

Good luck!
[Nook Touch General] bingen:
you are probably using a 64 bit ubuntu, and therefore missing some 32 bit libraries (especificaly, the libusb). just install them:

apt-get install libusb-0.1-4:i386
[Nook Touch General] Windsor1959:
That did it! Thanks. Now I'm learning about mounting and unmounting before I move on to the next step. I've been interested in checking out Ubuntu for a while now, and this little project has given me some motivation. Feel free to suggest any books or websites that would be useful for beginners. Thanks again.
[Nook Touch General] prurigro:
Sweet, I'm glad you figured it out! I'd figured you'd successfully run 05-check_prerequisites.sh before attempting 11-boot_cwm.sh, but I'm glad bingen assumed otherwise.

Ubuntu will likely automatically mount the partitions for your Nook, and you can view currently mounted disks/discs/partitions/images/etc using the "mount" command with no arguments. Unmounting can be done by root or sometimes the user that mounted it by running: "umount /path/to/folder", and you can ensure everything has been written before disconnecting the device by running: "sync" and waiting for it to return to the prompt (if it jumps to the prompt immediately, all writes were already completed, and you're not supposed to need to do this on that note, but I've lost data before when unmounting using a GUI file manager that showed a device as disconnected before all the writes completed.)

As for some good (off topic) resources for Linux, this is a really good site for learning how to use (and script) Bash properly, following standards and all that: mywiki.wooledge.org/BashFAQ - and this site is actually for a different distro, but Arch Linux uses vanilla configurations, so its wiki ends up being generally applicable to most distros most of the time (just replace the pacman stuff with apt-get), and it's definitely one of the biggest resources for the type of stuff Ubuntu is less likely to cover (command line level): wiki.archlinux.org/index.php/Main_page - freenode IRC is an excellent resource too as most open source projects have a channel (hexchat is probably the best GUI IRC client atm, at least imo).

Cheers!
[Nook Touch General] Windsor1959:
Thanks for this. Working with Linux/Ubuntu is like working with DOS in the old days!
[Nook Touch General] Windsor1959:
Okay, I've changed my OS. I couldn't do this with Windows 8.1, and it will take a little while to get up to speed on Linux. So I'm using Windows XP. I have followed Renate's instructions. However, when I reach the point where I'm starting over the omaplink commands, instead of stopping at "waiting for ADB", it stops at " waiting for fastboot". In device manager, I have an Android ADB Interface with an exclamation point on it. When I check that out, it says that the device cannot start. Please let me know if you need more info. It may be some obvious thing I am missing. Any help is appreciated!
[Nook Touch General] Akkifokkusu:
I'm on my phone right now so it's not very convenient to find the right post/link, but you definitely want to make sure that you install the correct driver that allows ADB communication for Nook devices. I'm pretty sure it's somewhere in this thread, or at least in this forum.
[Nook Touch General] Windsor1959:
I have the correct driver, It's the one Renate provided. But something didn't go right with the installation. I'll back away for a while and see if I notice anything when I return with a fresh mind!
[Nook Touch General] Renate:
The driver package I posted here should be correct: http://xdaforums.com/showpost.php?p=49665945&postcount=279

Double check that the inf file you selected has FastBoot in it.

I'm not sure if the 32 vs. 64 poses a problem.

In any case, you're not going to get anything to work with exclamation marks on the devices.
[Nook Touch General] Windsor1959:
Okay, I'm back to Linux - Ubuntu, to be exact, and using your package. Everything is working except ADB. When I ran the enable_ADB.sh command, the last lines of the result were: MV: failed to preserve ownership for '/mnt/boot/uRamdisk': Operation not permitted. uRamdisk patched. When I rebooted at the end and tried ADB shell, no devices were found. I went back, remounted boot, and tried the enable command again. Same result. Everything else that I tried to install was installed successfully, but I did have that same ownership line when I tried the create SD card symlink command in mnt/data. Any ideas on how to fix ADB? Or, can I install a couple more apps some other way?
[Nook Touch General] Windsor1959:
Silly me! ADB doesn't work, but since everything else does, I can just copy my apks over from my laptop. Problem solved. But ADB might come in handy someday if I could figure out what went wrong. Thanks for everything on this thread.