[Q] Nook ST Glowlight - ready to root?

Search This thread

roustabout

Senior Member
Feb 12, 2011
825
212
adb can be touchy just to get running in linux. the path variable business is (for me) something that ought to just work, and ought to work across restarts, but often doesn't.

I just love vmware player for this, though, as the Windows adb tools are pretty robust and the linux tools for making the all-important backup of your unhacked NST while booted from noogie can both be run from the same physical hardware platform.

Depending on which host is physical and which host is virtual, do remember to copy your backup to a location where, should your VM crash irretrievably, you still have access.

During my first run at doing the dd last night I wound up finding out that the linux install in vmware on my laptop had gotten screwed up and so there was a side trip while that got repaired. (I indulged in a silly exercise some time ago where my vmware player actually uses a disk partition with linux directly installed on it to boot from, so I can access my linux even when I've booted into windows. This works out great until the vmware player read of that partition goes sideways, at which point linux must be reinstalled, since grub is looking for that partition to be viable at boot time. I probably won't repeat that particular silliness, fun though it is to show off to the propellerhead crowd.)
 

GabrialDestruir

Senior Member
Nov 12, 2009
650
514
California
I could do a permanent ADB Wifi, but you should use ADB Wireless instead. With a permanent ADB Wifi you run the chance that someone might just stumble across your device and have access to it. With ADB Wireless you can turn it on and off at will.
 

eridium

Member
Apr 8, 2011
16
1
That might be easy for most. And I agree there is a security risk of leaving it on.

Myself, I was just being lazy.
I used to have my adb usb working but I switched distros awhile back and am just now getting around to getting the android sdk set back up.
So I just have to go through and get it working again. :D

My Nook Classic had an app to turn adb wifi on and off.
Would that not be a possibility with the NST as well?
 

GabrialDestruir

Senior Member
Nov 12, 2009
650
514
California
That might be easy for most. And I agree there is a security risk of leaving it on.

Myself, I was just being lazy.
I used to have my adb usb working but I switched distros awhile back and am just now getting around to getting the android sdk set back up.
So I just have to go through and get it working again. :D

My Nook Classic had an app to turn adb wifi on and off.
Would that not be a possibility with the NST as well?

It's an app called "ADB Wireless"
 
  • Like
Reactions: eridium

eridium

Member
Apr 8, 2011
16
1
Well there you go. :eek:

And I am already up and running on adb usb.
Got my config squared away.
Time for some fun.
 

DeanGibson

Senior Member
Apr 30, 2011
530
364
Seattle, WA
Wireless ADB

I could do a permanent ADB Wifi, but you should use ADB Wireless instead. With a permanent ADB Wifi you run the chance that someone might just stumble across your device and have access to it. With ADB Wireless you can turn it on and off at will.

On my Motorola Droid, Acer A500, and Nook Tablet (and previously, my Nook Color), I installed ADB Wireless because I had installed the Market, SuperUser, and a launcher, so it was the natural choice.

On my e-Ink devices, I don't install the Market or a launcher, because I use them just for reading, or loan them to low-tech family members for reading. For that latter reason, I have not installed a launcher or anything else that would change the user interface from stock.

So, why do I root the e-Ink devices? One reason is to copy over /data/misc/wifi/wpa_supplicant.conf, which contains the SSID/password/etc for all the WiFi sites I use. That's identical on all Nooks except the 1st edition (which has a couple different lines at the top of the file).

It's not a big deal to administrate the e-Ink Nooks over USB when a change is necessary, but an ADB-WiFi enabled uRamdisk makes it easier than swapping cables.

You're right; there is a (small) security risk with a WiFi version. I supposed I can live with the USB version.

Edit: To change to WiFi access after you have USB access, do:
Code:
adb shell
echo 'service.adb.tcp.port=5555' >/data/local.prop
reboot
To revert to USB access, delete /data/local.prop or rename it.
 
Last edited:

roustabout

Senior Member
Feb 12, 2011
825
212
"Just add this "export PATH=$PATH:/your/adb/dir" etc. thingy to your ~/.bash_profile ."

Perhaps this is the problem. I'd read the place to do that edit was in .bashrc , and I have done the edit in bashrc, and it hasn't stuck through a restart - hence "it should be persistent"

I have a question for all: right now my glowworm is rooted but my computer is not mounting the internal partition when I connect it to USB. It mounts its sdcard, but I really do want both /sdcard and /media mounted by the computer.

I have used nook color tools to enable nonmarket apps - perhaps unnecessarily - because the second time I launched the Amazon appstore, I got nagged about unsigned sources. I have the nook color tools on my NST and that device mounts both /media and /sdcard when connected. I did also use NCT to turn off automount, but then reenabled it - still no joy.

I am seeing this only mount /sdcard behavior even with the stock uRamdisk (and I was interested that even with stock, I am able to use ADB Wireless to run ADB.)

Is there an SQLite setting that controls this?

I will compare the build.prop from the NST to the glowworm when I get time, I know that vold.conf also has some interesting veto power on the mount/umount when connected decision, but if anyone else has seen this or has insight into it?
 
Last edited:

roustabout

Senior Member
Feb 12, 2011
825
212
This hairball resolved itself on its own, strangely enough.

I was setting up my NST to test the behavior in a "working" state with logcat - when the NST started doing it, too. I uninstalled a few things, restarted, finally cleared it on the NST, then checked the glowworm and it was spontaneously working again on my laptop.

I can't explain why it started and stopped, other than perhaps the USB on my system had become confused by one too many very similar nook devices - but the behavior also turned up on my desktop. I'm stumped but happy it's gone away.
 

ZroBug

New member
Sep 26, 2007
4
0
Hey guys - Thank you for all you have done and provided so far helping those looking to root our new NSTG's!

I'm a total noob in the NST rooting space, so I need to validate what's left to get me to a place where I have Android desktop, B&N app, and ability to install apps with Glowlight and Wireless working.

I've already done the backup/restore/validate stuff with Noogie, and that's working 100%. I've also backed up my boot partition contents as well, just in case.

I tried using the uRamdisk-test2.URamdisk on my boot partition to get ADB working to try throwing commands at it, but my USB just kept reconnecting over and over.

I feel like I'm close, but need some extra guidance as I don't want to make a mistake and brick my new device. Any guidance you can provide is appreciated.
 

ZroBug

New member
Sep 26, 2007
4
0
eridium,
Thanks for your reply - I am working from Windows, but also have a Ubuntu Virtual Box I can leverage if needed. Per your question, no I had not read the NookColor USB ADB driver info previously... but I have now. Thanks for that piece.

OK - Let's say I get the Android Debug Bridge (ADB) up and connected to my device. I've read about having to install packages like su and SuperUser and Button Rescue and MySQL to modify config DB entries, but honestly, there is so much out there on so many threads. I'm unsure how to zero in on the ones that are 'required' vs. just nice to have that people have shared.

I know that 'Nooter' does alot of these steps automatically for you, but am I correct to assume those won't work for us since we're running 1.1.5, right? I've tried searching and have found a lot, but is there any consolidated place to list the things you have to do once ADB is working and you have root to get the device booted to Android desktop?
 

roustabout

Senior Member
Feb 12, 2011
825
212
What worked for me was, while I have the NST booted from noogie, to copy in the su and superuser binaries into system (I will look at that paths in a few minutes and edit then) - which noogie presents as /sdX5 in a linux environment - and adb wireless and a launcher into /data/app - which noogie presents as /sdX8

[edit OK, I'm missing something - this is mostly right, but I'm on the laptop here at my girlfriend's place and although I have apps installed and xbin created, su can't grant permissions to anything. I need diff to see what's missing, but that means I need both glowworms attached at once, and I can't do that where I am.

I'll try to chase this down in the next few days... ]

The nook color tools app and the Amazon appstore apps are helpful as well (since there's no gapps for this guy yet)

NCT needs to land in /system/app and Amazon in /data/app. NCT in /system/app lets you tell the glowworm that it's ok to install software from sources other than Google and BN, important for the Amazon appstore to run.

If you grab the touchnooter disk image and write it to an sd card, you can use the copies of the various APKs from that card simply by putting it into your computer and copying the files out - they will be the right apps for your device. (Or you can just extract the .img file with 7zip or similar - the script won't work, and the google apps won't work yet, but the core that you need is su and superuser.)

I do not actually need to modify uRamdisk from stock - I find that all I need is ADB Wireless, then I can connect in via

adb connect w.x.y.z

where w.x.y.z is the glowworm's IP address.

The modded uRamdisk makes your adb shell root by default, but as long as you have su set up, you can grant yourself superuser rights once you connect.

My best guess on why my guy was acting strange is that I tried to install too many apps simply by copying them to the device, rather than, after getting minimal root, using

adb install (packagename)

or copying to the device, then using
adb connect
adb shell
su
[ wait for the su popup on the display, choose Allow]
pm install (packagename)

I think I must have had a few things sort of installed but not really operational.

The noogie disk work works best for me in a linux environment. ADB runs fine from windows or linux.

If you like, you can also use that linux environment to resize /sdX6, /sdX7 and /sdX8 - media, cache and data.

I do this so I can use ~1gig of the device for computer-accessible storage.

I then remove the default BN download target (/data/media/B&N Downloads) and link it to an idetically-named target in /media with the correct directory layout.

This lets me see and manage my Barnes nad Noble content from within Calibre very easily, and is why it was a headache for me when my /media partition was mounting and unmounting rapidly.

You can use a linux utility called gparted to resize the partitions without reformatting them and thus losing your configuration work.
 
Last edited:
  • Like
Reactions: ZroBug

ZroBug

New member
Sep 26, 2007
4
0
roustabout,
Awesome man - Thank you for sharing this braindump of things that worked for you. You've given great pointers and plenty to keep me busy with. I'll check back in once I've gone through the steps you mentioned.

Thanks for taking a moment to help out a NST newbie!
 

roustabout

Senior Member
Feb 12, 2011
825
212
I *think* my problem last night related to the xbin directory, normally created by busybox.

when I diffed the two devices against each other once I got home, I found that xbin on her device was filled with broken symlinks. Everything else seemed fine.

I dd'ed my /system to her /system, restarted - and root worked fine.

I could do a pull of /sd5 and simply put it up somewhere, but there are issues around doing that legally, I think (it would include all the BN code.)

I would try not even creating xbin, just copy in the su, supporting tools, the nook color tools, and the launcher to /data/app and then let the busybox installer set up xbin correctly (you need an sdcard for the busybox installer to run, btw) if you get viable root.

Sheer dumb luck this worked as well as it did for me out of the gate :)
 

DeanGibson

Senior Member
Apr 30, 2011
530
364
Seattle, WA
Symlink with relative paths where possible

... I found that xbin on her device was filled with broken symlinks.

That's probably because almost everyone that creates those links uses absolute paths rather than relative ones. This is a no-no (not blaming you), as any decent research on symlinking with Unix/Linux will reveal. This is especially true when linking to a file in the same directory.

I use:
Code:
busybox --list | busybox sed 's:^:ln -s busybox  /system/xbin/:' | sh

I also use relative symlinks when linking "su" between /system/bin and /system/xbin.
 

eridium

Member
Apr 8, 2011
16
1
The process is still mostly manual, but not that difficult if you do some up front planning about what you want to accomplish.
Making a backup image also helps.

So far I have a solid base going with superuser/su/busybox/sqlite3/buttonsaviour/adw.launcher.

Now working on gapps. I put together a manual zip package based off of MinimalTouch, but something in there doesn't work well with the NST-GL.
Still working on tracking down the offending piece.
 

roustabout

Senior Member
Feb 12, 2011
825
212
I have to disagree with this:

"Making a backup image also helps."

I would put that as

"If you don't know how to make a full backup image of your device you should not be doing this."

You have no guarantee that you can restore it if you don't, and unlike many other Android devices, the NST cannot be reimaged generically since there is some device-specific data which you must have a way to capture from your device and restore to it.

I'm considering making a backup of my current device state, then yanking all the gapps out of Touchnooter or MinimalNooter and seeing if - once we're no longer trying to get gapps to install - a stripped down touchnooter would be sufficient to root the Glowworm.

I may not have time for that, though, so if anyone does, let us know if it works?
 

eridium

Member
Apr 8, 2011
16
1
A very good point. And I agree that learning how to make a successful backup image of their device should be the first thing a person learns how to do before going any further. Performing a successful restore of that image should be number two.

My comment, though lacking much in the way of details, was intended to express making image backups of a stable install point. This can help when trying those modifications that could possibly make the device unstable or unusable.
 

roustabout

Senior Member
Feb 12, 2011
825
212
No worries, E, and no disrespect intended.

This thread might actually be better located in NST development than in NST general - we're basically talking about things folks who are prepared to hose their devices are ready to do.

One of the things I like most about the NST devices is that you can make a complete, restorable image backup so easily, at least if you have linux (either a dedicated box or a VM instance.)

Can you also use the win32 disk imaging tool or similar to make a backup?

According to this, you can:

http://blog.the-ebook-reader.com/20...-and-restore-nook-glow-and-nook-simple-touch/

For folks new to this, the unique data is stored in files that live in

/rom/devconf

/rom/devconf/DeviceID
/rom/devconf/SerialNumber

and can be restored on its own, should you find that you need to -- in my instance, if simply restoring my /system to the other device hadn't rooted it, I would have been ready to restore the entire backup of mine to my girlfriend's, then grab the DeviceID and SerialNumber files from the backup I made of hers before I started and restore those, then reboot and do an erase and deregister.

And if that hadn't worked, I would have given up and restored the image backup I made of her device to start with and said "sorry, hon, didn't have time to get yours rooted yet" :)

Me, I prefer the simplicity of the dd approach, but that's only simple if you already have a linux install and some familiarity with it.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 4
    GabrialDestruir, your uRamdisk in uRamdisk.zip:

    • When copied to the boot partition, booted fine, and the GlowLight works.
    • However, I do not have ADB access (like I did with the uRamdisk for the Touch 1.1.0 on both the Touch and the Glow).

    Did you enable ADB over USB or over WiFi? I tried to connect using both connection methods. If you provided a WiFi version, I can ping it, but "adb connect ..." doesn't connect. Note that the uRamdisk (for WiFI) for the original Touch allows connections just fine (but alas, no GlowLight).

    It should be USB enabled from the changes I made.
    New version with default.prop modified uploaded below.
    Also posted the changed files.

    Modified init.rc in this version:
    Code:
    on init
    
    
    
    loglevel 3
    
    
    
    # setup the global environment
    
        export PATH /sbin:/system/sbin:/system/bin:/system/xbin
    
        export LD_LIBRARY_PATH /system/lib
    
        export ANDROID_BOOTLOGO 1
    
        export ANDROID_ROOT /system
    
        export ANDROID_ASSETS /system/app
    
        export ANDROID_DATA /data
    
        export EXTERNAL_STORAGE /sdcard
    
        export INTERNAL_STORAGE /media
    
        export BN_PURCHASED_CONTENT /data/media
    
        export BOOTCLASSPATH /system/framework/core.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/android.policy.jar:/system/framework/services.jar
    
        export DSP_PATH /system/lib/dsp
    
        export DEFAULT_BASEIMAGE /system/lib/dsp/baseimage.dof
    
        export QOSDYN_FILE /system/lib/dsp/qosdyn_3430.dll64P
    
        export PM_TBLFILE /system/etc/policytable.tbl
    
    
    
    # setup TSLIB environment
    
        export TSLIB_CONSOLEDEVICE none
    
        export TSLIB_FBDEVICE /dev/graphics/fb0
    
        export TSLIB_TSDEVICE /dev/input/event2
    
        export TSLIB_CALIBFILE /etc/pointercal
    
        export TSLIB_CONFFILE /etc/ts.conf
    
        export TSLIB_PLUGINDIR /system/lib/ts/plugins
    
    
    
    # Location of BT firmware files
    
        export BT_FW_PATH /system/lib/firmware    
    
    # Backward compatibility
    
        symlink /system/etc /etc
    
    
    
    # create mountpoints and mount tmpfs on sqlite_stmt_journals
    
        mkdir /system
    
        mkdir /tmp 0777
    
        mkdir /data 0771 system system
    
        mkdir /cache 0770 system cache
    
        mkdir /media 0777 system system
    
        mkdir /sdcard 0777 system system
    
        mkdir /sqlite_stmt_journals 01777 root root
    
        mkdir /rom 0770 root root
    
        mount tmpfs tmpfs /sqlite_stmt_journals size=4m
    
    
    
        mount rootfs rootfs / ro remount
    
    
    
        write /proc/sys/kernel/panic_on_oops 1
    
        write /proc/sys/kernel/hung_task_timeout_secs 0
    
        write /proc/cpu/alignment 4
    
        write /proc/sys/kernel/sched_latency_ns 10000000
    
        write /proc/sys/kernel/sched_wakeup_granularity_ns 2000000
    
    
    
    # mount MMC partitions
    
        mount vfat /dev/block/mmcblk0p2 /rom sync noatime nodiratime uid=1000,gid=1000,fmask=117,dmask=007
    
    
    
        # Mount /system rw first to give the filesystem a chance to save a checkpoint
    
        mount ext2 /dev/block/mmcblk0p5 /system
    
        mount ext2 /dev/block/mmcblk0p5 /system ro remount
    
    
    
        # We chown/chmod /data again so because mount is run as root + defaults
    
        mount ext3 /dev/block/mmcblk0p8 /data nosuid nodev noatime nodiratime
    
        chown system system /data
    
        chmod 0771 /data
    
    
    
        # Same reason as /data above
    
        mount ext3 /dev/block/mmcblk0p7 /cache nosuid nodev noatime nodiratime
    
        chown system cache /cache
    
        chmod 0770 /cache
    
    
    
        # This may have been created by the recovery system with odd permissions
    
        chown system system /cache/recovery
    
        chmod 0770 /cache/recovery
    
    
    
    # create basic filesystem structure
    
        mkdir /data/misc 01771 system misc
    
        mkdir /data/misc/hcid 0770 bluetooth bluetooth
    
        mkdir /data/misc/keystore 0700 keystore keystore
    
        mkdir /data/misc/wifi 0771 wifi wifi
    
        mkdir /data/misc/wifi/sockets 0771 wifi wifi
    
        mkdir /data/misc/dhcp 0777 wifi wifi
    
        mkdir /data/misc/udhcpd 0777 wifi wifi
    
        mkdir /data/local 0771 shell shell
    
        mkdir /data/local/tmp 0771 shell shell
    
        mkdir /data/data 0771 system system
    
        mkdir /data/app-private 0771 system system
    
        mkdir /data/app 0771 system system
    
        mkdir /data/property 0700 root root
    
    
    
        # BN PurchasedContent
    
        mkdir /data/media 0777 media system
    
        mkdir /data/media/B\&N\ Downloads 0777 media system
    
        mkdir /data/media/B\&N\ Downloads/Books 0777 media system
    
        mkdir /data/media/B\&N\ Downloads/Magazines 0777 media system
    
        mkdir /data/media/B\&N\ Downloads/Newspapers 0777 media system
    
        mkdir /data/media/B\&N\ Downloads/Extras 0777 media system
    
        # make sure folder has correct owner and access if the folder exists
    
        chown media system /data/media
    
        chown media system /data/media/B\&N\ Downloads
    
        chown media system /data/media/B\&N\ Downloads/Books
    
        chown media system /data/media/B\&N\ Downloads/Magazines
    
        chown media system /data/media/B\&N\ Downloads/Newspapers
    
        chown media system /data/media/B\&N\ Downloads/Extras
    
        chmod 0777 /data/media
    
        chmod 0777 /data/media/B\&N\ Downloads
    
        chmod 0777 /data/media/B\&N\ Downloads/Books
    
        chmod 0777 /data/media/B\&N\ Downloads/Magazines
    
        chmod 0777 /data/media/B\&N\ Downloads/Newspapers
    
        chmod 0777 /data/media/B\&N\ Downloads/Extras
    
    	
    
        # create dalvik-cache and double-check the perms
    
        mkdir /data/dalvik-cache 0771 system system
    
        chown system system /data/dalvik-cache
    
        chmod 0771 /data/dalvik-cache
    
    
    
        # create the lost+found directories, so as to enforce our permissions
    
    #    mkdir /data/lost+found 0770
    
    #    mkdir /cache/lost+found 0770
    
    
    
        # change permissions for alsa nodes
    
        symlink /dev/snd/pcmC0D0c /dev/pcmC0D0c
    
        symlink /dev/snd/pcmC0D0p /dev/pcmC0D0p
    
        symlink /dev/snd/controlC0 /dev/controlC0
    
        symlink /dev/snd/timer /dev/timer
    
        chmod 0777 /dev/pcmC0D0c
    
        chmod 0777 /dev/pcmC0D0p
    
        chmod 0777 /dev/controlC0
    
        chmod 0777 /dev/timer
    
    
    
        # change permissions for modem
    
        chmod 0660 /dev/ttyS0
    
        chown radio radio /dev/ttyS0
    
    
    
        # change permissions for bridge.  Symlink search directory
    
        chmod 0777 /dev/DspBridge
    
    
    
        # change permissions for Camera
    
        chmod 0777 /dev/video5
    
        chmod 0777 /dev/video0
    
    
    
        # change permissions for Overlay
    
        chmod 0777 /dev/video1
    
        chmod 0777 /dev/video2
    
        
    
    
    
    # change permissions for overlay managers and display devices
    
        chmod 0777 /sys/devices/platform/omapdss/manager0/name
    
        chmod 0777 /sys/devices/platform/omapdss/manager1/name
    
    
    
        chmod 0777 /sys/devices/platform/omapdss/display0/name
    
        chmod 0777 /sys/devices/platform/omapdss/display1/name
    
    
    
        chmod 0777 /sys/devices/platform/omapdss/display0/enabled
    
        chmod 0777 /sys/devices/platform/omapdss/display1/enabled
    
    
    
        chmod 0777 /sys/devices/platform/omapdss/display1/timings
    
        chmod 0777 /sys/devices/platform/omapdss/display0/timings
    
    
    
        chmod 0777 /sys/devices/platform/omapdss/overlay0/manager
    
        chmod 0777 /sys/devices/platform/omapdss/overlay1/manager
    
        chmod 0777 /sys/devices/platform/omapdss/overlay2/manager
    
    
    
        chmod 0777 /sys/devices/platform/omapdss/overlay0/enabled
    
        chmod 0777 /sys/devices/platform/omapdss/overlay1/enabled
    
        chmod 0777 /sys/devices/platform/omapdss/overlay2/enabled
    
    
    
    # change permissions for calibration
    
        chmod 0666 /sys/devices/platform/i2c_omap.2/i2c-adapter/i2c-2/2-0050/forcecal
    
    
    
    # change permissions for display jni ioct
    
        chmod 0666 /dev/graphics/fb0
    
    
    
        # change permissions for Previewer and Resizer
    
        chmod 0777 /dev/omap-previewer
    
        chmod 0777 /dev/omap-resizer
    
    
    
        # double check the perms, in case lost+found already exists, and set owner
    
        chown root root /lost+found
    
        chmod 0770 /lost+found
    
    #    chown root root /data/lost+found
    
    #    chmod 0770 /data/lost+found
    
    #    chown root root /cache/lost+found
    
    #    chmod 0770 /cache/lost+found
    
    
    
    #Owners, Modes for Bluetooth
    
        chmod 0660 /dev/ttyS1
    
        chown bluetooth bluetooth /dev/ttyS1
    
        chmod 0660 sys/class/rfkill/rfkill0/state
    
        chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
    
        write sys/class/rfkill/rfkill0/state 0
    
    
    
    # Needed when building with DDK
    
        chown system system /data/data
    
        chown system system /data/system
    
        chown system system /data/app
    
        chown system system /data
    
    
    
    on boot
    
    # basic network init
    
        ifup lo
    
        hostname localhost
    
        domainname localdomain
    
    
    
    # set RLIMIT_NICE to allow priorities from 19 to -20
    
        setrlimit 13 40 40
    
    
    
    # Set timeout value for rmnet stats.
    
        write /sys/devices/virtual/net/rmnet0/timeout_suspend 5000000
    
    
    
    # Define the oom_adj values for the classes of processes that can be
    
    # killed by the kernel.  These are used in ActivityManagerService.
    
    #    setprop service.adb.tcp.port 5555
    
        setprop ro.FOREGROUND_APP_ADJ 0
    
        setprop ro.VISIBLE_APP_ADJ 1
    
        setprop ro.SECONDARY_SERVER_ADJ 2
    
        setprop ro.BACKUP_APP_ADJ 2
    
        setprop ro.HOME_APP_ADJ 4
    
        setprop ro.HIDDEN_APP_MIN_ADJ 7
    
        setprop ro.CONTENT_PROVIDER_ADJ 14
    
        setprop ro.EMPTY_APP_ADJ 15
    
    
    
    # Define the memory thresholds at which the above process classes will
    
    # be killed.  These numbers are in pages (4k).
    
        setprop ro.FOREGROUND_APP_MEM 1536
    
        setprop ro.VISIBLE_APP_MEM 2048
    
        setprop ro.SECONDARY_SERVER_MEM 4096
    
        setprop ro.BACKUP_APP_MEM 4096
    
        setprop ro.HOME_APP_MEM 4096
    
        setprop ro.HIDDEN_APP_MEM 5120
    
        setprop ro.CONTENT_PROVIDER_MEM 5632
    
        setprop ro.EMPTY_APP_MEM 6144
    
    
    
    # Enable auto-mounting of USB mass storage
    
        setprop persist.service.mount.umsauto 1
    
    
    
    # Write value must be consistent with the above properties.
    
    # Note that the driver only supports 6 slots, so we have HOME_APP at the
    
    # same memory level as services.
    
        write /sys/module/lowmemorykiller/parameters/adj 0,1,2,7,14,15
    
    
    
        write /proc/sys/vm/overcommit_memory 1
    
        write /proc/sys/vm/min_free_order_shift 4
    
        write /sys/module/lowmemorykiller/parameters/minfree 1536,2048,4096,5120,5632,6144
    
    
    
        # Set init its forked children's oom_adj.
    
        write /proc/1/oom_adj -16
    
    
    
    # Copying hostapd.conf (WLAN soft AP)
    
        copy /system/etc/wifi/softap/hostapd.conf /data/misc/wifi/hostapd.conf
    
        chown wifi wifi /data/misc/wifi
    
    
    
    # Enabling Power Management features
    
    
    
        # Enabling sleep in idle path
    
        write /sys/power/sleep_while_idle 1
    
    
    
        # Enabling OFF mode
    
        write /sys/power/enable_off_mode 1
    
    
    
        # Enabling Voltage OFF in idle path
    
        write /sys/power/voltage_off_while_idle 1
    
    
    
        # Enablig DVFS with conservative governor
    
        write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor conservative
    
    
    
        # Enabling SmartReflex for Zoom3 OMAP3630
    
        write  /sys/power/sr_vdd1_autocomp 0
    
        write  /sys/power/sr_vdd2_autocomp 0
    
    
    
        # Permissions for System Server and daemons.
    
        chmod 0444 /system/usr/keychars/omap_twl4030keypad.kcm.bin
    
        chmod 0444 /system/usr/keychars/TWL4030_Keypad.kcm.bin
    
        chmod 0444 /system/usr/keychars/gpio-keys.kcm.bin
    
        chmod 0444 /system/usr/keychars/qwerty.kcm.bin
    
        chown radio system /sys/android_power/state
    
        chown radio system /sys/android_power/request_state
    
        chown radio system /sys/android_power/acquire_full_wake_lock
    
        chown radio system /sys/android_power/acquire_partial_wake_lock
    
        chown radio system /sys/android_power/release_wake_lock
    
        chown radio system /sys/power/state
    
        chown radio system /sys/power/wake_lock
    
        chown radio system /sys/power/wake_unlock
    
        chmod 0660 /sys/power/state
    
        chmod 0660 /sys/power/wake_lock
    
        chmod 0660 /sys/power/wake_unlock
    
        chown system system /sys/class/timed_output/vibrator/enable
    
        chown system system /sys/class/leds/keyboard-backlight/brightness
    
        chown system system /sys/class/leds/lcd-backlight/brightness
    
        chown system system /sys/class/leds/lcd-backlight/dim_brightness
    
        chown system system /sys/class/leds/lcd-backlight2/dim_brightness
    
        chown system system /sys/devices/platform/i2c_omap.2/i2c-adapter/i2c-2/2-0040/dim_start
    
        chown system system /sys/class/leds/button-backlight/brightness
    
        chown system system /sys/class/leds/jogball-backlight/brightness
    
        chown system system /sys/class/leds/red/brightness
    
        chown system system /sys/class/leds/green/brightness
    
        chown system system /sys/class/leds/blue/brightness
    
        chown system system /sys/class/leds/red/device/grpfreq
    
        chown system system /sys/class/leds/red/device/grppwm
    
        chown system system /sys/class/leds/red/device/blink
    
        chown system system /sys/class/leds/red/brightness
    
        chown system system /sys/class/leds/green/brightness
    
        chown system system /sys/class/leds/blue/brightness
    
        chown system system /sys/class/leds/red/device/grpfreq
    
        chown system system /sys/class/leds/red/device/grppwm
    
        chown system system /sys/class/leds/red/device/blink
    
        chown system system /sys/class/timed_output/vibrator/enable
    
        chown system system /sys/module/sco/parameters/disable_esco
    
        chown system system /sys/kernel/ipv4/tcp_wmem_min
    
        chown system system /sys/kernel/ipv4/tcp_wmem_def
    
        chown system system /sys/kernel/ipv4/tcp_wmem_max
    
        chown system system /sys/kernel/ipv4/tcp_rmem_min
    
        chown system system /sys/kernel/ipv4/tcp_rmem_def
    
        chown system system /sys/kernel/ipv4/tcp_rmem_max
    
        chown root radio /proc/cmdline
    
    
    
        # Set default dim speed to 500ms
    
        write /sys/devices/platform/i2c_omap.2/i2c-adapter/i2c-2/2-0040/dim_time 500
    
    
    
    # Define TCP buffer sizes for various networks
    
    #   ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
    
        setprop net.tcp.buffersize.default 4096,87380,110208,4096,16384,110208
    
        setprop net.tcp.buffersize.wifi    4095,87380,110208,4096,16384,110208
    
        setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
    
        setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
    
        setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
    
    
    
    # Define modem related settings
    
        setprop ro.radio.use-ppp yes
    
        setprop keyguard.no_require_sim 1 
    
        setprop ro.config.nocheckin yes
    
    
    
    # Set EPD Flushing Update percentage for AUTO Mode.
    
        write /sys/class/graphics/fb0/epd_percent 85
    
    # Set EPD Flush elimination window (ms) for AUTO Mode.
    
        write /sys/class/graphics/fb0/epd_delay 100
    
    
    
        class_start default
    
    
    
        start omap-edpd
    
    
    
    #    start console
    
    
    
    
    
    ## Daemon processes to be run by init.
    
    ##
    
    service console /system/bin/sh
    
        console
    
    
    
    # load DSP firmware
    
    service baseimage /system/bin/cexec.out /system/lib/dsp/baseimage.dof
    
        user root
    
        group audio
    
        oneshot
    
    
    
    # Responsable of DSP recovery
    
    service bridged /system/bin/bridged
    
         user root
    
         group system
    
         oneshot
    
    
    
    service omx_pm /system/bin/OMXPolicyManager
    
        oneshot
    
    
    
    service omx_rm /system/bin/OMXResourceManager
    
        oneshot
    
    
    
    # adbd is permanent
    
    service adbd /sbin/adbd
    
    
    
    
    
    service bootanim /system/bin/bootanimation
    
        user graphics
    
        group graphics
    
        disabled
    
        oneshot
    
    
    
    #service mux /system/bin/gsm0710muxd -s /dev/ttyS1 -n 3 -m basic
    
    #service mux /system/bin/gsm0710muxd -v -s /dev/ttyS0 -b 460800 -n 3 -m advanced
    
    #    user radio      
    
    #    group radio cache inet misc
    
    #    oneshot
    
    
    
    service servicemanager /system/bin/servicemanager
    
        user system
    
        critical
    
        onrestart restart zygote
    
        onrestart restart media
    
    
    
    service vold /system/bin/vold
    
        socket vold stream 0660 root mount
    
    
    
    #service mountd /system/bin/mountd
    
    #    socket mountd stream 0660 root mount
    
    
    
    service debuggerd /system/bin/debuggerd
    
    
    
    # Start of SGX driver
    
    service pvrsrv /system/bin/sh /system/bin/sgx/rc.pvr start
    
        user root
    
        oneshot
    
    
    
    #service ril-daemon /system/bin/rild -l /system/lib/libidcc6071-ril.so -- -d /dev/pts/0
    
    #service ril-daemon /system/bin/rild -l /system/lib/libenforaedg308-ril.so -- -d /dev/pts/0
    
    #    socket rild stream 660 root radio
    
    #    socket rild-debug stream 660 radio system
    
    #    user root
    
    #    group radio cache inet misc
    
    
    
    #service pppd_gprs /etc/init.gprs-pppd /dev/pts/1
    
    #   user root
    
    #   group radio cache inet misc
    
    #   disabled
    
    
    
    service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    
        socket zygote stream 666
    
        onrestart write /sys/android_power/request_state wake
    
    
    
    service media /system/bin/mediaserver
    
        user media
    
        group system audio camera graphics inet net_bt net_bt_admin
    
    
    
    #service fw3a /system/bin/fw3a_core
    
    #    user root
    
    #    group root
    
    
    
    #service bootsound /system/bin/playmp3
    
    #    user media
    
    #    group audio
    
    #    oneshot
    
    
    
    service dbus /system/bin/dbus-daemon --system --nofork
    
        socket dbus stream 660 bluetooth bluetooth
    
        user bluetooth
    
        group bluetooth net_bt_admin
    
    
    
    #service bluetoothd /system/bin/bluetoothd -d -n
    
    #    socket bluetooth stream 660 bluetooth bluetooth
    
    #    socket dbus_bluetooth stream 660 bluetooth bluetooth
    
    #    # init.rc does not yet support applying capabilities, so run as root and
    
    #    # let hcid drop uid to bluetooth with the right linux capabilities
    
    #    group bluetooth net_bt_admin misc
    
    #    disabled
    
    #    oneshot
    
    
    
    #service uim /system/xbin/uim /dev/ttyS1 3000000 1 /sys/uim/pid 19
    
    #   user root
    
    #   group media bluetooth
    
    #   oneshot
    
    
    
    #service hciattach /system/bin/hciattach -l 
    
    #    user root
    
    ## changing user to root from bluetooth is a potential security issue
    
    ## service hciattach_legacy is used instead of hciattach because, we dont 
    
    ## have nodes named ttyHS0
    
    #    group bluetooth net_bt_admin misc
    
    #    disabled
    
    #    oneshot
    
    
    
    #service hciattach_legacy /system/bin/hciattach -n /dev/ttyS1 texas 3000000
    
    #    user root
    
    ## changing user to root from bluetooth is a potential security issue
    
    #    group bluetooth net_bt_admin misc
    
    #    disabled
    
    #    oneshot
    
    
    
    #service hfag /system/bin/sdptool add --channel=10 HFAG
    
    #    user bluetooth
    
    #    group bluetooth net_bt_admin
    
    #    disabled
    
    #   oneshot
    
    
    
    #service hsag /system/bin/sdptool add --channel=11 HSAG
    
    #    user bluetooth
    
    #    group bluetooth net_bt_admin
    
    #    disabled
    
    #    oneshot
    
    
    
    #service opush /system/bin/sdptool add --channel=12 OPUSH
    
    #    user bluetooth
    
    #    group bluetooth net_bt_admin
    
    #    disabled
    
    #    oneshot
    
    
    
    #service pbap /system/bin/sdptool add --channel=19 PBAP
    
    #    user bluetooth
    
    #    group bluetooth net_bt_admin
    
    #    disabled
    
    #    oneshot
    
    
    
    
    
    service installd /system/bin/installd
    
        socket installd stream 600 system system
    
    
    
    service flash_recovery /system/bin/flash_image recovery /system/recovery.img
    
        oneshot
    
    
    
    service wlan_loader /system/bin/tiwlan_loader \
    
        -f /system/etc/wifi/firmware.bin \
    
        -i /system/etc/wifi/tiwlan.ini \
    
        -e /rom/devconf/WiFiBackupCalibration
    
        disabled
    
        oneshot
    
    
    
    service ifcfg_ti /system/bin/ifconfig tiwlan0 up
    
        disabled
    
        oneshot
    
    
    
    service wpa_supplicant /system/bin/wpa_supplicant -Dtiwlan0 -itiwlan0 -c/data/misc/wifi/wpa_supplicant.conf -dd
    
        socket wpa_tiwlan0 dgram 660 wifi wifi
    
        disabled
    
        oneshot
    
    
    
    service dhcpcd /system/bin/dhcpcd -ABKL -d tiwlan0
    
        disabled 
    
        oneshot
    
    
    
    # TI WLAN Soft AP related services and configuration
    
    
    
    service wlan_ap_loader /system/bin/tiap_loader \
    
        -f /system/etc/wifi/softap/firmware_ap.bin \
    
        -i /system/etc/wifi/softap/tiwlan_ap.ini
    
        disabled
    
        oneshot
    
    
    
    service udhcpd /system/bin/udhcpd /system/etc/udhcpd/udhcpdWlan.conf
    
        disabled
    
        oneshot
    
    
    
    service hostapd /system/bin/hostapd -dd /data/misc/wifi/hostapd.conf
    
        disabled
    
        oneshot
    
    
    
    service keystore /system/bin/keystore /data/misc/keystore
    
        user keystore
    
        group keystore
    
        socket keystore stream 666
    
    
    
    # TODO: load waveform file from ROM token /rom/devconf/EpdWaveform instead
    
    service omap-edpd /system/bin/omap-edpd.elf -n --timeout=2 -pV220 --fbdev=/dev/graphics/fb0 -s /system/lib/dsp/subframeip_snode_dsp.dll64P -w /rom/devconf/EpdWaveform,/system/etc/default_waveform.bin
    
        oneshot
    
        disabled
    
    
    
    on property:dev.bootcomplete=1
    
        start bootcnt
    
    
    
    service bootcnt /system/bin/clrbootcount.sh
    
        disabled
    
        oneshot
    
    
    
    service debuglog /system/bin/debuglog.sh
    
        user root



    Modified default.prop in this version:
    Code:
    #
    # ADDITIONAL_DEFAULT_PROPERTIES
    #
    ro.secure=0
    ro.allow.mock.location=0
    ro.debuggable=0
    persist.service.adb.enable=1
    3
    Here we go, uRamdisk for NTG is attached.
    Should enable ADB permanently without affecting anything else.
    2
    Just attempted to touchnooter the NST Glow. No luck. Here is what happened...

    1. Downloaded Touchnooter-2-1-31
    2. Used WinImage to create the microSD boot "disc"
    3. Powered off Nook and inserted microSD card
    4. Powered Nook on, showed Touchnooter instructions on boot (black flash, remove, reboot, etc.)
    5. Removed microSD and rebooted
    6. Came up to normal "Nook - Read Forever" initial boot screen
    7. Displayed "Nook" boot screen (the one with 5 dots)
    8. Counted through the dots a few times, sorry I didn't get the exact count
    9. Glow light comes on and stays on
    10. Screen will flash black and it will count 3 dots, then flash again and repeat

    I let the unit stay on this "stuck loop" for several minutes (at least 10) and nothing changed.

    I ended up doing the 8 failed boots restore and the unit is functional again, and "unrooted", so I didn't brick it. But it looks like there is a little work that needs to be done to root the NST Glow.
    2
    I just posted a minimal touch based rooting script (ie, a clockwork script that copies in a few files) for rooting the glowworm.

    See http://xdaforums.com/showthread.php?p=26015994#post26015994

    for the details including links to the NST/glowworm CWR disk and the two rooting files I made, both installed via Clockwork.

    I have to run out the door very soon or I'd post more, but many many thanks to all who made it possible - all the parts were around, all I needed to do was put them together. (and leave out the ones I'm clueless about!)
    2
    Many, many thanks to Gabrial for his hard and continuing work!

    I copied in his second uRamdisk and am now rooted w/ADB support over wifi.

    Copy in adb wireless to your /data/apps folder, and a launcher (both while booted from noogie, with a linux host mounting up the filesystems.) Set up /system properly for su, again just copying in from your stock ST. Enable ADB over wireless using that tool - persistent would be cool, but being able to turn it on at all is great.

    I have an alternate launcher, adb over wifi, su installed.

    Repartiitioning is done, symlinks are done. I didn't get the partitions exactly how I wanted them, but I have 880
    mb of internal storage for myself, the unit is registered and is downloading to /media so I can fish the files I want
    back out.

    Win, except that the illumination is pretty uneven on my unit.

    Does that improve over time?

    I haven't tried getting the G market running, but I did just set up the Amazon market and it is running with no trouble at all.

    I see with interest that the glowworm has a browser built into it still, exposed once you install a launcher and Button Savior.