Congratulations to Cicadaman & co. for getting Froyo running on the Nook Color! Visit the nook Color portal!
See Rooting new hardware FIRST if you have a nook original with a 1003* serial# or above.

NookColor: Nookie Froyo Technical Page

From nookDevs

Jump to: navigation, search
link=NookColor portal
Part of the NookColor portal
This page contains unsupported information and could cause damage if you continue!
Please note that the information on this page is unsupported and we will not be responsible for any damages or failures to your equipment. Please follow with care.

This wiki document is a work-in-progress, intended for a limited audience (for now).

Really, this is not ready for prime time. Don't do it. This is a research project.

And we're not answering questions yet. Really. Not. We'll let you know.

Contents

What is this?

A more technical discussion of how to create your own version of Nookie Froyo, a flavor of Android Froyo which can be booted on the Nook Color from an SD card.

The detailed description can be found on the base page at NookColor: Nookie Froyo. This is the techy-geeky page.

Downloading Sources

Lastest version of cicadaman's sources: http://edencomputing.com/nookcolor/nookie-froyo-base-0.6.6.tar.gz

Discussion thread on XDA-Developers.com

Creating Build Environment

Formatting SD Card

info here. The sector/head/cyl counts are important, otherwise you get black-screen. You should partition your SD card into four parts, as described below:

Warning: If you don't understand this: STOP. Even if you do, you should probably STOP.
Device      Boot      Start         End      Blocks   Id  System
/dev/sdd1   *           1          15      120456    c  W95 FAT32 (LBA)
/dev/sdd2              16          34      152617+  83  Linux
/dev/sdd3              35         123      714892+  83  Linux
/dev/sdd4             124         244      971932+   c  W95 FAT32 (LBA)

p1 is /boot, p2 is /system, p3 is /data+cache, p4 is SD

Modifying init.rc

The bundled init.rc in the uRamdisk, a "mix of stock + froyo, mostly froyo", must be modified to point to your new partitions (ie /dev/sdX# where X is your device and # is the partition) If you don't know how to do this... stop. It will involve unpacking and repacking the uRamdisk.

To unpack, copy uRamdisk into a directory (which we'll call "ramdisk")

cd /to/ramdisk/directory/where/uRamdisk/is
dd if=uRamdisk of=ramdisk.cpio.gz bs=64 skip=1
gunzip ramdisk.cpio.gz
cpio -i -F ramdisk.cpio
rm uRamdisk

To repack:

See instructions on this page. You will need to build u-boot to get the mkimage tool.


Source Code

GitHub Sources:

Barnes & Noble's source code:

This is a 2.6.29 kernel built with the omap3621_evt1a_defconfig config. Modified further by cicadaman. https://github.com/optware4android/nook_kernel

Android FroYo sources:

Various TI redistributable binaries (linked from omappedia) for nook hardware:

In process work for BT activation:

Work continues from the software side to get a software chain in place which will talk to the NC's bluetooth hardware and expose it to android. This has not yet succeeded. The current status is, that the kernel is capable of talking to the Bluetooth's controlling uart via hciattach loaded from Optware for Android. No radio signals, no pairing has been achieved. Please monitor the wiki and the IRC channel for progress.

We do not yet know if the BT radio is on and working. That is a hardware issue. The BT radio is hardware controlled by a pin on the underside of the radio chip and we can not see it or test it without tearing a board apart, so, short of the hardware teardown, which can not be reversed, work continues on BT software in the hopes that the radio is activated.

U-Boot diff <> http://pastebin.com/cz0MSP8n - sets up the GPIO that controls the BT enable

BN stock kernel diff <> http://pastebin.com/YrezkdRf - maps the BT enable to an rfkill device

With both of these patches, you can turn on the BT module with:

echo 1 > /sys/class/rfkill/rfkill0/state

BTS initialization scripts to test and modify here: TI_Connectivity_Package_Firmware_and_InitScripts_COM6_1271-L27.5.2_Pandroid

currently it only loads w/ hciattach from bluez 3.x from Optware for Android and bluez 3.x optware needs dbus for hcid, and optware's dbus seems to not be playing nice w/ bluez... which appears to be in the init script /opt/etc/init.d/S20dbus


fyi : if you try a script the bt doesn't like, the controller gets wedged. either power cycle or trip the watchdog to get it to reset

applicable reference info at http://processors.wiki.ti.com/index.php/ARM_Processor_Wireless_Connectivity_FAQ#How_can_I_run_Tx_BIP_.28WLAN_Calibration.29.3F

This is the TI source and utils for the wlan driver and wilink firmware that comes with NC 1.0.1 firmware: http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/ecs/WL1271_Linux_SDK/3_00_01_06/index_FDS.html

Getting hardware UART console (WIP)

Apply these patches to the stock u-boot and the nookiedevs github kernel: http://www.mediafire.com/?7v4bqe4pzqb1b2t . A built u-boot is included for the lazy.

Build a USB UART-to-serial cable. You'll need something that can take 3.3V asynchronous serial, such as an FTDI USB-serial cable like used with Arduino. You're on your own for figuring out how to construct the cable, but the signals are D+ (green) for RX input on the NC, D- (white) for TX output from the NC, and USB ground (black, not the shield!) for ground. Terminal settings are 115200,n81, and the OMAP UART is UART3 (/dev/ttyS2 on BN stock 2.6.29, /dev/ttyO2 on omappedia's 2.6.32)

When the patched u-boot starts up, it will drop you to a shell instead of autobooting. To boot into stock, just type "run normalboot". The kernel patch and the environment settings in these patches set up the Linux early printk and console to come out of the UART.

For some reason, android console output is not routed out the UART, and the screen stays black after a boot with this setup.


Nookie Froyo Navigation

Main Page

How to:

Burning a bootable SD Card | Updating the SD | Source, Build Instructions, etc | Tips

Links:

Nookie Froyo XDA Discussion Page | Donate to the cause

Please report all bugs/comments/suggestions to the discussion page
Views
Personal tools
  • Log in / create account
Navigation
nookDevs Team
miscellaneous