[Dual-Boot SDCard | CM7.2 Source | Guides | Recovery | Stock 1.4.2 ]

Search This thread

succulent

Senior Member
Dec 22, 2010
241
448
Hello,

WARNING: Perform at your own risk. Do your research.

I am providing the source to compile CM7 for the Nook Tablet. I am not providing a CM7 build since Team B+ have done so. What I provide is the device and vendor contents, kernel, and kernel configuration file, ramdisk, and boot image. You will need to compile your own CM7. This will give you a more updated CM7 with latest update.

My source is primary based on Whistlestop source, but I’ve used bits and pieces from other sources like Nook Color and LG P925.

My goal was to build CM7 for the Nook Tablet as a learning experience. I have always used rom created by other people because I am not a developer. I did my research and learned to build my own CM7. I find that building your own rom is more satisfying and I think everyone should try it at least once. It will require a lot of time and some learning, but it will be special in the end.

More info are on my blog.

New Source for CM7, compile your own CM7.2 RC1
https://github.com/succulent/android_device_bn_acclaim
https://github.com/succulent/android_vendor_bn_acclaim

Recovery sdcard, Flashable Recovery, Unbrick files
https://github.com/succulent/acclaim_recovery_sdcard

Mediefire Nook Tablet Folder
http://www.mediafire.com/?eidcug5a7en8r

Dual boot (CM7/CM9)
- Instruction here (My blog)
- Includes files for single/dual-boot sdcard
- Boot to CM7/CM9 from sdcard with fattire's cyanoboot
- Roms not included
- Please don't post iso/img/prebuilt sdcard of this
- http://www.youtube.com/watch?v=x6syVkhPQaM
- Mockup pic
cyanoboot.png


flash_recovery.zip (use recovery to flash it. no more sdcard recovery)
- Hold Power & "n button" down until the device turns on and off again.
- Then press Power to turn the device on normally and access the recovery.
- You can also boot to recovery by issuing command "reboot recovery" in adb or terminal

flash_stock_recovery.zip (use recovery to flash it, restore stock recovery)

flash_u-boot_and_MLO.zip (use it to restore bootloader and xloader)
- Flash this if all you get is a black screen (no 'n' logo screen) when turning your Nook Tablet on.

flash_stock_1.4.2.zip (use it to restore to stock 1.4.2)
- After restart, it will take up to a couple minutes to setup data and system folder.
- It'll be up to a couple of minutes before the setup screen shows up.
- This is virgin stock rom, no root, no added apps, etc.
- This rom will wipe your user data and cache so you don't have to. BACKUP beforehand.

flash-restore-stock.zip (use it to restore partition 1-6)
- Only use this as last measure. Meaning only if you formatted rom (p5) and bootdata (p6).
- You will need to install flash_stock_1.4.2.zip afterward or a CM7 rom.
- To get your serial number back, you need to perform factory restore (8 failed boot method)
- The one that prompt,
Clearing data…
A reset is being performed.
This may take a few minutes

What’s not working:
-Mic in Talking Cat/Dog apps. I can get the mic working but no audio so I choose audio but no mic.
-Can't get mic to work same time as speaker.
-XX and X. You tell me.

Notes:
- DO NOT FORMAT ANY PARTITIONS, ONLY USE WIPE DATA/FACTORY RESET
- Use the forum search.
- First time booting, you will see a long delay black (old)/2 android guys (new) screen until the android skate by.
- To remount sdcard, go to settings/storage and mount your sdcard manually or reinsert your sdcard.
- When restoring with Titanium Backup, restore manually the apps and data. You do not want old stuff getting restore and causing problem.
- HW Decoding is limited to 3GP, 3G2, MP4, M4V, MKV, WEBM, H.264 (Baseline/Main/High profile) up to 1920x1080, MPEG-4 Simple/Advanced Simple profile up to 1920x1080, & H.263
- Got Wifi problem, do Wifi calibration to see if it fixes it.
- If your Nook Tablet go to sleep and never wake up, plug the USB power cable in and hold the power button for 30 seconds, release and repeat.
- Got an extra Nook Tablet? Donate it to fattire so he can help getting ICS on Nook Tablet faster.
- Screen goes crazy? Is it low on battery? Plugged in the USB power cable in.
- What different in this CM7 build and Team B? Nothing much, we shared ideas.
- There will be random problems.
- RC stand for release candidate. Latest for NT is RC1
- If your sdcard doesn't mount after reboot, take your sdcard out and put it back in and wait a few seconds for it to automount

