Remove All Ads from XDA
Post Reply Email Thread
Ubuntu Touch 13.10 SAUCY Rom Triple Boot WebOS, Android, Ubuntu Touch (Or Quad if you need to)
09-27-2013 is the RootFS Date with apt-get dist-upgrade to 9-29-2013

Download Links Updated 09-29-2013 5:44 am central time (Install First Kernel\Ramdisk\System Partition) (Install Last Ubuntu Touch RootFS\Data Partition)

PARTITION CREATOR AND UNINSTALLER (From ACMEInstaller3 and ACMEUninstaller) Thanks Green! UbuntuTouch_Partition_Creator UbuntuTouch_UbuntuDesktop_Partition_Creator UbuntuTouch_Uninstaller UbuntuTouch_UbuntuDesktop_Uninstaller

You will need a little over 2 GB of space on your sdcard to devote to the new LVM Partiitons! This assumes you HAVE installed CyanogenMod (Android), ClockworkMod Recovery, MoBoot and still have WebOS. WebOS is a prerequisite for Audio. ALSO, you need novaterm. AND it's good to have adb as well.

NOTE! If you have Ubuntu 11.04 - 13.XX Desktop Version
The Ubuntu Desktop LVM needs to be Uninstalled and Recreated. I have provided uImage files and Novacom to do this, or you can change the /etc/fstab file to have the correct device mapper paritition number.

Dealing with a small boot partition! It cannot hold all the uImages for WebOS, Android, Ubuntu Desktop, Ubuntu Touch, andClockworkMod at the same time. What I usually do is move the Ubuntu Touch kernel off of /boot to /sdcard (/media/internal in webos) before installing Ubuntu Touch, then move ClockworkMod to the /sdcard after installing Ubuntu Touch, and of course move the Ubuntu Desktop uImage file back to the /boot partition for Quad-Booting. You should only do this, if you know what you are doing, as having ClockworkMod on boot is handy. Know what you are doing or don't do it. (Which is why I should probably stay away from rom building!, haha)


*Since we are dual-booting, we need to create 3 LVM Partitions that will use 2 GB of space from the sdcard*
1. Copy the and the file to the sdcard
2. Reboot into WebOS Recovery
3. novacom boot mem:// < UbuntuTouch_Partition_Creator
novacom boot mem:// < UbuntuTouch_UbuntuDesktop_Partition_Creator (Requires 6.2 GB of Space, for Ubuntu Desktop 11.XX - 13.XX)
4. Reboot into ClockWorkMod to install the cm-10-*.zip FIRST and the RootFS zip LAST
5. Reboot and chose uImage.UbuntuTouch

Wait 3 minutes, while the touchpad boots. At some point adb will start to run. Eventually you should see a Unity Session..

If you didn't see a session!
a) reboot!
b) Eventually the backlight on the screen will shut off.. Touch the screen or hit the power button or home button some builds to turn the screen on. Still no session? Can you run android-chroot when you get into adb? When you login to adb it should say [email protected] and not BusyBox? You can also run /system/bin/logcat. Hold down the power button for 2 or 3 seconds and Ubuntu Touch will shutdown.

TO FORMAT UBUNTU TOUCH LVM PARTITIONS (in case your wondering does this.. but what if you want to format after you install to do a reinstall??
novaterm into webos!
mkfs.ext4 /dev/store/ut-data
mkfs.ext3 /dev/store/ut-system
mkfs.ext3 /dev/store/ut-cache

novacom boot mem:// < UbuntuTouch_Uninstall

novacom boot mem:// < UbuntuTouch_UbuntuDesktop_Uninstall

Having problems installing WebOS Applications???? WebOS UpdateManager Certificate Fix
There is an update to WebOS.. If you wipe your device after July 23rd 2013.. Then you must do this.

Ubuntu Touch Notes!

NOTE! If you have Ubuntu 11.04-13.10 NON-TOUCH installed, you will need to:
novacom boot mem:// < UbuntuTouch_UbuntuDesktop_Uninstall

*Built from Milaq's CM 10.1 Source WITHOUT JCSullins Bluetooth fixes

*Bluetooth and Sound come from the Ubuntu 11.04-13.10 Non touch. Mainly the upstart and executables. WebOS does get mounted for sound to get initialized. udev and pulse were patched.

*First Ubuntu Touch device running Saucy (Flipped Image) but with LVM Partitions. For this to work I had to compile lvm and e2label statically and use them in the ramdisk for Ubuntu.

How Saucy Works!?
Kernel is loaded with an Ubuntu Touch Ramdisk (Like normal Linux). Then the data partition is mounted as root, the system partition is mounted as /system. The LXC containter loads android based off of /system, then Ubuntu Touch Session loads. This is not a chroot like quantal.

What works:

Bugs and Beta\Alpha Stuff:
1. PulseAudio\GStreamer\Music App is not tied to the Media Service, so the music does not play with the screen turned off. GStreamer keeps playing, but you cannot hear sound unless powerd has turned the screen on and.. ??? Not worth changing until Ubuntu Touch becomes more.. finalized. Sometimes the music does not come back on after a long sleep?
sudo service powerd stop (with the backlight turned on)

2. Bluetooth only works in terminal
a) this is because Bluetooth Settings has not been written to Ubuntu Touch

3. Camera App only works one time. Needs to be mirrored.. Again. Long story!

4. Brightness or Backlight settings???
as root!
echo "0-255" > /sys/class/leds/lcd-backlight/brightness

to set the screen brightness. 0-255 is a range of values you should use.
0 will turn off the backlight
255 is full birghtness
and of course.. service powerd stop while the screen is on will stop powerd from turning off the backlight if idle.

5. Touchscreen finger liftoff does not always get detected at boot correctly. Need to talk to ubunu-devel about that.? CM-TEAM?? Hmm.. Reboot and try again!

6. Browser cannot download files. Browser cannot play videos because the latest gstreamer "has not landed yet"..

7. 720P H.264 is choppy? 480p plays fine.. Waiting for more updates.

