Ubuntu for N80xx

Search This thread

X-Stranger

Senior Member
Sep 2, 2008
164
204
ubuntu-logo32.png


In addition to GNU/Linux@N80XX topic, this one is a separate for Ubuntu users. Read below if you want to have native Ubuntu 13.10 wih Gnome/LDXE/XFCE at your Galaxy Note 10.1 device (2012 models only).

Screenshots:
1.jpg 2.jpg 3.jpg

Please be aware, that stuff I share with you is experimental, it does not work 100% correctly and there are some lags and bugs.

Some technical details:
The approach is based on using custom recovery (e.g. custom kernel and initrd image) which boots into Linux. All Linux files are stored at data partition (it is mmcblk0p12 when using standard firmware, which also is internal sdcard) in a separate folder. Initrd script mounts data partition and looks for the special file /media/rootdev - this file contains the path to the Linux root folder. Script sets the Linux root device to be this folder specified and invokes /sbin/init. You see Linux booting - Ubuntu in our case.

However I've also prepared the second folder with native recovery files. E.g. if you change rootdev content to point to recovery files folder, you will boot into recovery. Generally, you can boot any other recovery or Linux distro using this approach. And hosting it at sdcard in a folder much easier than re-partitioning tablet or using loop-device in a file. Free space for your Linux depends only of free space you have at data partition.


Prerequisites:
  • Rooted GT-N80xx device
  • Busybox tools installed
  • Desktop computer with ADB tools
  • Custom recovery image (with or without menu), native recovery, Ubuntu image files downloaded (see downloads section)
  • Understanding of what are you doing

Downloads:

