← Back to team overview

ubuntu-phone team mailing list archive

Re: How to build Ubuntu Touch for Nexus 4

 

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"

$ git config --global 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 -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>wrote:

> Hi David,
>
> After getting the repositories as described in
> 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. 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>wiki.ubuntu.com
>> <https://wiki.ubuntu.com/Touch/AndroidDevel>/Touch/
>> <https://wiki.ubuntu.com/Touch/AndroidDevel>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>> 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>
>>
>>         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>>>
>>         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>>__>
>>
>>         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>
>>               >
>>               > 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>
>>
>>              Thanks for the hint; I'll update the wiki.
>>
>>              --
>>              Mailing list: https://launchpad.net/~ubuntu-__phone
>>         <https://launchpad.net/~ubuntu-phone>
>>              Post to     : ubuntu-phone@lists.launchpad.__net
>>         <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>
>>              <mailto:ubuntu-phone@lists.__launchpad.net
>>         <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>>
>>              Unsubscribe : https://launchpad.net/~ubuntu-__phone
>>         <https://launchpad.net/~ubuntu-phone>
>>              More help   : https://help.launchpad.net/__ListHelp
>>         <https://help.launchpad.net/ListHelp>
>>
>>
>>
>>
>>
>>     --
>>     Mailing list: https://launchpad.net/~ubuntu-__phone
>>     <https://launchpad.net/~ubuntu-phone>
>>     Post to     : ubuntu-phone@lists.launchpad.__net
>>     <mailto:ubuntu-phone@xxxxxxxxxxxxxxxxxxx>
>>     Unsubscribe : https://launchpad.net/~ubuntu-__phone
>>     <https://launchpad.net/~ubuntu-phone>
>>     More help   : https://help.launchpad.net/__ListHelp
>>     <https://help.launchpad.net/ListHelp>
>>
>>
>>
>>

Follow ups

References