APPARMOR NOTE: Since 2.6.35 Kernel does not have apparmor, we are using /usr/bin/aa-strip with crontab to run every minute. So if you install a click app and cannot run it, wait a minute! sed -i "s/aa-exec.*-- //g" /home/phablet/.local/share/applications/*.desktop

Recently they did something to openssh. Do this to install.
apt-get install --reinstall openssh-server
service ssh start (every boot?)
If powerd turns off the backlight, it suspends your ssh session. There is some code in the wifi modules that I believe is causing it. Work on that later.. or disable powerd and turn the lights off to save battery power or backlight by reading brightness notes above.

mtp-server has been disabled.. want to enable it? As root!
cd /etc/init
mv ../mtp* .
cd /usr/share/upstart/sessions
mv ../mpt* .

When you do, don't expect adb to work... In Ubuntu 13.10 Desktop, you see the /home/phablet get Mounted on the filesystem via mtp.. I haven't messed with the Windows Driver.. I messed with the google one and changed the pid and vid, and.. no device was found when I ran adb.. so.. perhaps mtp shuts down adb on the touchpad.. I think that was in the upstart file though.. mtp-server-bootup.conf, etc.


How to copy files with novaterm?
cat filename | novaterm put file:///put/full/destination/path/filename (push example) tested
novaterm get file:///full/destination/path/filename (pull example) untested
novaterm get file:///full/destination/path/filename > filename (pull example) untested

How do I compile uimage-extract to extract a kernel.img and ramdisk.img from a uImage file (boot.img)?
git clone
cd moboot/tools
gcc -o uimage-extract uimage-extract.c -lz

How do I extract the kernel image and initramfs from a uImage file?
./uimage-extract uImage.filename (from inside moboot tools folder)

How to unpack and repack gzip ramdisk images?
mkdir newramdisk
cd newramdisk
gunzip -c ../your-ramdisk-file | cpio -i
make changes, next command is to pack a new ramdisk.img
find . | cpio -o -H newc | gzip > ../newramdisk.img

How to unpack and repack lzma ramdisk images? (I used lzma)
mkdir newramdisk
cd newramdisk
lzma -dc ../newramdisk.img | cpio -i
make changes, next command is to pack a new ramdisk.img
find . | cpio -o -H newc | lzma > ../your-ramdisk-file

How to create a moboot compatible kernel?
mkimage -A arm -O linux -T kernel -C none -a 0x40208000 -e 0x40208000 -n "Kernel" -d kernel.img uImage
mkimage -A arm -O linux -T ramdisk -C none -a 0x60000000 -e 0x60000000 -n "Image" -d ramdisk.img uRamdisk
mkimage -A arm -O linux -T multi -a 0x40208000 -e 0x40208000 -C none -n "multi image" -d uImage:uRamdisk

How to connect to an open-wifi network without Unity as root?
adb shell
sudo su
service network-manager stop
iwconfig wlan0 essid "essid-you-want-to-connect-to"
ifconfig wlan0 192.168.X.X netmask up
route add default gw 192.168.X.X
sed -i '$ a nameserver' /etc/resolv.conf
you should be on the net.

How can I create my own saucy-preinstalled-touch-arm.tar.gz to go into the .zip? (from a runnng device)
adb shell
cd /data/ubuntu
sudo tar --preserve-permissions -zcvf /sdcard/saucy-preinstalled-touch-armhf.tar.gz *
adb pull /sdcard/saucy-preinstalled-touch-armhf.tar.gz .
now put that file in the .zip.

How do I untar the saucy-preinstalled-touch-armhf.tar.gz file?

place saucy-preinstalled-touch-armhf.tar.gz in the folder you want to be in, and go to that folder in terminal
mkdir rootfs
cd rootfs
sudo tar --preserve-permissions -zxvf ../saucy-preinstalled-touch-armhf.tar.gz
sudo make your changes as root, be mindful of permissions.

How do I swap my kernels to quad-boot? (With webOS)
a)Before you install Ubuntu Touch, move a kernel from /boot to /media/internal
mount -o remount,rw /boot
mv /boot/uImage.Ubuntu13 /media/internal (or uImage.Ubuntu)
mount -o remount,rw /boot
b) After you install Ubuntu Touch, move it back, but remove ClockworkMod (know what you are doing are don't do this)
mount -o remount,rw /boot
mv /boot/uImage.ClockworkMod /media/internal
mv /media/internal/uImage.Ubuntu13 /boot
mount -o remount,ro /boot

How can I run webOS Doctor after all this and just start all over factory clean? 3rd post but I would skip the creation of /dev/store/cm-* partitions. Be sure to delete cm-data, cm-system, cm-cache, ut-data, ut-system, ut-cache, and ubuntu-store if you have it. Delete them all! Then recreate the lvm. If you need to recreate Android partitions do that with AcmeInstaller ie the usual way to install Android. You must start with WebOS 3.0.0 and then you can do 3.0.5. Be sure to say thanks on that post.

Thanks to:
Ogra (ubuntu-touch, huge thanks!), castrwilliam (ubuntu desktop rom), CalcProgrammer (ubuntu desktop rom), crimsonredmk (archlinux rom), Flemmard (cm team "resizing the boot partition would be stupid", yep), Mystikal57 (sound fixes in desktop that really helped get it going), JCSullins (moboot, cm team, all sorts of stuff), Dorregray (camera fixes I need to reimplement), w-flo (ubuntu-touch), drmarble (ubuntu-touch, cyanogenmod-touchpad, big thanks to him).. and others from the #ubuntu-touch irc channel and Ubuntu 11.04-13.10 threads, cyanogenmod team, etc... "I stand on the shoulders of giants"

Look at the old Ubuntu Touch thread I started around page 17 for more in depth notes on what I did.

I am NOT a developer!!!!
The Following 30 Users Say Thank You to jshafer817 For This Useful Post: [ View ] Gift jshafer817 Ad-Free
31st August 2013, 04:01 PM |#2  
Senior Member
Thanks Meter: 125
Donate to Me
Wow this is exciting news for my little tablet... Been messing around with 13.04f so this will be a blast.

Sent from my Galaxy Nexus using Tapatalk 2
The Following 2 Users Say Thank You to kicker22004 For This Useful Post: [ View ] Gift kicker22004 Ad-Free
4th September 2013, 12:38 PM |#3  
OP Senior Member
Thanks Meter: 486
Sweet! Successfully ran:
apt-get update
apt-get upgrade
still works.

webbrowser-app build should be better.
4th September 2013, 01:16 PM |#4  
OP Senior Member
Thanks Meter: 486
Why does it boot SLOW?! UDEV is taking up ALL the CPU USAGE!!!
Going to recompile and recheck the 70-tenderloin.rules for udev...

You guys should as well.. Look that file over.. compare it to the android side.. It is on the ubuntu porting guide page..

I will recompile system.. you guys help me with udev.

[06:07] <ogra_> OrokuSaki_, udev is good for managing devices ... CPUs are used ... :P
[06:08] <ogra_> can you be a bit more specific ?
[06:08] <OrokuSaki_> I ran ps -ef and noticed /system/lib/udev --daemon is taking up around 86%
[06:08] <ogra_> huh ?
[06:08] <cjwatson> ogra_: oh. hmm. I seem to have no adbd in /system/usr/*bin/, but adb normally works ...
[06:08] <OrokuSaki_> screenshot hang on
[06:08] <ogra_> what would udev do in /system/lib ?
[06:09] <cjwatson> that's peculiar, the dpkg database thinks it's there
[06:09] <ogra_> yeah, android-tools-adbd should put it there
[06:10] * ogra_ finds it massively distrurbing that stgraber chose /system for the ubuntu part in system images .... since usually android uses that dir
[06:11] == OrokuSaki [[email protected]/web/freenode/ip.] has quit [Quit: Page closed]
[06:11] == pmcgowan [[email protected]] has quit [Ping timeout: 264 seconds]
[06:12] <ogra_> cjwatson, looking at all these jobs in starting state in your log, none of them is used, i wonder if we should just override them
[06:12] == john-mcaleely [[email protected]/canonical/x-rabhyphdiswrmxbn] has quit [Ping timeout: 264 seconds]
[06:12] == nze [[email protected]] has joined #ubuntu-touch
[06:12] <OrokuSaki_> @OgRa screenshot
[06:12] <ogra_> (mountnfs and console-setup are pretty moot ... )
[06:13] <cjwatson> ogra_: well, maybe, but I think that's a side issue
[06:13] <ogra_> OrokuSaki_, aha, thats not /system/lib/udev
[06:13] <OrokuSaki_> What is that? =)
[06:13] <ogra_> thats udev
[06:13] <OrokuSaki_> Is it normal?
[06:13] <ogra_> it tries to process kernel uevents for your devices
[06:13] <cjwatson> tempted to just give up, reflash, try again
[06:13] <ogra_> no, thats not normal, check your udev rule for your device i'd say
[06:14] <nze> hey guys! the question's probably come up before, but I only found old news, so...
[06:14] <nze> how open/hackable would you say is the HTC One? any chances I'll be able to run ubuntu (or firefox OS) on it?
[06:14] <OrokuSaki_> Sweet... thanks man.. I have gone over it.. I can't seem to find anything out of the ordinary.. but.. I will look
[06:14] <ogra_> also make sure your android side was recently rebuilt, we had some fixes to ueventd that might influence udev behavior
[06:14] <nze> (also, how do the galaxy s4 and the nexus4 compare in that regard?)
[06:14] <OrokuSaki_> Hmmm sweet.. thanks!
4th September 2013, 01:49 PM |#5  
OP Senior Member
Thanks Meter: 486
ACTION=="add", KERNEL=="system_bus_freq", OWNER="system", GROUP="system", MODE="0660"
ACTION=="add", KERNEL=="cpu_dma_latency", OWNER="system", GROUP="system", MODE="0660"
ACTION=="add", KERNEL=="htc-acdb", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_audio_dev_ctrl", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_acdb", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_pcm_lp_dec", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="codec_aic3254", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="pmem_adsp*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="gemini*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="adsp/*", OWNER="system", GROUP="audio", MODE="0660
ACTION=="add", KERNEL=="snd/*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_pcm_out*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_pcm_in*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_mp3*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="htc-acoustic", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_vidc_reg", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_vidc_dec", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_vidc_enc", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="tpa2051d3", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="control0", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="controlC0", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="pmem_audio", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="tpa2051d3", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="pmem_smipool", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_camera/*", OWNER="system", GROUP="audio", MODE="0660"
ACTION=="add", KERNEL=="msm_rotator", OWNER="system", GROUP="graphics", MODE="0660"
ACTION=="add", KERNEL=="kgsl-2d0", OWNER="root", GROUP="root", MODE="0666"
ACTION=="add", KERNEL=="kgsl-3d0", OWNER="root", GROUP="root", MODE="0666"
ACTION=="add", KERNEL=="kgs1-2d1", OWNER="root", GROUP="root", MODE="0666"
ACTION=="add", KERNEL=="pmem", OWNER="system", GROUP="graphics", MODE="0660"
ACTION=="add", KERNEL=="genlock", OWNER="system", GROUP="graphics", MODE="0666"
ACTION=="add", KERNEL=="ttyHS0", OWNER="bluetooth", GROUP="bluetooth", MODE="0600"

This is the current 70-tenderloin.rules I am using.. I removed most of the lvm rules as well.. hmmm

recompiling my system image.
The Following User Says Thank You to jshafer817 For This Useful Post: [ View ] Gift jshafer817 Ad-Free
5th September 2013, 10:57 PM |#6  
OP Senior Member
Thanks Meter: 486
Sweet... I told powerd.conf to start with ubuntu-touch-session instead of dbus and systemd...

Seems to be GREAT now. Going to reboot 5 more times.. then reinstall.. reboot some more.. then reupload.

Well.. there is now a way to get app-armor to be disabled.. but they don't say exactly how.. I may mess with that tonight before reuploading..
The Following User Says Thank You to jshafer817 For This Useful Post: [ View ] Gift jshafer817 Ad-Free
6th September 2013, 02:11 PM |#7  
OP Senior Member
Thanks Meter: 486
Rom updated.. Seems more reliable.. CPU has plenty of power now, graphics are therefore faster, sound does not ever cut out? Touchscreen seems to work 100%... I added the camera to be mirrored parameter from darregrays older camera source, so the camera is now oriented and mirrored correctly... I also added a udev rule in the ramdisk and data partition for LVM2 which basically tells udev to ignore an lvm partition. udevadm settle now runs without hanging..

The extra udev rules for lvm2 gets rid of PID 125 taking up a lot of cpu usage.

udevtrigger seems to really need to run udevadm settle, so we let it, but then we restart udev when the ubuntu-touch-session is starting.. which for whatever reason... makes the 100% udev processes go away...

Would be wise to have apt-get install lvm2 installed..

I want apparmor to be disabled next, then update the data image to be from something newer when an image passes a good report.. and then.. try to find out why it takes so long to boot each time.. probably an ubuntuappmanager bug?

Added more cgroup stuff in the kernel config.. enabled cpusets
The Following User Says Thank You to jshafer817 For This Useful Post: [ View ] Gift jshafer817 Ad-Free
15th September 2013, 01:36 PM |#8  
OP Senior Member
Thanks Meter: 486
Originally Posted by kicker22004

Wow this is exciting news for my little tablet... Been messing around with 13.04f so this will be a blast.

Sent from my Galaxy Nexus using Tapatalk 2

OOPS!!! Damn.. I was in such a hurry to leave yesterday.. fix that momentarily...

Bummed out! 9-14-2013 has lxc boot issues for the touchpad.. working on that one...
29th September 2013, 12:51 PM |#9  
OP Senior Member
Thanks Meter: 486
We are now dual-booting with android. First thread updated.. read the notes carefully!

Tested! Formatted the 3 new partitions, installed the same files I uploaded to google drive.

Should work.... I tested it... one time. =) First time I got dual booting working, wiped, wrote\updated (wrote is a bad word) the partition creation script... removed my 3 lvm's.. ran the script to create them.. created the rootfs.. wiped 3 new ubuntu touch partitions again.. removed the /boot/uImage.UbuntuTouch.. installed the 2 zip files.. booted okay (with same bugs as non dual-boot,.. touchscreen can be iffy etc etc).. I then uploaded to google drive.
29th September 2013, 04:17 PM |#10  
alex1301's Avatar
Senior Member
Flag Nuremberg
Thanks Meter: 146
Donate to Me
What are the installation steps for a touchpad running CM10.2?
The Following User Says Thank You to alex1301 For This Useful Post: [ View ] Gift alex1301 Ad-Free
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes