[WIP] [DEV] [HOWTO] Ubuntu on Nook Color! UPDATE 1/5/11

Search This thread

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
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
Code:
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
Code:
adb shell
Hit enter and this should bring up a "#" sign.

7) Type
Code:
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
Code:
cd /sdcard/ubuntu
hit enter. To confirm you are where you want to be you can type
Code:
ls
and it should list the contents of the ubuntu folder.

9) Run the setup script ubuntu.sh by entering the following:
Code:
sh ./ubuntu.sh
hit enter

10) Now type
Code:
bootubuntu
and hit enter

11) So now we have ubuntu command line up and running which should look like:
Code:
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:
Code:
apt-get update
then
Code:
apt-get install tightvncserver
now we need the gui elements so enter this:
Code:
apt-get install lxde

12) Type the following:
Code:
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)
Code:
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:
Code:
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
Code:
cat front /root/.bashrc > temp

Then
Code:
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:

Code:
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:
Code:
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.
 

Attachments

  • GScript_Lite.apk
    56.4 KB · Views: 326
  • snap20110104_053643.jpg
    snap20110104_053643.jpg
    35.9 KB · Views: 9,388
  • snap20110104_124210.jpg
    snap20110104_124210.jpg
    19 KB · Views: 7,414
  • snap20110104_130046.jpg
    snap20110104_130046.jpg
    37.7 KB · Views: 8,072
  • snap20110104_124453.jpg
    snap20110104_124453.jpg
    24.2 KB · Views: 7,486
  • snap20110104_130105.jpg
    snap20110104_130105.jpg
    38.2 KB · Views: 7,052
Last edited:

munday

Member
Oct 6, 2010
27
19
I got it going, just needed a few "busybox"-es here and there :D. It needs some work, right now to get X you have to use VNC.
It's sluggish but a bit more work might just yield something a bit more usable. I'll play more tomorrow night.

Here's my scripts:

ubuntu.sh

Code:
mount -o remount,rw /dev/block/mmcblk0p5 /system
busybox modprobe ext2

rm -f /data/local/bin/fsrw
rm -f /data/local/bin/bootubuntu
rm -f /data/local/bin/unionfs
rm -f /data/local/bin/installer.sh
rm -f /data/local/bin/mountonly

mkdir /data/local/mnt

#busybox clear
rm  /system/bin/fsrw
rm  /system/bin/bootubuntu
rm  /system/bin/unionfs
rm -/system/bin/mountonly

busybox cp -f fsrw /system/bin
busybox cp -f bootubuntu /system/bin
busybox cp -f unionfs /system/bin
busybox cp -f mountonly /system/bin


cd /sdcard/ubuntu

busybox chmod 4777 *

cd /system/bin/

busybox chmod 4777 *

cd /

#busybox clear

echo " "
echo "Ubuntu Chroot Bootloader v0.1"
echo "Ubuntu Bootloader is now installed!"
echo "This process does NOT damage Android OS!"
echo " "
echo "Original Installer by Charan Singh"
echo "Modified for Ubuntu Chroot by Max Lee at NexusOneHacks.net"
echo " "
echo "To enter the Debian Linux console just type 'bootubuntu'"


bootubuntu

Code:
mount -o remount,rw /dev/block/mmcblk0p5 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
export mnt=/data/local/mnt
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
busybox mknod /dev/loop2 b 7 0
mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! "
echo " "
busybox chroot $mnt /bin/bash

#After exit command is executed clear it all up
echo " "

echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc 
umount $mnt/sys 
umount $mnt


Then just followed the instructions at nexusonehacks.
note: to run bootubuntu i had to use sh and the use the full path:
Code:
# sh /system/bin/bootubuntu

other note: I was using adb not a term app on the nook.

Obligatory video
I can't post links yet so check: youtube.com/watch?v=TnXfZ6aagn8 for a really boring video

EDIT: switched the names, DOH!
 
