[Nook Color Android Development] devastatorx:
DISCLAIMER: You know the risks, bricking, breaking etc. I'm not, nor is anyone else responsible if something goes wrong with your device, especially should it turn into a cave troll and bludgeon someone to death.

You will have to be rooted for this to work.

Update 1/5/11

Changed the install and loader scripts re-compressed and uploaded, new download link. Stream lined the installation process (removed 5 steps)

Update 1/4/11

reflect changes to ubuntu.sh and bootubuntu scripts and streamlining the process. Added screenshots

_________________________

I was over at nexusonehacks.net and looking at the ubuntu on nexus one hack and was thinking that this could be ported to the nook color. The idea is to run ubuntu from an img on the sd card.

The following is a modified version of the "how to" orginally posted here

http://nexusonehacks.net/nexus-one-hacks/how-to-install-ubuntu-on-your-nexus-oneandroid/

Credits

The guys at NexusOneHacks

xda user munday who has modified the scripts to work for the nook color

Devs at XDA Developer for the Ubuntu ARM image for HTC HD2

Saurik (Jay Freeman) for the Debian G1 script, which was hacked for Ubuntu on Nexus One! and then re-hacked for the Nook Color by munday

Here we go:

1) Go download the ubuntu file here: http://www.megaupload.com/?d=67BU4Y3T

2) Extract the contents using 7zip http://www.7-zip.org/download.html

3) Copy the extracted folder "ubuntu" to the root of your SD card

4) Unmount the nook from your pc, go into the app NookColor Tools (if you don't have it download it here courtesy of Ben 74 and click All Settings->Development then uncheck Auto Mount. This will prevent the SD card from being mounted automatically when plugged into the PC

5) Plug the Nook back into your pc and open a command line then navigate to your android sdk folder ie C:\android-sdk or wherever you have it and type

adb devices

Hit enter and make sure that the nook color comes up (should be the SN of your Nook)

Note: This can also be done from terminal emulator instead of adb...but it is kind of a pain

6) Now we want to go into the command line on the nook so type

adb shell

Hit enter and this should bring up a "#" sign.

7) Type

su

hit enter (I do this just as a force of habit)

8) Now we navigate to the ubuntu folder we just copied to our sd card by entering

cd /sdcard/ubuntu

hit enter. To confirm you are where you want to be you can type

ls

and it should list the contents of the ubuntu folder.

9) Run the setup script ubuntu.sh by entering the following:

sh ./ubuntu.sh

hit enter

10) Now type

bootubuntu

and hit enter

11) So now we have ubuntu command line up and running which should look like:

root@localhost:/#

We will need to get some packages to run a gui and then connect to it via VNC client. So we need to update a few things first. Type:

apt-get update

then

apt-get install tightvncserver

now we need the gui elements so enter this:

apt-get install lxde

12) Type the following:

export USER=root
vncserver -geometry 1024×600

this sets the resolution...you can change it to play around, but the native resolution for the nook is 1024x600. This is also where you will set the password for your vnc server...make sure to remember it ;)

13) Next, we are going to add the following to /root/.vnc/xstartup file using cat command: (hit enter after each line and ignore the fact that it looks like it does it twice)

cat > /root/.vnc/xstartup
#!/bin/sh
xrdb $HOME/.Xresources
xsetroot -solid grey
icewm &
lxsession

After hitting enter after the last line press "Ctrl+D" twice then press enter

14) We need the vnc server to start every time we start ubuntu, type this:

cat > front
export USER=root
cd /
rm -r -f tmp
mkdir tmp
cd /
vncserver -geometry 1024×600

Same as before, hit enter after each line then after hitting enter for the last line press "Ctrl+D" twice then press enter.

15) Enter this

cat front /root/.bashrc > temp

Then

cp temp /root/.bashrc

16) Now on the nook open up your vnc viewer app (android vnc viewer or PocketCloud...or whatever you use)

Use the following settings:

Host Address: 127.0.0.1 (some don't require this)

Password: the password you set up in step 16

Port: 5901

Save and then click connect and you should be up and running on ubuntu! To leave ubuntu type exit from adb. This should kill ubuntu. Exit adb and then you can disconnect the nook from your pc.

To start ubuntu from the nook open up a terminal emulater and type:

bootubuntu

Hit enter, this should bring up the root@localhost, hhen press "Home" key and open up your vnc app. Now you are ready to rock your Linux tablet!

You could also use gscript lite to automate the process of starting ubuntu so you don't have to type it in the terminal everytime. You can get gscript lite from the market or download the file I have attached.

It does seem a little laggy..just a little...for now anyway ;)

To exit ubuntu: Disconnect the vnc client then hold the "Home" key (I use button savior which brings up a nice little task manager) and click the Terminal emulator when it pops up under running tasks. Once you are back in the terminal you can type:

exit

to shut down ubuntu.

Enjoy and make sure you thank munday and the guys at nexusonehacks and all the devs who helped make it possible.

-devastator

EDIT:

I noticed that after rebooting the nook would hang at the "Future of reading" screen....if this happens turn the device off remove the sd card the turn the nook back on. It should boot fine. After it's finished you can return the sd card and mount it. This is strange and I'm looking into it. I'm not sure if this is limited to me or if it is universal to all nooks. It also still fails at shutting ubuntu down for some reason. I'm still looking into this.g into this.