Say hi to "CyanoBoot" -- a 2nd bootloader/w menu aka "ub2" - (WIP)

Search This thread

fattire

Inactive Recognized Developer
Oct 11, 2010
2,280
6,473
www.eff.org
Say hi to "CyanoBoot" -- a 2nd bootloader/w menu aka "ub2" - (WIP)

“CyanoBoot”
(aka a "second bootloader")
Quick Guide
by fattire
(@fat__tire on Twitter)

Alpha 0: "I don't have a NT" Edition​

jFMQO13t3Gbub.jpg

(Thanks to indirect for the image.)

What is CyanoBoot?

CyanoBoot (working title) is a “second bootloader” in early development, which is based on the open-source “u-boot” project, as further customized by BN & Bauwks. It is similar to the bootloader provided by Bauwks but has additional enhancements to make booting unsigned partitions easier and to generally enhance the booting experience on the Nook Tablet (aka “acclaim”) device.

CyanoBoot is intended for use with the forthcoming CyanogenMod 9, but it can also be used to boot CM7 or Ubuntu Linux or even the stock firmware (provided of course you are not legally or contractually bound from doing so. I haven’t read or agreed to any BN user agreements, so can’t speak to this.)

CyanoBoot includes an on-screen menu system, the ability to boot into three basic modes (normal, recovery, and “altboot”), configuration options, fastboot, and more.

The same version of CyanoBoot should start from both SD card and emmc (although it must be packaged and installed differently for each.) It should work on both the 1gb and 512mb RAM models. NOTE: It has been reported that some devices may require a USB cable to be plugged in to boot from SD Card. If true, this issue is not understood and is not addressed, nor is it likely to be.

NOTICE: CYANOBOOT (WORKING TITLE) IS HIGHLY EXPERIMENTAL AND IS NOT INTENDED TO BE USED BY NON-DEVELOPERS AND/OR THOSE UNWILLING TO ACCEPT FULL RESPONSIBILITY FOR ANY UNTOWARD CONSEQUENCES OF USING (OR ATTEMPTING TO USE) THE SOFTWARE. ALL SUCH ACTIVITY MUST OCCUR *ENTIRELY AT YOUR OWN RISK* AND YOU ACCEPT ALL CONSEQUENCES FOR DOING SO. THE USE OR ATTEMPTED USE MAY HAVE UNINTENDED RESULTS, INCLUDING BUT NOT LIMITED TO LOSS OF DATA, DAMAGE TO HARDWARE, AND/OR EXPLOSIVE DIARRHEA. CYANOBOOT IS NOT ENDORSED, AFFILIATED, SPONSORED, NOR ASSOCIATED WITH THE "DAS U-BOOT" PROJECT, GOOGLE, BARNES AND NOBLE LLC, TEXAS INSTRUMENTS, DENX., NOR ANY OF THEIR PARTNERS, OWNERS, EMPLOYERS, AFFILIATES, CLIENTS, SUBCONTRACTORS, OFFICERS, DIRECTORS, ADMINSTRATORS, INFORMATION PROVIDERS, ETC. EXCEPT INSOFAR AS THEY HAVE PROVIDED AND LICENSED SOURCE CODE TO BE FURTHER MODIFIED AND DISTRIBUTED. SEE THE RELEVANT GNU PUBLIC LICENSE FOR LICENSING DETAILS AND OTHER DISCLAIMERS. THIS SOFTWARE IS OBVIOUSLY INTENDED FOR USE ONLY BY THOSE WHO ARE AUTHORIZED TO DO SO.

Whew!


LIST OF THINGS


  • Started with “UB1” (aka u-boot, “first boot”) source code
  • Includes changes to support new 512MB model
  • Includes Bauwks’ repairs to fix “locked bootloader” malware
  • Many duplicate UB1 functions removed
  • One-build-boots-all (emmc or SD card, custom OS or stock)
  • Boot device indicator (top-left corner)
  • Bootcount indicator (top-left corner)
  • On-screen feedback to let you know what it’s loading.
  • Console-based boot menu
  • Support for key-combo shortcuts for menu/recovery
  • Alternate “Altboot” multiboot support allows 2nd OS.
  • Emmc setting for default boot profile (normal/altboot)
  • Emmc setting for default boot device (emmc or sd)
  • Emmc setting for automatic bootcount clearing
  • Boot fallback for stock firmware (0 bytes + sec. header)
  • Boot fallback for bauwks’ uboot (256 bytes)
  • Numerous visual enhancements
  • Unused bulky images removed (smaller file)
  • FASTBOOT support (w/menu selection)
  • On-screen build timestamp so you know version
  • Perhaps much more, or maybe not

