[Nook HD, HD+ Android Development] ar2000jp:
Hello everyone! :)

Here's a little gift for you.

This is a port of a recent U-Boot (currently v2014.07) for the BN Ovation.

YouTube video: http://youtu.be/LN2bcjdnWnQ

Thanks to bauwks, fattire, Barnes & Noble (although their code is horrible), Wolfgang Denk and the U-Boot contributors, and everyone else that helped with cracking the Nook's bootloader.

Playing with bootloaders can be dangerous. Although I tested this software, I can't guarantee that it won't harm your device.​

#include
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this software
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/

Why?:

I got bored, so I started working on a Debian port for the HD+. I then realized that I'll need to change the boot params to make things work without ugly hacks. I looked around, and all I could find was the same bootloader with hacks for menus and different boot params. So, I thought I'd do a fresh and (hopefully) clean port of the latest U-Boot, and enable boot scripts, so that we can use one bootloader for all the ROMs and kernels.

Do you guys think this would be accepted upstream? No point in doing that without replacing the first U-Boot, I think.

What works:

My board's revision (PVT according to original U-Boot, EVT1B according to kernel. Novatek panel.)

Console over USB (usbtty)

Console over LCD (vga)

Display

Booting from SD

Booting from eMMC

Boot scripting (SD, eMMC)

You tell me

What doesn't work (only in bootloader):

Display backlight control

Gas Gauge (battery meter)

Charging control

You tell me

Sources:

From my GitHub: https://github.com/Ar2000jp/u-boot.git

Based on (upstream): http://git.denx.de/u-boot.git

BN sources: http://www.barnesandnoble.com/u/Terms-of-Service-NOOK-HD-HD-Plus/379003804

Binaries:

Attached to this post.

Copy the file named "uImage" to your SD card's boot partition. To create an SD card with the required boot partition and files, follow the procedure for creating an external recovery SD card. Check out this thread for more information: https://xdaforums.com/showthread.php?t=2600572

To do:

Lots of testing

You tell me

How to compile:

I used Code Sourcery's arm-2014.05-28-arm-none-eabi-i686-pc-linux-gnu release.

ARCH="arm" CROSS_COMPILE="/opt/codesourcery/arm-2014.05/bin/arm-none-eabi-" make distclean
ARCH="arm" CROSS_COMPILE="/opt/codesourcery/arm-2014.05/bin/arm-none-eabi-" make omap4_ovation_eng_config
ARCH="arm" CROSS_COMPILE="/opt/codesourcery/arm-2014.05/bin/arm-none-eabi-" make -j3 u-boot.bin
ARCH="arm" CROSS_COMPILE="/opt/codesourcery/arm-2014.05/bin/arm-none-eabi-" make clean
gzip --best -vk u-boot.bin
mkimage -A arm -O linux -T kernel -C gzip -a 0x88000000 -e 0x88000000 -n "2nd Bootloader" -d u-boot.bin.gz uImage

For the Engineering build (more command line features), use:

make omap4_ovation_eng_config

And for the normal build, use:

make omap4_ovation_config

Changelog:

See GitHub commit log.