OLD SOURCE Mirrors:
http://d01.megashares.com/index.php?d01=oAajznB
http://www.mediafire.com/?96fa3zx95xiebeg
https://www.rapidshare.com/files/4067595392/Nook-Tablet.zip
http://depositfiles.com/files/k655wvhtc
http://www.wupload.com/file/2675371217

Extras in Old Source:
.config – kernel configuration file
boot.img – prebuilt boot image with modified u-boot from bauwks
irboot.img – the modified u-boot needed to concatenate to custom boot.img
zImage – prebuilt kernel with cifs, tun, and nfs modules built in and other stuffs.

Credits:
Bauwks for his exploit in 2nd boot.
Team B+ (Goncezilla, CelticWebs, Indirect) for furthering Nook Tablet development.
Whistlestop and JackpotClavin from Kindle Fire development for the device and vendor source.
Fattire, Nemith, and Dalingrin for CWM, and works on Nook Color and Nook Tablet development.
Koush, Cyanogenmod and XDA for home to many great developers.

CM7.2 RC1 with Nexus S modified build.prop
jzk8pk.png


HD (succulent)
 
Last edited:

succulent

Senior Member
Dec 22, 2010
241
448
Need help?
Post questions here.

How to pack Nook Tablet (16gb) boot.img on Windows 7.
http://www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows

- Download and install Cygwin,
http://www.freeyourandroid.com/guide/installing-cygwin-windows
- Download packboot.zip and extract contents to C:\cygwin\packboot
- http://mir.cr/1BTTGZ0V
- Open Cygwin.bat, located in C:\cygwin
- In the command box, type
$ cd c:/cygwin/packboot
$ ./packboot
- Your new boot.img is newboot.img.

Notes:
- If you want to make an 8gb version newboot.img, replace the boot.img with a backup of 8gb version.
- You can change the ramdisk in the folder “c:/cygwin/out/ramdisk”
- You can replace the kernel, “zImage”.
- You can replace the irboot.img with one that you make, the one included support both 8gb/16gb.

How to compile CM7

Install VirtualBox and Ubuntu with at least 20GB.

Install the Build Packages
Install using the package manager of your choice:


For 32-bit & 64-bit systems:

$ apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

For 64-bit only systems:

$ apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04 64-bit, but should still build without issue.

NOTE: On Ubuntu 10.10, and variants, you need to enable the parter repository to install sun-java6-jdk:

$ add-apt-repository "deb http://archive.canonical.com/ maverick partner"

Create the Directories
You will need to set up some directories in your build environment.


To create them:

$ mkdir -p ~/bin
$ mkdir -p ~/android/system

Install the Repository

Enter the following to download make executable the "repo" binary:

$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo

NOTE: You may need to reboot for these changes to take effect.

Now enter the following to initialize the repository:

$ cd ~/android/system/
$ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

If you don't want to download unnecessary device projects, open .repo/manifest.xml. Remove devices between device/common and external/alsa-lib.

<project path="device/common" name="CyanogenMod/android_device_common" />
- delete devices -
<project path="external/alsa-lib" name="CyanogenMod/android_external_alsa-lib" />

$ repo sync

NOTE: This step takes a long time, depending on your internet speed. It will download several gigabytes of data. I recommend that you have a lot of hard drive space.

Copy device and vendor folder from Nook-Tablet to ~/android/system/

$ mkdir device/bn
$ mkdir device/bn/acclaim
$ git clone https://github.com/succulent/android_device_bn_acclaim
$ mv android_device_bn_acclaim device/bn/acclaim
$ mkdir vendor/bn
$ mkdir vendor/bn/acclaim
$ git clone https://github.com/succulent/android_vendor_bn_acclaim
$ mv android_vendor_bn_acclaim vendor/bn/acclaim
$ /vendor/cyanogen/./get-rommanager
$ make clean

Configure Build & Compile

$ . build/envsetup.sh && brunch acclaim

NOTE: This step takes a long time, time vary depend on your computer processing power.

Copy your .zip file from ~/out/target/product/acclaim/update.cm-XXXXX-signed.zip to the root of the SD card.

Your rom will contain recovery, MLO and U-boot.bin. (Only with new source)

Replace the boot.img in the .zip file with one in Nook-Tablet. (Only with old source)