There are likely bugs all over the place, but this is how it's supposed to work:


Key Shortcuts

Hold down home (“n”) key for the menu.

Hold down home (“n”) + “power” to have UB1 start recovery. If UB2 is also installed, it should respect this key combo and continue to load recovery.

The default behavior if no keys are pressed is to boot “normally”-- if booting from emmc, the boot partition (p4) from emmc will be booted. If booting from SD the boot.img on SD file will be booted.


The Boot Menu

Use the Home (“n”) key to navigate through the menu options. You can select an option with the power key.

The option you choose will override any other configuration you have made.

NOTE: Just so you don’t ask-- the reason the home and power keys are used to navigate through the menu rather than the volume up and down keys is due to a required driver not being included with u-boot 1. While the home and power keys use a very simple “gpio” method to detect if they are pressed, the volume keys are more like keyboard keys and thus are more difficult to detect. (The Nook Color bootloader, in contrast, did have the appropriate driver, so volume key detection was possible.)


Boot Indicators

Since you can boot from either SD or EMMC, it may be difficult to ascertain which version you are starting from.

Never again. You can now see whether you have loaded CyanoBoot from EMMC or SD by lookin at the top left corner:

E” -> CyanoBoot is starting from emmc
S” -> CyanoBoot is starting from SDCard

The # that follows this indicator is the current “bootcount”. After 8 unsuccessful boots or so, stock behavior is to run recovery with a reflash instruction. See below for instructions on clearing the bootcount at every boot automatically.


Fastboot (used for development)

For those familiar with “fastboot”, you can select the fastboot option from the CyanoBoot menu to go into fastboot mode. You can then (hopefully) flash to the boot or recovery partitions via USB cable using a command such as:

$ fastboot flash boot boot.img


Installation (SD Card boot)

(If you are preparing your own SD card for booting, you should be aware that for OMAP devices such as the acclaim, the SDcard must be formatted using a very specific configuration, which is detailed elsewhere.)

For SD Card, CyanoBoot is packaged inside a “flashing_boot.img” file to be placed in the first vfat partition of the SD-card along with the signed “mlo” and “u-boot.bin” files from the 1.4.2 update.zip.

(I'm told the mlo file may be called called MLO_es2.3_BN in the BN update.zip and should be renamed to “mlo”.)

Next, the boot (“boot.img”), recovery (“recovery.img”) and/or alternate boot (“altboot.img”) image files may optionally be placed in this partition.


Installation (EMMC boot)

To boot from emmc, the “flashing_boot_emmc.img” file, which contains a packaged version of CyanoBoot, should be put at byte 0 of the third partition (recovery) and ALSO at byte 0 of the fourth partition (boot). Then, the boot/recovery partitions must be shifted “to the right” (to make room for Cyanoboot) so that it starts 512Kb in from the start of the file. Use a padding of zeros so that the boot image contents begin exactly at 512Kb.

The boot and recovery partitions are expected to use this offset. For the alternate boot from emmc, the “altboot.img” may be the identical file used in an SD-boot, placed into the /bootdata vfat partition without any offset.

NOTE: Again, use the flashing_boot_emmc.img file for emmc boot partitions, *not* flashing_boot.img, which is for SD card boot.


Offset Info

Again, when used on the emmc, CyanoBoot must be placed at byte 0, at both the boot and recovery partitions. The “actual” boot.img and recovery.img that would normally be at byte 0 of those partitions should be moved so that it starts 512Kb in.

Always use this offset in recovery (p3) and boot (p4) partitions. In other words, put CyanoBoot at offset 0 and then pad with zeros, then put the normal boot.img or recovery.img at offset 512.)

