u9200
Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.
|
General
Device name |
Huawei Ascend P1 |
Code name |
u9200 |
Image maintainer(s) |
State of things
Legend |
|
State |
Explanation |
Perfect |
Everything works, all patches included in Ubuntu proper |
Working |
Works, minor issues only, some patches pending |
W-I-P |
Work in progress |
Blocked/Broken |
Severely broken, unusable or progress is blocked |
Unknown |
Unknown |
What |
Status/Comments |
Graphics |
Unaccelerated |
Boot process |
|
Rotation |
|
Cellular Radio |
|
Wireless network |
Wi-Fi not working |
Sound |
|
Touch |
|
Camera |
|
Video Decode |
|
Suspend/Resume |
|
Other |
|
Unlocking instructions
My device came with unlocked bootloader, so fastboot flash just works.
Known issues
Almost nothing works except booting up into the Ubuntu Touch shell.
Trying the image
bzr branch lp:phablet-tools cd phablet-tools ./phablet-flash community --device u9200
== How to build it yourself==
Check out the full phablet tree as described in
https://wiki.ubuntu.com/Touch/Building
!! Use the phablet-saucy branch !!
Apply these patches
In frameworks/native
diff --git a/services/surfaceflinger/EventThread.cpp b/services/surfaceflinger/EventThread.cpp index edb9fa5..1f0eb16 100644 --- a/services/surfaceflinger/EventThread.cpp +++ b/services/surfaceflinger/EventThread.cpp @@ -277,6 +277,7 @@ Vector< sp<EventThread::Connection> > EventThread::waitForEvent( // use a (long) timeout when waiting for h/w vsync, and // generate fake events when necessary. bool softwareSync = mUseSoftwareVSync; + softwareSync = true; nsecs_t timeout = softwareSync ? ms2ns(16) : ms2ns(1000); if (mCondition.waitRelative(mLock, timeout) == TIMED_OUT) { if (!softwareSync) {
In system/core
diff --git a/rootdir/init.rc b/rootdir/init.rc index af04616..b51b6d4 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -541,7 +541,7 @@ service mdnsd /system/bin/mdnsd oneshot service sensorservice /system/bin/sensorservice - class late_start + class main user system group graphics audio camera inet net_bt net_bt_admin net_bw_acct drmrpc input
Grab the manifest file from here, put it in .repo/local_manifests/huawei_u9200.xml then run repo sync
https://gist.github.com/janimo/5412625
repo sync will grab the device/ and kernel/ trees for this device from the below URLs
https://github.com/janimo/android_device_huawei_u9200 https://github.com/janimo/android_kernel_huawei_u9200
Now you need to get the proprietary vendor bits without which the image is not working at all. There are a few ways to do this, 1 being the recommended one if you have a working Android device.
1)Have a device plugged into USB and accessible via adb, then
cd device/huawei/u9200 ./extract-files.sh
2) Download the updater .zip file from Huawei http://www.huaweidevice.com/worldwide/downloadCenter.do?method=toDownloadFile&flay=software&softid=NDY4ODc= unzip it unpack the resulting UPDATE.APP using this perl script https://gist.github.com/janimo/5412727 This will results in over a dozen files, blobs corresponding to each partition in the device, unknown_file.12 being the system partition in a fastboot sparse format that needs to be converted in a properly mountable ext4 filesystem image
apt-get install android-tools-fsutils simg2img unknown_file.12 image mkdir system sudo mount -o loop image system
Now you have the original Android rootfs under system/ In the source tree under device/huawei/u9200, you can call the same extract script telling it to copy from an existing local path instead of adb pulling from a connected device
VENDOR_DIR=/path/to/this/loopmounted/system ./extract_files.sh
3) Get hold of an existing vendor/ dir and just drop it/clone it into under vendor/huawei/u9200
Now on to actually building it:
. build/envsetup.sh brunch u9200
The result should be under out/target/product/u9200
You can fastboot flash the boot.img recovery.img system.img and userdata.img partitions, then boot into recovery and pick sideload in the device. On your machine
adb sideload saucy-preinstalled-touch-armhf.zip
That zip being whatever Ubuntu image you download from http://cdimage.ubuntu.com/ubuntu-touch/daily-preinstalled/
Redistributability
The proprietary blobs are probably not redistributable.
Touch/Devices/u9200 (last edited 2013-08-14 17:21:56 by 79-119-113-230)