Replace updater-script in the .zip file with one in Nook-Tablet. updater-scripte is in /META-INF/com/google/android/. (Only with old source)

Flash .zip files from recovery. Wipe data/factory reset.

References:

Fattire's CM9 for NookColor Build Instructions
https://docs.google.com/document/d/19f7Z1rxJHa5grNlNFSkh7hQ0LmDOuPdKMQUg8HFiyzs/edit?pli=1

Barnes & Noble Nook Color: Compile CyanogenMod (Linux)
http://wiki.cyanogenmod.com/wiki/Barnes_&_Noble_Nook_Color:_Compile_CyanogenMod_(Linux)
 
Last edited:

rjmohit

Senior Member
Sep 20, 2010
328
63
Google Pixel 3 XL
Excellent!

Excellent tutorial!! :D I'll try it out soon!
I had a few queries; how did team B enable hardware acceleration? I mean, what files were modified? Are these files included in your zip or they're built while compiling? Or are they kernel related?
Moreover, I am also keen on learning to build kernels, but I wanna do that after I finish learning everything in CM7 building. So, if you have any idea about it, members here would be pleased if you post a tutorial for that also. :)
Thanks once again for this tutorial! :)
 

cobrato

Senior Member
Jul 5, 2010
877
1,967
Thank you very much succulent for the kernel.

Can I use it for my MIUI rom?
 

admiralspark

Senior Member
Jul 1, 2011
83
37
Excellent tutorial!! :D I'll try it out soon!
I had a few queries; how did team B enable hardware acceleration? I mean, what files were modified? Are these files included in your zip or they're built while compiling? Or are they kernel related?
Moreover, I am also keen on learning to build kernels, but I wanna do that after I finish learning everything in CM7 building. So, if you have any idea about it, members here would be pleased if you post a tutorial for that also. :)
Thanks once again for this tutorial! :)