On SD Card, the “boot.img” and “recovery.img” files should have no padding or offset or anything. Use as normal. This is similar to how “uImage” and “uRamdisk” files are used on the NookColor, only use a single file for both with a header in front.


Installation Summary

One more time. Here are the locations for the boot images:

SDCARD

(p1-vfat)/boot.img file (no offset/padding)
(p1-vfat)/recovery.img file (no offset/padding)
(p1-vfat)/altboot.img file (no offset/padding)

EMMC

(p4-/boot partition)<- CyanoBoot at byte 0, boot.img contents at 512.
(p3-/recovery partition)<- CyanoBoot at byte 0, recovery.img contents at 512.
(p6-vfat)/bootdata/altboot.img (no offset/padding, same as SDCard)


Configuration

You can control the "default boot" behavior (ie, what happens when you don’t hold down any keys). If you are a developer that does not want to constantly clear the bootcnt, you can also cause CyanoBoot to clear the bootcount automatically at every boot. To do this, three configuration files may be added to /bootdata (partition 6) on the emmc.

CONFIG #1: BOOT DEVICE

This will cause CyanoBoot to always boot from the emmc boot partition rather than SD. In this way, you can boot “through” a bootable SD card to whatever is on the emmc.

To Make Default Always Boot To EMMC

$ echo -n “1” > /bootdata/u-boot.device

CONFIG #2: ALTBOOT

Aside from the normal boot and recovery boot, a third boot option is available, called “altboot” (alternate boot). This is a kernel/ramdisk pair that can be used for a third firmware, an overclocked kernel, or whatever you like. If you choose the “altboot” as a default and it does not exist, your boot will fail.

As discussed above, the altboot.img file goes in the following location:

SDCard: file on p1 called “altboot.img” (no special padding or offset)

EMMC: file at /bootdata/altboot.img (no special padding or offset)

To Make Default Always Boot to “altboot”

echo -n “1” > /bootdata/u-boot.altboot

CONFIG #3: CLEAR BOOTCOUNT -- You can automatically zero out the bootcount with every boot. To set this:

To Make Default Automatically Clear BootCount

echo -n “1” > /bootdata/u-boot.clearbc

NOTE: A version of “Nook Tablet Tweaks” is planned to automate the above options much as Nook Color Tweaks does for the encore device in CM7.


Thanks/Credits

Thanks to chrmhoffman, nemith, xindirect, Celtic, and loglud for testing, as I don’t have a device and have never actually run this. Thanks to j4mm3r for the first encore menu code. It was pretty much rewritten for acclaim, but the first menu was invaluable in showing me how to add the code for the console. Thx to pokey9000 for stuff that helped get fastboot working.

Also thanks to BN as well as all the talented u-boot developers at Denx and elsewhere for the GPL’d code upon which this was based.

http://www.denx.de/wiki/U-Boot is where you can find the main u-boot project.

Also, a huge thanks to Bauwks for his code contribution as well as for making this possible in the first place!

Remember, this is all experimental. I'll try to update this post if there's something that needs to be updated.

(source)

If you have an issue, be sure to mention the timestamp at the bottom so everyone knows which version you're using. There will be bugs.
 
Last edited:

pfalcon

Member
May 26, 2007
30
15
Great work! Especially thanks for mentioning GPL software and folks behind it - that's thanks to them Android, Nook, Kindle, and even this bootloader were at all possible. So, where's source for the changes you made to this GPL software? Thanks again.
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,280
6,473
www.eff.org
It's in the same directory. I'm going to make it a little clearer in the OP and I think maybe better organize the link to be in a subdirectory. So heads up that the links will change... ...changed.
 
Last edited:

Mistar Muffin

Senior Member
Aug 11, 2009
291
413
fattire,

This looks great! Is it extensible to other devices like CWM recovery? I'd love to see this on the Transformer/Prime. Ubuntu on those devices replaces recovery, so it would be great to have a 2nd bootloader to get past these limitations. Also, it would be cool to see CyanoBoot on other devices like the NC and Touchpad. The TP has moboot but I think there's something to be said for consistency in this area.