Last edited:

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
I also had to use sh and the full path also. Thanks for the update on the script...gonna try it in the morning (it's 2am here) will also see if I can help to get it running smoother. What class SD card are you using? I imagine a class 4 or higher would yeild better results as far as responsiveness goes.
 

munday

Member
Oct 6, 2010
27
19
The sd is a class 2 that came in one of my dev phones. I'll pick up a faster one tomorrow after work and test it out.

It's just about 3am here now, we must be in the same time zone.
I'm going to bed now, but first here's a modded version of the script you had originally posted that also works now.

bootubuntu
Code:
#!/bin/sh
mount -o remount,rw /dev/block/mmcblk0p5 /system
export kit=/sdcard/ubuntu
export bin=/system/bin
busybox [ ! -d /data/local/ubuntu ] && mkdir /data/local/ubuntu
export mnt=/data/local/ubuntu
export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
export TERM=linux
export HOME=/root
busybox mknod /dev/loop1 b 7 0
busybox losetup /dev/block/loop1 /sdcard/ubuntu/ubuntu.img
mount -t ext2 /dev/block/loop1 /data/local/ubuntu
#mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
mount -t devpts devpts $mnt/dev/pts
mount -t proc proc $mnt/proc
mount -t sysfs sysfs $mnt/sys
busybox sysctl -w net.ipv4.ip_forward=1
echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
echo "Setting localhost on /etc/hosts "
echo "127.0.0.1 localhost" > $mnt/etc/hosts
echo "READY TO ROCK AND ROLL BABY! "
echo "Brought to you by NexusOneHacks.net and the open source community! "
echo " "
busybox chroot $mnt /bin/bash

#After exit command is executed clear it all up
echo " "

echo "Shutting down Ubuntu"
umount $mnt/dev/pts
umount $mnt/proc 
umount $mnt/sys 
umount $mnt
busybox losetup -d /dev/loop1
#unregistering the loopback device just seems to die. need to fix or remove.

I'll look at the N1 formus tomorrow too and see if they have made progress in getting X to run fast or without need for VNC.
 
  • Like
Reactions: Link3737

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
Couldn't sleep so I'm messing around with it now...I'm using a class 4 and have it up and running. It does seem to be a little laggy, but I don't have a class 2 to compare it to. Let me know what you find out, I'll keep playing with it also to see if I can get it to be more responsive...but we are definately on our way to having a great little linux tablet in addition to android. You should also be able to use this for other builds of linux also by just changing out the .img file to a flavor of your choosing. I'm excited :)

I have also updated the OP with the how to and credits. Really appreciate your help munday.
 
Last edited:

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
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.


Edit:
Running into some strange occurrences...it appears that when you type exit from the terminal to kill ubuntu, I believe ubuntu stays running...anyway, I'm going to bed and will work on it more tomorrow.
 
Last edited:

Link3737

Senior Member
Jul 25, 2010
132
10
I've tried running ubuntu.sh from the terminal emulator (With su) and from ADB, and have not had success with either.

The readout is:

Code:
': File existste '/system/bin
': File existste '/system/bin
': File existste '/system/bin
: not found
: not found
cd: can't cd to /sdcard/ubuntu
: not found
: No such file or directory
: not found
cd: can't cd to /system/bin
: not found
: No such file or directory
: not found
cd: can't cd to /
: not found
: not found

Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
etc., etc.

Is there a problem with how I copied the script? I assume the first part about the file existing is due to this being the third or fourth time I've tried running the script (Unsuccessfully), but I've no idea how to interpret the rest.

Thanks :)
 

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
sweet, i can't wait to get home to play more!!!

I sent you a message

I've tried running ubuntu.sh from the terminal emulator (With su) and from ADB, and have not had success with either.

The readout is:

Code:
': File existste '/system/bin
': File existste '/system/bin
': File existste '/system/bin
: not found
: not found
cd: can't cd to /sdcard/ubuntu
: not found
: No such file or directory
: not found
cd: can't cd to /system/bin
: not found
: No such file or directory
: not found
cd: can't cd to /
: not found
: not found

Ubuntu Chroot Bootloader v0.1
Ubuntu Bootloader is now installed!
etc., etc.

Is there a problem with how I copied the script? I assume the first part about the file existing is due to this being the third or fourth time I've tried running the script (Unsuccessfully), but I've no idea how to interpret the rest.

Thanks :)


Try using these, just unrar and then copy them in your ubuntu folder, if it asks to overwrite just click yes...also you have autmounting of the sd card turnned off in nook color tools settings right?
 

Attachments

  • updated_scripts.rar
    1 KB · Views: 148
  • Like
Reactions: Link3737

Link3737

Senior Member
Jul 25, 2010
132
10
Yeah, it must have been an error on my end. Using the updated scripts you posted worked like a charm.

Thanks!
 

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
Yeah, it must have been an error on my end. Using the updated scripts you posted worked like a charm.

Thanks!

Good to hear!

I'm currently working on making this a port to the SD card so that with the sd card in it boots into ubuntu from power off, and with the sd card out it boots to android then you replace the sd and use it for storage like normal. It will also run a lot snappier....well that's the idea anyway.
 
Last edited:

Link3737

Senior Member
Jul 25, 2010
132
10
Good to hear!

I'm currently working on making this a port to the SD card so that with the sd card in it boots into android from power off, and with the sd card out it boots to android then you replace the sd and use it for storage like normal. It will also run a lot snappier....well that's the idea anyway.

Booting from SD in the same fashion as Nookie Froyo? That sounds like it would give a huge performance boost over the current method, I can't wait to see what you come up with.
 

munday

Member
Oct 6, 2010
27
19
This should be acheivable using the method mentioned in this topic:
http://xdaforums.com/showthread.php?t=873243 thanks to clockworx.

Currently looking into this

I was thinking the exact same thing, the nook seems to like booting from sd, so we should be able to set up the partitions like the foryo sd and edit the init.rc and env.txt to boot ubuntu instead of android. Just a theory though. It's my plan for tonight anyway.
 

devastatorx

Senior Member
Feb 6, 2009
193
128
Indianapolis
I was thinking the exact same thing, the nook seems to like booting from sd, so we should be able to set up the partitions like the foryo sd and edit the init.rc and env.txt to boot ubuntu instead of android. Just a theory though. It's my plan for tonight anyway.

I also stumbled across this: http://androix.org/ Which talks about a native android xserver which does a way with the vnc aspect altogether. I downloaded and attempted to install but I get the error "There is a problem parsing the package" and I haven't had any luck plus there isn't much documentation.

Let me know how it goes munday, I'll be working on the same thing later (have to take the fiance out for dinner)
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 10
    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
    Code:
    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
    Code:
    adb shell
    Hit enter and this should bring up a "#" sign.

    7) Type
    Code:
    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
    Code:
    cd /sdcard/ubuntu
    hit enter. To confirm you are where you want to be you can type
    Code:
    ls
    and it should list the contents of the ubuntu folder.

    9) Run the setup script ubuntu.sh by entering the following:
    Code:
    sh ./ubuntu.sh
    hit enter

    10) Now type
    Code:
    bootubuntu
    and hit enter

    11) So now we have ubuntu command line up and running which should look like:
    Code:
    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:
    Code:
    apt-get update
    then
    Code:
    apt-get install tightvncserver
    now we need the gui elements so enter this:
    Code:
    apt-get install lxde

    12) Type the following:
    Code:
    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)
    Code:
    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:
    Code:
    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
    Code:
    cat front /root/.bashrc > temp

    Then
    Code:
    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:

    Code:
    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:
    Code:
    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.
    6
    After some time off for awhile (dealing with some personal issues) I am back to developing on this project and would like to welcome and thank penkia for stepping up and taking the initiative to push this project forward.

    So what's new?

    Not a lot at the moment. As of right now I have an image which can be booted from the sd card...well kind of. You have to adb in after the device boots and sits at the black screen with the word "Android" and a blinking cursor. At this point a few paths need to be set up and then the X server can be started. There is a link to the image at the bottom of this post.

    Currently penkia reports that he does have the touchscreen and wifi working. The driver for the touchscreen will be included at the bottom of this post.

    I hope to have a fully functioning bootable version up soon with the new work that penkia has put in this should be quite feasible.

    I guess just keep watching, as soon as we have a fully functioning image (plus some bugs...you know there will be bugs) we should have a new topic up with the release and full instructions on how to install to your sd card and get up and running.

    The following files are for development purposes only and are in no way intended for any other use...you know...cause it doesn't exactly "work" yet ;)

    Here are the instructions to boot the image:

    Burn the image to your uSD using Linux (dd if / of) or winImage.
    NOTE: This image is for a 8GB card. It will ERASE ALL THE DATA CURRENTLY ON THE CARD YOU WILL BE USING. You can use a larger card but will have to resize the partitions or create a new one using the blank unformatted space.

    UPDATES: To update the Ubuntu image after burning to your SD card. Boot the nook normally and then using Terminal emulator (good luck) or adb shell in and chroot to the Ubuntu image. Proceed to update or install packages. SIDE NOTE: In some excitement I think I forgot to include the build-essentials package in this image. You will need this (I mean...c'mon you are downloading a development version of a pre-alpha release....you arent doing this just to look at it). You will probably want to grab whatever other packages you think you may need. Also make sure that the files needed for adb are there...like I said...this is early pre-alpha! Maybe even prehistoric alpha...cretaceous even.

    After you finish the updates power off the nook and then boot it back up with the sd card inserted. It will come to a blank screen except for the word "Android" and a blinking cursor. Plug the nook into your pc. Bring up a terminal and adb shell into the device.

    Now let's fix some stuffs

    In the console enter the following commands:
    Code:
    mount -o remount,rw /
    mount -o remount,rw /system
    
    ln -s /system/usr /usr
    ln -s /system/var /var
    ln -s /system/bin /bin
    
    export PATH=$PATH:/system/bin:/system/xbin:/system/usr/bin:/system/usr/sbin
    export FRAMEBUFFER=/dev/graphics/fb0
    export TERM=linux
    export HOME=/root
    export TSLIB_CONFFILE=/system/etc/ts.conf
    export LD_LIBRARY_PATH=/lib:/usr/lib
    export TSLIB_CONSOLEDEVICE=none
    export TSLIB_DIR=/system/usr/lib
    export TSLIB_FBDEVICE=/dev/graphics/fb0
    export TSLIB_TSDEVICE=/dev/input/event2
    export TSLIB_PLUGINDIR=/system/usr/lib/ts0
    
    dbus-daemon --system

    After all of that you can do either of the following

    startx

    or

    startxfce4

    The X server should start and you will be at a ubuntu home screen. That's where I am right now. I will start to incorporate the changes that penkia made and they will be reflected in the next release, which will hopefully be a bootable alpha build.

    Enjoy

    More to come...

    Nook Color Ubuntu Filesystem Image
    http://www.multiupload.com/0EWK4V4PO6

    Penkia's Touchscreen Driver (append the following to your xorg.conf to enable the touchscreen)

    Code:
    Section "InputDevice"
    Identifier "touchscreen"
    Driver "mtev"
    Option "Device" "/dev/input/event2"
    Option "SwapAxes" "true"
    Option "InvertY" "true"
    EndSection


    http://www.megaupload.com/?d=LRIYK0LY

    -devastator

    Crazy mad props and thanks to developer penkia for the touchscreen fix and for breathing new life into this project
    6
    My bad people. I've just been really slammed with work lately so my time dedicated has been pretty choppy at best. Have a few hosting options now ironing out a few things and will have a link for download by tomorrow evening. My apologies.

    -devastatorx
    4
    Progress:

    Touchscreen works
    Able to connect to unsecured wireless network


    Currently working on the interface to make it usable for the nook...well its usable...but its kind of a pain at the moment.

    So here is what I am looking at:

    A few more hours to test and tweak a few things, write a howto, and then upload everything.

    The files should be available tonight!

    That's right, ubuntu booting from the SD with wifi and touch screen (both thanks to penkia for the wifi and touchscreen fixes!)

    Will be back soon (couple hours) with a link to the download and instructions. This will be a pre-alpha release and evolve (hopefully, and with the help of anyone who wants to contribute) into alpha, beta, and stable point releases.

    Also, if the image is too big for the free servers, is anyone willing to host? PM if this would be a possibility.

    Thanks

    devastatorx
    3
    I got it going, just needed a few "busybox"-es here and there :D. It needs some work, right now to get X you have to use VNC.
    It's sluggish but a bit more work might just yield something a bit more usable. I'll play more tomorrow night.

    Here's my scripts:

    ubuntu.sh

    Code:
    mount -o remount,rw /dev/block/mmcblk0p5 /system
    busybox modprobe ext2
    
    rm -f /data/local/bin/fsrw
    rm -f /data/local/bin/bootubuntu
    rm -f /data/local/bin/unionfs
    rm -f /data/local/bin/installer.sh
    rm -f /data/local/bin/mountonly
    
    mkdir /data/local/mnt
    
    #busybox clear
    rm  /system/bin/fsrw
    rm  /system/bin/bootubuntu
    rm  /system/bin/unionfs
    rm -/system/bin/mountonly
    
    busybox cp -f fsrw /system/bin
    busybox cp -f bootubuntu /system/bin
    busybox cp -f unionfs /system/bin
    busybox cp -f mountonly /system/bin
    
    
    cd /sdcard/ubuntu
    
    busybox chmod 4777 *
    
    cd /system/bin/
    
    busybox chmod 4777 *
    
    cd /
    
    #busybox clear
    
    echo " "
    echo "Ubuntu Chroot Bootloader v0.1"
    echo "Ubuntu Bootloader is now installed!"
    echo "This process does NOT damage Android OS!"
    echo " "
    echo "Original Installer by Charan Singh"
    echo "Modified for Ubuntu Chroot by Max Lee at NexusOneHacks.net"
    echo " "
    echo "To enter the Debian Linux console just type 'bootubuntu'"


    bootubuntu

    Code:
    mount -o remount,rw /dev/block/mmcblk0p5 /system
    export kit=/sdcard/ubuntu
    export bin=/system/bin
    export mnt=/data/local/mnt
    export PATH=$bin:/usr/bin:/usr/sbin:/bin:$PATH
    export TERM=linux
    export HOME=/root
    busybox mknod /dev/loop2 b 7 0
    mount -o loop,noatime -t ext2 $kit/ubuntu.img $mnt
    mount -t devpts devpts $mnt/dev/pts
    mount -t proc proc $mnt/proc
    mount -t sysfs sysfs $mnt/sys
    busybox sysctl -w net.ipv4.ip_forward=1
    echo "Setting /etc/resolv.conf to Google Open DNS 8.8.8.8 and 8.8.4.4"
    echo "nameserver 8.8.8.8" > $mnt/etc/resolv.conf
    echo "nameserver 8.8.4.4" >> $mnt/etc/resolv.conf
    echo "Setting localhost on /etc/hosts "
    echo "127.0.0.1 localhost" > $mnt/etc/hosts
    echo "READY TO ROCK AND ROLL BABY! "
    echo "Brought to you by NexusOneHacks.net and the open source community! "
    echo " "
    busybox chroot $mnt /bin/bash
    
    #After exit command is executed clear it all up
    echo " "
    
    echo "Shutting down Ubuntu"
    umount $mnt/dev/pts
    umount $mnt/proc 
    umount $mnt/sys 
    umount $mnt


    Then just followed the instructions at nexusonehacks.
    note: to run bootubuntu i had to use sh and the use the full path:
    Code:
    # sh /system/bin/bootubuntu

    other note: I was using adb not a term app on the nook.

    Obligatory video
    I can't post links yet so check: youtube.com/watch?v=TnXfZ6aagn8 for a really boring video

    EDIT: switched the names, DOH!