Development of Ubuntu Touch for Xperia Z2 - Xperia Z2 Q&A, Help & Troubleshooting

Hello.
I am very keen in getting the Ubuntu Touch ported to my Xperia Z2 phone. Obviously, I'll need all the help and guidance possible.
What I currently have? developer.ubuntu.com/en/start/ubuntu-for-devices/porting-new-device/
I'm using the official porting guide as checklist. Below are what I have accomplished so far with the guide
Setup my Development Environment
Have built for Nexus with success to see if my environment is up and running (the building threw no errors, so I assume it "works", since I have no means of testing because I don't have a nexus handset)
I have added repos regarding under how to enable a new device.
I have done the first part of the Device specific changes using the check-config script, the _defconfig file in the kernel (this is Sony Xperia Z2 kernel: CyanogenMod/android_kernel_sony_msm8974 , right?)
When I did the build ( just to test so far what I've done ) I got the error that, its using the pre-compiled kernel, or something like that.
Now my questions:
How do I tell it which kernel to use, and where?
Where is the pre-compiled kernel and which is the precompiled: the one from the vendor/ (which I got from extracted binary from sony official) OR the /kernel/sony/msm8974 ?
I've gone looking around to see if I could perhaps follow the pattern used in the porting to the Xperia Z, since they're in the same series. Yet, I hardly could follow what exactly the 'porter' did. I was interested in finding answers to the 'What?', and 'Where?' of the porting done, but couldn't get solid answers.
I ask this here with the hope that, a developer who's been through the porting process will be able to offer assistance. I've been in touch with Mamenyaka, and along the lines, he'll be assisting too. But since he isn't available all the time, I ask this here.
Concerning the above list of questions, please, any assistance will be appreciated.
Its understandable, yet unfortunate, that the official ubuntu porting guide has been made to be so broad and so generic its hard to streamline what it says with a specific device. With this thread, I hope to get very specific instructions precisely tailored to the Xperia Z2 and to accommodate being extensive, instructions for the Z line series.
thanks
EDIT: my error log so far pastebin.com/Wax18UFK

seanmavley said:
Hello.
I am very keen in getting the Ubuntu Touch ported to my Xperia Z2 phone. Obviously, I'll need all the help and guidance possible.
What I currently have? developer.ubuntu.com/en/start/ubuntu-for-devices/porting-new-device/
I'm using the official porting guide as checklist. Below are what I have accomplished so far with the guide
Setup my Development Environment
Have built for Nexus with success to see if my environment is up and running (the building threw no errors, so I assume it "works", since I have no means of testing because I don't have a nexus handset)
I have added repos regarding under how to enable a new device.
I have done the first part of the Device specific changes using the check-config script, the _defconfig file in the kernel (this is Sony Xperia Z2 kernel: CyanogenMod/android_kernel_sony_msm8974 , right?)
When I did the build ( just to test so far what I've done ) I got the error that, its using the pre-compiled kernel, or something like that.
Now my questions:
How do I tell it which kernel to use, and where?
Where is the pre-compiled kernel and which is the precompiled: the one from the vendor/ (which I got from extracted binary from sony official) OR the /kernel/sony/msm8974 ?
I've gone looking around to see if I could perhaps follow the pattern used in the porting to the Xperia Z, since they're in the same series. Yet, I hardly could follow what exactly the 'porter' did. I was interested in finding answers to the 'What?', and 'Where?' of the porting done, but couldn't get solid answers.
I ask this here with the hope that, a developer who's been through the porting process will be able to offer assistance. I've been in touch with Mamenyaka, and along the lines, he'll be assisting too. But since he isn't available all the time, I ask this here.
Concerning the above list of questions, please, any assistance will be appreciated.
Its understandable, yet unfortunate, that the official ubuntu porting guide has been made to be so broad and so generic its hard to streamline what it says with a specific device. With this thread, I hope to get very specific instructions precisely tailored to the Xperia Z2 and to accommodate being extensive, instructions for the Z line series.
thanks
EDIT: my error log so far pastebin.com/Wax18UFK
Click to expand...
Click to collapse
Hello,
if you are still working on this project:
Your Problem was not that you used the prebuilt kernel, your problem was that the script doesnt use mkabootimg correctly. For sony device you have to use another command.

Friend i would love to see ubuntu on my z2
share a link which may be helpful
https://wiki.ubuntu.com/Touch/Devices/minato

Related

[Q] Developing "FrenchBread" and what is needed?

Hi,
I've started to download all the listed tools from AOSP and from Chulri's XDA post but wanted to start the discussion on what steps would be needed to create a gingerbread rom for our Gen8 devices.
My initial questions:
1- Would the driver's source from Archos that are currently written for 2.2 be compatible with 2.3? Can they reasonably be updated?
2- Aren't there two approaches we could use? Update the kernel to be compatible with 2.3 or back port 2.3 to be compatible with our existing kernels?
I apologize for probably sounding ignorant but this is all learning for me and any help is greatly appreciated. If nothing else, this thread would be a great place to discus the steps it would take to develop a Gingerbread rom from a high level stand point.
Mr. Clown - I'd appreciate leaving this in the devel forum since it is specific to devel for 2.3 and gen8 and not just an "is it possible" thread.
Thanks!!
-Nate
double post
sry
do you have kernel dev experience for linux/unix?
if yes concentrate on cm a lot of development has been done.
there are phones who have almost identical components ( well the usb attached screen is a problem)
the recovery will be hell of a problem too..
if you never worked with that stuff (at least i hope you are a c crack otherwise look for other stuff to learn c .kernel development is one of the hardest stuff you can pick in softwaredev.) look for another project where somebody could guide you and teach you stuff the first project will be learning the second could be a very specific project like this where you have to work on your own
Sent from my GT-I9000 using Tapatalk
gbohm said:
do you have kernel dev experience for linux/unix?
if yes concentrate on cm a lot of development has been done.
there are phones who have almost identical components ( well the usb attached screen is a problem)
the recovery will be hell of a problem too..
if you never worked with that stuff (at least i hope you are a c crack otherwise look for other stuff to learn c .kernel development is one of the hardest stuff you can pick in softwaredev.) look for another project where somebody could guide you and teach you stuff the first project will be learning the second could be a very specific project like this where you have to work on your own
Sent from my GT-I9000 using Tapatalk
Click to expand...
Click to collapse
Hi, thanks for the reply. I've been reading just about all of Chulri's posts in his thread and I know $aur0n would answer specific questions if I asked. Other than that, I took a few C++ classes a few years ago but never took the OS/Hardware level classes. I stopped at advanced/e intermediate algorithms and data structures. Either way, I was hoping to start a discussion with this thread about steps that would be needed to happen to build a gingerbread ROM.
But if anyone wants to read along with me about kernel devel then you can start here with me - http://forum.xda-developers.com/showthread.php?p=11261995
Archos's git - http://gitorious.org/archos/
Chulri's How to - http://forum.xda-developers.com/showthread.php?t=891056
Chulri's tool and fantastic following discussion (still trying to comprehend all of it) - http://forum.xda-developers.com/showthread.php?p=10033305#post10033305
Really Thank you for start this thread!
And when you've developed a gingerbread rom, i think the best would be if you work together with $aur0n Do think like i do?
And:
If you need a tester or somebody to do some little things, i'll do it
(At the moment i report some bugs at solune/sauron and test the bootscreens)
I want to help you with that cool project
xnatex21 said:
Hi, thanks for the reply. I've been reading just about all of Chulri's posts in his thread and I know $aur0n would answer specific questions if I asked. Other than that, I took a few C++ classes a few years ago but never took the OS/Hardware level classes. I stopped at advanced/e intermediate algorithms and data structures. Either way, I was hoping to start a discussion with this thread about steps that would be needed to happen to build a gingerbread ROM.
But if anyone wants to read along with me about kernel devel then you can start here with me - http://forum.xda-developers.com/showthread.php?p=11261995
Archos's git - http://gitorious.org/archos/
Chulri's How to - http://forum.xda-developers.com/showthread.php?t=891056
Chulri's tool and fantastic following discussion (still trying to comprehend all of it) - http://forum.xda-developers.com/showthread.php?p=10033305#post10033305
Click to expand...
Click to collapse
i am sorry but you will not be able to develop a kernel with some classes you took i am a dev so i am quite avit with it i come from a completly different backgroud (windows software) but i have a unbelievable hard time to find a starting point with cm7 for sgs although there other developers around
Sent from my GT-I9000 using Tapatalk
That's understandable. If development is going to be tough or near impossible, I'd hope to try before I give up. Right now I'm learning about kernel development but would love it if someone could help me focus.
Is the touch display driver the hardest part to upgrade? What changed in 2.3 that makes updating the driver so difficult? Or would it be better to "back port" 2.3 to be compatible with archos's driver?
Sent from my GSBv1.4-ERIS using XDA App
xnatex21 said:
1)Is the touch display driver the hardest part to upgrade?
2)What changed in 2.3 that makes updating the driver so difficult?
3)Would it be better to "back port" 2.3 to be compatible with archos's driver?
Click to expand...
Click to collapse
1) I would say one of the hardest parts
2) I think the archos drivers aren't compatible, so ...
3) ... this would be better because then you've better drivers support (for each hardware)
Again:
I think this project is assomeI'd love to be a helper/tester.

