May 15, 2011

Nook: update busybox version & use Putty to connect to Nook (ADB)

Disclaimer: this post is addressed to advanced users, that have experience with Linux command line interface, and that are confortable connecting to Nook using ADB (or telnet/ssh).

The busybox version included in Nook is quite old. Updating it to a new one could be useful, for  having access to both new commands and features.

The procedure to update busybox is really simple:
  1. download and unizp busybox (or directly from busybox site);
  2. (optional) to be on safe side, make a backup of current busybox binary, placed into /system/bin;
  3. using adb, copy new busybox executable to nook, folder /system/bin, renaming it busybox;
  4. change owner and permissions of new busybox file:
    chmod 744 /system/bin/busybox
    chown system.system /system/bin/busybox
In my case (maybe using other configuration this could be different), using the updated busybox results in a easier usage of ADB enhanced Putty client to connect to Nook: infact, both autocomplete by tab key and command history (up key) work correctly.

Tip: if you add in file /init.rc the following row (about at the start of the file, where also others env variables are set):
export ENV /ash_startup_script ash
you can then create the file /ash_startup_script. In this file you can add whatever you want, that will be executed at session shell creation. In my case, for instance, i put the alias for ll, so that i don't have to define it manually each time i start a shell session:
alias ll=ls -l"

    Nook: install Nano text editor

    Disclaimer: this post is addressed to advanced users, that have experience with Linux command line interface, and that are confortable connecting to Nook using ADB (or telnet/ssh). The text editor Nano is not accessible by Nook (android) user interface.

    The linux version installed on Nook firmware lacks any kind of text editor (nano, vi, emacs, and so on), normally present on linux distributions.
    Having a text editor is really useful for advanced users, in order to quickly show and edit configuration files. Just to make some example: wifi configuration (wpa_supplicant.conf); startup configuration (init.rc).
    Nano is a really simple to use editor, and it's easily installable on Nook. Of course, a rooted Nook is necessary; but if you don't have a rooted Nook, you probably will not need any linux CLI text editor.

    Installation procedure:
    1. download and unzip nano;
    2. download terminfo;
    3. copy both files to your Nook, using adb;
    4. move nano to folder /system/bin;
    5. set appropriate owner and permission to nano executable:
      chown system.system /system/bin/nano
      chmod 755 /system/bin/nano
    6. unzip terminfo and set correct permission:
      busybox tar -xzvf terminfo.tar.gz -C /
      chmod -R 0755 /system/etc/terminfo
      chmod -R 0644 /system/etc/terminfo/?/*
    7. set the following env variables:
      export TERM=xterm
      export TERMINFO=/system/etc/terminfo
    8. now you should be able to launch nano from your shell:
      nano <filename>
    9. (optional) you need to set the env variable of step 7) each time you launch a shell; therefore, it could be convenient to set them automatically during initialization of Nook, adding the following two lines to file /init.rc (about at the start of the file itself, where a lot of env variables are set):
      export TERM xterm
      export TERMINFO /system/etc/terminfo
    That's it!

    March 12, 2011

    Nook: alternative applications to standard library

    The standard library application of Nook has some limitations; for instance:
    • since it doesn't handle folders (i.e. all book will be shown in a single list), it is quite uncofortable to use it when you have a large collection of books loaded into Nook;
    • it misses some nice features like the cover view.
    Luckily, the Nook developers community provides some valid alternatives to the default library. Of course, to be able to install and use them, you need a rooted Nook; but this should not be a big problem!

    What i consider the best library application is the "File Browser" by Nomad. It features a really nice and fast cover strip mode, that allows you to choose books by sliding the covers (on the touch screen display). Moreover you can (optionally) navigate trhoughout your contents in folder-mode. This is really useful when you have a large collection of books, organized in a tree structure.

    Original thread in russian by the author, with further info and download here (translation to english).
    Please note that the author publishes 2 versions:
    • one will become automatically the default library of Nook;
    • the other will instead be installed as a standalone application;
    so pay attention to choose the one you prefer.
    The author often releases new versions to correct bugs or introduce new features, so check his thread out once in a while to see if a new version is available!

    Another valid option is NookLibrary by Nookdev community. More or less it offers the same features of the application by Nomad, but in my opinion is slightly slower and a bit less comfortable in its usage. My advice in any case it's just to try both applications and see which one better suit your needs.
    Here you can find more info and download the last version (currently 0.1.7).

    Nook: update for Firmware Improvements (v1.2 available)

    Minor update for my Nook Firmware Improvements.
    Version 1.2 include a better handling of "Full-Screen" feature, that now is handled directly through the reader menu.
    Moreover, both Orientation and Full-Screen setting are now persisted across reboots.
    Again (see this post), all credits for these new features go to user darkker of russian forum "The Electronic Book".

    As usual, instructions and download on this page.

    March 5, 2011

    Nook: full-screen mode and landscape orientation on reader

    With the version 1.1 of my firmware improvements for Nook, i introduced two more features for default Nook eBook-Reader application:
    • choose text orientation between portrail (default) and landscape;
    • choose to display or hide the top status bar (with title, battery status, time) in order to maximize the reading area.
    For the orientation feature, all credits go to user darkker of russian forum "The Electronic Book". I just merged the modification he made with my code (in order to keep also the other improvements i made). This is the original link in russian (and its translation to english) to the thread where you can find more info about his implementation of this feature and its author.

    As usual, instructions and download on this page.

    January 16, 2011

    Nook: new version of my Firmware improvements

    I made a complete refactoring of the improvements i made on Nook firmware, and already described in the previous posts:
    With the last version, i introduced a configuration file that easily allow to enable / disable the various hacks and also to configure some parameters, without the need of messing with ADB.

    Further info and download on this page.

    December 31, 2010

    Nook: Shutdown image hack

    By default, when you power off the Nook reader (long-clicking the power button) the eInk display will be set with an all-white image (i.e. no image at all).
    As you probably already know, a nice eInk display feature is that they don't need any power to display any kind of image: the power is only needed during page transitions. Therefore it is possible to let the Nook display any given image when it is powered off without any effect on battery life.
    Unfortunately, this (pretty useless, i admit; it is just "for fun") feature is not present on original Nook firmware, so i decided to implement it with a small modification of firmware (actually, of an android system library).

    More details and download on this page.