← Back to team overview

ubuntu-phone team mailing list archive

Re: How to build Ubuntu Touch for Nexus 4

 

"I don't know where the difference comes from, but now I don't get the
error about a missing spec file anymore."

Figure it out is definitely the best knowledge, skills, teaching, you could
have.
In my opinion it's even more important than reaching the building goal.

About the binaries blobs I don't know cause I was working on a hammerhead
port and I only built the real CM. I know that I didn't encounter
difficulties with that part. And I also know that I didn't need to install
CM.

So I suggest to try twice. Use the "adb devices" command first and make
sure you have a good response (xxxxxxxx device). If it's offline or there
is no response it won't work for sure.

If it still doesn't work... I'm sorry I won't be able to help you without a
N4 to test myself.
On Mar 18, 2014 9:41 AM, "Mathias Bauer" <mathias_bauer@xxxxxxx> wrote:

> Hi David,
>
> thanks, that's a lot better. I don't know where the difference comes from,
> but now I don't get the error about a missing spec file anymore.
>
> I wonder about the extracting of the binary files.
>
> The "building" wiki pages mentions that they should be taken from a CM
> image. I tried to run the script with an attached unlocked Nexus 4 with
> Android 4.3 installed (no CM). In that case I got some "...does not exit"
> error messages and the access to /data on the Nexus was completely
> impossible. So is it required to first install CM on the device so that
> porting Ubuntu Touch also requires an existing CM port?
>
> Regards,
> Mathias
>
> Am 18.03.14 06:27, schrieb David Peter:
>
>> Hi
>>
>> I just did it from scratch. You'll find all my commands preceded by the
>> link where I found the info (except maybe the croot command which I
>> found on the CM wiki, This command is in the package of envsetup.sh).
>>
>> I did not do the extract-file.sh as I do not have a N4, and it will fail
>> the build otherwise.
>>
>> Good point about the JDK, it's just due to the Android part. Hopefully
>> it won't last long.
>>
>> Maybe my method is old school. Or you could remark that the manifest get
>> some prebuilt package, but where do they comefrom? I don't know... So I
>> found yesterday response from F69M to the post "Porting Guide" very
>> intereting and I should give attention to it.
>>
>>
>> Here is my method, and this is all I know on this subject, good luck:
>>
>> https://wiki.ubuntu.com/Touch/Building
>>
>> $ sudo apt-get install git gnupg flex bison gperf build-essential \
>>
>> zip bzr curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
>>
>> libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
>>
>> libgl1-mesa-dev g++-multilib mingw32 tofrodos \
>>
>> python-markdown libxml2-utils xsltproc zlib1g-dev:i386 schedtool
>>
>> $ sudo apt-get install openjdk-6-jdk
>>
>>
>> https://wiki.ubuntu.com/Touch/Install#Step_1_-_Desktop_Setup
>>
>> $ sudo add-apt-repository ppa:phablet-team/tools
>>
>> $ sudo apt-get update
>>
>> $ sudo apt-get install ubuntu-device-flash
>>
>>
>> http://source.android.com/source/initializing.html#ccache
>>
>> |$ ||export USE_CCACHE=1|
>>
>>
>> http://source.android.com/source/downloading.html#installing-repo
>>
>> |$ ||mkdir ~/bin|
>>
>> |$ ||PATH=~/bin:$PATH|
>>
>> $ curl http://commondatastorage.googleapis.com/git-repo-downloads/repo >
>> ~/bin/repo
>>
>> $ chmod a+x ~/bin/repo
>>
>> $ git config --global user.email "you@xxxxxxxxxxx <mailto:you@xxxxxxxxxxx
>> >"
>>
>> $ git config --global user.name <http://user.name> "Your Name"
>>
>>
>> https://wiki.ubuntu.com/Touch/AndroidDevel
>>
>> $ mkdir -p /path/to/phablet; cd /path/to/phablet
>>
>> $ repo init -u git://phablet.ubuntu.com/CyanogenMod/android.git
>> <http://phablet.ubuntu.com/CyanogenMod/android.git> -b phablet-trusty
>>
>> $ repo sync -j 8
>>
>>
>> https://wiki.ubuntu.com/Touch/Porting &
>> https://wiki.ubuntu.com/Touch/Building
>>
>> $ . build/envsetup.sh
>>
>> $ breakfast [codename]
>>
>> $ repo sync
>>
>> *$ adb devices*
>>
>> /*<your device appears here>*/
>>
>> *$ cd device/[manufacturer]/[codename]*
>>
>> *$ ./extract-files.sh*
>>
>> $ croot
>>
>> $ brunch [codename]
>>
>>
>>
>>
>>
>> On Mon, Mar 17, 2014 at 10:53 AM, Mathias Bauer <mathias_bauer@xxxxxxx
>> <mailto:mathias_bauer@xxxxxxx>> wrote:
>>
>>     Hi David,
>>
>>     After getting the repositories as described in
>>     https://wiki.ubuntu.com/Touch/__AndroidDevel
>>     <https://wiki.ubuntu.com/Touch/AndroidDevel> (saucy replaced by
>>     trusty) I still have no folder called devices/lge/mako. Basically it
>>     looks the same as after calling "phable-dev-bootstrap".
>>
>>     Calling "breakfast mako" then complains that it can't find device
>>     mako and fetches a device repository from phablet.ubuntu.com
>>     <http://phablet.ubuntu.com>. After that I have a folder
>>     device/lge/mako. But breakfast at the end still is complaining that
>>     it does not have a product spec "cm_mako."
>>
>>     Calling "breakfast mako" again yields the same error "device mako
>>     not found", it again tries to fetch the device repository, but
>>     detects that it already has one. Nevertheless, is still misses the
>>     spec "cm_mako".
>>
>>     "breakfast" also complains about missing jdk6. I thought that no
>>     Java bits are needed to build Ubuntu Touch (as the build
>>     instructions tell), so I'm again a bit confused - now I don't know
>>     if "breakfast" did all what it needed to do before the next can be
>>     started.
>>
>>     At least cm_mako obviously is needed for the build, so it can't go
>>     on here.
>>
>>     Any help would be very welcome.
>>
>>     Regards,
>>     Mathias
>>
>>     Am 13.03.14 23:24, schrieb David Peter:
>>
>>         You're right, I had couple of trouble here too.
>>         In fact there is a clue in the Ubuntu porting guide:
>>         " You can check out the source code using the repo and git tools
>>         already
>>         familiar to Android ROM developers, as described here
>>
>>         https <https://wiki.ubuntu.com/__Touch/AndroidDevel
>>         <https://wiki.ubuntu.com/Touch/AndroidDevel>>://
>>         <https://wiki.ubuntu.com/__Touch/AndroidDevel
>>         <https://wiki.ubuntu.com/Touch/AndroidDevel>>wiki.__ubuntu.com
>>         <http://wiki.ubuntu.com>
>>         <https://wiki.ubuntu.com/__Touch/AndroidDevel
>>         <https://wiki.ubuntu.com/Touch/AndroidDevel>>/Touch/
>>         <https://wiki.ubuntu.com/__Touch/AndroidDevel
>>         <https://wiki.ubuntu.com/Touch/AndroidDevel>>__AndroidDevel
>>
>>         <https://wiki.ubuntu.com/__Touch/AndroidDevel
>>         <https://wiki.ubuntu.com/Touch/AndroidDevel>>
>>         "
>>         Go to this link and follow the direct checkout section. Replace
>>         saucy
>>         repo with trusty.
>>
>>         Once done proceed like the CM guide, it should be steps like (I
>>         don't
>>         remember exactly):
>>         source ./build/setenv...
>>         breakfast mako
>>         extract binaries
>>         brunch mako
>>
>>         Good luck
>>
>>         On Mar 13, 2014 8:22 AM, "Mathias Bauer" <mathias_bauer@xxxxxxx
>>         <mailto:mathias_bauer@xxxxxxx>
>>         <mailto:mathias_bauer@xxxxxxx <mailto:mathias_bauer@xxxxxxx>>__>
>>         wrote:
>>
>>              Hi David,
>>
>>              please correct me if I'm wrong, this surely helps to
>>         understand the
>>              build process better, but it does not give me the sources
>>         to build
>>              Ubuntu Touch. As I understood, the phablet-dev-bootstrap
>>         tool is
>>              meant to provide a source tree that is based on the
>> CyanogenMod
>>              sources, but reduced by everything not needed for Ubuntu
>> Touch
>>              (Dalvik etc.), extended by stuff that OTOH Ubuntu Touch
>> needs.
>>
>>              So if I follow the CM instructions, I need a further step
>>         that turns
>>              the CM source tree into an Ubuntu Touch source tree.
>>
>>              Regards,
>>              Mathias
>>
>>              Am 12.03.14 21:24, schrieb David Peter:
>>
>>                  Sergio is right follow the CyanogenMod's way, here it is:
>>         http://wiki.cyanogenmod.org/w/____Build_for_mako
>>         <http://wiki.cyanogenmod.org/w/__Build_for_mako>
>>
>>                  <http://wiki.cyanogenmod.org/__w/Build_for_mako
>>         <http://wiki.cyanogenmod.org/w/Build_for_mako>>
>>
>>                  Read it, do it, everything will become very clear
>>
>>
>>                  On Wed, Mar 12, 2014 at 12:17 PM, Sergio Schvezov
>>                  <sergio.schvezov@xxxxxxxxxxxxx
>>         <mailto:sergio.schvezov@xxxxxxxxxxxxx>
>>                  <mailto:sergio.schvezov@__canonical.com
>>         <mailto:sergio.schvezov@xxxxxxxxxxxxx>>
>>                  <mailto:sergio.schvezov@
>>         <mailto:sergio.schvezov@>__cano__nical.com <http://canonical.com>
>>
>>                  <mailto:sergio.schvezov@__canonical.com
>>         <mailto:sergio.schvezov@xxxxxxxxxxxxx>>>>
>>                  wrote:
>>
>>                       On Wed, Mar 12, 2014 at 12:30 PM, Mathias Bauer
>>                       <mathias_bauer@xxxxxxx
>>         <mailto:mathias_bauer@xxxxxxx> <mailto:mathias_bauer@xxxxxxx
>>         <mailto:mathias_bauer@xxxxxxx>>
>>                  <mailto:mathias_bauer@xxxxxxx
>>         <mailto:mathias_bauer@xxxxxxx> <mailto:mathias_bauer@xxxxxxx
>>         <mailto:mathias_bauer@xxxxxxx>>__>__>
>>
>>                  wrote:
>>                        > Hi,
>>                        >
>>                        > I want to build a Ubuntu Touch for Nexus 4 by
>>         myself as an
>>                       exercise to start
>>                        > into the world of Ubuntu Touch porting.
>>                        >
>>                        > I tried to follow the instructions found here:
>>                        >
>>                        > https://wiki.ubuntu.com/Touch/____Building
>>         <https://wiki.ubuntu.com/Touch/__Building>
>>
>>                  <https://wiki.ubuntu.com/__Touch/Building
>>         <https://wiki.ubuntu.com/Touch/Building>>
>>                        >
>>                        > So I got the code by calling
>>                        >
>>                        > phablet-dev-bootstrap [target_directory]
>>
>>                       Can you add '--sources aosp' to that?
>>
>>                        > After that step the instructions let me think
>>         that there
>>                  should
>>                       be a file
>>                        >
>>                        >
>>         [target_directory]/device/lge/____mako/extract_files.sh
>>
>>                        >
>>                        > But there isn't even a "mako" under device/lge
>>         directory.
>>                        >
>>                        > Maybe I misunderstood the instructions, so I
>>         would be
>>                  glad to get an
>>                        > expanation.
>>
>>                       No misunderstanding; it just hasn't been updated;
>>         That part
>>                  of the
>>                       instructions is outdated (follos CyanogenMod's way
>>         of doing
>>                  things).
>>
>>                       You basically need to follow
>>         http://source.android.com/____source/building-devices.html#_
>> ___obtaining-proprietary-__binaries
>>         <http://source.android.com/__source/building-devices.html#_
>> _obtaining-proprietary-binaries>
>>
>>
>>         <http://source.android.com/__source/building-devices.html#_
>> _obtaining-proprietary-binaries
>>         <http://source.android.com/source/building-devices.html#
>> obtaining-proprietary-binaries>__>
>>
>>                       Thanks for the hint; I'll update the wiki.
>>
>>                       --
>>                       Mailing list:
>>         https://launchpad.net/~ubuntu-____phone
>>         <https://launchpad.net/~ubuntu-__phone>
>>                  <https://launchpad.net/~__ubuntu-phone
>>         <https://launchpad.net/~ubuntu-phone>>
>>                       Post to     : ubuntu-phone@lists.launchpad.____net
>>                  <mailto:ubuntu-phone@lists.__launchpad.net
>>         <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>>
>>                       <mailto:ubuntu-phone@lists.
>>         <mailto:ubuntu-phone@lists.>__l__aunchpad.net <
>> http://launchpad.net>
>>                  <mailto:ubuntu-phone@lists.__launchpad.net
>>         <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>>>
>>                       Unsubscribe :
>>         https://launchpad.net/~ubuntu-____phone
>>         <https://launchpad.net/~ubuntu-__phone>
>>                  <https://launchpad.net/~__ubuntu-phone
>>         <https://launchpad.net/~ubuntu-phone>>
>>                       More help   :
>>         https://help.launchpad.net/____ListHelp
>>         <https://help.launchpad.net/__ListHelp>
>>                  <https://help.launchpad.net/__ListHelp
>>         <https://help.launchpad.net/ListHelp>>
>>
>>
>>
>>
>>
>>              --
>>              Mailing list: https://launchpad.net/~ubuntu-____phone
>>         <https://launchpad.net/~ubuntu-__phone>
>>              <https://launchpad.net/~__ubuntu-phone
>>         <https://launchpad.net/~ubuntu-phone>>
>>              Post to     : ubuntu-phone@lists.launchpad.____net
>>              <mailto:ubuntu-phone@lists.__launchpad.net
>>         <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>>
>>              Unsubscribe : https://launchpad.net/~ubuntu-____phone
>>         <https://launchpad.net/~ubuntu-__phone>
>>              <https://launchpad.net/~__ubuntu-phone
>>         <https://launchpad.net/~ubuntu-phone>>
>>              More help   : https://help.launchpad.net/____ListHelp
>>         <https://help.launchpad.net/__ListHelp>
>>              <https://help.launchpad.net/__ListHelp
>>         <https://help.launchpad.net/ListHelp>>
>>
>>
>>
>>
>>

Follow ups

References