I decided to check out the Nook earlier today; naturally it's not available in Ireland so I downloaded the firmware update from Barnes and Noble and set to work on getting it to run on something.
I didn't expect to get very far, but after a little hacking it was actually working.
To get it to run I had to:
- • grab the firmware update using the tools at http://code.nookdevs.com/
- • unpack the system folder out of the firmware update using said tools and gunzip
- • replace lib/libaudioflinger.so with that from a clean Cupcake build of Android (took it from the emulator)
- • disassemble the classes.dex file inside framework/services.jar using baksmali
- • modify 'ServerThread.smali' to remove the line " if-lt v0, v1, :cond_483 " (it looped on waiting for eInk display)
- • recompile the dex file using smali and re-insert it into the jar
- • create a system.img from the system folder using mkyaffs2image
- • replace the system.img of my Cupcake emulator build with the Nook one just created
- • boot the emulator with a resolution of 480x944 (the highest I could get it; it's about 120px too thin for the eInk display)
- • unpack the system folder out of the firmware update using said tools and gunzip
This is by no means a guide, but it should hopefully point more capable Android hackers in the right direction if they want to get this booting. I'm pretty sure that's all that was required.
Networking is working fine; and the arrow keys on the keyboard control the page turning
Here are some screenshots!
UPDATE:A video for you non-believers ;-)
Nook on Android Emulator from Steven Troughton-Smith on Vimeo.