Steps:
  1. Connect your device to the desktop computer with USB cable. Make sure your device is visible when you run "adb devices"
  2. Rename downloaded recovery image to "recovery.img"
  3. Upload downloaded files to the internal memory:
    Code:
    adb push recovery.img /sdcard/
    adb push recovery.tar.gz /sdcard/
    adb push ubuntu.tar.gz /sdcard/
  4. Now you need to get into device, so run "adb shell", then type the next commands (the lines beginning from # are the comments, you don't need to type it :)):
Code:
# 4. become root user
su -
# 5. go to the internal sdcard real path, where you uploaded files
cd /data/media

# 6. write custom recovery to the special partition, by default it is mmcblk0p6
dd if=./recovery.img of=/dev/block/mmcblk0p6

# 7. unpack native recovery files, the "recovery" folder will be created
gunzip -c ./recovery.tar.gz | tar -x

# 8. unpack Ubuntu files, the "ubuntu" folder will be created
gunzip -c ./ubuntu.tar.gz | tar -x

# 9.1. Now, if you downloaded custom recovery without menu - set what to 
#      boot, in our case it is Ubuntu, and go to step #10
echo "/media/ubuntu" > ./rootdev

# 9.2. OR, if you downloaded custom recovery with menu - add menu entries
echo "Ubuntu=/media/ubuntu" > ./rootdev
echo "Recovery=/media/recovery" >> ./rootdev
echo "Reboot=reboot" >> ./rootdev

# 10. remove files that we don't need anymore and quit
rm ./recovery.img ./recovery.tar.gz ./ubuntu.tar.gz
exit
exit

Now you should reboot your device to recovery mode. If you did all correctly (and I did not miss anything in steps) you should see Linux booting (and menu if you are using custom recovery with menu).
Please use your S-Pen as mouse, button on the pen works as "right-click".
The password for root user and android user is "q" (small q-letter without quotes).

Notes:
  • The Ubuntu image I shared with you is v13.10 and Gnome-based (Unity does not work due to Compiz issues).
  • Regular Gnome session works at most, but have some bugs, due to 3D acceleration support issues. For example, window dragging does not work and the session hangs (sorry, I have not found why, please fix if you can and share your workaround with us).
  • Gnome Fallback works better, but might not start properly from the first time. E.g. you should boot to regular Gnome session, then log out and login to Fallback (also have no idea why it works like this, please help if have experience).
  • Due to the issues with Gnome, I've also installed LXDE and XFCE, so you could try login to it. However I would recommend booting to regular Gnome session at least to configure your Wi-Fi connection.
  • Internal and external sdcards are mounted to /mnt/intSdCard and /mnt/extSdCard paths.

Important notes:
  • The Ubuntu image has ADB installed. E.g. if something goes wrong at the screen and you are not able to manage your device, connect it to the desktop with USB cable, run "adb shell", then "sudo su -" and you become root user. To restart graphical session you need to invoke "service gdm restart" command.
  • If you are using custom recovery without menu and want to boot native recovery instead of Ubuntu, edit "rootdev" file at internal sdcard to contain "/media/recovery" path (without quotes). You can do that via ADB shell, using any Android text editor, or directly from Linux.
The last thing to know:
Not all is working from Ubuntu. Currently there is no 3G support and some other things. All of them are discussed in the parent thread

Please let me know if I have missed something and my steps do not work for you. Any other feedback will also be appreciated
 
Last edited:

dvijetrecine

Senior Member
Mar 7, 2012
302
46
Moto E7
downloading right now... just one question! can i do all this with terminal emulator on android?

edit: forget about that last question, tried from terminal emulator and it worked.
 
Last edited:

Simon94

Senior Member
Oct 27, 2011
114
425
ubuntu-logo32.png


In addition to GNU/Linux@N80XX topic, this one is a separate for Ubuntu users. Read below if you want to have native Ubuntu 13.10 wih Gnome/LDXE/XFCE at your Galaxy Note 10.1 device (2012 models only).

Screenshots:
View attachment 2432486 View attachment 2432487 View attachment 2432488

Please be aware, that stuff I share with you is experimental, it does not work 100% correctly and there are some lags and bugs.

Some technical details:
The approach is based on using custom recovery (e.g. custom kernel and initrd image) which boots into Linux. All Linux files are stored at data partition (it is mmcblk0p12 when using standard firmware, which also is internal sdcard) in a separate folder. Initrd script mounts data partition and looks for the special file /media/rootdev - this file contains the path to the Linux root folder. Script sets the Linux root device to be this folder specified and invokes /sbin/init. You see Linux booting - Ubuntu in our case.

However I've also prepared the second folder with native recovery files. E.g. if you change rootdev content to point to recovery files folder, you will boot into recovery. Generally, you can boot any other recovery or Linux distro using this approach. And hosting it at sdcard in a folder much easier than re-partitioning tablet or using loop-device in a file. Free space for your Linux depends only of free space you have at data partition.


Prerequisites:
  • Rooted GT-N80xx device
  • Busybox tools installed
  • Desktop computer with ADB tools
  • 3 files downloaded (see downloads section)
  • Understanding of what are you doing

Downloads:

Steps:
  1. Connect your device to the desktop computer with USB cable. Make sure your device is visible when you run "adb devices"
  2. Upload downloaded files to the internal memory:
    Code:
    adb push recovery.img /sdcard/
    adb push recovery.tar.gz /sdcard/
    adb push ubuntu.tar.gz /sdcard/
  3. Now you need to get into device, so run "adb shell", then type the next commands (the lines beginning from # are the comments, you don't need to type it :)):
Code:
# 4. become root user
su -
# 5. go to the internal sdcard real path, where you uploaded files
cd /data/media

# 6. write custom recovery to the special partition, by default it is mmcblk0p6
dd if=./recovery.img of=/dev/block/mmcblk0p6

# 7. unpack native recovery files, the "recovery" folder will be created
gunzip -c ./recovery.tar.gz | tar -x

# 8. unpack Ubuntu files, the "ubuntu" folder will be created
gunzip -c ./ubuntu.tar.gz | tar -x

# 9. set what to boot, we want Ubuntu
echo "/media/ubuntu" > ./rootdev

# 10. remove files that we don't need anymore and quit
rm ./recovery.img ./recovery.tar.gz ./ubuntu.tar.gz
exit
exit

Now you should reboot your device to recovery mode. If you did all correctly (and I did not miss anything in steps) you should see Linux booting.
Please use your S-Pen as mouse, button on the pen works as "right-click".
The password for root user and android user is "q" (small q-letter without quotes).

Notes:
  • The Ubuntu image I shared with you is v13.10 and Gnome-based (Unity does not work due to Compiz issues).
  • Regular Gnome session works at most, but have some bugs, due to 3D acceleration support issues. For example, window dragging does not work and the session hangs (sorry, I have not found why, please fix if you can and share your workaround with us).
  • Gnome Fallback works better, but might not start properly from the first time. E.g. you should boot to regular Gnome session, then log out and login to Fallback (also have no idea why it works like this, please help if have experience).
  • Due to the issues with Gnome, I've also installed LXDE and XFCE, so you could try login to it. However I would recommend booting to regular Gnome session at least to configure your Wi-Fi connection.
  • Internal and external sdcards are mounted to /mnt/intSdCard and /mnt/extSdCard paths.

Important notes:
  • The Ubuntu image has ADB installed. E.g. if something goes wrong at the screen and you are not able to manage your device, connect it to the desktop with USB cable, run "adb shell", then "sudo su -" and you become root user. To restart graphical session you need to invoke "service gdm restart" command.
  • If you want to boot native recovery instead of Ubuntu, edit "rootdev" file at internal sdcard to contain "/media/recovery" path (without quotes). You can do that via ADB shell, using any Android text editor, or directly from Linux.
The last thing to know:
Not all is working from Ubuntu. Currently there is no 3G support and some other things. All of them are discussed in the parent thread

Please let me know if I have missed something and my steps do not work for you. Any other feedback will also be appreciated

Hi! What about the Source Code for your custom recovery and stuff?
 

t2107

Member
Nov 26, 2013
24
14
Hi! What about the Source Code for your custom recovery

In ubuntu or debian:

Code:
apt-get install abootimg
abootimg -x recovery-1.img

After this you will have a folder with all the contents of the img. Some of which you can edit the scripts. You can extract the initrd and kernel even further with abootimg-unpack-initrd
 

Liquidmetal6

Senior Member
Mar 11, 2012
132
5
Maryland
Can't risk ruining my tablet until after the semester ends but as soon as it does I'll be trying this! Sounds awesome...
 

X-Stranger

Senior Member
Sep 2, 2008
164
204
THANK YOU, and THANK YOU for returning!
Don't forget to press "thanks" button :) (or even "donate to me" ;))

Note 10.1 is currently in hands of Samsung for repairs. Hopefully I can have some fun with this once it is back.

Please check drivers here: http://xdaforums.com/showthread.php?p=45340017#post45340017

I think the driver for Mali acceleration may be possible (you are using Hardkernel from ODROID, correct?).

Yes, I'm using Mali acceleration in my Ubuntu image. It is still not 100% working though, that is what I'm talking about, when describe Gnome issues. If you can fix that - please do and share your experience, I'll update the image then.

I would also like someone to help with migration to the latest kernel, which has support for our Exynos board. Exception13 was going to do that, but looks like he is very busy person (and I can understand that).
 

X-Stranger

Senior Member
Sep 2, 2008
164
204
Have composed a small menu program and added it to custom initrd. Now it is possible to select what to boot (see screenshot), e.g. don't need to edit rootdev file every time, only when adding new menu entry.

menu.png

Updated first post of this topic with instructions how to get this.
 
Last edited:

t2107

Member
Nov 26, 2013
24
14
Have composed a small menu program and added it to custom initrd. Now it is possible to select what to boot (see screenshot), e.g. don't need to edit rootdev file every time, only when adding new menu entry.

View attachment 2436305

Updated first post of this topic with instructions how to get this.

This is fantastic news for Note 10 owners out-there. I never read about another tablet with a bootmenu to native linux and recovery, so Y'all are lucky to have X-Stranger on the case =] because also now the Ubuntu flavor is on the go.

For all you Note 8 owners out-there I am trying to port the images over with as few changes as possible but my skill level at this type of task is 1/10 that of X-Stranger, so bare with me! (Or you can try and get a package together faster than me =] ).

My process so far is to use the initrd from X-Stranger's recovery_menu.img, and use a zImage from CWM, TWRP, and stock. All that they do is loop back to the note's defalt splash screen. I used X-Stranger's entire recovery_menu.img too and it boots to just a black screen on the Note 8. So my WIP conclusion thus far is that I or someone (volunteer required) has to compile a kernel with some patches just like X-Stranger did on page 3 of the previous thread.

Enjoy Ubuntu all the Note 10 owners....
 

panoz

Senior Member
Jan 20, 2007
91
21
at the first boot it says "failed to mount extsdcard, press S to skip ....." of course there's nothing to press anything on. I guess it's because my 64gb microsd is ntfs formated. Should I convert it to exfat from windows, should I attach a usb keyboard with OTG and press s?


Sent from my GT-N8013 using Tapatalk
 

loki495

Member
Jan 7, 2007
22
0
I'm having the same the same issue as panoz, error mounting /mnt/extSdCard. Also tried removing it before boot, but it complains that there's nothing to mount. I only have a Bluetooth keyboard, no otg, so is my only option to format the card?

Btw thanks X-Stranger and all the devs involved for all your work!!
 

X-Stranger

Senior Member
Sep 2, 2008
164
204
at the first boot it says "failed to mount extsdcard, press S to skip ....." of course there's nothing to press anything on. I guess it's because my 64gb microsd is ntfs formated. Should I convert it to exfat from windows, should I attach a usb keyboard with OTG and press s?


Sent from my GT-N8013 using Tapatalk

Yes, it is expecting FAT to be mounted. As a workaround you can disable ext sdcard mounting. Just go to ubuntu image directory, etc folder, find fstab file and comment out the line related to external sdcard (put # symbol in the beginning).
 

younix258

Senior Member
Feb 18, 2011
952
80
What im mostly curious about right now are the bugs you talked about. Are they comparable to the archlinux ones? Worse? Better?
Does it have mali hardware accel?
Does the entire thing crash after a while?
Does the img itself get corrupted every few boots?
Wifi works fine?

Sorry for the barrage, but these are important for me to know before i make the switch

Sent from my Nexus 4 using xda app-developers app
 

X-Stranger

Senior Member
Sep 2, 2008
164
204
Userdata is mmcblk0p16.
It starts to boot but tells me that the path "new_root/linux" and "new_root/ubuntu" couldn't be found.
I read about it recently, but dont know where anymore

Okay, in your case I need to fix recovery partition to look for mmcblk0p16 instead of mmcblk0p12 in my case. Please send me your email, I'll generate and send special version for you to try fixing that.
 
  • Like
Reactions: younix258

X-Stranger

Senior Member
Sep 2, 2008
164
204
What im mostly curious about right now are the bugs you talked about. Are they comparable to the archlinux ones? Worse? Better?
This really depends. I would say that it is the same. The bugs I'm talking about: the graphics may hang it you try to move window in Gnome for example, but works perfectly in Gnome Fallback. You should give it a try.

Does it have mali hardware accel?
Yes, it has the same accel that ArchLinux has. But after summer upgrades Gnome did not want to work in ArchLinux and I was not able to fix that. That is why there is no new ArchLinux images.

Does the entire thing crash after a while?
Have not faced this yet.

Does the img itself get corrupted every few boots?
Nope. There I use new approach without img. All the files are stored and the data partition and it is fsck-ing every boot. Even more - it is easier to have Ubuntu and ArchLinux together. I just need to to prepare the Arch files folder for you when have free time. Or you can do it by yourself.

WiFi works the same. The only thing is better - it does not require to off/on to start seeing hotspots.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    ubuntu-logo32.png


    In addition to GNU/Linux@N80XX topic, this one is a separate for Ubuntu users. Read below if you want to have native Ubuntu 13.10 wih Gnome/LDXE/XFCE at your Galaxy Note 10.1 device (2012 models only).

    Screenshots:
    1.jpg 2.jpg 3.jpg

    Please be aware, that stuff I share with you is experimental, it does not work 100% correctly and there are some lags and bugs.

    Some technical details:
    The approach is based on using custom recovery (e.g. custom kernel and initrd image) which boots into Linux. All Linux files are stored at data partition (it is mmcblk0p12 when using standard firmware, which also is internal sdcard) in a separate folder. Initrd script mounts data partition and looks for the special file /media/rootdev - this file contains the path to the Linux root folder. Script sets the Linux root device to be this folder specified and invokes /sbin/init. You see Linux booting - Ubuntu in our case.

    However I've also prepared the second folder with native recovery files. E.g. if you change rootdev content to point to recovery files folder, you will boot into recovery. Generally, you can boot any other recovery or Linux distro using this approach. And hosting it at sdcard in a folder much easier than re-partitioning tablet or using loop-device in a file. Free space for your Linux depends only of free space you have at data partition.


    Prerequisites:
    • Rooted GT-N80xx device
    • Busybox tools installed
    • Desktop computer with ADB tools
    • Custom recovery image (with or without menu), native recovery, Ubuntu image files downloaded (see downloads section)
    • Understanding of what are you doing

    Downloads:

    Steps:
    1. Connect your device to the desktop computer with USB cable. Make sure your device is visible when you run "adb devices"
    2. Rename downloaded recovery image to "recovery.img"
    3. Upload downloaded files to the internal memory:
      Code:
      adb push recovery.img /sdcard/
      adb push recovery.tar.gz /sdcard/
      adb push ubuntu.tar.gz /sdcard/
    4. Now you need to get into device, so run "adb shell", then type the next commands (the lines beginning from # are the comments, you don't need to type it :)):
    Code:
    # 4. become root user
    su -
    # 5. go to the internal sdcard real path, where you uploaded files
    cd /data/media
    
    # 6. write custom recovery to the special partition, by default it is mmcblk0p6
    dd if=./recovery.img of=/dev/block/mmcblk0p6
    
    # 7. unpack native recovery files, the "recovery" folder will be created
    gunzip -c ./recovery.tar.gz | tar -x
    
    # 8. unpack Ubuntu files, the "ubuntu" folder will be created
    gunzip -c ./ubuntu.tar.gz | tar -x
    
    # 9.1. Now, if you downloaded custom recovery without menu - set what to 
    #      boot, in our case it is Ubuntu, and go to step #10
    echo "/media/ubuntu" > ./rootdev
    
    # 9.2. OR, if you downloaded custom recovery with menu - add menu entries
    echo "Ubuntu=/media/ubuntu" > ./rootdev
    echo "Recovery=/media/recovery" >> ./rootdev
    echo "Reboot=reboot" >> ./rootdev
    
    # 10. remove files that we don't need anymore and quit
    rm ./recovery.img ./recovery.tar.gz ./ubuntu.tar.gz
    exit
    exit

    Now you should reboot your device to recovery mode. If you did all correctly (and I did not miss anything in steps) you should see Linux booting (and menu if you are using custom recovery with menu).
    Please use your S-Pen as mouse, button on the pen works as "right-click".
    The password for root user and android user is "q" (small q-letter without quotes).

    Notes:
    • The Ubuntu image I shared with you is v13.10 and Gnome-based (Unity does not work due to Compiz issues).
    • Regular Gnome session works at most, but have some bugs, due to 3D acceleration support issues. For example, window dragging does not work and the session hangs (sorry, I have not found why, please fix if you can and share your workaround with us).
    • Gnome Fallback works better, but might not start properly from the first time. E.g. you should boot to regular Gnome session, then log out and login to Fallback (also have no idea why it works like this, please help if have experience).
    • Due to the issues with Gnome, I've also installed LXDE and XFCE, so you could try login to it. However I would recommend booting to regular Gnome session at least to configure your Wi-Fi connection.
    • Internal and external sdcards are mounted to /mnt/intSdCard and /mnt/extSdCard paths.

    Important notes:
    • The Ubuntu image has ADB installed. E.g. if something goes wrong at the screen and you are not able to manage your device, connect it to the desktop with USB cable, run "adb shell", then "sudo su -" and you become root user. To restart graphical session you need to invoke "service gdm restart" command.
    • If you are using custom recovery without menu and want to boot native recovery instead of Ubuntu, edit "rootdev" file at internal sdcard to contain "/media/recovery" path (without quotes). You can do that via ADB shell, using any Android text editor, or directly from Linux.
    The last thing to know:
    Not all is working from Ubuntu. Currently there is no 3G support and some other things. All of them are discussed in the parent thread

    Please let me know if I have missed something and my steps do not work for you. Any other feedback will also be appreciated
    4
    Have composed a small menu program and added it to custom initrd. Now it is possible to select what to boot (see screenshot), e.g. don't need to edit rootdev file every time, only when adding new menu entry.

    menu.png

    Updated first post of this topic with instructions how to get this.
    3
    If anyone is still interested in..... Going to update Ubuntu for N8000 tablet soon.... Probably without Gnome - just LXDE or XFCE....
    Collecting feedback on what version of Android you guys are using to post correct step to get it working.
    3
    anybody else having issues with bluetooth? when i enable it it still shows as disabled.

    Confirmed, the solution I've taken from ArchLinux does not work in Ubuntu. To fix Bluetooth, please overwrite /opt/bluez/brcm_patchram_plus file with attached to this message (don't forget to unpack it before) and make it executable ("chmod +x /opt/bluez/brcm_patchram_plus"). Then go to /etc folder of Ubuntu, find rc.local file and comment out the line starting with "/usr/bin/valgrind ...", save file and reboot.

    Please let me know if this helps. As for me, I was able to connect my bluetooth mouse after fix.
    2
    ubuntu-logo32.png


    In addition to GNU/Linux@N80XX topic, this one is a separate for Ubuntu users. Read below if you want to have native Ubuntu 13.10 wih Gnome/LDXE/XFCE at your Galaxy Note 10.1 device (2012 models only).

    Screenshots:
    View attachment 2432486 View attachment 2432487 View attachment 2432488

    Please be aware, that stuff I share with you is experimental, it does not work 100% correctly and there are some lags and bugs.

    Some technical details:
    The approach is based on using custom recovery (e.g. custom kernel and initrd image) which boots into Linux. All Linux files are stored at data partition (it is mmcblk0p12 when using standard firmware, which also is internal sdcard) in a separate folder. Initrd script mounts data partition and looks for the special file /media/rootdev - this file contains the path to the Linux root folder. Script sets the Linux root device to be this folder specified and invokes /sbin/init. You see Linux booting - Ubuntu in our case.

    However I've also prepared the second folder with native recovery files. E.g. if you change rootdev content to point to recovery files folder, you will boot into recovery. Generally, you can boot any other recovery or Linux distro using this approach. And hosting it at sdcard in a folder much easier than re-partitioning tablet or using loop-device in a file. Free space for your Linux depends only of free space you have at data partition.


    Prerequisites:
    • Rooted GT-N80xx device
    • Busybox tools installed
    • Desktop computer with ADB tools
    • 3 files downloaded (see downloads section)
    • Understanding of what are you doing

    Downloads:

    Steps:
    1. Connect your device to the desktop computer with USB cable. Make sure your device is visible when you run "adb devices"
    2. Upload downloaded files to the internal memory:
      Code:
      adb push recovery.img /sdcard/
      adb push recovery.tar.gz /sdcard/
      adb push ubuntu.tar.gz /sdcard/
    3. Now you need to get into device, so run "adb shell", then type the next commands (the lines beginning from # are the comments, you don't need to type it :)):
    Code:
    # 4. become root user
    su -
    # 5. go to the internal sdcard real path, where you uploaded files
    cd /data/media
    
    # 6. write custom recovery to the special partition, by default it is mmcblk0p6
    dd if=./recovery.img of=/dev/block/mmcblk0p6
    
    # 7. unpack native recovery files, the "recovery" folder will be created
    gunzip -c ./recovery.tar.gz | tar -x
    
    # 8. unpack Ubuntu files, the "ubuntu" folder will be created
    gunzip -c ./ubuntu.tar.gz | tar -x
    
    # 9. set what to boot, we want Ubuntu
    echo "/media/ubuntu" > ./rootdev
    
    # 10. remove files that we don't need anymore and quit
    rm ./recovery.img ./recovery.tar.gz ./ubuntu.tar.gz
    exit
    exit

    Now you should reboot your device to recovery mode. If you did all correctly (and I did not miss anything in steps) you should see Linux booting.
    Please use your S-Pen as mouse, button on the pen works as "right-click".
    The password for root user and android user is "q" (small q-letter without quotes).

    Notes:
    • The Ubuntu image I shared with you is v13.10 and Gnome-based (Unity does not work due to Compiz issues).
    • Regular Gnome session works at most, but have some bugs, due to 3D acceleration support issues. For example, window dragging does not work and the session hangs (sorry, I have not found why, please fix if you can and share your workaround with us).
    • Gnome Fallback works better, but might not start properly from the first time. E.g. you should boot to regular Gnome session, then log out and login to Fallback (also have no idea why it works like this, please help if have experience).
    • Due to the issues with Gnome, I've also installed LXDE and XFCE, so you could try login to it. However I would recommend booting to regular Gnome session at least to configure your Wi-Fi connection.
    • Internal and external sdcards are mounted to /mnt/intSdCard and /mnt/extSdCard paths.

    Important notes:
    • The Ubuntu image has ADB installed. E.g. if something goes wrong at the screen and you are not able to manage your device, connect it to the desktop with USB cable, run "adb shell", then "sudo su -" and you become root user. To restart graphical session you need to invoke "service gdm restart" command.
    • If you want to boot native recovery instead of Ubuntu, edit "rootdev" file at internal sdcard to contain "/media/recovery" path (without quotes). You can do that via ADB shell, using any Android text editor, or directly from Linux.
    The last thing to know:
    Not all is working from Ubuntu. Currently there is no 3G support and some other things. All of them are discussed in the parent thread

    Please let me know if I have missed something and my steps do not work for you. Any other feedback will also be appreciated

    Hi! What about the Source Code for your custom recovery and stuff?