[Q] how to port ics (serious learner)

Lemme get some things out of the way.. I am a noob. I have searched. I have read some of the results from the search. I am overwhelmed by the 20+ pages of results (lol). I am not 100% sure this is the correct forum for this (not sure where else would be ).. I believe this is one of those things where I need help based on my situation.. Ok, so here I go.
I wish to start porting ICS to my phone. That's my goal. I have general understanding of how linux works, but I do not know much about the android specifics of how they work, or what needs to be modified for this to work. I do not plan to use the kitchen tool as I wish to learn this the hard way. I believe this will help me become more understanding in what I am doing. However, at this point I don't and that's why I'm here. My phone model is irrelevant almost because its prepaid and usually the communities don't even recognize their existence.. at least that's how I feel about it. But I digress. My phone is the zte warp by boost mobile and I am here to learn hopefully the things that will get me started on porting ICS to this phone. I right now believe that the best thing for me to learn is how the android related files work because as it is, I only looked at guides on how linux works and I understand most of it. I'm not sure that's the best thing that will help me port ics, but I'm certain it is important.
Please help me figure out where I should start in learning how to port ICS to my phone basically.
Thanks XDA
anyone? I am quite serious about wanting to do and go into this but I have yet one thread that anyone's ever replied to.. (or post iirc) which puts a damper on me
Snake X said:
Lemme get some things out of the way.. I am a noob. I have searched. I have read some of the results from the search. I am overwhelmed by the 20+ pages of results (lol). I am not 100% sure this is the correct forum for this (not sure where else would be ).. I believe this is one of those things where I need help based on my situation.. Ok, so here I go.
I wish to start porting ICS to my phone. That's my goal. I have general understanding of how linux works, but I do not know much about the android specifics of how they work, or what needs to be modified for this to work. I do not plan to use the kitchen tool as I wish to learn this the hard way. I believe this will help me become more understanding in what I am doing. However, at this point I don't and that's why I'm here. My phone model is irrelevant almost because its prepaid and usually the communities don't even recognize their existence.. at least that's how I feel about it. But I digress. My phone is the zte warp by boost mobile and I am here to learn hopefully the things that will get me started on porting ICS to this phone. I right now believe that the best thing for me to learn is how the android related files work because as it is, I only looked at guides on how linux works and I understand most of it. I'm not sure that's the best thing that will help me port ics, but I'm certain it is important.
Please help me figure out where I should start in learning how to port ICS to my phone basically.
Thanks XDA
Click to expand...
Click to collapse
From my limited knowledge, I think it is a huge task undertaking, you can download Android source code from Google, the hard part will be the device driver development and porting for Linux kernel (and maybe portion of Android). If you are lucky, you can use the existing phone bootloader (or you have to port one). Understanding the inner of the phone (different chip set may need different device driver) will be another challenging task.
by the device driver development, you mean all the libs that go into the phone? Couldn't I just copy/paste the pre-existing libs that are already made for the phone? Also the phone im working with is a bit strange really.. noone has been able to compile the kernel from its source and get it to boot yet.. when it was compiled the zImage was different than that of the stock one.
And yeah, I have downloaded the aosp source.. I just need to know where to start at and the processes involved really
Snake X said:
by the device driver development, you mean all the libs that go into the phone? Couldn't I just copy/paste the pre-existing libs that are already made for the phone? Also the phone im working with is a bit strange really.. noone has been able to compile the kernel from its source and get it to boot yet.. when it was compiled the zImage was different than that of the stock one.
And yeah, I have downloaded the aosp source.. I just need to know where to start at and the processes involved really
Click to expand...
Click to collapse
To answer you question no the drivers and lib files are different for aosp based rooms then they are for the stock OEM from. The first step will be to get a working kernel. Without anything you do will be pointless
I'm somewhat interested in the same thing, and from what I've gathered, you'll need to do these things to begin ROM development:
1. Read every page on the AOSP site and grab a copy of the AOSP source. It probably wouldn't hurt to read the regular Android developer wiki as well.
2. Learn about Linux driver development:
http://lwn.net/Kernel/LDD3/ (this is apparently considered THE BOOK on Linux driver development)
http://www.freesoftwaremagazine.com/articles/drivers_linux
3. Learn pretty much every detail about your phone and its hardware, especially when it comes to how ROMs are installed on it. For example, my phone (the Droid X2) has a locked bootloader, so 2nd init has to be used to boot new ROMs, and this makes it so that we cannot update the kernel.
You can usually find this sort of information on your phone manufacturer's website. Sometimes they even post the source code to their phone's drivers, which is helpful.
4. Look at other ROMs (preferably for your phone) and see how they work. The source code is freely available for most popular ROMs.
For example: CyanogenMod keeps their source code in a public git repository: https://github.com/cyanogenmod
5. Get to work on porting!
I would highly recommend starting with something smaller, however, just as a start. One good jumping-off point is probably this guide: http://forum.xda-developers.com/showthread.php?t=1272270
If any part of this was wrong, or if I left something out, somebody feel free to correct me, I'm still a noob.
Thank you so much for your direction, however,, android kitchen.. im not sure about that because isnt that only ment for htc devices? My phone is made by zte
what device do you even have?
if it's stuck officialy on 2.1 or 2.2 there's no hope that if you even port it that it'll work
its the zte warp from boost mobile (prepaid). Btw if I compile an aosp ics launcher and put that on my phone whats the chances of that working?
edit: it uses 2.3.5
Well Sebastian responded on android forums, apparently zte is very bad at version control with their kernel sources. So when they complete one project, they use the same source for the next project, and what they release could be for anything. Apparently the blade source had the same issues, it took him a while to get them to correct the source
Sent from my N860 using Tapatalk
Yeah I noticed that there were ppl saying there were things similar but I'm not sure what will work or what won't.. guess its time to start a petition on zte to release the source code lol
edit: seems like zte's bein a bad company and violated the GNU GPL license for not providing a complete source code.. I compiled an email and sent it to someone who can proof read it and send it to the right person for this kinda thing.. danggit zte

[Q] What are the steps to port a ROM to an unsupported device?

First a short question. What is the device configuration.(For example:https://github.com/TeamICS/android_device_htc_heroc) Which information does it contain? I don't think it's the whole Rom, but they update it, change stuff and so on?
Now my actual question:
I want to port a Kernel+System on an unsupported device.
Where do I have to start. Is there a difference between building it from source or port one from a similar device? Is one solution slower, more complicated or anything? There are many tutorials for porting, just bundle a system with a working kernel, but what to do if I want to have the Kernel also?
How do I extract the Device Proprietary Files without an github of the device?
Links, short explanation of the steps or anything else would be helpful.
I am sorry if this post seems to be ill informed, but I am searching and searching and can't find really helpful information..
chaoskoch said:
First a short question. What is the device configuration.(For example:https://github.com/TeamICS/android_device_htc_heroc) Which information does it contain? I don't think it's the whole Rom, but they update it, change stuff and so on?
Now my actual question:
I want to port a Kernel+System on an unsupported device.
Where do I have to start. Is there a difference between building it from source or port one from a similar device? Is one solution slower, more complicated or anything? There are many tutorials for porting, just bundle a system with a working kernel, but what to do if I want to have the Kernel also?
How do I extract the Device Proprietary Files without an github of the device?
Links, short explanation of the steps or anything else would be helpful.
I am sorry if this post seems to be ill informed, but I am searching and searching and can't find really helpful information..
Click to expand...
Click to collapse
First off what device do you have?
This link might be helpful
How to Port Android to Another Device
Now in regard to your questions i'll do my best to answer them best I can. The device configuration think of it as a fingerprint every fingerprint is unique (Although some a very similar), basically when building from source is tells the build what device you want the version of android your compiling to run on. They update and change the device configuration to reflect changes in the different versions of Android (Going from Gingerbread to ICS for example). Porting Kernels is not easy if you don't know C, things about embedded systems, basic Linux knowledge, among other skills but take a look at Guidance regarding Kernel porting, and what do you mean by port system? Here is a basic place to start for kernels AOSP Building Kernels and Building Your First Kernel. Yes their is a difference between porting a kernel and building from source, porting implies taking a kernel from device A and porting it to device B, while building from source means your building directly for device A. Porting in your case is probably going to be harder then building from source. If you want to have the kernel also again you have to modify it to run on the device you are porting it too. To extract proprietary files you have to hook your device up to your computer, turn on usb debugging, and using ADB run these commands:
Code:
cd ~/android/system/device/motorola/sholes/ # Replace Motorola and Sholes with your vendor such as HTC, Samsung, etc. and your device codename
Then run:
Code:
./extract-files.sh
Look at this guide for more info Compiling ICS from Source. Hope this helps you in some way :good:.

Hello, I am New Here. How Should I Start?

Hello, I am New Here. How Should I Start?
So This is my First post on this forum.
I am Interested In Making Custom ROM for Android Devices. How Should I start? I already Have Linux (Ubuntu 13.10 x64) Set up for this and ready. And also How to Flash a phone. And does android have Dead USB Flashing method.
Device I have in mind is Sony Xperia Acro S. I don't own it yet.
I am a Symbian Developer. I am even have a Developer Status on DailyMobile Forum. I even have my own CFW (Custom Firmware). But since that Platform is Dying, I decided to Move to Android.
MrKenkadze27 said:
Hello, I am New Here. How Should I Start?
So This is my First post on this forum.
I am Interested In Making Custom ROM for Android Devices. How Should I start? I already Have Linux (Ubuntu 13.10 x64) Set up for this and ready. And also How to Flash a phone. And does android have Dead USB Flashing method.
Device I have in mind is Sony Xperia Acro S. I don't own it yet.
I am a Symbian Developer. I am even have a Developer Status on DailyMobile Forum. I even have my own CFW (Custom Firmware). But since that Platform is Dying, I decided to Move to Android.
Click to expand...
Click to collapse
well you need to learn all the android basics, which can take a year to catch onto. And sense you've just started, you need to learn what root is and that sort of stuff. And to fix errors in source, you need experience with source, git, java programming and C++ coding. Also need experience with working with kernels and simple issues like fixing bootloops, and also know how to make device trees and kernel tree/repo and how to use github. And most of all you'll need a phone of your own to test builds, because the first time you build is never stable and it takes a while to fix things such as wifi, nfc, etc.
But you'll catch on Best of luck!

[Q] Adding Driver to Kernel and Loading it on Device - USB Griffin Powermate

Hello wise XDA sages,
Today I am working on a project that has me working with the Android Kernel and I need some help / directions from you all who know much more on the subject than me. I am trying to get the USB Griffin Powermate Dials to work with Android (via OTG), so I can use them in an application I am writing. Luckily, this has already been done: youtube.com/watch?v=xt6Ny8lG15s so I know the driver is available for Android. Moreover, the individual was nice enough to post his modified driver here: gist.github.com/tlorens/488752123c056202ac31
So, I have spent the last two days reading and studying the android Kernel and how to make/compile your own kernel. The only instructions via Google leave me with a few questions. I was able to build a generic kernel from scratch, but have found less documentation on how to add the driver in question and then how to load the zImage once it has been created to a device so that it will use it.
Could any of you help me with this project, or point me toward more detailed resources that can walk me through this process? I have a feeling that once I do this once, it will be easy to do in the future.
My questions are:
1. How do I take the above Android driver and integrate it into an Android Kernel for one of the following phones: Galaxy Nexus, Nexus 10, Nexus 7, Nexus 5, Galaxy S4, Galaxy Tab 4 (I am lucky enough to have access to many devices - which is the easiest to use? Does it matter?).
2. Do I need to make an entire AOSP rom to make this work, or will the kernel be sufficient.
I appreciate you masters helping a noob at kernel work. If this becomes hard to do, I would even be willing to toss anyone willing to help some cash via paypal for a step-by-step set of instructions for making the Powermate work on any of my devices. Biggest thing, is I want to learn how to do this myself
As always I appreciate this community,
Larry

Categories

Resources