[Barnes & Noble Nook Tablet] hkvc:
[DONE] source of linboothkvc v1.0 (includes binary for NookTab with working xloader)

Hi All,

LinBootHKVC for NookTab is fully DONE now. Well (for developers) it can work with any ROOTED ARM based LINUX device (android or not doesn't matter) with kernel module support with minimal love, for those who are interested ;-).

Along with the source (which can work with any Arm based linux setup with some minimal love), this release also includes the binary kernel module for BN NOOK TABLET with firmware 1.4.0. Which inturn contains a working x-loader binary as its NChild for NookTab, which looks for a u-bootk.bin file on the uSD card.

To use this on NookTab (similar steps work for any other device, provided you have suitably compiled linboothkvc for your device with proper love)

a) get your required/prefered u-boot.bin file and prepend a 288 (0x120) byte dummy header and name it u-bootk.bin

i.e

dd if=/dev/zero of=/tmp/dummy.bin bs=288 count=1

cat /tmp/dummy.bin u-boot.bin > u-bootk.bin

b) copy this u-bootk.bin to the root directory of the 1st partiton on a uSD card which inturn should be VFAT formated. (To be 100% safe and sure use a newly formated uSD - Or you never know when Murphys law can kick in, see my note at the end for a bad luck I had yesterday night :-)

c) Insert the uSD card to your Nook Tablet

d) Copy to your Rooted NOOK TABLET with firmware 1.4.0 the kernel module lbhkvc_km_DEVICE_NOOKTAB.ko which I have provided with in the release folder in the source package uploaded with this message/post.

__may be__ adb push lbhkvc_km_DEVICE_NOOKTAB.ko /data/local/tmp/

or similar or thro the uSD card and a file manager.

e) either from adb (on PC) or a terminal (on NookTab) or serial port (on PC) get to a root shell.

if using ADB on a PC connected to rooted Nook Tab it will be

adb shell

su

NOTE: PC is NOT required, you can also load the kernel module directly from Nooktab by using a android terminal package to get shell access.

f) insmod the copied Kernel module from the root shell/prompt

insmod lbhkvc_km_DEVICE_NOOKTAB.ko

This will load linboothkvc and inturn do a forced reboot/hijack into a x-loader environment, which will inturn load the u-bootk.bin which you had copied into SD card in steps a to c above.

NOTE: Based on what I have verified, u-boot works with out requiring any change to it (unless you want to bypass the security check in u-boot :-). So ENJOY.

NOTE: This can equally work on a 1.4.1 firmware based Nook Tablet, provided it is rooted. But for that you will most probably have to recompile my kernel module with updated addresses (if it has changed) for the kernel functions which I am using. However if BN hasn't done any change to kernel in 1.4.1 firmware, then the current kernel module which I have bundled it self will work. I haven't verified with 1.4.1 firmware currently (as I haven't upgraded to 1.4.1)

NOTE: Be sure to save any things you might be working on your NookTab, before loading the kernel module, because it will force a reboot with out any mercy, so any unsaved things in your NookTab can get lost. so BEWARE :-)

NOTE: Rather even yesterdays release would have worked 99%, I had a problem with my uSD card being bit corrupt wrt rootdirectory, which is why it was failing yesterday when I finished it originally :-). However in this release I have also cleaned up the Nirvana code a small bit to avoid the hardcoded ioremap address of UART.