Awesome work!

-mm
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,280
6,473
www.eff.org
Yes, it'll work with CWM, TWRP2, or any other recovery. That's the point :)

Looks like the prime is a tegra3-based system. I don't know much about the bootloaders for Nvidia machines-- the nice thing about OMAP3/4 from Texas Instruments is that the u-boot bootloader works great, and is open source so you can extend it and stuff. While the bootloader for transformer is now unlockable I don't know that they give you the source, do they?

That said, from CM on the Qualcomm-based touchpad I know that a similar 2nd-level boot menu can be added AFTER the bootloader. Take a look at
the excellent moboot (lead developer is jcsullins) for an idea of how to add a very flexible menu that slips between the bootloader and the kernel. You can see it in action on youtube-- just look for any TouchPad cm7 or cm9 video where it boots up and you can select between CyanogenMod, WebOS, or one of the recovery images.

Hope that helps!


fattire,

This looks great! Is it extensible to other devices like CWM recovery? I'd love to see this on the Transformer/Prime. Ubuntu on those devices replaces recovery, so it would be great to have a 2nd bootloader to get past these limitations. Also, it would be cool to see CyanoBoot on other devices like the NC and Touchpad. The TP has moboot but I think there's something to be said for consistency in this area.

Awesome work!

-mm
 
  • Like
Reactions: wuziq

Mistar Muffin

Senior Member
Aug 11, 2009
291
413
Yes, it'll work with CWM, TWRP2, or any other recovery. That's the point :)

Sorry, I was trying to ask if CyanoBoot would be available on multiple devices the same way CWM is. I understand it allows the booting of recovery images. What I did not realize was that uboot was tied to the TI OMAP platform, so you're answer was very helpful. Thank you!
 

sungod88

Senior Member
Dec 28, 2011
100
2
Gonna be honest, I'm pretty sure this is for flashing roms such as how cwm allowed me to install cm7-teamb but I'm not sure. Also I saw someone say it flashes cm9? Sorry I'm just trying to get a feel at what this would really be used for, no offense intended.
 

pfalcon

Member
May 26, 2007
30
15
It's in the same directory. I'm going to make it a little clearer in the OP and I think maybe better organize the link to be in a subdirectory. So heads up that the links will change... ...changed.

Thanks! Why not push it to github? (At least I had a look thru your repos on github yesterday and didn't see anything related, sorry if I missed something.)
 

cobrato

Senior Member
Jul 5, 2010
877
1,967
Thanks for the awesome work fattire.

Here are the problems I found:

I manage to include cynoboot in recovery & boot but then there's device no found error using adb. Am I missing some drivers? (I am using WinXP)

because of that fastboot is not working too.

and then once enter fastboot mode. I can't get out unless I power off (n button can't navigate)
 

chrmhoffmann

Inactive Recognized Developer
Nov 11, 2006
928
3,145
Hi,

you can use "fastboot reboot" to reboot the device. I didn't have an adb problem. Are you saying you try to adb into the device when in the menu? This doesn't work as there is no android running. I guess on windows you have to install android SDK first to get the drivers.


Rgds,
Chris
 
  • Like
Reactions: fattire and cobrato

cobrato

Senior Member
Jul 5, 2010
877
1,967
Hi,

you can use "fastboot reboot" to reboot the device. I didn't have an adb problem. Are you saying you try to adb into the device when in the menu? This doesn't work as there is no android running. I guess on windows you have to install android SDK first to get the drivers.


Rgds,
Chris