They just built it from source, I believe. Mixing the B&N source with cm7 broke it, and using a full cm7 source fixed it (unless I'm mistaken)

Sent from my Nook Tablet using XDA
 

admiralspark

Senior Member
Jul 1, 2011
83
37
Also, give me a week and I'll post my kernel guide here. Im going to cover both anykernel and normal update.zip for the tab.

Sent from my Nook Tablet using XDA
 

cobrato

Senior Member
Jul 5, 2010
877
1,967
Sure. For your information, if you use my kernel, you need to use the wifi contents in the vendor/../wifi folder or else your wifi won't work. Else, you can compile your own wifi modules. Modules depend on kernel version.

Thanks. I use stock wifi modules (1.4.1) and they work perfect
 

highfly22

Member
Aug 18, 2009
9
0
Why this kernel cannot flash wih TEAM-B+ ROM?

I try compiled a kernel of NT official source code with NFS support and it crashed with TEAM-B+ ROM.
 

succulent

Senior Member
Dec 22, 2010
241
448
Why this kernel cannot flash wih TEAM-B+ ROM?

I try compiled a kernel of NT official source code with NFS support and it crashed with TEAM-B+ ROM.

Need more information in your post.

The reason you don't use this kernel with Team-B rom is that the kernel version numbering is different, although you can change it in the Makefile to match Team-B kernel version. The ramdisk is also different. It'll have effects on the rom like no wifi or won’t boot.

Simply compiling the kernel and sticking it to a boot.img will not work; hence, I put my way of making boot.img in the second post. You need attach bauwks second u-boot to your boot.img if you do it manually. Since I have a different ramdisk than Team-B rom, you need to wipe your cache.
 

meghd00t

Senior Member
Jul 13, 2011
111
141
Bangalore
YES! Got it working, I was able to boot a boot.img & recovery.img using my own kernel by following this tutorial. But, some problems I added extra file to the recovery.img /sbin folder (genptable, simg2img, make_ext4fs mkdosfs from my unbrick tools) and they show up and run correctly but the whole input stuff is broken, the tablet behaves as if the volume keys are always pressed and the bar is always moving the n key is not able to select any menu option. Any pointers on how to fix this?

PS
Here is my recovery.img if you want to test http://dl.dropbox.com/u/64885133/recovery.img


and my build script

Code:
cd /mnt/scratch/src/distro/kernel/android-2.6.35

export DST=/mnt/scratch/cm7src/out/target/product/acclaim
export ARCH=arm
export CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-linux-gnueabi-
export BOARD_KERNEL_CMDLINE="androidboot.console=ttyO0 console=ttyO0,115200n8 mem=448M@0x80000000 mem=35M@0x9CC00000 mem=512M@0xA0000000 init=/init rootwait vram=32M,9CC00000 omapfb.vram=0:5M@9CC00000"
export KERNEL_DIR=/mnt/scratch/src/distro/kernel/android-2.6.35

make mrproper
make android_4430BN_defconfig
cat fs-conf >> .config
make oldconfig
make -j4 zImage
make -j4 modules

cp -a arch/arm/boot/zImage $DST/kernel
cp -a drivers/media/video/omapgfx/gfx_vout_mod.o $DST/system/etc/

cd /mnt/scratch/src/mydroid/hardware/ti/wlan/wl1283/platforms/os/linux
make clean
make TNETW=1273
cp -a tiwlan_drv.ko $DST/system/etc/


cd ../../../../wl1283_softAP/platforms/os/linux/
make clean
make TNETW=1273
cp -a tiap_drv.ko $DST/system/etc/wifi/softap

cd /mnt/scratch/src/mydroid/hardware/ti/wlan/wl1283/firmware
cp -a firmware.bin tiwlan.ini.activemode wlan_cu.st $DST/system/etc/


cd /mnt/scratch/src/distro/android/fwram
make clean
make 
cp -a fwram.ko $DST/system/etc/


cd /mnt/scratch/src


and this is my fs-conf (Since I use fedora, I mostly use their style of generating kernel configs)

Code:
CONFIG_NETWORK_FILESYSTEMS=y
# CONFIG_AFS_FS is not set
# CONFIG_CEPH_FS is not set
# CONFIG_CODA_FS is not set
# CONFIG_NCP_FS is not set
# CONFIG_SMB_FS is not set

CONFIG_NLS_UTF8=y
CONFIG_SLOW_WORK=y
# CONFIG_SLOW_WORK_DEBUG is not set
CONFIG_CIFS=y
CONFIG_CIFS_DEBUG2=y
CONFIG_CIFS_EXPERIMENTAL=y
CONFIG_CIFS_POSIX=y
CONFIG_CIFS_STATS=y
# CONFIG_CIFS_STATS2 is not set
# CONFIG_CIFS_WEAK_PW_HASH is not set
CONFIG_CIFS_XATTR=y

CONFIG_EXPORTFS=y
CONFIG_LOCKD=y
CONFIG_LOCKD_V4=y
CONFIG_NFSD=y
CONFIG_NFSD_V2_ACL=y
CONFIG_NFSD_V3=y
CONFIG_NFSD_V3_ACL=y
CONFIG_NFSD_V4=y
CONFIG_NFS_ACL_SUPPORT=y
CONFIG_NFS_COMMON=y
CONFIG_NFS_FS=y
CONFIG_NFS_V3=y
CONFIG_NFS_V3_ACL=y
CONFIG_NFS_V4=y
CONFIG_NFS_V4_1=y
# CONFIG_ROOT_NFS is not set
CONFIG_RPCSEC_GSS_KRB5=y
# CONFIG_RPCSEC_GSS_SPKM3 is not set
CONFIG_SUNRPC=y
CONFIG_SUNRPC_GSS=y

CONFIG_TUN=y

CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_STAT_DETAILS=y

CONFIG_MD=y
CONFIG_BLK_DEV_DM=y
# CONFIG_BLK_DEV_MD is not set
# CONFIG_BLK_DEV_UB is not set
CONFIG_DM_CRYPT=y
# CONFIG_DM_DEBUG is not set
# CONFIG_DM_DELAY is not set
# CONFIG_DM_MIRROR is not set
# CONFIG_DM_MULTIPATH is not set
# CONFIG_DM_SNAPSHOT is not set
CONFIG_DM_UEVENT=y
# CONFIG_DM_ZERO is not set
CONFIG_CRYPTO_TWOFISH=y
CONFIG_CRYPTO_TWOFISH_COMMON=y
 
  • Like
Reactions: slgooding

succulent

Senior Member
Dec 22, 2010
241
448
YES! Got it working, I was able to boot a boot.img & recovery.img using my own kernel by following this tutorial. But, some problems I added extra file to the recovery.img /sbin folder (genptable, simg2img, make_ext4fs mkdosfs from my unbrick tools) and they show up and run correctly but the whole input stuff is broken, the tablet behaves as if the volume keys are always pressed and the bar is always moving the n key is not able to select any menu option. Any pointers on how to fix this?

Good job!

You can add this to the acclaim.mk,

Code:
PRODUCT_PACKAGES += \
    make_ext4fs \
    setup_fs \

PRODUCT_PACKAGES := \
    make_ext4fs \

For the recovery part, I didn't test it because we already have recovery tools made by others here. Sorry about that. In the recovery folder, there is a recovery ui file, you can edit it. It's the same one from Whistlestop’s KF device, so the keys might be off. The Nook Color recovery ui file is,

Code:
/*
 * Copyright (C) 2009 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#include <linux/input.h>

#include "recovery_ui.h"
#include "common.h"
#include "extendedcommands.h"

char* MENU_HEADERS[] = { NULL };

char* MENU_ITEMS[] = { "reboot system now",
                       "apply update from sdcard",
                       "wipe data/factory reset",
                       "wipe cache partition",
                       "install zip from sdcard",
                       "backup and restore",
                       "mounts and storage",
                       "advanced",
                       NULL };

int device_recovery_start() {
    return 0;
}

int device_toggle_display(volatile char* key_pressed, int key_code) {
    int alt = key_pressed[KEY_LEFTALT] || key_pressed[KEY_RIGHTALT];
    if (alt && key_code == KEY_L)
        return 1;
    // allow toggling of the display if the correct key is pressed, and the display toggle is allowed or the display is currently off
    if (ui_get_showing_back_button()) {
        return get_allow_toggle_display() && (key_code == KEY_MENU || key_code == KEY_END);
    }
    return get_allow_toggle_display() && (key_code == KEY_MENU || key_code == KEY_POWER || key_code == KEY_END);
}

int device_reboot_now(volatile char* key_pressed, int key_code) {
    return 0;
}

int device_handle_key(int key_code, int visible) {
    if (visible) {
        switch (key_code) {
            case KEY_CAPSLOCK:
            case KEY_VOLUMEDOWN:
                return HIGHLIGHT_DOWN;

            case KEY_LEFTSHIFT:
            case KEY_VOLUMEUP:
                return HIGHLIGHT_UP;

            case KEY_POWER:
                if (ui_get_showing_back_button()) {
                    return SELECT_ITEM;
                }
                if (!get_allow_toggle_display())
                    return GO_BACK;
                break;
            case KEY_HOME:
            case KEY_LEFTBRACE:
            case KEY_ENTER:
            case BTN_MOUSE:
            case KEY_CENTER:
            case KEY_CAMERA:
            case KEY_F21:
            case KEY_SEND:
                return SELECT_ITEM;
            
            case KEY_END:
            case KEY_BACKSPACE:
            case KEY_BACK:
                if (!get_allow_toggle_display())
                    return GO_BACK;
        }
    }

    return NO_ACTION;
}

int device_perform_action(int which) {
    return which;
}

int device_wipe_data() {
    return 0;
}

One more thing,
I think fattire/dalingrin added postrecoveryboot.sh to the recovery folder to clear the boot count so your NT doesn’t reset itself.

postrecoveryboot.sh, I’ve added bootdata partition which is where the boot count is on NT. Boot count might also be on rom partition, I don’t know.
Code:
#!/sbin/sh

# Resets the boot counter and the bcb instructions
mkdir /rom
mount /dev/block/mmcblk0p5 /rom
mkdir /bootdata
mount /dev/block/mmcblk0p6 /bootdata

# Zero out the boot counter
dd if=/dev/zero of=/rom/devconf/BootCnt bs=1 count=4
dd if=/dev/zero of=/bootdata/BootCnt bs=1 count=4

# Reset the bootloader control block (bcb) file
dd if=/dev/zero of=/rom/bcb bs=1 count=1088
dd if=/dev/zero of=/bootdata/BCB bs=1 count=1088

umount /rom
rmdir /rom
umount /bootdata
rmdir /bootdata

You will also have to add this to the AndroidBoard.mk,
Code:
file := $(TARGET_RECOVERY_ROOT_OUT)/sbin/postrecoveryboot.sh
ALL_PREBUILT += $(file)
$(file) : $(LOCAL_PATH)/recovery/postrecoveryboot.sh | $(ACP)
	$(transform-prebuilt-to-target)
 
Last edited:
  • Like
Reactions: Solar.Plexus

meghd00t

Senior Member
Jul 13, 2011
111
141
Bangalore
Ok, Thanks for all that info, I will try all this and report back tomorrow.

Is there any easy way to build static native c or c++ code for android ndk is complicated I gave up and built on fedora arm (hacked up really) but now I have gdisk and sgdisk!!

How do I contribute these binaries back to clockwork mod to replace the ancient and buggy parted that lives inside clockworkmod?
 

J_M_H

Senior Member
Sep 29, 2009
115
9
Are there any plans to make a kernel compatible with Team B+ CM7 ROM? This would be similar to what was done in the Nook Color world with dalingrin's OC'ed kernel.
 

succulent

Senior Member
Dec 22, 2010
241
448
I will post my updated source on github later this week. I have one small coding that need to be fix and I am not even a coder. :p

I didn't post my rom on xda because I wanted people to learn to compile their own rom. Fattire did similar thing with cm9 on Nook Color forum. Plus, Team-B had first dib on CM7. I rather not post similar rom. However, if you Google, you might find it. :eek:
 
  • Like
Reactions: Solar.Plexus

meghd00t

Senior Member
Jul 13, 2011
111
141
Bangalore
I know I saw your art and was blown away! 3 years ago when I got this PC I went and got the W700, at that time there was no driver for the built in Wacom and I wasted my time waiting, then I got tired and made a patch and pushed it upstream all this took another 15 months. Now I actually have a working wacom on the laptop but I hardly ever use it!

If you let me know what is bugging you I could take a look, maybe I know something.

thanks once more for sharing!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    Hello,

    WARNING: Perform at your own risk. Do your research.

    I am providing the source to compile CM7 for the Nook Tablet. I am not providing a CM7 build since Team B+ have done so. What I provide is the device and vendor contents, kernel, and kernel configuration file, ramdisk, and boot image. You will need to compile your own CM7. This will give you a more updated CM7 with latest update.

    My source is primary based on Whistlestop source, but I’ve used bits and pieces from other sources like Nook Color and LG P925.

    My goal was to build CM7 for the Nook Tablet as a learning experience. I have always used rom created by other people because I am not a developer. I did my research and learned to build my own CM7. I find that building your own rom is more satisfying and I think everyone should try it at least once. It will require a lot of time and some learning, but it will be special in the end.

    More info are on my blog.

    New Source for CM7, compile your own CM7.2 RC1
    https://github.com/succulent/android_device_bn_acclaim
    https://github.com/succulent/android_vendor_bn_acclaim

    Recovery sdcard, Flashable Recovery, Unbrick files
    https://github.com/succulent/acclaim_recovery_sdcard

    Mediefire Nook Tablet Folder
    http://www.mediafire.com/?eidcug5a7en8r

    Dual boot (CM7/CM9)
    - Instruction here (My blog)
    - Includes files for single/dual-boot sdcard
    - Boot to CM7/CM9 from sdcard with fattire's cyanoboot
    - Roms not included
    - Please don't post iso/img/prebuilt sdcard of this
    - http://www.youtube.com/watch?v=x6syVkhPQaM
    - Mockup pic
    cyanoboot.png


    flash_recovery.zip (use recovery to flash it. no more sdcard recovery)
    - Hold Power & "n button" down until the device turns on and off again.
    - Then press Power to turn the device on normally and access the recovery.
    - You can also boot to recovery by issuing command "reboot recovery" in adb or terminal

    flash_stock_recovery.zip (use recovery to flash it, restore stock recovery)

    flash_u-boot_and_MLO.zip (use it to restore bootloader and xloader)
    - Flash this if all you get is a black screen (no 'n' logo screen) when turning your Nook Tablet on.

    flash_stock_1.4.2.zip (use it to restore to stock 1.4.2)
    - After restart, it will take up to a couple minutes to setup data and system folder.
    - It'll be up to a couple of minutes before the setup screen shows up.
    - This is virgin stock rom, no root, no added apps, etc.
    - This rom will wipe your user data and cache so you don't have to. BACKUP beforehand.

    flash-restore-stock.zip (use it to restore partition 1-6)
    - Only use this as last measure. Meaning only if you formatted rom (p5) and bootdata (p6).
    - You will need to install flash_stock_1.4.2.zip afterward or a CM7 rom.
    - To get your serial number back, you need to perform factory restore (8 failed boot method)
    - The one that prompt,
    Clearing data…
    A reset is being performed.
    This may take a few minutes

    What’s not working:
    -Mic in Talking Cat/Dog apps. I can get the mic working but no audio so I choose audio but no mic.
    -Can't get mic to work same time as speaker.
    -XX and X. You tell me.

    Notes:
    - DO NOT FORMAT ANY PARTITIONS, ONLY USE WIPE DATA/FACTORY RESET
    - Use the forum search.
    - First time booting, you will see a long delay black (old)/2 android guys (new) screen until the android skate by.
    - To remount sdcard, go to settings/storage and mount your sdcard manually or reinsert your sdcard.
    - When restoring with Titanium Backup, restore manually the apps and data. You do not want old stuff getting restore and causing problem.
    - HW Decoding is limited to 3GP, 3G2, MP4, M4V, MKV, WEBM, H.264 (Baseline/Main/High profile) up to 1920x1080, MPEG-4 Simple/Advanced Simple profile up to 1920x1080, & H.263
    - Got Wifi problem, do Wifi calibration to see if it fixes it.
    - If your Nook Tablet go to sleep and never wake up, plug the USB power cable in and hold the power button for 30 seconds, release and repeat.
    - Got an extra Nook Tablet? Donate it to fattire so he can help getting ICS on Nook Tablet faster.
    - Screen goes crazy? Is it low on battery? Plugged in the USB power cable in.
    - What different in this CM7 build and Team B? Nothing much, we shared ideas.
    - There will be random problems.
    - RC stand for release candidate. Latest for NT is RC1
    - If your sdcard doesn't mount after reboot, take your sdcard out and put it back in and wait a few seconds for it to automount

    OLD SOURCE Mirrors:
    http://d01.megashares.com/index.php?d01=oAajznB
    http://www.mediafire.com/?96fa3zx95xiebeg
    https://www.rapidshare.com/files/4067595392/Nook-Tablet.zip
    http://depositfiles.com/files/k655wvhtc
    http://www.wupload.com/file/2675371217

    Extras in Old Source:
    .config – kernel configuration file
    boot.img – prebuilt boot image with modified u-boot from bauwks
    irboot.img – the modified u-boot needed to concatenate to custom boot.img
    zImage – prebuilt kernel with cifs, tun, and nfs modules built in and other stuffs.

    Credits:
    Bauwks for his exploit in 2nd boot.
    Team B+ (Goncezilla, CelticWebs, Indirect) for furthering Nook Tablet development.
    Whistlestop and JackpotClavin from Kindle Fire development for the device and vendor source.
    Fattire, Nemith, and Dalingrin for CWM, and works on Nook Color and Nook Tablet development.
    Koush, Cyanogenmod and XDA for home to many great developers.

    CM7.2 RC1 with Nexus S modified build.prop
    jzk8pk.png


    HD (succulent)
    11
    Need help?
    Post questions here.

    How to pack Nook Tablet (16gb) boot.img on Windows 7.
    http://www.freeyourandroid.com/guide/extract-edit-repack-boot-img-windows

    - Download and install Cygwin,
    http://www.freeyourandroid.com/guide/installing-cygwin-windows
    - Download packboot.zip and extract contents to C:\cygwin\packboot
    - http://mir.cr/1BTTGZ0V
    - Open Cygwin.bat, located in C:\cygwin
    - In the command box, type
    $ cd c:/cygwin/packboot
    $ ./packboot
    - Your new boot.img is newboot.img.

    Notes:
    - If you want to make an 8gb version newboot.img, replace the boot.img with a backup of 8gb version.
    - You can change the ramdisk in the folder “c:/cygwin/out/ramdisk”
    - You can replace the kernel, “zImage”.
    - You can replace the irboot.img with one that you make, the one included support both 8gb/16gb.

    How to compile CM7

    Install VirtualBox and Ubuntu with at least 20GB.

    Install the Build Packages
    Install using the package manager of your choice:


    For 32-bit & 64-bit systems:

    $ apt-get install git-core gnupg flex bison gperf libsdl1.2-dev libesd0-dev libwxgtk2.6-dev squashfs-tools build-essential zip curl libncurses5-dev zlib1g-dev sun-java6-jdk pngcrush schedtool

    For 64-bit only systems:

    $ apt-get install g++-multilib lib32z1-dev lib32ncurses5-dev lib32readline5-dev gcc-4.3-multilib g++-4.3-multilib

    NOTE: gcc-4.3-multilib g++-4.3-multilib is no longer available for Ubuntu 11.04 64-bit, but should still build without issue.

    NOTE: On Ubuntu 10.10, and variants, you need to enable the parter repository to install sun-java6-jdk:

    $ add-apt-repository "deb http://archive.canonical.com/ maverick partner"

    Create the Directories
    You will need to set up some directories in your build environment.


    To create them:

    $ mkdir -p ~/bin
    $ mkdir -p ~/android/system

    Install the Repository

    Enter the following to download make executable the "repo" binary:

    $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
    $ chmod a+x ~/bin/repo

    NOTE: You may need to reboot for these changes to take effect.

    Now enter the following to initialize the repository:

    $ cd ~/android/system/
    $ repo init -u git://github.com/CyanogenMod/android.git -b gingerbread

    If you don't want to download unnecessary device projects, open .repo/manifest.xml. Remove devices between device/common and external/alsa-lib.

    <project path="device/common" name="CyanogenMod/android_device_common" />
    - delete devices -
    <project path="external/alsa-lib" name="CyanogenMod/android_external_alsa-lib" />

    $ repo sync

    NOTE: This step takes a long time, depending on your internet speed. It will download several gigabytes of data. I recommend that you have a lot of hard drive space.

    Copy device and vendor folder from Nook-Tablet to ~/android/system/

    $ mkdir device/bn
    $ mkdir device/bn/acclaim
    $ git clone https://github.com/succulent/android_device_bn_acclaim
    $ mv android_device_bn_acclaim device/bn/acclaim
    $ mkdir vendor/bn
    $ mkdir vendor/bn/acclaim
    $ git clone https://github.com/succulent/android_vendor_bn_acclaim
    $ mv android_vendor_bn_acclaim vendor/bn/acclaim
    $ /vendor/cyanogen/./get-rommanager
    $ make clean

    Configure Build & Compile

    $ . build/envsetup.sh && brunch acclaim

    NOTE: This step takes a long time, time vary depend on your computer processing power.

    Copy your .zip file from ~/out/target/product/acclaim/update.cm-XXXXX-signed.zip to the root of the SD card.

    Your rom will contain recovery, MLO and U-boot.bin. (Only with new source)

    Replace the boot.img in the .zip file with one in Nook-Tablet. (Only with old source)

    Replace updater-script in the .zip file with one in Nook-Tablet. updater-scripte is in /META-INF/com/google/android/. (Only with old source)

    Flash .zip files from recovery. Wipe data/factory reset.

    References:

    Fattire's CM9 for NookColor Build Instructions
    https://docs.google.com/document/d/19f7Z1rxJHa5grNlNFSkh7hQ0LmDOuPdKMQUg8HFiyzs/edit?pli=1

    Barnes & Noble Nook Color: Compile CyanogenMod (Linux)
    http://wiki.cyanogenmod.com/wiki/Barnes_&_Noble_Nook_Color:_Compile_CyanogenMod_(Linux)
    3
    Thank you very much succulent for the kernel.

    Can I use it for my MIUI rom?

    Sure. For your information, if you use my kernel, you need to use the wifi contents in the vendor/../wifi folder or else your wifi won't work. Else, you can compile your own wifi modules. Modules depend on kernel version.
    3
    Added
    https://github.com/succulent/acclaim_recovery_sdcard/blob/master/dual_boot_sdcard_hd.zip
    Dual boot (CM7/CM9)
    - Instruction here (My blog)
    - Includes files for single/dual-boot sdcard
    - Boot to CM7/CM9 from sdcard with fattire's cyanoboot
    - Roms not included
    - Please don't post iso/img/prebuilt sdcard of this
    - http://www.youtube.com/watch?v=x6syVkhPQaM
    2
    Thank you for the tutorial! I finished building my first ROM from scratch last night thanks to you.

    Just a couple problems I ran into, perhaps I can help some others avoid them:
    -You must run vendor/cyanogen/get-rommanager before compiling
    -For Arch Linux users: mv /usr/bin/python /usr/bin/python.bak & ln -s /usr/bin/python2 /usr/bin/python
    -to compile with gcc 4.7 check this commit.

    I am looking forward to making some contributions to the community and improving the environment for this excellent little tablet. Thanks again!

    Good,

    I've added codes so that when you build CM7, it will include recovery.img, MLO, and u-boot.bin in the output zip. This way, it'll flash recovery into internal when you flash the rom. :eek: