[OtherOS] [Gentoo] [Native] SGT-OtherOS for Enthusiasts (GT-P7510) - Galaxy Tab 10.1 Android Development

Want to run an alternate OS on your SGT? Perhaps use it as a Linux Server? Or want to help develop? You may be interested in this 'ROM'.
Lame Video Demo: SGT-OtherOS Gentoo Milestone 1 (m1) Demo Boot GT-P7510 - YouTube
Quick Touchscreen Demo Video: SGT-OtherOS zefie kernel touchscreen driver usability demo - YouTube
(Please watch in 720p HD Full Screen! You will be able to read the screen then.)
SGT-OtherOS Gentoo armv7l vfpv3-d16 for GT-7510
Warning!
Do NOT attempt to flash this on any other SGT besides the GT-7510. DO NOT FLASH on the 3G and LTE models!
This has not been tested on models with mobile radio, which usually have a different partition map, and more locked down (aka easier to brick) secure bootloader. You have been warned!
This is not ready for production use. This is an enthusiasts' OS.
Just a note, flashing these partititons (then subsequently wiping /system with mkswap) is not as harmful as it may sound. I have successfully flashed back to Stock with Odin to test this before posting it.
Features:
Based off of TABUNTU Project
OpenRC Gentoo System
CWM v5.5.0.4 recovery for flashing Kernel Updates, or accessing ADB to debug (OtherOS is under /data/ in recovery)
Customized kernel with some driver updates, and all kernel modules (GitHub Source)
Imported pershoot modifications (Overclocking, USB Charging, ect)
Linux Shell (no gui yet)
Custom scripts
Uses /dev/mmcblk0p4 (/system) for compcache swap space
Current Hardware Status:
Basics (Display, NAND, RAM, CPU, yadda yadda)
Full USB and Charging
Battery Status
Wifi support (WEP)
Sound support including jack detection
Touchscreen (with Kernel Update m1-2012.03.24)
Known Issues:
The backlight does not turn off when linux power saving turns on
It is impossible to turn the device off while plugged into a charger (this is due to how the charging animation works. Unfortunately this may never work. /sbin/init on ramdisk is the key/reason)
Pressing CAPS-LOCK (or any other led-lighting key) on USB keyboard will kernel panic.
Kernel Updates:
m1-2012-03-24
Patched touchscreen driver to be evdev and tslib compatible
Anything not listed assumed not working
How to install
WARNING!
You will lose ALL CURRENT DATA stored on your tab, including /sdcard! I did not brick my tab doing this, but cannot guarantee anything for you. Try this as your own risk!
Each time you flash the kernel for OtherOS, your "Custom Binary" "Flash Count" flag in Odin increases. AFAIK, this just means your warranty is VOID, and has no ill effects on the tablet.
This is not dual boot and REPLACES Android, but it is easy to revert back. However, there will be no Android OS while OtherOS is installed!
Download SGT_OtherOS_Gentoo_m1.tar.7z
Flash via Odin
Root password is gentoo, change it.
The image has an auto-resizer, so when you flash data.img, it will auto-resize on first boot, and give you a 13gb partition for your OtherOS.
How to Restore Android
When you restore to Android via Odin, it leaves /data un-formatted. Because of this, there are a few extra steps to restore back Android completely.
Download p4_16G_32G.pit and an Odin stock dump of UEKMP
Flash them as you normally would to restore to stock.
Wait for reboot, you will get an error in the stock recovery app
When the menu appears, choose Wipe data/cache
Reboot and choose one of:
A. To go back to stock: Reflash the Odin tar without the .pit file this time
B. To go back to custom: Reflash CWM and either restore nandroid, or format /system and install a custom ROM.

Tips and Tricks:
Gentoo Knowledge
The use of this OS assumes you know how to use Gentoo on a Desktop PC. If not, or you would like a refresher, please read the Gentoo Handbook. Please read this prior to asking any non-SGT specific configuration questions. Please skip the "Installing Gentoo" section. I've got that covered for you
Accessing Clockwork MOD Recovery
You cannot 'reboot recovery' in linux. So, to access recovery, simply reboot. When the screen backlight turns off, hold VOL DOWN until you get the fastboot menu. It's that simple
Accessing your Gentoo install from Recovery
You can access the root partition of your Gentoo install in Clockwork Recovery. You can mount /data quickly by choosing 'Install from SD Card', 'Choose update.zip'. When CWM says 'no file found', /data is mounted.
Future Kernel Updates
As time passes, I may release a new kernel, with additional modules, features, scripts, or workarounds. These can be installed via CWM like an Android Update ZIP. While running Gentoo, update zips are stored in /media. While running recovery, updates are available under /data/media. Be sure to mount your Gentoo install as stated above before attempting to adb push any update zip files. You can also install kernel updates from the OtherOS environment using this script.
Future Update Possiblities
Right now I only have plans to update the kernel via CWM update.zip. OtherOS primary releases will likely be in Odin format. However, enthusiasts, or devs branching off into their own project may like to know that, since you have access to the entire root partition (ext4) via CWM, you can basically patch anything. Store your rootfs in a tar, and extract it via /tmp in your update.zip to preserve permissions. Your only limitation is the RAMDisk of recovery (or not, if you are tactical).
Disable Overclocking from CWM
If you are having problems with your SGT crashing, your SGT may not support 1.4ghz. Simply access your root partition via CWM as explained above, and remove the file /data/etc/local.d/SGT_cpu_oc_1400.start
Set up Wifi without USB OTG
As it stands, you will need a USB input adapter to use your Gentoo system, because I cannot possibly auto-configure your wifi. I know for most people, this is a setback, however you can configure your Wifi manually and push the file back in CWM. Access root from CWM, as explained above, and pull the following file: /data/etc/conf.d/net
Edit it as necessary and push it back, be sure to set its permissions to 0644 before attempting to reboot back into Gentoo.
Change your Wifi MAC Address
There is a hidden file the Wifi Driver uses, /data/.mac.info (/data/data/.mac.info via CWM). Inside this file you will find a MAC address. Once this file is changed, the next time the dhd module (wifi) is loaded, it will use the MAC Address specified in the file.
Recovering from a crash
This is still in alpha status. There may come a time (for example, if you hit Caps-Lock on an external keyboard) where your system will hard lock. You do not have to let the battery drain, you can force the system to reboot by holding the power button for approximately 10 seconds. Release the power button when the screen backlight turns off. Please be advised this is not suggested for normal shutdown, and only for use if the system is not responding.
Touchscreen Guide (requires kernel update m1-2012-03-24 or newer)
Light Single Touch = Move Mouse
Hard Touch = Left Mouse Button
Light Two-finger Touch = Right Mouse Button (from left finger position)

Is this rom natively boot on gentoo? Can you upload a video or pics? And when this will be get available for p7500?

leventccc said:
Is this rom natively boot on gentoo? Can you upload a video or pics? And when this will be get available for p7500?
Click to expand...
Click to collapse
1) Yes, this is native, like the Tabuntu project
2) I am working on a quick video
3) I cannot test on hardware I do not have. Likely it will work but may require partition maps to be updated. We auto-format /dev/mmcblk0p4 on first boot (/system on GT-P7510). This is safe on the GT-P7510, but may not be safe on the GT-P7500.
Also there is no GUI yet, so right now it is mainly for:
1) Development
2) Turning your SGT into a Linux Server
3) To say you can run Gentoo on your SGT
Edit: For non-GT-P7510 owners, if you give me a copy of /proc/partitions (from any ROM), I will verify if this is safe for you or not.
If it is not, I will try to add support by build m2

zefie said:
1) Yes, this is native, like the Tabuntu project
2) I am working on a quick video
3) I cannot test on hardware I do not have. Likely it will work but may require partition maps to be updated. We auto-format /dev/mmcblk0p4 on first boot (/system on GT-P7510). This is safe on the GT-P7510, but may not be safe on the GT-P7500.
Also there is no GUI yet, so right now it is mainly for:
1) Development
2) Turning your SGT into a Linux Server
3) To say you can run Gentoo on your SGT
Edit: For non-GT-P7510 owners, if you give me a copy of /proc/partitions (from any ROM), I will verify if this is safe for you or not.
If it is not, I will try to add support by build m2
Click to expand...
Click to collapse
major minor #blocks name
179 0 15387648 mmcblk0
179 1 12288 mmcblk0p1
179 2 5120 mmcblk0p2
179 3 8192 mmcblk0p3
179 4 591872 mmcblk0p4
179 5 458752 mmcblk0p5
179 6 2048 mmcblk0p6
179 7 12288 mmcblk0p7
179 8 13969920 mmcblk0p8
179 9 8192 mmcblk0p9
179 10 307200 mmcblk0p10
Here is the partitions

leventccc said:
179 3 8192 mmcblk0p3
179 4 591872 mmcblk0p4
179 8 13969920 mmcblk0p8
Click to expand...
Click to collapse
Should be alright then

I will be flash but I want to ask how can we connect to keyboard and mouse?

USB OTG adapter .. this is the one I bought

Holy crap... I love you. Gonna install this regardless but need WiFi and BT

GazaIan said:
Holy crap... I love you. Gonna install this regardless but need WiFi and BT
Click to expand...
Click to collapse
I'm gonna work on WPA for m2. Open Wifi should work, but not tested. WEP 128-bit was tested and works. The driver is a little crazy, so there are some workarounds, and as of now my workaround only supports WEP.
BT I am unsure will ever work, and is not a high priority for me. To be honest, Bluetooth gives me trouble, period. Not just on OtherOS, but the entire protocol, I am not a fan of it. But I will see what I can do.

zefie said:
I'm gonna work on WPA for m2. Open Wifi should work, but not tested. WEP 128-bit was tested and works. The driver is a little crazy, so there are some workarounds, and as of now my workaround only supports WEP.
BT I am unsure will ever work, and is not a high priority for me. To be honest, Bluetooth gives me trouble, period. Not just on OtherOS, but the entire protocol, I am not a fan of it. But I will see what I can do.
Click to expand...
Click to collapse
Hm... If WiFi works then, I might just buy that USB adapter so I can make use of it all. I installed Ubuntu but I had to fight the screen to get as far as I did, and then I hit a roadblock because I had to type things in and didn't have the adapter oh; you should probably start a new thread for Ubuntu as well, everyone probably overlooks the original tabuntu thread.

GazaIan said:
Hm... If WiFi works then, I might just buy that USB adapter so I can make use of it all. I installed Ubuntu but I had to fight the screen to get as far as I did, and then I hit a roadblock because I had to type things in and didn't have the adapter oh; you should probably start a new thread for Ubuntu as well, everyone probably overlooks the original tabuntu thread.
Click to expand...
Click to collapse
For some reason, and i did try this, my kernel does not fix touchscreen on Tabuntu. I think Ubuntu's 'auto config' is our enemy on such a fine tuned device.
Also, since Gentoo is compiling everything, it runs ALOT more efficiently. Faster and less RAM usage, as all binaries are tegra2 optimized (or at least cortex-a9)
edit: m2 will launch gnome and onboard keyboard

zefie said:
For some reason, and i did try this, my kernel does not fix touchscreen on Tabuntu. I think Ubuntu's 'auto config' is our enemy on such a fine tuned device.
Also, since Gentoo is compiling everything, it runs ALOT more efficiently. Faster and less RAM usage, as all binaries are tegra2 optimized (or at least cortex-a9)
edit: m2 will launch gnome and onboard keyboard
Click to expand...
Click to collapse
I actually began to suspect the same, with Tabuntu it seems like the mouse does move, but only hovers. I notice buttons highlight when I tap them, but to actually click a button I have to finger rape it. Even in this video here, after rape clicking one of the buttons in the top right corner, I can tap and it will be highlighted. If its fixed here then we all know we can blame Ubuntu for it.
http://www.youtube.com/watch?v=0hcBSxsHpII
Can key events be sent to Ubuntu via ADB, like how it can be sent while in Android? If I could actually get ADB to connect then I can use keyevents to type stuff in while I wait on my USB Adapter.

I'm probably putting this on the sideburner for a while, but I wanted to put out my latest compiled kernel (to match github) with all my touchscreen driver patches, as well as my sound workaround. flashing this to tabuntu does not magically enable touchscreen but does have a more proper driver (as least compatible with ts_print_raw..
http://files.persona.cc/zefie/files...rnel_updates/m1/2012.03.26/otheros_kernel.zip
Edit: On sideburner until ICS release for our tab, and subsequent OSS release, because I want to start over with the 3.x kernel sources.

zefie said:
I'm probably putting this on the sideburner for a while, but I wanted to put out my latest compiled kernel (to match github) with all my touchscreen driver patches, as well as my sound workaround. flashing this to tabuntu does not magically enable touchscreen but does have a more proper driver (as least compatible with ts_print_raw..
http://files.persona.cc/zefie/files...rnel_updates/m1/2012.03.26/otheros_kernel.zip
Edit: On sideburner until ICS release for our tab, and subsequent OSS release, because I want to start over with the 3.x kernel sources.
Click to expand...
Click to collapse
Aw damn, good luck with those sources! Hope something even awesomer can come out from this, I like other OSes on my Tab. Just bought the USB adapter to make use of my keyboard as well

Unfortunately I have 2 bits of bad news about this project
1) I had to sell my tab to pay the rent this month due to a layoff.
2) I seemed to have lost my pre-m2 archive, I was going to release it as-is, but now I can't
I'll leave the existing files up though, and hope someone continues this project.

Related

Booting Ubuntu on the O2X

I've spent some (much) time this week with trying to get ubuntu running on the optimus 2x. I have succeeded to boot and get the wifi, X11 and the touch screen sort-of working.
The ramdisk is completely replaced with a busybox executable, some symlinks to it and a shell script that mounts the necessary stuff (/dev/block/mmcblk1p2 as ext3), changes root directory and calls /sbin/init.
USING THE FOLLOWING WILL VOID ANY WARRANTY YOU MIGHT HAVE LEFT AND MIGHT ALSO BRICK YOUR PHONE!
Seriously, don't do this if you don't wish to risk the data on your phone.
I will be providing some demo images for people who don't have a build environment up and running. These images will not work particularly well, don't get your hopes up .
If you want to have a big linux installation (more than 3 GB) you can flash the images to the second partition on your external sd (obviously you have to create this yourself first). You can use the following boot image (which assumes that linux is on /dev/block/mmcblk1p2 with ext3:
https://ha.xxor.net/o2x/boot-20110813.img
I have also targzipped the modifications to the file system that were required to get stuff going here:
https://ha.xxor.net/o2x/o2x-20110813.tar.gz
This should be extracted directly to the root file system.
The kernel source code is up at https://github.com/ergoen/LG-Optimus-2x-linux-kernel
Things that have been done to get this to "work":
1. Boot partition
Apart from grabbing the busybox stuff from some nexus one boot image (I'm sorry whoever fixed it, I don't remember where I got it from ) the boot command line had to be modified a bit, changing stuff from the default usually ends up in a phone that won't boot, but I discovered that it's possible to append new arguments to the default ones. So the following have been appended:
console=tty0 root=/dev/mmcblk1p2 init=/sbin/init
The console=tty0 makes sure that you see stuff on the screen while ubuntu get's running. The last two are not necessary to boot, but ubuntu seem to like (need?) them (or at least the init=/sbin/init), since otherwise you never get to the login prompt on the screen.
2. The Ubuntu installation
To make it possible to communicate with the phone at all adbd was put into the /sbin/ folder and a symlink was created /system/ -> /. Also the "/sbin/adbd recovery &" command was added to rc.local to make it autostart.
2.1. Modules and wifi
We need the /lib/modules/2.6.32.9 directory. Most files inside that were generated using the "depmod" command, the exception is wireless.ko which was taken from android, the firmware and nvram files needed for the wifi chip to work were placed in the /lib/firmware/wl/ folder. To make the wifi module autoload with the proper firmware "wireless" was added to /etc/modules and the file /etc/modprobe.d/wireless.conf was created with the contents describing the location of the firmware and nvram.
To make the wifi autoconnect on boot the /etc/network/interfaces file was modified with the following contents:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
(To make the wifi autoconnect to your wireless you need to run the command "wpa_passphrase networkname networkpassword > /etc/wpa_supplicant.conf using adb or chroot)
2.2. X11
Getting X up by running xinit produces a simple black screen on the phone. At first I thought the problem was that the refresh rate was set to 106 Hz, indeed changing it with xrandr and pushing a new mode got me a visible xterm on Kubuntu 11.04:
https://ha.xxor.net/o2x/xterm.jpg.
On Ubuntu 10.10 it even gave me a nice colored gdm screen:
https://ha.xxor.net/o2x/gdm.jpg
But the image I got there was static and wasn't being updated. Turns out the reason the screen was black earlier with the 106 Hz rate and the reason why the screen is now just showing an image is that the framebuffer device doesn't update the screen like it should..
By modifying the kernel source to redraw the screen every 50 ms (~20 Hz) it's possible to get a scren that works. This is an ugly hack in the tegra-fb driver though, so I'm open for suggestions on how to solve it in a better way!
2.3. Touchscreen
By default the only thing the touchscreen does is force the mouse up in the left corner, I think this is due to some multitouch thing. Some more kernel hacking (basically half-disabling multitouch) makes the touchscreen work.
Pictures:
https://ha.xxor.net/o2x/SAM_0671.jpg
https://ha.xxor.net/o2x/SAM_0672.jpg
Video:
http://vimeo.com/27662093
Thans to RaYmAn and lilstevie on #tegralinux for all their help this far!
3. Misc
(K)Ubuntu 11.04 uses a new version of libc which crashes with the current nvidia kernel (2.6.32.9) on this hardware (http://developer.nvidia.com/tegra/forum/errata-657451-tls-bit-20-cp15-c13-3), so I'm going back to Ubuntu 10.10 until someone ports a newer kernel to the Optimus 2x or this problem can be solved in another way.
edit 1: Ubuntu 10.10 with much more working X11 noted in section 2.2.1.
edit 2: X11 working even more, touchscreen works aswell!
edit 3: Landscape mode works with both X11 and the touchscreen now, getting ready for alpha 1!
Current status:
Working:
- adb (best way of controlling device currently)
- X11 (only framebuffer with hardcoded refresh rate of ~20Hz)
- landscape mode fixed! =D
- touchscreen (probably only single touch)
- wifi (only when running things from console, ubuntus network manager does not recognize it)
Not working:
- Basically everything else
Alpha 1:
EDIT: Seems that multiupload has screwed up and this link was going to some crap, anyway this is not relevant anymore
Username 'ubuntu', password 'ubuntuxda'. Don't use this if you don't know how to restore the boot partition! (Or else you won't be able to boot back into android!)
Experiments:
Tried disabling the CONFIG_TEGRA_ERRATA_657451 switch in the kernel to make newer linux versions boot. This might be a bad idea in the long run, but this far things are working better than with the switch enabled..
I tried Ubuntu via chroot method posted in other thread, but I'm a noob.. Can you please explain what is different about your ubuntu?? Does it boot without Android and doesn't need VNC stuff?
Yes, it boots instead of android when turning on the phone, but it doesn't work completely, so I mostly put it up here so that people could help test and fix/hack things.
You rock! Unfortunately I'm no dev, so can't help but hopefully others will, so we'll get a fully working linux on our phone, and maybe later even meego. Is there btw drivers for the gpu? Because hdmi, with usb host ofc, would be really useful!
Anyway, good job, really!
This looks great ergoen! I'm no dev either but I can't wait until it's available to everyone, I would love to have Ubuntu running on my O2x.
Best of luck!
gpu drivers are closed source, and the ones released by nvidia require a newer kernel (2.6.38), so thats not really possible yet.
Newer kernel will be necessary anyway though, since the crashes I'm getting seems to be due to a bug in tegra which gets worked around in 2.6.36. I'm not skilled enough to perform that port though. I will of course give it a try, but most likely I'll go for some older version of ubuntu and/or perhaps meego instead.
Håller med tidigare poster. Would be awesome with native Ubuntu and Meego on the phone... keep up the good work, can't wait to follow this development.
Sent from my Optimus 2X using XDA Premium App
ergoen said:
... I realized that it tried to run the screen at [email protected], which is hmm, wrong . So setting up a script at /etc/xprofile, which makes sure the refresh rate is 60Hz...
Click to expand...
Click to collapse
What would happen if you changed this to 72Hz instead? I saw that info when I was browsing System Information in some app. Im not a dev At. All. But tell me what you think it's probably a stupid question
Sent from my Optimus 2X using XDA Premium App
I can give it a try later, not that it would make any difference .
edit: 72 Hz also seems to work, cool, that's higher refresh rate than my computer screen...
ergoen said:
I've spent some (much) time this week with trying to get ubuntu running on the optimus 2x. I have succeeded to boot and get the wifi working, also X sort-of works (software fb). I have only slightly modified the kernel (built with CONFIG_SIGNALFD=y so that Meego wont complain in a related attempt to get that os booting). The ramdisk is completely replaced with a busybox executable, some symlinks to it and a shell script that mounts the necessary stuff (/dev/block/mmcblk1p2 as ext3), changes root directory and calls /sbin/init.
USING THE FOLLOWING WILL VOID ANY WARRANTY YOU MIGHT HAVE LEFT AND MIGHT ALSO BRICK YOUR PHONE!
Seriously, don't do this if you don't wish to risk the data on your phone.
I will not provide a complete root file system for two reasons:
1. It's pretty easy to make yourself, grab the omap3 kubuntu mobile image from the kubuntu site, or use rootstock from an ubuntu installation to build one yourself.
2. My upload sucks, and putting several hundred MB onto the interwebz would hurt me.
However, I have placed an image of my boot partition here (assumes you've got ubuntu on the second partition of the external memory card formatted with ext3):
https://ha.xxor.net/o2x/boot.img
I have also targzipeed the modifications to the file system that were required to get stuff going here:
https://ha.xxor.net/o2x/o2x.tar.gz
This should be extracted directly to the root file system you aquired earlier.
Things that have been done to get this to "work":
1. Boot partition
Apart from grabbing the busybox stuff from some nexus one boot image (I'm sorry whoever fixed it, I don't remember where I got it from ) the boot command line had to be modified a bit, changing stuff from the default usually ends up in a phone that won't boot, but I discovered that it's possible to append new arguments to the default ones. So the following have been appended:
console=tty0 root=/dev/mmcblk1p2 init=/sbin/init
The console=tty0 makes sure that you see stuff on the screen while ubuntu get's running. The last two are not necessary to boot, but ubuntu seem to like (need?) them (or at least the init=/sbin/init), since otherwise you never get to the login prompt on the screen.
2. The Ubuntu installation
To make it possible to communicate with the phone at all adbd was put into the /sbin/ folder and a symlink was created /system/ -> /. Also the "/sbin/adbdb recovery &" command was added to rc.local to make it autostart.
2.1. Modules and wifi
We need the /lib/modules/2.6.32.9 directory. Most files inside that were generated using the "depmod" command, the exception is wireless.ko which was taken from android, the firmware and nvram files needed for the wifi chip to work were placed in the /lib/firmware/wl/ folder. To make the wifi module autoload with the proper firmware "wireless" was added to /etc/modules and the file /etc/modprobe.d/wireless.conf was created with the contents describing the location of the firmware and nvram.
To make the wifi autoconnect on boot the /etc/network/interfaces file was modified with the following contents:
auto wlan0
iface wlan0 inet dhcp
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
(To make the wifi autoconnect to your wireless you need to run the command "wpa_passphrase networkname networkpassword > /etc/wpa_supplicant.conf using adb or chroot)
2.2. X11
Getting X up by running xinit produces a simple black screen on the phone. After some troubleshooting and voodoo magic I realized that it tried to run the screen at [email protected], which is hmm, wrong . So setting up a script at /etc/xprofile, which makes sure the refresh rate is 60Hz, and running it after xinit gets you a xterm!!!
https://ha.xxor.net/o2x/xterm.jpg
Telling /etc/X11/xinit/xinitrc to run it makes sure that it gets set up properly by the startx script, unfortunately startx doesn't go through for me on kubuntu because of some weird error caused by a hardware problem in tegra: (http://developer.nvidia.com/tegra/forum/errata-657451-tls-bit-20-cp15-c13-3).
Unfortunately this (probably) means that either we'll have to stay with old versions of libc or get a newer kernel (2.6.36 contains fix). Old libc seems backwards, but porting a new kernel requires a bit more skill than I possess.
2.2.1. Ubuntu 10.10
Grabbed the image ubuntu-netbook-10.10-preinstalled-netbook-armel+omap.img.gz from http://cdimage.ubuntu.com/ubuntu-netbook/ports/releases/maverick/release/ . After first unpacking the tgz, then unpacking the raw disk image to partition images (with 7zip on windows) and then flashing the 1.img file to the second partition on my sdcard I managed to run a much more bug free ubuntu than before.
Ubuntu 10.10 (Maverick) uses an older version of som libraries that don't crash with the old o2x kernel.
This has lead to the following:
https://ha.xxor.net/o2x/gdm.jpg
Obviously touch screen isn't working properly (pressing it puts the pointer into the upper left corner :S) so can't get further than this currently.
3. Misc
avahi-daemon and cups seems to be crashing all the time and restarting, so removing them (apt-get purge if ubuntu/kubuntu) will make the boot much cleaner. Also I get lots of alignment trap kind of errors that shouldn't be there for different kinds of services, (due to tegra bug mentioned earlier).
edit 1: Ubuntu 10.10 with much more working X11 noted in section 2.2.1
Click to expand...
Click to collapse
Its good you got it to work.Saves me some work.I was gonna begin this project my self after the 19th when my exams end.Maybe i could help you.
ergoen said:
I can give it a try later, not that it would make any difference .
edit: 72 Hz also seems to work, cool, that's higher refresh rate than my computer screen...
Click to expand...
Click to collapse
Most computer screens usually support atleast 72hz also, it's just that it only works with d-sub, and sometimes only at a lower resolution.. It's possible to make special drivers to some screens to enable higher refresh rate through dvi also.
Anyway, it's good the screen on the phone refreshes at 72hz instead of 60 for android, but in linux I really don't see the benefit.. Doesn't hurt to have though. Btw, if we would stay on this kernel, can we use the drivers from android then? Shouldn't gpu also work? Or are the drivers limited and don't allow xorg for example? Sorry if it's stupid question, don't have that much knowledge how android works yet.
Update: X11 and touchscreen work on Ubuntu 10.10 Maverick with new kernel (just a few hacks )!
manasgirdhar: sure! Lot's of things to do new kernel is needed for anything newer than ubuntu 10.10, and even here things like sound etc (cpu scaling maybe too) don't work.
kruppin: actually i removed the xorg.conf now, the phone thinks its running at 106 Hz and it works. Unfortunately in practice it goes at more like 20 Hz because of the hack I made to enable the fbdev output in the kernel. Android doesn't use X11, so those drivers wont be of any use. (I will post the kernel modifications to github soon)
edit: kernel source up on https://github.com/ergoen/LG-Optimus-2x-linux-kernel
A List of Things working at 2nd Post would be nice.
So anybody could fast see Updates,...
Edit:
Have you tried some "cleaner" Linux like Debian?
Alpha 1 is up in the second post for anyone who wants to test it (don't ^^).
I have not tried debian no, I thought ubuntu would be the easiest to google errors and bugs for .
You are great! i was hopin' for this since I have mine. You should try to make usb(otg) work to get some devices going i will try to test it soon
That's amazing We have to test USB OTG function. If it works by default, I'll try this right now
It is possible to make a dual-boot: ubuntu and android?
I don't think usb otg works since I am basically using the android version of the kernel, I also won't be able to try since I don't have a cable... (will buy one sooner or later).
Dual boot probably works if you flash the boot.img onto the recovery partition instead of the boot partition (/dev/block/mmcblk0p7 instead of /dev/block/mmcblk0p5). I have not tried this though. That way regular booting would give android and booting while holding volume down would give ubuntu, only problem with this is that cwm will be gone and the only way to fix broken things would be to flash with nvflash.
well it is not a major deal if have cifs avail needs kernel support as well. Benee mentioned (might) some otg support, mayb u could ask.
also, you might give E17 a try, it is butter-fast, and has a touch module for keyboard (letter zooming.!..) LINK
this can be compiled on a lot of hw, and gives good response with fbdev non-accel drivers also.
and most linux apps work on it fine. ofc until we have 2d/3d accel and might try compiz/fusion as well
LINK
Great job ergoen!
I've worked on exactly the same some weeks ago but i never accomplished it. because i stuck creating a working ramdisk. Which toolchain do you use?
MfG

[Touch Interface kexec Bootloader/Installer] nsboot aka NinjaSwag Bootloader beta

nsboot - NinjaSwag Bootloader/Installer
WILL REPLACE smackme2 and kexecboot!
Source: https://github.com/willcast/nsboot
Kernel source: https://github.com/willcast/ubuntu-kernel-tenderloin/tree/kexec (kexec branch, not Ubuntu)
Binary: https://docs.google.com/file/d/0B4WUjKii92l2Ukl4TE1EM1pjTDg/edit?usp=sharing
I have been working on this for about 2 weeks...
Features
Touch screen based interface
Able to boot kexec kernels
Able to install Android and Native Linux OSes, kexec tar files, and uImage kernels
Able to back up entire volumes as .tar.gz (with permissions & ownership)
Directly compatible with smackme and kexecboot config files
Can replace moboot entirely with the touch of a button.
Integrated file browser
Software touch keyboard available
Haptic feedback
uImage is < 4 MiB
Loads 3x faster than kexecboot
Has integrated ADB server so you can push and pull files from any mounted FS, or run a local shell.
Known issues so at this time
Colors are messed up in included TWRP recoveries
Things still to be tested
nothing as of now
kexec images for reference
webOS 3.0.5: https://docs.google.com/file/d/0B4WUjKii92l2WU9fdkNZa0V5NUk/edit?usp=sharing
Arch Linux ARM: https://docs.google.com/file/d/0B4WUjKii92l2YWRFUWJoMkpXRzg/edit?usp=sharing
Ubuntu: https://docs.google.com/file/d/0B4WUjKii92l2MXlEVmxQUHoyUzg/edit?usp=sharing
Slackware: https://docs.google.com/file/d/0B4WUjKii92l2MnRwMGRyTmRQcW8/edit?usp=sharing
Fedora untested: https://docs.google.com/file/d/0B4WUjKii92l2S3pVUkZNNzNSQUU/edit?usp=sharing
Android 2.2 Froyo: https://docs.google.com/file/d/0B4WUjKii92l2d2cwQlBtVVd4aGM/edit?usp=sharing
Android 2.3 Gingerbread: https://docs.google.com/file/d/0B4WUjKii92l2UGtETzBwNnNvckU/edit?usp=sharing
Android 4.0 Ice Cream Sandwich: https://docs.google.com/file/d/0B4WUjKii92l2UDc2cVZ2TjBWM2s/edit?usp=sharing
Android 4.1 Jelly Bean: https://docs.google.com/file/d/0B4WUjKii92l2d3g0U3p6c0l4NFk/edit?usp=sharing
Android 4.2 Jelly Bean: https://docs.google.com/file/d/0B4WUjKii92l2dlFzcFBacThSVXc/edit?usp=sharing
How to test
Code:
novacom boot mem:// < uImage.nsboot
To install, copy it to /boot (/dev/mmcblk0p13). It can also install itself if you put a copy of it on the SD card, and go Installer menu -> install uImage and navigate to it.
Screenshots are attached.
YouTube demo of a earlier version with only the boot working and a simpler menu: http://www.youtube.com/watch?v=0oQhSa4sqPU
Updates:
All OSes now boot (At least on my TP.)
Those which have had their kexec archives revised on GDrive since the first post are in italic.
Android 4.2
Android 4.1
Android 4.0
Android 2.3
Android 2.2
Android Recovery (included with all Android kexec archives)*
webOS
Ubuntu
Slackware
Arch Linux
Fedora
* The colors are still out of whack in recovery. It's mostly unneeded at this point with Built-In ADB support and zip installation, but I included it for those who want its more obscure or advanced features, or are more comfortable with its UI. Testing it specifically is appreciated because I don't have any plans to develop a test suite for it.
Compatibility list
Android ROMs
4.2
There is currently an issue with installing later Android 4.2 ROMs. The following 4.2 ROMs will install and boot:
Evervolv nightly 05-15-2013
The following 4.2 ROMs get stuck in a fairly serious bootloop (logcat shows at least surfaceflinger, mediaserver, and zygote segfaulting). I have tried different kernels.
CM 10.1 unofficial nightly 06-02-2013
Schzoid 2.0 nightly 04-23-2013
Other 4.2 ROMs are untested.
4.1
The following Android 4.1 ROMs have been tested and work:
JCSullins' CM 10 preview, 12-16-2012
Schzoid 1.2, 03-06-2013
4.0
The following Android 4.0 ROMs have been tested and work: CM 9 nightly, 01-06-2013
2.3
The following Android 2.3 ROMs have been tested: CM 7 Alpha 3.5
Issue: When the screen is woken up in CM7, nothing shows up on the display. The backlight does turn on.
2.2
The following Android 2.2 ROMs have been tested and work: my Froyo kang, version 0.4 and 0.3 (0.4 is on google drive on top of 0.3)
Native Linux
Ubuntu
The following Ubuntu releases have been tested and work: Ubuntu 13.04 final, Ubuntu 12.10 final.
Others are welcome to be tested, but I will probably not take issue with anything before 12.10 beta not working.
Arch Linux
Arch Linux boots, and seems to work. Wi-Fi has not been tested.
Slackware
Slackware boots and seems to work. Wi-Fi and Bluetooth have not been tested.
Debian/Bodhi
I am unable to locate any tar.gz archives to test for this distribution, nor a kernel of any sort. If anyone wishes to step up and send one to me or even host it, I would be grateful and also I'd probably get it booting within a day.
Fedora
These haven't yet been tested. They are theorerically installable with the new "tar.gz to custom LV" feature, but I would need to find a way to free more space on my TP to install them (my media partition is currently about 10 GB, 6 GB used for music, and 2.5 GB used for testing files.
Thank you
Good Job! I will test it tomorrow.I have been looking forward to ArchLinuxArm for a long time.Thank you.
Looks really good, I'll give it a spin.
Nice thing. But how Do I add my existing cm Installation to it? And how to add the cwm recovery in bootlist?
I repaced moboot with this and now i Can only Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
superboy123 said:
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
Click to expand...
Click to collapse
Same here! But i Can Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
superboy123 said:
Sir, I downloaded this, installed it, installed kexec-webos.
I rebooted
in boot menu section, i selected HP WebOS 3.0.5
Waited for 10 secs in Starting new kernel.
nothing only reboots
thinking to use webOSDoctor
But it is not going to webOS recovery mode.:crying:
What to do?:crying::crying::crying::crying::crying:
Click to expand...
Click to collapse
After I made the webOS image, I noticed that it's a bit... finicky. Just reboot from nsboot main menu. Then try loading webOS again.
If you need to get to recovery mode, the way to do it is to reboot like that, holding down VOLUME UP.
imapjonny said:
Nice thing. But how Do I add my existing cm Installation to it? And how to add the cwm recovery in bootlist?
I repaced moboot with this and now i Can only Access Ubuntu
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
If you installed CM to the logical volumes named /dev/store/cm-*, you need to back up and reinstall it from nsboot. As for booting CM recovery from nsboot, if you haven't done that yet, a feature I put in already lets you make .tar.gz archives from volumes (including Android ones.) I just enabled the extraction of them to Android volumes (used to only allow others), so you could use that to "move" your Android.
Minimum System Sizes to use for android partitions:
2.2 (froyo): 256MB
2.3 (gingerbread): 320MB
4.0 (ics): 320MB
4.1 (jellybean): 450MB
4.2 (jb mr1): 480MB
Step by step instructions:
Upgrade nsboot. Just released a new one. Either scp/adb it from a running OS or redo the install procedure except for the replace moboot part, after downloading it again.
Get the kexec tarchive for your android version onto the SD card. You could scp or adb push it. If needs be, find your old Android recovery image, and boot it via novacom:
Code:
novacom boot mem:// < uImage.ClockworkMod
Boot nsboot.
Go to Utilities - create volume tarchive.
Select "cm-system". Name the backup "System".
Repeat last two steps for "cm-data" if you want to keep your data partition. I don't recommend backing up "cache".
Go to Utilities - create volume set.
Name the new Volume Set depending on your Android/CM release: Use the names "android22", "android23", "android40", "android41", or "android42".
Format the new volume set: go to Utilites->format volume set, and select it. Click Confirm/OK.
After the set is created, go to Installer menu -> install .tar.gz to existing volume. Navigte to /mnt/media/nsboot/backups. You will find your two backups. Select "System" to restore to "androidXX-system", depending on the version you just created. Make sure you use a big enough size - see above table.
Repeat the last step for data, if you made such a backup.
You now need to find the kexec archive you copied to your SD card (it's mounted in /mnt/media.) Install it. If you chose the right volume set name, it will work.
Reboot or rescan boot items and you should see the Android version in your boot menu. Tell me if it doesn't work.
If it does work, go to utility menu -> delete volume set and select "cm" as your set. This will remove the old cm set, and leave the new androidXX one.
After that, if it did work, go to utility menu -> reclaim media space to get back any lost space for your media/sdcard partition.
Thank s it worked well. But i didnt get webos to run. I installed the webos kexec tar via install kexec tar to existing volume and of i wann Boot it, it hangs up and reboots nsbootloader
Sent from my GT-I9300 using xda app-developers app
imapjonny said:
Thank s it worked well. But i didnt get webos to run. I installed the webos kexec tar via install kexec tar to existing volume and of i wann Boot it, it hangs up and reboots nsbootloader
Sent from my GT-I9300 using xda app-developers app
Click to expand...
Click to collapse
So when you guys who are having trouble with webOS try launching it, do you get to the screen that says 'please wait, booting...' or the HP logo that pulsates? Where does it reboot? I'm thinking I might have uploaded an old, non-workable tar file for that OS.
FYI: After testing every boot option, I discovered a problem with Android 4.1 (only 4.1). I'm looking into it.
EDIT: just uploaded a new kexec-webos.tar. I have things set up so the link remains the same. Redownload the new tarfile, and see if it works, it works on my end. Still working on fixing 4.1 - it's the only thing left, but most of you are probably using it (trying to.)
Sir,
Thanks for your reply.
But, I cannot get into recovery mode
I rebooted pressed POWER+VOLUME UP, nothing just going into nsboot.
I also tried pressing POWER+HOME+VOLUME UP, that is also the same.
please help.:crying::crying::crying:
I also replaced moboot with nsboot.
superboy123 said:
Sir,
Thanks for your reply.
But, I cannot get into recovery mode
I rebooted pressed POWER+VOLUME UP, nothing just going into nsboot.
I also tried pressing POWER+HOME+VOLUME UP, that is also the same.
please help.:crying::crying::crying:
I also replaced moboot with nsboot.
Click to expand...
Click to collapse
I have never seen this happen for real, and there is no way my code can just disable that combination. That said, I'm not leaving anyone out in the cold with a practically unusable TP.
If you have any ROMs installed, now is the time to use them to transfer needed files over to your sdcard.
Recovery mode works perfectly when I do it, I use that when I want to test a new version without installing it. I'll look in the moboot source and add a button to reboot directly into recovery. I'm also adding ADB support (if I can get kexec to tolerate the usage of the USB bus before the call, which I'm not sure.)
bootie (the TP first stage loader, comes before nsboot or moboot) transfers control over very, very quickly, so if you're pressing these buttons after you touch "Reboot", then don't. Though I don't seem to have issues if I do so, don't hold down Power unless you're force rebooting the TP or powering it on from the cold. Hold down Volume Up as you click reboot, keep it held down as you click "yes", and don't release it.
Also try powering off, then powering back on after 10 secs. Again, hold down Volume Up, then Power, don't switch over.
If you are really frantic, purposefully deleting the nsboot uImage (/mnt/boot/uImage.nsboot) will make your TouchPad boot to the "www.palm.com/ROM" screen, which is a more mandatory form of recovery mode. You could also "rename" or "move" moboot into nsboot, and you'll get moboot back.
castrwilliam said:
EDIT: just uploaded a new kexec-webos.tar. I have things set up so the link remains the same. Redownload the new tarfile, and see if it works, it works on my end. Still working on fixing 4.1 - it's the only thing left, but most of you are probably using it (trying to.)
Click to expand...
Click to collapse
Okay everything is working well with this new tar.
Sent from my GT-I9300 using xda app-developers app
Make sure your pad is fully charged. I have had problems before during partially charged tp
John 3:16
castrwilliam said:
I have never seen this happen for real, and there is no way my code can just disable that combination. That said, I'm not leaving anyone out in the cold with a practically unusable TP.
If you have any ROMs installed, now is the time to use them to transfer needed files over to your sdcard.
Recovery mode works perfectly when I do it, I use that when I want to test a new version without installing it. I'll look in the moboot source and add a button to reboot directly into recovery. I'm also adding ADB support (if I can get kexec to tolerate the usage of the USB bus before the call, which I'm not sure.)
bootie (the TP first stage loader, comes before nsboot or moboot) transfers control over very, very quickly, so if you're pressing these buttons after you touch "Reboot", then don't. Though I don't seem to have issues if I do so, don't hold down Power unless you're force rebooting the TP or powering it on from the cold. Hold down Volume Up as you click reboot, keep it held down as you click "yes", and don't release it.
Also try powering off, then powering back on after 10 secs. Again, hold down Volume Up, then Power, don't switch over.
If you are really frantic, purposefully deleting the nsboot uImage (/mnt/boot/uImage.nsboot) will make your TouchPad boot to the "www.palm.com/ROM" screen, which is a more mandatory form of recovery mode. You could also "rename" or "move" moboot into nsboot, and you'll get moboot back.
Click to expand...
Click to collapse
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
superboy123 said:
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
Click to expand...
Click to collapse
Okay, try the volume up button. If that doesn't work, try holding power + volume up + home (rebooting it), ignoring the boot loop. I only said to delete one uImage... wait, uImages are the only files you deleted, not anything else in /boot, right?
Do you ever see the HP logo?
If you touched "boot.bin" (among certain other possible files in /boot) you'll probably need the debrick program. This isn't nsboot's fault... link to program is here: http://forum.xda-developers.com/showthread.php?t=2010270
If you use that program, follow its instructions TO THE LETTER, if there is anything you need clarification on, ask here - I've never had to use it, but I've heard of it fixing TPs that don't even show anything on the LCD. That said, if something goes wrong with it, it has the opportunity to make the problem far, far worse.
castrwilliam thank you for your work
Rock on dude
loving your work man keep it up dude:good:
superboy123 said:
Sir,
I deleted nsboot, moboot and all uImages.
But now i am getting a blank screen after 5 secs it reboots.
this has been occured unlimited times.
Please Help
Click to expand...
Click to collapse
Is the pad fully charged? I would strongly suggest letting it charge for twenty four hours.
P.S. don't panic
Sent from my Galaxy Nexus using Tapatalk 2
Is it possible to install Ubuntu 13.04 and 12.10 at the same time?
Sent from my GT-I9300 using xda app-developers app
I am a little confused on the install process, would you mind elaborating.
Sent from my Galaxy Nexus using Tapatalk 2

[DUAL-BOOT][RECOVERY] Ouya Boot Menu for Support of Kernel Image Chain-loading

Hello everyone! Just like others here, I've been somewhat spooked by our inability to enter Ouya's Recovery partition at the earliest stage of booting, meaning a bad flash of the Boot partition would leave the device inoperable. When I heard that Ouya's stock firmware updates were possibly bricking a few units out there, I decided to block updates on mine and see if I could transform the Boot partition such that it would become a logical extension of the bootloader. What I ended up with is something close to the "Ouya Safe Recovery" project, where a user should only need to flash Boot one additional time, along with chain-loading support as well.
Chain-loading in this case refers to the booting of ROM kernel images that reside as regular IMG files under the /sdcard and/or /system filesystems. With this capability it is possible to choose an image to run when the Ouya turns on. As an example, one may wish to set up a 2nd/test kernel+ramdisk image to use with your installed ROM, or he may wish to run Tuomas Kulve's Debian project from time-to-time without having to set up the USB cable for Fastboot mode. When dealing with distinctly different ROMs (not just alternate kernels), only one of them may install to the Ouya's built-in storage (e.g., /system); others must have been designed/created to use external storage.
An image for the Recovery partition is available along with the Boot. The former may be helpful if you wish to try out the boot menu before performing the flash of the Boot partition, or are generally okay with bouncing to Recovery before invoking a chain-load. Either of these may be tested from Fastboot mode, but do note that a successful chain-load requires that the image actually be flashed to the Ouya. (Otherwise it just reboots.) The ClockworkMod (CWM) recovery application is available on both images and is accessible from the boot menu.
Additional Information
There are a few things to consider when deciding if this approach makes sense for you:
- Users of the "Ouya Safe Recovery" project may want to stay put unless the dual-boot aspect is of interest. If so then it would be cleanest to choose my Boot image; the Recovery partition (your ROM image) could be left alone.
- The images here are not compatible with Ouya's stock firmware, due to the auto-update nature of Ouya's ROM. Either your flashed Boot image would get overwritten, or an installed non-Ouya Recovery might cause that update to hang. Therefore, you should be prepared to switch to one of the ROMs here at XDA. If you're currently on stock and don't want to switch right away, that's fine; we'll go over how to block updates for the time being.
- The Ouya CM10 ROM is nice in that it provides the IMG file separately, allowing us to handle it as we wish. However, the other ROMs end up placing their boot.img in the main ZIP. This is standard practice for other devices, but we need to be careful ensuring our Boot partition doesn't get reflashed as part of the ROM installation. Therefore, it would be necessary to investigate repackaging the ROM with an alternate updater-script prior to installation. See my StockPlus post on page 2 for more. (This shouldn't affect those who've opted for my Recovery image.)
This feature is based on CWM's initial ramdisk, and includes a new boot menu application that comes up prior to CWM itself. Basically, CWM shows up later if the menu application exits for any reason. The Ouya stock kernel (561) has also been compiled with HDMI's copy protection turned off, and includes two patch sets:
- KExec-HardBoot is the key to chain-loading on our platform. It overcomes standard KExec's lack of hardware reset (and thus failed execution) by triggering a reboot in the middle of the preparation of the new kernel. This ingenious system has been developed by Tasssadar and others over in the Nexus forums. (Be sure to enable CONFIG_TEGRA_HARDBOOT_RECOVERY if interested in compiling a Recovery kernel.)
- HDMI visual stability has been improved with a little hack of mine: a significant relaxing of a timer in the driver. (The latest Android source has corrected the instability with a significant design change, but my hack seems fine enough for this project.) Also picked up specific Android fixes in the area of Framebuffer double-buffering, as that needs to be working for CWM usability.
Installation
If you're on Ouya's stock firmware, then you should make sure that any future updates do not get applied. There is a project here ("Mod Collection For Ouya") that should help. I personally side-loaded the Baxy custom launcher to avoid Ouya's update environment. It is also likely necessary to stay out of the Ouya/Discover store if going the custom launcher route as I believe the store app can trigger an update.
At this point you can download your chosen image (Boot or Recovery) and unzip to get the IMG file. Boot your Ouya to a working Root/BusyBox environment (ROM or Recovery), and then transfer the IMG to the Ouya. (An example using ADB would be "adb push boot102513.img /sdcard/boot102513.img".)
Bring up the Ouya command prompt (e.g., "adb shell") and run these commands to get started:
su [command not present on CWM - that's okay]
cd /dev/block/platform/sdhci-tegra.3/by-name
ls
You should see the various 3-letter partition names from that last command. Your command prompt should also contain the "#" character to denote root-level access. This next step will save off your current ROM image, both because we may end up overwriting it, and because the saved file will end up as your main bootable kernel for the chain-loader. Run:
cat LNX > /sdcard/kernel.img
(If configured for "Ouya Safe Recovery," then replace the preceding "LNX" with "SOS".)
We are near the flashing stage. Check to make sure your Ouya has a reliable source of power, preferrably from an uninterruptable power supply. Recall that a bad flash of my boot image can leave the device inoperable, but I feel the risk is very low provided the following directions are heeded. Fortunately the flash process only takes a few seconds.
For the Boot image option, verify by running:
md5sum /sdcard/boot102513.img
Do not proceed unless you get "e4b1b1ad553e55ad0b2ce3fb8f5bf623".
Again for the Boot image option, flash to the Ouya by running:
dd if=/sdcard/boot102513.img of=LNX
For the Recovery image option, verify by running:
md5sum /sdcard/rcvy102513.img
Do not proceed unless you get "dda0811a7e8e82a7d4ad3fa4c3ae35e4".
Again for the Recovery image option, flash to the Ouya by running:
dd if=/sdcard/rcvy102513.img of=SOS
You may optionally verify (post-flash) by running "md5sum" on the partition name. Finish up with these commands:
sync
reboot
Usage / Configuration
The menu should come up, defaulting to "kernel.img" for the Boot image and "CWM" for Recovery. That default will then launch after ten seconds of inactivity. You may also briefly press the Ouya power button during the wait to advance through the options. The option list is 1) kernel.img, 2) kernelA1.img, 3) kernelA2.img, 4) CWM, and 5) Recovery Partition.
The defaults from above should be fine for most everyone, but it is possible to fine-tune them. An optional configuration file (/sdcard/bootmenu_b.cfg for Boot, /sdcard/bootmenu_r.cfg for Recovery) may be established to specify the default menu entry as well as the inactivity timeout. As an example, the following command would make Recovery start kernelA1.img after five seconds:
echo "2 5" > /sdcard/bootmenu_r.cfg
It is hoped that the menu would never hang. If it does, then waiting a full minute should allow CWM to start. Otherwise, it may be necessary to attach a wired/USB keyboard and type in the Alt-SysRq-X sequence, similar to Ctrl-Alt-Delete on a PC. The sequence might have to be done early on in the menu startup process, and should blink the Ouya light and place it in Fastboot mode.
The menu may unexpectedly place you in CWM, which would indicate an issue with a chain-load. The reason may be due to a missing or corrupt IMG file. Otherwise you should be able to determine why by checking /tmp/bootmenu.log against the attached source code.
---
I hope this project will be of help to others!
An additional support forum that everyone should be able to post at is available: http://forum.xda-developers.com/showthread.php?t=2450711.
Wow, really great. Thanks a lot for your effort
Gesendet von meinem One X+ mit Tapatalk
nchantmnt said:
Wow, really great. Thanks a lot for your effort
Click to expand...
Click to collapse
My pleasure, nchantmnt. Hope your new Ouya is helping you feel at home!
Yes im happy it already arrived, but after a second miscarriage and lots of stress because of a lawsuit with our neighbour i didn't have time nor nerves to play or code. Seriously this year sucks
Gesendet von meinem One X+ mit Tapatalk
nchantmnt said:
Yes im happy it already arrived, but after a second miscarriage and lots of stress because of a lawsuit with our neighbour i didn't have time nor nerves to play or code. Seriously this year sucks
Click to expand...
Click to collapse
Gosh, I'm very sorry to hear that. Do think ahead to the upcoming holiday season, and may it be a time to reflect and anticipate a fruitful 2014.
@Hal9k+1 - THANK YOU!
I was so nervous flashing CWM and StockPlus as there is no real way to fix things if something goes wrong. This should give people more confidence when flashing their Ouya.
I understand the process using ADB...my question is: can this be used from CWM somehow?
PS. I assume new kernel will always be flashable from CWM, the hack does not require 561 specifically.
Ipse_Tase said:
I understand the process using ADB...my question is: can this be used from CWM somehow?
Click to expand...
Click to collapse
Hi Ipse_Tase - I do hope the feature will be helpful to you and others.
As I think about your question, I suppose I could have have created a ZIP that would have been installed by CWM. Similarly I could have worked through some form of installation shell script. But for an important operation such as flashing, I prefer the one-at-a-time approach of the interactive shell.
Note that CWM does have an ADB service running with it. Your Ouya would show up as a different device while in CWM, so you'd need to enter Device Manager (Windows) and point the unknown device to the same ADB driver as used for the main ROM.
Alternatively you could skip ADB for this Ouya Boot Menu installation and set up an SSH server on your main ROM. I personally have installed "SSH Server" (Ice Cold Apps). I recall two screens to set up (does require the trackpad in cases), where I enabled automatic start on both, and also set the port number to 2222. After an Ouya reboot I had SSH/SCP capability and could use PuTTY/pscp from Windows.
Hal9k+1...fast reply, thank you.
Just to put my ever-so-senile brain at ease: so I run StockPlus 519r1, and WHILE in the ROM, I start ADB and follow your instructions .
OR...I enter CWM, make sure I get the right ADB drivers installed for THAT instance and go from there.
For a developer, I'm sure it's easier and more familiar to run ADB commands - for people like me (5%-over-the average-user) a CVM option to flash a zip and do all this would be more in-line with the abilities to hack.
I have rooted 4-5 devices so far and the only time I type any ADB commands is at root/unlock time - sometimes not even then (Nexus 4 and the Root Toolkit).
So if you ever consider creating a recovery flashable file, it would help many. Probably not me, as by then I would have done the ADB trick
Sounds like great work! I was hoping to implement something like this myself, but I haven't made any more time for OUYA-related development in a while (due to positive life events/busyness)
I will definitely take a look at your work when I have time!
~Troop
Ipse_Tase said:
Hal9k+1...fast reply, thank you.
Just to put my ever-so-senile brain at ease: so I run StockPlus 519r1, and WHILE in the ROM, I start ADB and follow your instructions .
OR...I enter CWM, make sure I get the right ADB drivers installed for THAT instance and go from there.
Click to expand...
Click to collapse
You got it! You don't need to worry about booting to the other partition prior to flashing. That is a given partition (LNX/SOS) is no longer being accessed once the image is booted. For CWM's ADB, you'd simply point Windows to the same INF file that you originally used. Hope this helps.
StockPlus Installation
Well, I finally retired this old stock 393 ROM I was on, and moved to StockPlus 519r2. I was not able to install it the normal way given my Boot image is in place here. So I ended up modifying "updater-script" under META-INF/com/google/android, and then repackaged prior to running the install procedure. I'm attaching my changed version in case it helps anyone, and please note that it makes StockPlus the main image (kernel.img).
(You'll need to right-click to save the attachment. Once done it will need to be renamed such that it does not include the ".txt" suffix.)
The Windows "7-Zip" utility is helpful for packaging. You may start by right-clicking the downloaded ZIP, then 7-Zip --> Extract to "OUYA_[...]". Enter the newly created directory, get to the updater-script, and replace it with mine. Now back up to the area with META-INF, system, and boot.img, still in the new directory. Select all three under Windows (Ctrl+Click), right click that area, and then 7-Zip --> Add to "OUYA_[...].zip". Be sure this new ZIP is the one that makes it to the Ouya.
Still haven't tried this out yet, but I hope to soon.
I missed out on news over the holidays though and just noticed this:
Announcing Ubuntu and Android dual boot developer preview
http://developer.ubuntu.com/2013/12/announcing-ubuntu-and-android-dual-boot-developer-preview/
I'm curious of their dual boot implementation and how it compares and if we can synergize with their approach, but haven't looked into the details of how theirs works yet (its sounds like it uses a custom recovery image, and they have the ability to trigger it to reboot into Ubuntu from an Android app and vice versa, which is cool)
It'd be awesome to be able to multi-boot an Ouya ROM, an Android ROM (CyanogenMod), and Ubuntu with that kind of ease.
EDIT: This may be more our speed though: (MultiROM)
http://forum.xda-developers.com/showthread.php?t=2011403
(did you pull anything from there? Sounds like they have a modified TWRP that can flash zips to the other ROM slots, which is something I was also hoping to implement)
~Troop
Thanks, Trooper. Good to see Ubuntu moving further along in the mobile world.
I briefly looked at MultiROM since it originated from the KExec-HardBoot work, but decided not to go in that direction. The main reason is that I decided not to pursue the setup/learning of an Android build environment, but also because it wasn't clear how I'd deal with our lack of a touchscreen and lack of volume up/down buttons. I ended up creating a small application that fits within Ouya's CWM framework and starts up before CWM itself; it monitors the power button for click events and writes to the framebuffer memory region using regular Linux calls.
I'm not too concerned about the dual-boot aspect of this new Ubuntu, but the lack of touchscreen could be a hindrance if mouse/keyboard were not a viable substitute. Whether this Ubuntu is designed to work from external storage is another question, since our /system and /data would be occupied by Android. But in general I think we could boot it from my framework, and if my Boot image were selected over the Recovery one, then the Ubuntu kernel could reside in Recovery and also be bootable from the Android side with the "reboot recovery" command.
Best of luck, and hope you'll have a chance to try it all!
accidental post please delete

DebiAndroid [WIP] - Debian native/chroot for datamedia Android installations

Debian for the HP TouchPad
Downloads:
todo: add pics and binary links, for now there's https://mega.co.nz/#F!xZ81iKoK!Xio5bV9yjBRPTIzjLhCX3A
Source:
Kernel Builder: https://github.com/CalcProgrammer1/kernel_tenderloin_debian
I put together this kernel builder repository that contains the ramdisks needed to boot either a discrete Debian partition or a chrooted Debian install. It uses submodules for the kernel and backports sources. You can just run the mkbootzip.sh file and it will build the uImage.Debian/uImage.DebiAndroid moboot kernels. Choose the one that fits your installation method and install it to /boot on the TouchPad.
Kernel Source: https://github.com/CalcProgrammer1/..._msm8660-common/tree/tenderloin-cm-11.0-wip-5
Backports Source: https://github.com/CalcProgrammer1/backports-3.10-2
Thanks to jcsullins for porting the TouchPad to the samsung_msm8660-common kernel, without which this would not have been so easy! The Note 1 shares this kernel tree and I already had Debian working on it, made the port to TouchPad dead simple.
So I got an idea that I'm working on. I have been using Debian in a chroot on my Note 3 and it's really convenient to have both Debian and Android running side-by-side, but there are some things (mainly hardware/GPU hacking) that work better with a native install of Debian/Ubuntu/etc. On my Note 3 (which uses a datamedia partitioning scheme) I decided to forgo using a loopback mounted img file for my chroot and instead dump the Debian rootfs straight into my /data partition in the /data/debian directory. Why? With this configuration, Android, Debian, and Internal SD all share the same storage partition and can grow or shrink as space allows rather than deal with micromanaging partitions and having to resize. Want to install a desktop environment and delete it later? Go ahead, space allows.
So I decided to reformat my TouchPad with TP Toolbox last night and get CM11 running on it so my Ubuntu partition got wiped. That got me thinking...if I install my datamedia Debian installation, could I then write an init script to boot directly into it from a kernel? If so, the same Debian installation (residing in cm-data LVM in the debian directory) could be used both as a native install as well as a chroot from Android. Awesome!
So that's what this project is, create a Debian rootfs that doesn't require repartitioning, works as a chroot, and works natively as well. I'm calling the project DebiAndroid because it merges Debian and Android. Got some time to work on it over the weekend so hopefully I get something up, but for those who want to do it yourself it's basically just that:
1. Use debootstrap to generate a Debian armhf rootfs
2. Use qemu-user-static and chroot on your PC to install all the packages you want on your rootfs
3. Compress rootfs, put it on TouchPad, decompress in /data/debian
4. Write script to bind system FS entries to /data/debian and chroot in
5. Write init script to boot directly into /data/debian for native use
So far I've been successful at all of these, having a working chroot (with MATE desktop through XServer XSDL app) as well as booting into the chroot (terminal only right now, and USB OTG was broken so I couldn't log in). Hopefully I can get some 3.4 kernel action going as well. I'll update this post once something happens.
EDIT 1: I'm in! I forgot to set a password for root and I don't have any other accounts at the moment, so I rebooted into CM11 and chrooted in, set a password. Also had to disable the ALSA service because there's a missing firmware file that crashes it. Now to get networking up and running, I think I'll just build a kernel locally and modules_install rather than deal with cross compiling.
EDIT 2: I'm at it again, this time going to focus on Freedreno graphics as I'm really close on my Note 1 port which uses the same GPU and now the same kernel source tree as well. I was able to get a rendered 3D screensaver to run for a few seconds on my Note, should be repeatable on the TP.
EDIT 3:
Kernel Source: https://github.com/CalcProgrammer1/..._msm8660-common/tree/tenderloin-cm-11.0-wip-5
O_O
Man, that sound really great ! I would like to try it and install it as a zip file on another partition. How much space do you need for the root partition with your mate install ? Did you got some problem with the touchscreen sensibility or with bluetooth, wifi, camera, micro or sound not working ? I guess i could try one with Gnome 3 on my side. Thank in advance for your reply.
Right now it's only working in chroot, so Android is providing the X-server and touchscreen and everything else. I'm trying to get the kernel 3.4 to boot it outside of Android.
I hope you can do it. ^_^ Maybe I will try to find a way to make it work with Arch Linux with your kernel if you succeed to this project.
So finally, one month later, did you succeed into making Debian work for the Tenderloin ?
I got Debian with Freedreno sorta working on my Galaxy Note:
https://www.youtube.com/watch?v=qtb-TSGumNo
The kernel patch I used to make this work seems compatible with the TouchPad kernel source here:
https://github.com/TLOIN-3X-WIP/android_kernel_samsung_msm8660-common/tree/tenderloin-cm-11.0-wip-5
which is based off the same Samsung msm8660-common 3.0 kernel.
If all goes well, this should be pretty simple to get running on the TouchPad same as it is on the Note, which are pretty similar devices in terms of core (MSM8660 vs APQ8060).
EDIT: My kernel patch applied perfectly! I was able to get into X but the backlight shut off and I couldn't see anything without shining a bright light through the swamp of fingerprints covering the screen. Need to fix that issue but hopefully it's working otherwise!
EDIT: Freedreno confirmed working, but still no backlight. It should be at the same level as where my Note 1 demo is (runs es2gears, rss-glx screensavers) but of course I can't see much anything so once I figure out what's turning off the backlight then we should be good to go.
EDIT: Using jcsullins' wip-5 branch fixes the backlight issues. Here's a video:
https://www.youtube.com/watch?v=vx8_u1jhXJY
CalcProgrammer1 said:
I got Debian with Freedreno sorta working on my Galaxy Note:
https://www.youtube.com/watch?v=qtb-TSGumNo
The kernel patch I used to make this work seems compatible with the TouchPad kernel source here:
https://github.com/TLOIN-3X-WIP/android_kernel_samsung_msm8660-common/tree/tenderloin-cm-11.0-wip-5
which is based off the same Samsung msm8660-common 3.0 kernel.
If all goes well, this should be pretty simple to get running on the TouchPad same as it is on the Note, which are pretty similar devices in terms of core (MSM8660 vs APQ8060).
EDIT: My kernel patch applied perfectly! I was able to get into X but the backlight shut off and I couldn't see anything without shining a bright light through the swamp of fingerprints covering the screen. Need to fix that issue but hopefully it's working otherwise!
EDIT: Freedreno confirmed working, but still no backlight. It should be at the same level as where my Note 1 demo is (runs es2gears, rss-glx screensavers) but of course I can't see much anything so once I figure out what's turning off the backlight then we should be good to go.
EDIT: Using jcsullins' wip-5 branch fixes the backlight issues. Here's a video:
https://www.youtube.com/watch?v=vx8_u1jhXJY
Click to expand...
Click to collapse
OMG ! It seem great ! Can you share your method how to install it with a zip file and if you can, make a tutorial of how to port a Linux OS on the TP ? It would be really appreciate to be able to finaly run a linux desktop on the Touchpad. Thank you very much for your hard work. ^_^ Cannot wait to try it.
awesome job ! I cannot wait to try it out myself !!!!!!!!!!
let us know how to install it
Still lovin and rockin my good ol' Touchpad haha
I updated the OP with links to my source code and the build root I use to build the kernel images. If you want to build your own kernel go right ahead and play with it. As for a prebuilt image, it probably won't happen for some time because my rootfs on the TouchPad is a mess (installed a bunch of very large apps like games that aren't feasible to redistribute). I'll have to make a new rootfs from scratch. Since Freedreno is on the verge of making it into Debian testing as it is, it would be best to just wait for that to happen so I don't have to redistribute custom builds of the xserver-xorg-video-freedreno driver (you can build it from source as it's on Debian's git and builds with dpkg-buildpackage, just hasn't made it into a binary release yet). There's also a bug in Mesa that prevents Freedreno from accelerating 3D (GL or GLES). It's a one-line fix and Rob Clark said he's pushed it to master, but it hasn't made its way into a stable Mesa branch yet and thus still needs to be applied manually. Rebuilding Mesa on a TouchPad takes hours. Hopefully that one gets merged soon as well and then we can use straight up Testing without modification. That will make creating a new rootfs image a lot easier. I still haven't messed with getting Bluetooth or touchscreen to work, though the work I and others have done for older Ubuntu releases should apply just fine here. Audio is also going to be tricky, as I deleted WebOS completely and Ubuntu relied on a file from it. I have a webos rootfs that I was able to pull the required files from, but it's not working right.
EDIT: Sound! I talked to jcsullins on #freedreno and he gave me this: https://github.com/CyanogenMod/android_device_hp_tenderloin/blob/cm-11.0/configs/mixer_paths.xml
Those are the initialization settings for ALSA that need to be configured for sound. We can use alsaucm to set these, I just need to figure out how the heck alsaucm configurations work. I got the device initialization working and I threw in the speaker initialization just to test, but no idea how to switch between speaker, headphones, bluetooth, etc. With this method we don't need to pull audiod from webos! That means no more dependency on closed source binaries pulled out of that OS that may or may not exist anymore.
EDIT: I wrote some new alsa ucm files, now it should be able to select headphones or speaker directly. There isn't any jack detection so you'll have to manually switch, though if I could find the input for the jack switch it might not be hard to implement automatic switching. Still need to apply that RGB patch and fix the broken colors.
EDIT: New pic: http://i.imgur.com/SjOPWB5.jpg That's right, applying the RGB patch fixed the desktop and broke the rendering! Some reason the Freedreno GPU-rendered things are using the opposite color format. The big gear should be red and the top one blue. Here's another pic with the TP and Note side by side, running almost the same software: http://i.imgur.com/1kmKDOw.jpg

[PORT] Ubuntu Touch for LG L90 Dual

Update 30 October 2016: I'm sorry for very long delay. Being a university student make my free time lower considerably. Anyway, new device tarball is released in stable and rc-proposed channel. This version mostly contains minor fixes, but more importantly, this includes fixes for some famous vulnerability, including the Quadrooter and dirty CoW vulnerabilities. Go to "System Settings" to get your update, or follow instructions below if you haven't update your phone since 9 January 2016.
I still ship experimental fixes in rc-proposed that may freeze your phone when the screen is off. If this matters to you, you may consider using stable channel for now, but that has pretty bad power consumption (but that still means about one day of light usage). Also, there is known bug about mobile network not usable on some network that affects all channels.
Oh, and for those stay on absolute bleeding edge on devel-proposed channel, I currently don't have enough time to test that. So, no release to devel-proposed just yet. Sorry!
Disclaimer
Code:
/*
* Your warranty is now void.
*
* I am not responsible for bricked devices, dead SD cards,
* thermonuclear war, or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
By the way, this disclaimer is actually copied from somewhere else just to protect me from being in the court, and I won't actually laugh at you if your device bricks. If your device really bricks, I will help you as much as possible.
Introduction
This is a port of Ubuntu touch to LG L90 Dual and all L90 models. (See below for tested devices.) Basic functionalities work, but there're still some rough edges all around. It's stable enough to use daily, and I personally use it on my phone every day. If you're tired of Android, you may want to give Ubuntu touch a try.
Tested device
This doesn't mean other devices aren't supported. If your device is labeled as "L90" (or can run Cyanogenmod for LG L90), you can give this a try.
LG L90 Dual (D410) (My device )
LG L90 D405n (single card) (Thanks, keturidu!)
LG Optimus L90 D415 (T-Mobile variant) (Thanks, JamesB3)
Click to expand...
Click to collapse
What's working/not working
Note that this is tested using rc-proposed channel.
Screen: Works
Touch: Works
Audio: Works
Screen rotation: Works
Vibration: Works
Camera: Stil picture works for both camera. But video recording doesn't work for the front camera.
Mobile Phone: Works for both SIM, but please see "Bugs and workarounds" below for info about 3G slot and data connection.
Wifi: Works
Video playback: Works
GPS: Works.*
Bluetooth: Works, but on/off doesn't.
*Do note that Wi-Fi-assisted location isn't available as it's licensed for the official devices only.
Click to expand...
Click to collapse
Screenshot
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Click to expand...
Click to collapse
Information about device tarball and channel selection (obsolete)
Now, you don't have to worry about correct device tarball anymore. You just type in correct channels in the command, and the flashing software will get the correct files for you. You can find out more about Ubuntu touch channels at https://developer.ubuntu.com/en/start/ubuntu-for-devices/image-channels/. If you're in doubt, I recommend you to use stable channel.
Click to expand...
Click to collapse
How to install/upgrade
Installing for the first time (updated):
The easiest way to install it is using ubuntu-device-flash. All of your personal data will be deleted. Make sure you backup everything important before install.
You have to root your device and unlock device's bootloader. This forum has a good tutorial on that.
For rooting, I recommend http://forum.xda-developers.com/lg-l90/general/guide-root-l90-varients-updates-t2928364. If that doesn't work, try http://forum.xda-developers.com/showthread.php?t=2732311. This guide is guaranteed to work.
For unlocking bootloader, I recommend http://forum.xda-developers.com/lg-l90/general/guide-guide-to-unlocking-bootloader-l90-t2852917
Also, you'll need an Ubuntu (virtual) machine.
If your device has been running Lolipop, you may have to flash Kitkat-based bootstack for your device (http://forum.xda-developers.com/lg-l90/development/bootstack-kk-l-l90-t3118632). Make sure you know exact phone model (Dxxx__).
Follow the instruction for preparing your desktop in this link.
Select channel (see information about selection above). Don't download device tarball. The flashing software will get it for you.
Enable ADB for your device. I won't teach you here, but, again, this forum has a good tutorial about that.
Plug your device into your computer. Then, put the device in fastboot mode by running the following command:
Code:
adb shell su -c 'dd if=/dev/zero of=/dev/block/platform/msm_sdcc.1/by-name/boot bs=16 count=1'
adb reboot
The first command will wipe the first 16 bytes of the boot partition. So, when the device reboot, it'll boot into fastboot mode as the boot partition is broken. Don't worry, it'll be flashed by Ubuntu Touch anyway.
When the device is in fastboot mode, run the following command:
Code:
sudo ubuntu-device-flash --server http://system-image.ubports.com/ touch --channel ubuntu-touch/{selected channel} --device w7 --bootstrap --wipe
There maybe some trouble flashing recovery. If that happen, re-plug the USB chord and try again. You'll see a lot of text and then purple recovery screen. At this point, the computer will push the files into your device. Don't unplug your USB chord until the device reboot again with big Ubuntu logo spinning. Wait until the device reboot into Ubuntu Touch, and, viola, Ubuntu Touch is installed!
Upgrading your device or switch channel (updated):
If you've updated your device with new instruction at least once (since 9 January 2016) and just want to update the device tarball, just go to "System settings" on your device to get your update. But if you've never updated with the new instruction, read on.
Enable developer mode on the device by going to System Settings > About this phone > Developer mode. If you don't have a passcode for your device, set it now by pressing Lock security. Then, enable developer mode by pressing at the check.
Plug your device into the computer, unlock your device (this is important) and run:
Code:
ubuntu-device-flash --server http://system-image.ubports.com/ touch --channel ubports-touch/15.04/stable
Don't unplug your USB chord until the device reboot again with big Ubuntu logo spinning.
Flash different (Android-based) recovery:
Ubuntu recovery can't be used to flash Android-recovery-format ZIP file. If you want to go back to Android using backed up file or ZIP file, you'll need custom Android-based recoveries, such as TWRP or CWM. You'll need raw disk image (IMG file) for this. Run the following command in terminal:
Code:
adb reboot recovery
# wait for recovery to appear
adb push {recovery image name}.img /cache
adb shell dd if=/cache/{recovery image name}.img of=/dev/block/platform/msm_sdcc.1/by-name/recovery
adb reboot recovery
Click to expand...
Click to collapse
Download & Source code
You don't need to download device tarball manually anymore as flashing software will deals that for you. But if you want, you can download device-specific tarball using --download-only flag with ubuntu-device-flash. Be warned that you can't flash that image directly because updater in recovery image won't trust the signature.
Customization on the Android side can be found in the local manifest in this Github repository:
https://github.com/peat-psuwit/ubuntu-phone_manifest_w7
All kind of pull request is welcome on all of my repository.
Most customization on Ubuntu side can be found at
https://launchpad.net/~peat-new/+archive/ubuntu/lg-d410-custom/+packages
For those interested, this is programs that make phone call on this device works: https://github.com/peat-psuwit/pulseaudio-droid-card-parameters-setter
Click to expand...
Click to collapse
Legal notice
This distribution of software contains software from Android Open Source Project and CyanogenMod Project. It's under Apache license. Additionally, this distribution also contains software that is normally distributed with Android system, being under various licenses. The detail of license of those files is at /system/etc/NOTICE.html.gz after the system is installed.
This distribution of software contains part of PulseAudio. (Particularly, the modified version of droid module.) It's licensed under GPL version 2 or any later version of GPL. (it's actually distributed under LGPL 2.1+, but it's used with GPL-only libraries, making the effective license GPL. Please look at /usr/share/doc/pulseaudio-module-droid/copyright for detail). Get the patch at https://github.com/peat-psuwit/pulseaudio-droid-card-parameters-setter
This distribution of software contains timekeep, a small utility to keep track of time & date. This is Copyright (c) 2015, Sony Mobile Communications Inc, and licensed under 3-clauses BSD license. The full license can be seen at https://github.com/peat-psuwit/timekeep/blob/master/license.txt
Old legal notice:
This distribution of software contains modified version of oFono, Open Source Telephony. It's licensed under GPL version 2. You may have your source-code at https://launchpad.net/~peat-new/+archive/ubuntu/lg-d410-custom/+packages
This distribution of software contains part of GStreamer, open source multimedia framework. (Particularly, the modified version of androidmedia plugin.) It's licensed under LGPL version 2 or any later version of LGPL. You may have your source-code at https://launchpad.net/~peat-new/+archive/ubuntu/lg-d410-custom/+packages
Click to expand...
Click to collapse
Changelogs
Latest update: 30 October 2016
Fix problem where pressing buttons below the screen in certain way will cause screen not to go sleep.
Fix Quadrooter, dirty CoW, and other vulnerabilities.
Change some aspect of build system.
Make system use our GPS configuration instead of system's default.
Older update
16 June 2016
Fix thumbnail generation for some video resolution.
Revert NetworkManager workaround added in the last release as NM 1.2 is now in both rc-proposed and stable channel.
Change method to wait for Bluetooth config at startup.
Change grid unit size to 13px.
(rc-proposed only) Run init.zetaw.post-boot.sh when the phone finished booting. This'll make battery consumption a lot lower but will cause the phone to lock up sometimes. That's why I release this fix to rc-proposed channel only. If you can't bare with something like this, switch to stable channel.
28 April 2016
Add a workaround for NetworkManager, to fix Wi-Fi connectivity after mobile data is disconnected. The actual fix is preparing to land in rc-proposed soon, but until then, let's use this workaround.
8 April 2016
Update Pulseaudio-module-droid to incorporate audio recording fix.
4 April 2016 (rc-proposed only update)
Update Pulseaudio-module-droid
Update configuration to run ADB in secure mode.
Update recovery image.
11 March 2016
Fix race condition in Bluetooth initialization code.
Update recovery image
4 March 2016
Enable Bluetooth in kernel and android parts.
Update recovery image
6 February 2016
Update pulseaudio-module-droid distributed in device tarball.
9 January 2016
Enforce GPG verification for UBPorts system-image server.
Reduce possibility to reboot at startup due to Wi-Fi subsystem.
3 January 2016
Fixes in kernel and framework for camera due to changes in Ubuntu side.
Make Wi-Fi (pseudo-)on/off works. This fix Wi-Fi not work at startup.
Change the way to distribute Pulseaudio module.
Fix for touchscreen not working in new revision of Ubuntu.
20 November 2015
Split device tarball into 2 versions.
Disable some service in Android container that crashes all the time.
26 August 2015
Working video recording.
4 July 2015:
Include timekeep, a small utility to keep track of time & date.
Remove oFono and gstreamer1.0-plugins-bad, as patches are accepted upstream.
8 Jun 2015
Working GPS.
Update oFono.
1 Jun 2015
Working mobile phone for both SIM slots.
Update gstreamer1.0-hybris, oFono and droid module of PulseAudio, for supporting new Ubuntu version (wily).
6 May 2015
Finally working video playback. Although this is not so good as I cannot make hardware rendering works yet.
Include a modified version of gstreamer1.0-hybris package.
Update oFono and droid module of PulseAudio.
17 April 2015
Update Pulseaudio.
7 April 2015
Fix Wi-Fi
Temporary disable ubuntu-location-service. As GPS doesn't work yet, leaving that enable will make battery drain fast as it'll always try to load GPS library.
4 April 2015
Fix mobile phone in the hackery way.
17 March 2015:
Partially fix camera. It can take a still picture, but cannot record video.
Fix the problem about GPG signature properly. The hack is no longer needed.
Click to expand...
Click to collapse
Bugs and workarounds
Note that this list is based on rc-proposed channel and stable-based device tarball.
At boot, the device may freezes and restarts itself. This is due to the Wi-Fi system and I'm investigating this issue. This is due to fatal subsystem failure in the kernel. I've reduced possibility for Wi-FI subsystem (this is the most common failure), but this may still happen but at the lower rate.
If Wi-Fi list doesn't update during the day, turn Wi-Fi off and on.
Turning Wi-Fi on and off currently doesn't work. (Note that while you can turn Wi-Fi on-off in system settings, the Wi-Fi chip will be not turned off.)
If you're using rc-proposed channel, you may experience lockup when you're trying to wake the phone up from sleep. Currently, there's no fix yet, but if you can't live with it, use stable channel instead.
If you're using some mobile provider, your phone will not be able to detect SIM card. The fix is being developed. (If you're curious, it's about comunication between RILD and oFono and how your SIM card is programed.)
Fixed or disappeared problem:
Camera will stop working after you bring camera app from suspended state. Workaround: bring app back to suspend state and bring back again. This can be done by swiping from left edge. This seems not be the case now.
Sometime, the device may seems freeze because an app is crash. This seems to be the problem in graphic subsystem. The system may becomes responsive again after seconds, but if it takes too long, just restart the phone. This seems not be the case now.
Sometime (at boot or sometime after), Wi-Fi stops working. This can be noticed by having Wi-Fi network list not updated. Fixed by pseudo-on/off fix.
Second One or both SIM slots may stop working at some boot. Simple rebooting should fix it. You may have to reboot multiple times. Seems to be disappear.
3G slot selection doesn't work when there's only 1 SIM card. Workaround: use another SIM slot. (Fix released)
Data connection will work with only 1 of the slots (the one you most recently used before flashing Ubuntu touch. Don't worry, if you can't remember you van try them both). Workaround: put the SIM card with a data plan in another SIM slot. If you happened to have only 1 SIM and the slot that data works is different from the slot with 3G capability, I recommend you to temporary borrow another SIM card from your friend so that you can change 3G slot. change 2G slot in system settings. Fix accepted and released.
Click to expand...
Click to collapse
Credits goes to
Quarx2k for the initial Cyanogenmod port.
Cyanogenmod for many components I used to simplify my build.
Every contributor of LG L90's device tree on Cyanogenmod.
Ubuntu for the porting guide.
awe, ogra, abeato, rsavelti, popey, anpok, and much more people on irc.freenode.net #ubuntu-touch
Sony for timekeep.
mariogrips for UBPorts.
Click to expand...
Click to collapse
Im not testing yet as you dont have phone call working.. But when you do i'm going to take a peek..
Enviado do meu LG-D405n através de Tapatalk
I will try it when I have the time. I have been waiting to try Ubuntu Touch
Question: Does this method of install wipe custom recovery?
ardentis said:
Question: Does this method of install wipe custom recovery?
Click to expand...
Click to collapse
This method will install Ubuntu's recovery before using that recovery to install Ubuntu Touch. So, yes, your custom recovery will be wiped.
I would love to test this out on my D415. Once you get mobile phone and wifi(because t-mobile's mobile data sucks here. I only get 2G xD ), Once those two things get solved i'll be happy to test. Also I think if you moved this thread over to the android development section you'll get more interest shown. I know Ubuntu isn't android but it's still technically development.
JamesB3 said:
I would love to test this out on my D415. Once you get mobile phone and wifi(because t-mobile's mobile data sucks here. I only get 2G xD ), Once those two things get solved i'll be happy to test. Also I think if you moved this thread over to the android development section you'll get more interest shown. I know Ubuntu isn't android but it's still technically development.
Click to expand...
Click to collapse
I'm working on mobile phone now and I promise that Wi-Fi will be the next. Anyway, I cannot guarantee that it'll work on your phone, because I have only LG L90 Dual (D410). It may boot or it may not. I have no clue at all.
BTW, I don't know how to move the thread. Please tell me how.
peat_psuwit said:
I'm working on mobile phone now and I promise that Wi-Fi will be the next. Anyway, I cannot guarantee that it'll work on your phone, because I have only LG L90 Dual (D410). It may boot or it may not. I have no clue at all.
BTW, I don't know how to move the thread. Please tell me how.
Click to expand...
Click to collapse
That's great! I understand I just want to ask if I will have any way to get my device back to android if it doesn't boot?
And you could probably PM the moderators of the forum and get them to move it.
I'm a fan of ubuntu. Never heard much of the mobile version though. How much app is available on this platform or are Android apps also compartible?
ichiato said:
I'm a fan of ubuntu. Never heard much of the mobile version though. How much app is available on this platform or are Android apps also compartible?
Click to expand...
Click to collapse
There are a little over a thousand apps right now and its just an upcoming platform so it doesnt have good support yet. Android apps are not compatible and will not be officially compatible though someone will eventually change that.
ardentis said:
There are a little over a thousand apps right now and its just an upcoming platform so it doesnt have good support yet. Android apps are not compatible and will not be officially compatible though someone will eventually change that.
Click to expand...
Click to collapse
Thanks. Is there any way I can browse through the list of apps and see? I also read somewhere that the apps for desktop version are compatible with that of the mobile version. How through is this?
ichiato said:
Thanks. Is there any way I can browse through the list of apps and see? I also read somewhere that the apps for desktop version are compatible with that of the mobile version. How through is this?
Click to expand...
Click to collapse
https://uappexplorer.com/ is an unofficial app store. I know nothing about compatibility other than what Canonical has said. I have no experience using Touch. It would be awesome if Touch could be flashed by zip because I dont feel like f-ing up my only phone..
Has anyone tested this rom yet? I am curious how well it performs and of any bugs. I want to install it but I dont want to screw anything up
Is there anyway to recover from this if it doesnt work? Or anyway to go back to android?
Is the developer still working on the project at all?
JamesB3 said:
Is there anyway to recover from this if it doesnt work? Or anyway to go back to android?
Click to expand...
Click to collapse
You can take a backup with CWM/TWRP before install. If the rom doesn't work, you can boot into recovery, flash CWM/TWRP back, and restore your android.
If in doubt, you can always install stock rom via KDZ file. Search this device's forum for instruction.
JamesB3 said:
Is the developer still working on the project at all?
Click to expand...
Click to collapse
I'm still working on it if the time permit. The latest update have working Wi-Fi now. Please, don't ask the question like this again, because porting an operating system is not an easy task.
peat_psuwit said:
You can take a backup with CWM/TWRP before install. If the rom doesn't work, you can boot into recovery, flash CWM/TWRP back, and restore your android.
If in doubt, you can always install stock rom via KDZ file. Search this device's forum for instruction.
I'm still working on it if the time permit. The latest update have working Wi-Fi now. Please, don't ask the question like this again, because porting an operating system is not an easy task.
Click to expand...
Click to collapse
Oh ok thats cool. I'll test on D415 when i have time.
I know. I apologize.
peat_psuwit said:
You can take a backup with CWM/TWRP before install. If the rom doesn't work, you can boot into recovery, flash CWM/TWRP back, and restore your android.
If in doubt, you can always install stock rom via KDZ file. Search this device's forum for instruction.
I'm still working on it if the time permit. The latest update have working Wi-Fi now. Please, don't ask the question like this again, because porting an operating system is not an easy task.
Click to expand...
Click to collapse
Do i use Ubuntu's terminal to install?
Instructions for installing Ubuntu can be found here: https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/.
Instructions for reverting back to android can be found here: https://developer.ubuntu.com/en/start/ubuntu-for-devices/reinstalling-android/.
I don't know if the installation instructions will vary at all since we have our own image instead of pulling from their repository....but I imagine it would be similar.
Hope that helps!
JamesB3 said:
Do i use Ubuntu's terminal to install?
Click to expand...
Click to collapse
Yes, you'll use terminal in Ubuntu to type those command. I'm not sure if ubuntu-device-flash is available on another Linux distro.
BellaMay95 said:
Instructions for installing Ubuntu can be found here: https://developer.ubuntu.com/en/start/ubuntu-for-devices/installing-ubuntu-for-devices/.
Instructions for reverting back to android can be found here: https://developer.ubuntu.com/en/start/ubuntu-for-devices/reinstalling-android/.
Click to expand...
Click to collapse
Most of installing instruction will apply here, just don't forget to specify device as generic and provide our device tarball. The parts that doesn't apply is about unlocking bootloader, because we actually can't do it that way. Instead, use instruction in this device's forum.
The reverting instructions can't be used here, as LG doesn't ship our device's ROM in that format. Instead, search this device's forum for instruction.
I tried to install but after install recovery it says that i´ve no space on the device
afpereira said:
I tried to install but after install recovery it says that i´ve no space on the device
Click to expand...
Click to collapse
I guess you probably need to check free space on your computer. The phone probably have enough space to install this.
But if it still doesn't work, please copy full message printed on the terminal. The error should say if it happen on the phone or on the computer.

Categories

Resources