I mean if I boot up the rom (I'm running MIUI) with the boot.img that includes cynoboot, then adb does not work (device not found). If I boot with the original boot.img, then no problem with adb

And fastboot command does not work for me either (I have android sdk installed)

I'll try the sdcard version later.
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,280
6,473
www.eff.org
I mean if I boot up the rom (I'm running MIUI) with the boot.img that includes cynoboot, then adb does not work (device not found). If I boot with the original boot.img, then no problem with adb

And fastboot command does not work for me either (I have android sdk installed)

I'll try the sdcard version later.

Are you using the 1.4.2 mlo and a 1.4.2 kernel?
 

fattire

Inactive Recognized Developer
Oct 11, 2010
2,280
6,473
www.eff.org
I'm using 1.40

Sent from my LT18i using Tapatalk

cyanoboot is effectively a 1.4.2 u-boot.bin as far as handling the 512 model and all that goes. I don't konw that there were significant changes that would affect usb/adb, but jic you might want everything to match up...

Oh also, as far as fastboot goes... the device vendor_id was changed from 0x0451 to the google usb vendor id that most fastboots use which is 0x18d1. The device product_id is 0x0100.

Worked for chrmhoffman and others...
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 56
    Say hi to "CyanoBoot" -- a 2nd bootloader/w menu aka "ub2" - (WIP)

    “CyanoBoot”
    (aka a "second bootloader")
    Quick Guide
    by fattire
    (@fat__tire on Twitter)

    Alpha 0: "I don't have a NT" Edition​

    jFMQO13t3Gbub.jpg

    (Thanks to indirect for the image.)

    What is CyanoBoot?

    CyanoBoot (working title) is a “second bootloader” in early development, which is based on the open-source “u-boot” project, as further customized by BN & Bauwks. It is similar to the bootloader provided by Bauwks but has additional enhancements to make booting unsigned partitions easier and to generally enhance the booting experience on the Nook Tablet (aka “acclaim”) device.

    CyanoBoot is intended for use with the forthcoming CyanogenMod 9, but it can also be used to boot CM7 or Ubuntu Linux or even the stock firmware (provided of course you are not legally or contractually bound from doing so. I haven’t read or agreed to any BN user agreements, so can’t speak to this.)

    CyanoBoot includes an on-screen menu system, the ability to boot into three basic modes (normal, recovery, and “altboot”), configuration options, fastboot, and more.

    The same version of CyanoBoot should start from both SD card and emmc (although it must be packaged and installed differently for each.) It should work on both the 1gb and 512mb RAM models. NOTE: It has been reported that some devices may require a USB cable to be plugged in to boot from SD Card. If true, this issue is not understood and is not addressed, nor is it likely to be.

    NOTICE: CYANOBOOT (WORKING TITLE) IS HIGHLY EXPERIMENTAL AND IS NOT INTENDED TO BE USED BY NON-DEVELOPERS AND/OR THOSE UNWILLING TO ACCEPT FULL RESPONSIBILITY FOR ANY UNTOWARD CONSEQUENCES OF USING (OR ATTEMPTING TO USE) THE SOFTWARE. ALL SUCH ACTIVITY MUST OCCUR *ENTIRELY AT YOUR OWN RISK* AND YOU ACCEPT ALL CONSEQUENCES FOR DOING SO. THE USE OR ATTEMPTED USE MAY HAVE UNINTENDED RESULTS, INCLUDING BUT NOT LIMITED TO LOSS OF DATA, DAMAGE TO HARDWARE, AND/OR EXPLOSIVE DIARRHEA. CYANOBOOT IS NOT ENDORSED, AFFILIATED, SPONSORED, NOR ASSOCIATED WITH THE "DAS U-BOOT" PROJECT, GOOGLE, BARNES AND NOBLE LLC, TEXAS INSTRUMENTS, DENX., NOR ANY OF THEIR PARTNERS, OWNERS, EMPLOYERS, AFFILIATES, CLIENTS, SUBCONTRACTORS, OFFICERS, DIRECTORS, ADMINSTRATORS, INFORMATION PROVIDERS, ETC. EXCEPT INSOFAR AS THEY HAVE PROVIDED AND LICENSED SOURCE CODE TO BE FURTHER MODIFIED AND DISTRIBUTED. SEE THE RELEVANT GNU PUBLIC LICENSE FOR LICENSING DETAILS AND OTHER DISCLAIMERS. THIS SOFTWARE IS OBVIOUSLY INTENDED FOR USE ONLY BY THOSE WHO ARE AUTHORIZED TO DO SO.

    Whew!


    LIST OF THINGS


    • Started with “UB1” (aka u-boot, “first boot”) source code
    • Includes changes to support new 512MB model
    • Includes Bauwks’ repairs to fix “locked bootloader” malware
    • Many duplicate UB1 functions removed
    • One-build-boots-all (emmc or SD card, custom OS or stock)
    • Boot device indicator (top-left corner)
    • Bootcount indicator (top-left corner)
    • On-screen feedback to let you know what it’s loading.
    • Console-based boot menu
    • Support for key-combo shortcuts for menu/recovery
    • Alternate “Altboot” multiboot support allows 2nd OS.
    • Emmc setting for default boot profile (normal/altboot)
    • Emmc setting for default boot device (emmc or sd)
    • Emmc setting for automatic bootcount clearing
    • Boot fallback for stock firmware (0 bytes + sec. header)
    • Boot fallback for bauwks’ uboot (256 bytes)
    • Numerous visual enhancements
    • Unused bulky images removed (smaller file)
    • FASTBOOT support (w/menu selection)
    • On-screen build timestamp so you know version
    • Perhaps much more, or maybe not

    There are likely bugs all over the place, but this is how it's supposed to work:


    Key Shortcuts

    Hold down home (“n”) key for the menu.

    Hold down home (“n”) + “power” to have UB1 start recovery. If UB2 is also installed, it should respect this key combo and continue to load recovery.

    The default behavior if no keys are pressed is to boot “normally”-- if booting from emmc, the boot partition (p4) from emmc will be booted. If booting from SD the boot.img on SD file will be booted.


    The Boot Menu

    Use the Home (“n”) key to navigate through the menu options. You can select an option with the power key.

    The option you choose will override any other configuration you have made.

    NOTE: Just so you don’t ask-- the reason the home and power keys are used to navigate through the menu rather than the volume up and down keys is due to a required driver not being included with u-boot 1. While the home and power keys use a very simple “gpio” method to detect if they are pressed, the volume keys are more like keyboard keys and thus are more difficult to detect. (The Nook Color bootloader, in contrast, did have the appropriate driver, so volume key detection was possible.)


    Boot Indicators

    Since you can boot from either SD or EMMC, it may be difficult to ascertain which version you are starting from.

    Never again. You can now see whether you have loaded CyanoBoot from EMMC or SD by lookin at the top left corner:

    E” -> CyanoBoot is starting from emmc
    S” -> CyanoBoot is starting from SDCard

    The # that follows this indicator is the current “bootcount”. After 8 unsuccessful boots or so, stock behavior is to run recovery with a reflash instruction. See below for instructions on clearing the bootcount at every boot automatically.


    Fastboot (used for development)

    For those familiar with “fastboot”, you can select the fastboot option from the CyanoBoot menu to go into fastboot mode. You can then (hopefully) flash to the boot or recovery partitions via USB cable using a command such as:

    $ fastboot flash boot boot.img


    Installation (SD Card boot)

    (If you are preparing your own SD card for booting, you should be aware that for OMAP devices such as the acclaim, the SDcard must be formatted using a very specific configuration, which is detailed elsewhere.)

    For SD Card, CyanoBoot is packaged inside a “flashing_boot.img” file to be placed in the first vfat partition of the SD-card along with the signed “mlo” and “u-boot.bin” files from the 1.4.2 update.zip.

    (I'm told the mlo file may be called called MLO_es2.3_BN in the BN update.zip and should be renamed to “mlo”.)

    Next, the boot (“boot.img”), recovery (“recovery.img”) and/or alternate boot (“altboot.img”) image files may optionally be placed in this partition.


    Installation (EMMC boot)

    To boot from emmc, the “flashing_boot_emmc.img” file, which contains a packaged version of CyanoBoot, should be put at byte 0 of the third partition (recovery) and ALSO at byte 0 of the fourth partition (boot). Then, the boot/recovery partitions must be shifted “to the right” (to make room for Cyanoboot) so that it starts 512Kb in from the start of the file. Use a padding of zeros so that the boot image contents begin exactly at 512Kb.

    The boot and recovery partitions are expected to use this offset. For the alternate boot from emmc, the “altboot.img” may be the identical file used in an SD-boot, placed into the /bootdata vfat partition without any offset.

    NOTE: Again, use the flashing_boot_emmc.img file for emmc boot partitions, *not* flashing_boot.img, which is for SD card boot.


    Offset Info

    Again, when used on the emmc, CyanoBoot must be placed at byte 0, at both the boot and recovery partitions. The “actual” boot.img and recovery.img that would normally be at byte 0 of those partitions should be moved so that it starts 512Kb in.

    Always use this offset in recovery (p3) and boot (p4) partitions. In other words, put CyanoBoot at offset 0 and then pad with zeros, then put the normal boot.img or recovery.img at offset 512.)

    On SD Card, the “boot.img” and “recovery.img” files should have no padding or offset or anything. Use as normal. This is similar to how “uImage” and “uRamdisk” files are used on the NookColor, only use a single file for both with a header in front.


    Installation Summary

    One more time. Here are the locations for the boot images:

    SDCARD

    (p1-vfat)/boot.img file (no offset/padding)
    (p1-vfat)/recovery.img file (no offset/padding)
    (p1-vfat)/altboot.img file (no offset/padding)

    EMMC

    (p4-/boot partition)<- CyanoBoot at byte 0, boot.img contents at 512.
    (p3-/recovery partition)<- CyanoBoot at byte 0, recovery.img contents at 512.
    (p6-vfat)/bootdata/altboot.img (no offset/padding, same as SDCard)


    Configuration

    You can control the "default boot" behavior (ie, what happens when you don’t hold down any keys). If you are a developer that does not want to constantly clear the bootcnt, you can also cause CyanoBoot to clear the bootcount automatically at every boot. To do this, three configuration files may be added to /bootdata (partition 6) on the emmc.

    CONFIG #1: BOOT DEVICE

    This will cause CyanoBoot to always boot from the emmc boot partition rather than SD. In this way, you can boot “through” a bootable SD card to whatever is on the emmc.

    To Make Default Always Boot To EMMC

    $ echo -n “1” > /bootdata/u-boot.device

    CONFIG #2: ALTBOOT

    Aside from the normal boot and recovery boot, a third boot option is available, called “altboot” (alternate boot). This is a kernel/ramdisk pair that can be used for a third firmware, an overclocked kernel, or whatever you like. If you choose the “altboot” as a default and it does not exist, your boot will fail.

    As discussed above, the altboot.img file goes in the following location:

    SDCard: file on p1 called “altboot.img” (no special padding or offset)

    EMMC: file at /bootdata/altboot.img (no special padding or offset)

    To Make Default Always Boot to “altboot”

    echo -n “1” > /bootdata/u-boot.altboot

    CONFIG #3: CLEAR BOOTCOUNT -- You can automatically zero out the bootcount with every boot. To set this:

    To Make Default Automatically Clear BootCount

    echo -n “1” > /bootdata/u-boot.clearbc

    NOTE: A version of “Nook Tablet Tweaks” is planned to automate the above options much as Nook Color Tweaks does for the encore device in CM7.


    Thanks/Credits

    Thanks to chrmhoffman, nemith, xindirect, Celtic, and loglud for testing, as I don’t have a device and have never actually run this. Thanks to j4mm3r for the first encore menu code. It was pretty much rewritten for acclaim, but the first menu was invaluable in showing me how to add the code for the console. Thx to pokey9000 for stuff that helped get fastboot working.

    Also thanks to BN as well as all the talented u-boot developers at Denx and elsewhere for the GPL’d code upon which this was based.

    http://www.denx.de/wiki/U-Boot is where you can find the main u-boot project.

    Also, a huge thanks to Bauwks for his code contribution as well as for making this possible in the first place!

    Remember, this is all experimental. I'll try to update this post if there's something that needs to be updated.

    (source)

    If you have an issue, be sure to mention the timestamp at the bottom so everyone knows which version you're using. There will be bugs.
    11
    Okay...

    Wrong. I know what I'm talking about.

    Really? You're really going to double-down on this?

    ROMs don't overwrite bootloaders in my experience.

    Glad you qualified it with "in my experience". Your limited experience obviously doesn't include the Nook Color, which does replace uboot. And your experience clearly doesn't including careful reading of threads relating to the Nook Tablet's locked bootloader, otherwise you'd understand why the second bootloader is necessary. You'd understand that is does NOT replace the original stock bootloader, but suppliments it in a way that is absolutely necessary.

    I've flashed custom bootloaders via ADB, but I've NEVER seen a ROM (at least for my device) actually include a bootloader.

    So none out of all the your device(s) had to deal with a locked bootloader. So?

    It's just not necessary. Once you've rooted your device and installed CWM recovery (or an equivalent), you just flash the ROM's zip file.

    A lot of "devs" have a reputation for delivering the smackdown on people who drop into a forum throwing around attitude without knowing what they're talking about.. and believe me, I'm trying hard really to be polite and not condescend here... So yeah, I get it- you've installed CWM on a device or two and you think you understand the process. But not every device is the same. I'm about to jump on a plane, so I'll try to make this as simple as I can:

    Unlike many devices that work exactly how you describe (root, install a recovery, and flash the rom), the Nook Tablet has extra security-- a design flaw from Barnes and Noble-- that has to be fixed/circumvented. That is, there is a signed booting process where once the power turns on, the pre-bootloader (aka "x-loader" aka "mlo") will not run unless it is signed by Barnes and Noble, and contains a digital signature that can be verified as authentic. The pre-bootloader then loads the bootloader (u-boot) which also has a digital signature which is checked. The bootloader and pre-bootloader can not be replaced-- the hardware will not run unsigned or improperly signed files. The signed bootloader (u-boot, remember), then loads the boot.img (or recovery.img) file which ALSO has a digitial signature that is ALSO signed by barnes and noble. (If you are booting from SD card, there is a FAT file called flashing_boot.img that works the same way).

    So there is a boot chain: hardware->mlo->uboot->kernel/ramdisk (aka boot.img/recovery.img) and every step of it is signed. If you replace any of these parts with a custom version, the boot stops.

    Without going into technical detail, CyanoBoot implements Bauwks' fix for this. The technical detalis as far as implementation go are in the first post, which you should read. The menu stuff is just extra.

    Crap. Plane is leaving.

    So you're saying that with CWM recovery installed on the device, I can't install a ROM via the typical zip file method? This is a complete surprise.

    Surprise! (You can of course flash via the typical zip menu as the zip will install everything for you. The second bootloader is part of boot.img/system.img/flashing_boot.img, but this is described in detail in my previous posts and in the original post which you claim to have read, so you know this already)

    See this article: http://raywaldo.com/2012/09/root-for-nook-tablet-1-4-3/ and jump to the section "Flash Jelly Bean Android 4.1.1". Looks like you can flash a ROM here via the way I've always done it.
    I
    I did read it. Clearly you didn't read my post completely. You may have read the words, but you don't seem to have actually thought about my questions...

    Yeah, I guess you're right and I don't know what I'm talking about. You put me in my place and shut me down.

    I have learned a lot here. You have learned nothing.

    Damn. Gotta shut off electronic devices.
    10
    https://github.com/Rebell/acclaim_cyanoboot/commit/33228462ece75fe8274f76ad368c333130c02174
    Added some more things I just remind:
    Added primitive VOLUP/VOLDOWN driver.
    Ported .img detection from Encore - unavailable booting modes are greyed out, EMMC normal and EMMC recovery are always ON.
    Added battery level & board rev info. Enabling battery charging in case of level < 30 - doesn't seem to work on my board (FIXME).
    Lowered brightness to drain less battery power.
    Turned off BN board charging procedure.
    Change default booting source from Encore - still untested/unfinished.
    Added OMAP4 IRQ header just in case.
    Added Bauwks image generation script.

    Please check it out.
    8
    Commited patch. Together with fix for fastboot screen corruption during loading big files (moved framebuffer far away from it).
    Binaries are already in ics and jb branch. :)
    6
    Thanks meghd00t. Guess something with loading is broken so it cant handle 0x200 offset. We don't need it for now anyway I guess.

    Oh yes. List of expected files it's looking for is of course:
    /emmc/altboot.img
    /sdcard/boot.img
    /sdcard/recovery.img
    /sdcard/altboot.img
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone