Motorola Moto G (2014) — Compilando ROMs [CM12/CM12.1] a partir do source para o Moto G 2014

  • Respostas:11
Emerson
  • Posts no fórum: 2 888

21/04/2015, 21:40:30 via Web

REQUISITOS (PC)

4+ GB de ram.
É preferível ser quadcore
HDD/SSD (SSD é recomendado)
Uma conta no Github,por favor faça aqui (É de graça) :D

LINUX 64-Bit
Você precisa de um sistema baseado no linux 64-Bit, eu uso o Ubuntu 14.10 (Utopic Unicorn)

Montando o local de trabalho

  • Parte 1

$ sudo apt-get update && sudo apt-get install openjdk-7-jdk
$ sudo apt-get install git-core gnupg ccache lzop flex bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 libc6-dev lib32ncurses5 lib32z1 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z-dev libgl1-mesa-glx:i386 libgl1-mesa-dev g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc readline-common libreadline6-dev libreadline6 lib32readline-gplv2-dev libncurses5-dev lib32readline5 lib32readline6 libreadline-dev libreadline6-dev:i386 libreadline6:i386 bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev lib32bz2-dev libsdl1.2-dev libesd0-dev squashfs-tools pngcrush schedtool libwxgtk2.8-dev python

Copie e cole os comandos em um terminal e o execute, fará downloads de uns 200 MB correspondente ao java e 600 MB de outros arquivos necessários.

Depos de baixar tudo é necessário corrigir algumas coisas, então execute este comando:

sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

  • Parte 2

mkdir ~/bin && curl http://commondatastorage.googleapis.com/git-repo-downloads/repo > ~/bin/repo && chmod a+x ~/bin/repo

O comando acima inicia os materiais do repo.
O comando a seguir adiciona o repo ao bashrc para facilitar o uso.

sudo nano ~/.bashrc

Não tenha medo do nano
Coloque isto no final:

export PATH=~/bin:$PATH

Para salvar pressione ctrl O e depois ctrl X para sair.
Agora atualize o bashrc, executando o comando:

source ~/.bashrc

Baixando a CM12/CM12.1:

Vamos fazer uma pasta para guardar tudo:

mkdir -p ~/titan/cm12 && cd ~/titan/cm12/

Agora você está dentro da pasta CM 12

Inicie o repo da CM

CM 12 (5.0.2)

repo init -u git://github.com/CyanogenMod/android.git -b cm-12.0

CM 12.1 (5.1)

repo init -u git://github.com/CyanogenMod/android.git -b cm-12.1

  • Agora pode dar um pequeno erro relacionado ao ID. Então agora é hora de adicionar suas infos github

git config --global user.email "você@eexemplo.com"
git config --global user.name "Seu nome"

Exemplo:

git config --global user.email "emerson@exemplo.com"
git config --global user.name "Emerson"

Ainda não foi baixado o source, isto será feito na próxima parte.

Baixando códigos específicos do aparelho (E códigos CM)

Agradeço ao Luca e Luk por ter feito este processo tão fácil de fazer, sem precisar procurar por ai e tendo que editar manifests e coisas, apenas uma simples linha:

CM 12

curl --create-dirs -L -o .repo/local_manifests/titan.xml -O -L https://raw.github.com/motog2014devteam/roomservice/cm-12.0/manifest.xml

CM 12.1

curl --create-dirs -L -o .repo/local_manifests/titan.xml -O -L https://raw.github.com/motog2014devteam/roomservice/cm-12.1/manifest.xml

Este processo pode demorar mais de 1-2 Horas, depende da sua conexão com a internet, tem por volta de 1 GB de arquivos.

Hora de baixar todos os códigos.
Execute este comando para baixar tudo junto:

repo sync

Nota: Sources são enormes, e normalmente tem de 12 a 15 GB, você tem que ter paciência, e levara muito tempo para baixar dependendo da sua internet.

Pior parte, sente e espere, você pode fazer outras coisas mas pra isso tem que executar:

repo sync -j2

Ou repo sync -j4 isto permite o uso da internet durante o download, mas levara mais tempo para terminar.

Compilando

Agora que você baixou todos os sources, você está pronto pŕa fazer sua 1ª build :D

Execute:

./build.sh -c1 titan

Este processo pode demorar de 1.5 até 3 horas

Se quer fazer uma build nova e remover todas as anteriores, execute:

./build.sh -c2 titan

E se quiser, também pode baixar as ultimas mudanças feitas pela CM, execute:

./build -c1 -s titan

Novamente mude c1 para c2, se quer fazer uma build nova.

Tutorial feito por Pizza_Dox e traduzido por Emerson

Fonte: XDA

— alterado em 07/05/2015, 04:16:51

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Caio Oliveira

Responder
Emerson
  • Posts no fórum: 2 888

21/04/2015, 21:41:25 via Web

Reservado

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Responder
Emerson
  • Posts no fórum: 2 888

21/04/2015, 21:41:31 via Web

Reservado

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Responder
Emerson
  • Posts no fórum: 2 888

21/04/2015, 21:41:56 via Web

Só mais um reservado

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Responder
Caio Oliveira
  • Posts no fórum: 374

27/04/2015, 13:24:45 via Web

Obrigado!:D

LG Optimus L3 II Dual (LG-E435)

Project Vee3
TWRP3 | CM11 | Mokee OS KK | PacManKK | CM12.1@dadziokPL | CM13@dadziokPL | VeeKernel3

Project V1
TWRP3 | CM11 | VeeKernel3

Project FalconSS
TWRP3 | CM11 | FalconSSKernel

Responder
Pedro
  • Posts no fórum: 771

27/04/2015, 13:30:41 via Web

Parabéns pelo tutorial, Emerson, dessa forma fica bem mais fácil. Uma pergunta, existe a possibilidade disso funcionar em outros aparelhos? Lógico, com a Source de cada um. Se existir essa possibilidade você poderia fazer outro desse na forum dos desenvolvedores, ficaria top!

— alterado em 27/04/2015, 13:32:38

¬ Device: L Bello / Prime
¬ System: Android 5.0.2
¬ Version: LG D335 v20c

Possui um L Prime? Visite o fórum do L Prime no AndroidPit ou a comunidade LG L Prime no G+ agora mesmo!

Responder
Emerson
  • Posts no fórum: 2 888

27/04/2015, 13:41:02 via App

Pedro

Parabéns pelo tutorial, Emerson, dessa forma fica bem mais fácil. Uma pergunta, existe a possibilidade disso funcionar em outros aparelhos? Lógico, com a Source de cada um. Se existir essa possibilidade você poderia fazer outro desse na forum dos desenvolvedores, ficaria top!

Vou fazer algo mais completo, neste para fazer precisa ser compatível com aparelho e os desenvolvedores da Cm pra titan facilitou pegar os sources do device, depois vou adicionar como portar ROM com o device tree da CM (Quando o aparelho tem suporte a nightly) , e depois como fazer a device tree de um aparelho que não tem CyanogenMod. Quando fizer isso peço para um moderador mover.

Valeu pelo comentário :D

— alterado em 27/04/2015, 13:44:13

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Responder
Pedro
  • Posts no fórum: 771

27/04/2015, 13:46:27 via Web

Esse menino está muito inteligente! Fico feliz por isso. Parabéns! 😁

¬ Device: L Bello / Prime
¬ System: Android 5.0.2
¬ Version: LG D335 v20c

Possui um L Prime? Visite o fórum do L Prime no AndroidPit ou a comunidade LG L Prime no G+ agora mesmo!

Responder
Pedro
  • Posts no fórum: 771

27/04/2015, 14:07:13 via Web

Só fazendo uma observação, não planejo testar isso no meu l prime, sei que com ele só se alguem muito surreal conseguir. #mtk

— alterado em 27/04/2015, 14:08:27

¬ Device: L Bello / Prime
¬ System: Android 5.0.2
¬ Version: LG D335 v20c

Possui um L Prime? Visite o fórum do L Prime no AndroidPit ou a comunidade LG L Prime no G+ agora mesmo!

Responder
Caio Oliveira
  • Posts no fórum: 374

07/05/2015, 03:44:16 via Web

Tem um erro de digitação:

export PATH=~/bin: $PATH

Tem um espaço depois do ":" e esta dando erros, o correto é isto:

export PATH=~/bin:$PATH

Nota: Pode copiar sem medo o smilley não vai para no nano.

Vim aqui pois estou com problemas em construir a CM12.1 e fiz passo a passo

LG Optimus L3 II Dual (LG-E435)

Project Vee3
TWRP3 | CM11 | Mokee OS KK | PacManKK | CM12.1@dadziokPL | CM13@dadziokPL | VeeKernel3

Project V1
TWRP3 | CM11 | VeeKernel3

Project FalconSS
TWRP3 | CM11 | FalconSSKernel

Responder
Emerson
  • Posts no fórum: 2 888

07/05/2015, 04:18:59 via App

Caio Oliveira

Tem um erro de digitação:

export PATH=~/bin: $PATH

Tem um espaço depois do ":" e esta dando erros, o correto é isto:

export PATH=~/bin:$PATH

Nota: Pode copiar sem medo o smilley não vai para no nano.

Vim aqui pois estou com problemas em construir a CM12.1 e fiz passo a passo

Vlw pelo aviso, quais problemas?

Smartphone: Moto G 2014 (XT1069) - Codinome: Titan
Sistema: Marshmallow STOCK
Kernel: Stock M
Versão do Android: 6.0

Responder
Caio Oliveira
  • Posts no fórum: 374

07/05/2015, 15:54:26 via Web

Era o maldito java, pois tenho o repo da CM11 e da CM12.1 e eles usam javas diferentes (Java7/OpenJDK).
Resolvi assim, coloquei no .bashrc o seguinte:

alias unjava="sudo apt-get purge oracle-jdk7-installer oracle-java7-installer"
alias injava="sudo apt-get install oracle-jdk7-installer oracle-java7-installer"

Quando for compilar a CM11 dou o comando "injava" e instalo o Java sera instalado e ficara por padrão, e quando for compilar a CM12.1 dou o comando "unjava" e o Java sera desinstalado e o OpenJDK ficara por padrão.
E então é isso, mesmo assim, obrigado por trazer esse tuto essencial para a nosso idioma.

LG Optimus L3 II Dual (LG-E435)

Project Vee3
TWRP3 | CM11 | Mokee OS KK | PacManKK | CM12.1@dadziokPL | CM13@dadziokPL | VeeKernel3

Project V1
TWRP3 | CM11 | VeeKernel3

Project FalconSS
TWRP3 | CM11 | FalconSSKernel

Responder