Bouw je eigen Custom Rom

(25, 168, 'Bouw je eigen Custom Rom', 'bouw-je-eigen-custom-rom', '

Aangezien Cyanogenmod niet meer bestaat en er geen Custom Rom voor mijn apparaat (ASUS Memo Pad 7 ME176c - K013) is wilde ik dit zelf eens proberen.

\\r\\n

In de maas van Coding en Android is het uiteindelijk toch erg moeilijk een passende Tutarial te vinden.

\\r\\n

Note: Het is mij momenteel nog niet gelukt een passende Build voor mijn apparaat te maken. Toch wil ik e.e.a. delen hoe je te werkt kunt gaan. Althans heb je een begin om mee te werken en verder te gaan.

\\r\\n

--------- Elk commentaar of suggesties zijn welkom. -----------

\\r\\n

Kijk eens op https://source.android.com/source/initializing.html. Daar staat beschreven hoe dit moet.

\\r\\n

Dit is wat ik gedaan hebt (stap voor stap).

\\r\\n

Stap 1.

\\r\\n

Installeer eerst de juiste Linux versie. Let op dat je geen andere versie installeert, want dan krijg je build-fouten (vraag me niet waarom??).

\\r\\n

De versie die je moet hebben is UBUNTU 14.04.5 Desktop.

\\r\\n

\"Tux\"

\\r\\n

\"Downloadbutton\"

\\r\\n

Stap 2.

\\r\\n

Brand deze Image op een DVD of zet het op een USB Stick (zie onderstaande website hoe je dit het beste kan doen).

\\r\\n

https://www.linuxliveusb.com/

\\r\\n

Stap 3.

\\r\\n

Installeer dit rechtstreeks op je computer of server.

\\r\\n

Maar je kunt ook een virtuele omgeving aanmaken via VMware Player of Virtual Box.

\\r\\n

LET OP! Zorg ervoor dat je minstens 150GB aan schijfruimte hebt.

\\r\\n


Stap 4.

\\r\\n

Zodra alles geinstalleerd is ga je naar je Terminal. En voer het volgende in gevolgd met een Enter.

\\r\\n

\\r\\n

sudo apt-get update

\\r\\n

\\r\\n

 

\\r\\n

Stap 5.

\\r\\n

Zorg ervoor dat alle benodigde programma\'s geinstalleerd worden.

\\r\\n

Als je dit niet doen dan krijg je foutmeldingen en kun je geen eigen Custom Rom maken.

\\r\\n

\\r\\n

sudo apt-get install openjdk-8-jdk

\\r\\n

\\r\\n

\\r\\n

sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip

\\r\\n

\\r\\n

 Stap 6.

\\r\\n

Om toegang te krijgen tot je USB poorten dien je deze open te zetten. Standaard staat deze in Linux uit.

\\r\\n

Voer deze opdracht uit om standaard toegang te verlenen.

\\r\\n

\\r\\n

wget -S -O - http://source.android.com/source/51-android.rules | sed \"s/<GEBRUIKERSNAAM>/$USER/\" | sudo tee >/dev/null /etc/udev/rules.d/51-android.rules; sudo udevadm control --reload-rules

\\r\\n

\\r\\n

 

\\r\\n

GEBRUIKERNAAM = Je eigen gekozen gebruikersnaam van je Linux installatie

\\r\\n

Stap 7.

\\r\\n

Het installeren van REPO.

\\r\\n

Dit is noodzakelijk, omdat je via dit programma de SOURCE van Android binnen moet halen.

\\r\\n

Volgt deze commando\'s op het het lukt je vast.

\\r\\n

\\r\\n

mkdir ~/bin

\\r\\n

\\r\\n

\\r\\n

PATH=~/bin:$PATH

\\r\\n

\\r\\n

 

\\r\\n

\\r\\n

curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo

\\r\\n

\\r\\n

 

\\r\\n

\\r\\n

chmod a+x ~/bin/repo

\\r\\n

\\r\\n

Stap 8.

\\r\\n

Maak een Directory aan om vervolgens je SOURCE in te downloaden en vanuit daaruit ook je Rom te bouwen.

\\r\\n

\\r\\n

mkdir WORKING_DIRECTORY

\\r\\n

\\r\\n

\\r\\n

cd WORKING_DIRECTORY

\\r\\n

\\r\\n

Standaard wordt na het bouwen van je ROM deze opgeslagen in de map /out. Maar je kunt ook een eigen map aanmaken waarin je gemaakte bestanden in terecht kunnen komen

\\r\\n

\\r\\n

export OUT_DIR_COMMON_BASE=Build-Android-output

\\r\\n

\\r\\n

Stap 9.

\\r\\n

Om de Source te kunnen downloaden moet je je aanmelden bij de GIT.

\\r\\n

Het handigste is om een Google Email Account te hebben. Dat werkt altijd.

\\r\\n

 Voer het volgende commando in.

\\r\\n

\\r\\n

git config --global user.name \"JE NAAM\"

\\r\\n

\\r\\n

\\r\\n

git config --global user.email \"Dit e-mailadres wordt beveiligd tegen spambots. JavaScript dient ingeschakeld te zijn om het te bekijken.\"

\\r\\n

\\r\\n

Stap 10.

\\r\\n

Voordat je de Source download kun je ook nog een keuze maken welke \"BRANCHE\" je wilt hebben.

\\r\\n

Afhankelijk van je keuze (Lollipop, Marshmellow of Nougat resp. versie 5, 6 of 7) kun je dit vooraf bepalen.

\\r\\n

Zie de lijst met Branches.

\\r\\n

Als je een Custom Rom wilt maken gebaseerd op Marshmellow (versie 6) dan kun je bijvoorbeeld het volgende ingeven als commando

\\r\\n

\\r\\n

repo init -u https://android.googlesource.com/platform/manifest -b android-6.0.1_r78

\\r\\n

\\r\\n

Als je Custom Rom wilt maken gebaseerd op de laatste versie die er is dan kun je het volgende ingeven als commando

\\r\\n

\\r\\n

repo init -u https://android.googlesource.com/platform/manifest

\\r\\n

\\r\\n

Stap 11.

\\r\\n

Het download van de Source comform je opgave bij STAP 10.

\\r\\n

\\r\\n

repo sync

\\r\\n

\\r\\n

Let op! Dit kan afhaneklijk van je snelheid van de verbinding en van je PC een aantal uren duren.

\\r\\n

---- Wacht geduldig totdat alles klaar is! ----

\\r\\n

Stap 12.

\\r\\n

Verificatie is nodig om te kijken of alles goed is gegaan

\\r\\n

Voer het volgende in

\\r\\n

\\r\\n

gpg --import

\\r\\n

\\r\\n

Voer de volgende sleutel in (Kopieren en plakken met ctrl-shift-v) en sluit af met ctrl-D

\\r\\n

\\r\\n

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

\\r\\n

mQGiBEnnWD4RBACt9/h4v9xnnGDou13y3dvOx6/t43LPPIxeJ8eX9WB+8LLuROSV
lFhpHawsVAcFlmi7f7jdSRF+OvtZL9ShPKdLfwBJMNkU66/TZmPewS4m782ndtw7
8tR1cXb197Ob8kOfQB3A9yk2XZ4ei4ZC3i6wVdqHLRxABdncwu5hOF9KXwCgkxMD
u4PVgChaAJzTYJ1EG+UYBIUEAJmfearb0qRAN7dEoff0FeXsEaUA6U90sEoVks0Z
wNj96SA8BL+a1OoEUUfpMhiHyLuQSftxisJxTh+2QclzDviDyaTrkANjdYY7p2cq
/HMdOY7LJlHaqtXmZxXjjtw5Uc2QG8UY8aziU3IE9nTjSwCXeJnuyvoizl9/I1S5
jU5SA/9WwIps4SC84ielIXiGWEqq6i6/sk4I9q1YemZF2XVVKnmI1F4iCMtNKsR4
MGSa1gA8s4iQbsKNWPgp7M3a51JCVCu6l/8zTpA+uUGapw4tWCp4o0dpIvDPBEa9
b/aF/ygcR8mh5hgUfpF9IpXdknOsbKCvM9lSSfRciETykZc4wrRCVGhlIEFuZHJv
aWQgT3BlbiBTb3VyY2UgUHJvamVjdCA8aW5pdGlhbC1jb250cmlidXRpb25AYW5k
cm9pZC5jb20+iGAEExECACAFAknnWD4CGwMGCwkIBwMCBBUCCAMEFgIDAQIeAQIX
gAAKCRDorT+BmrEOeNr+AJ42Xy6tEW7r3KzrJxnRX8mij9z8tgCdFfQYiHpYngkI
2t09Ed+9Bm4gmEO5Ag0ESedYRBAIAKVW1JcMBWvV/0Bo9WiByJ9WJ5swMN36/vAl
QN4mWRhfzDOk/Rosdb0csAO/l8Kz0gKQPOfObtyYjvI8JMC3rmi+LIvSUT9806Up
hisyEmmHv6U8gUb/xHLIanXGxwhYzjgeuAXVCsv+EvoPIHbY4L/KvP5x+oCJIDbk
C2b1TvVk9PryzmE4BPIQL/NtgR1oLWm/uWR9zRUFtBnE411aMAN3qnAHBBMZzKMX
LWBGWE0znfRrnczI5p49i2YZJAjyX1P2WzmScK49CV82dzLo71MnrF6fj+Udtb5+
OgTg7Cow+8PRaTkJEW5Y2JIZpnRUq0CYxAmHYX79EMKHDSThf/8AAwUIAJPWsB/M
pK+KMs/s3r6nJrnYLTfdZhtmQXimpoDMJg1zxmL8UfNUKiQZ6esoAWtDgpqt7Y7s
KZ8laHRARonte394hidZzM5nb6hQvpPjt2OlPRsyqVxw4c/KsjADtAuKW9/d8phb
N8bTyOJo856qg4oOEzKG9eeF7oaZTYBy33BTL0408sEBxiMior6b8LrZrAhkqDjA
vUXRwm/fFKgpsOysxC6xi553CxBUCH2omNV6Ka1LNMwzSp9ILz8jEGqmUtkBszwo
G1S8fXgE0Lq3cdDM/GJ4QXP/p6LiwNF99faDMTV3+2SAOGvytOX6KjKVzKOSsfJQ
hN0DlsIw8hqJc0WISQQYEQIACQUCSedYRAIbDAAKCRDorT+BmrEOeCUOAJ9qmR0l
EXzeoxcdoafxqf6gZlJZlACgkWF7wi2YLW3Oa+jv2QSTlrx4KLM=
=Wi5D
-----END PGP PUBLIC KEY BLOCK-----

\\r\\n

\\r\\n

Stap 13.

\\r\\n

Dit is het lastigste gedeelte.

\\r\\n

Standaard build heeft geen drivers voor je apparaat bijvoorbeeld Wifi, Radio voor het aansturen van je apparaat, geluid etc.

\\r\\n

Dit is het belangrijste stuk software die je nodig hebt om je tablet of telefoon op de juiste manier aan te sturen.

\\r\\n

Hier bleef ik op hangen, want ik weet niet goed waar ik dit moet zoeken.

\\r\\n

Volgens de wegsite van Android kun je zoeken in de Binairies van je apparaat. Maar in mijn geval is dit een Asus met Intel processor.

\\r\\n

Vindt een bijpassende Binairie bij de juiste Branche. Als je voor Marshmellow hebt gekozen moet je ook de laatste Binaires hebben van deze versie.

\\r\\n

Lijkt me logisch, maar welke moet ik dan hebben?

\\r\\n

Je hebt een ASUS fugu en andere codenamen, maar deze passen niet op mijn Asus Memo pad 7.

\\r\\n

Hier bleef ik dus steken.

\\r\\n

Stel dat je de juiste Bianaires gevoden hebt dan moet je deze Bianairies uitpakken in de map /Vendor.

\\r\\n

---- We gaan dan verder met de volgende Stap ----

\\r\\n

Stap 14.

\\r\\n

Elke keer als je een nieuw apparaat wilt bouwen of opnieuw wilt beginnen moet je het volgende doen

\\r\\n

Dus ook deze eerste keer

\\r\\n

\\r\\n

make clobber

\\r\\n

\\r\\n

Stap 15.

\\r\\n

De omgeving opmaken

\\r\\n

\\r\\n

source build/envsetup.sh

\\r\\n

\\r\\n

Stap 16.

\\r\\n

Bouwstenen opzetten

\\r\\n

\\r\\n

lunch

\\r\\n

\\r\\n

Je krijgt dan een keuze uit verschillen bouwmogelijkheden.

\\r\\n

Kijk of die van jouw erbij staat. Je kunt ook standaard nummer 1 kiezen (de AOSP - build)

\\r\\n

Stap 17.

\\r\\n

Maak je eigen Android Versie met het commando \'make\'

\\r\\n

\\r\\n

make dist DIST_DIR=Build-Android-output

\\r\\n

\\r\\n

Dit is de map die je bij stap 8 hebt aangemaakt.

\\r\\n

En dan is het wachten tot het bouwen klaar is. En hopelijk zonder foutmeldingen (als het goed is)

\\r\\n

Stap 18.

\\r\\n

De uitkomst komt dan in je map Build-Android-output waar je een ZIP-bestand vindt. Deze kun je dan flashen.

', '', 1, 11, '2017-02-21 08:32:37', 615, '', '2017-02-22 07:46:43', 615, 0, '0000-00-00 00:00:00', '2017-02-21 08:32:37', '0000-00-00 00:00:00', '{\"image_intro\":\"\",\"float_intro\":\"\",\"image_intro_alt\":\"\",\"image_intro_caption\":\"\",\"image_fulltext\":\"\",\"float_fulltext\":\"\",\"image_fulltext_alt\":\"\",\"image_fulltext_caption\":\"\"}', '{\"urla\":false,\"urlatext\":\"\",\"targeta\":\"\",\"urlb\":false,\"urlbtext\":\"\",\"targetb\":\"\",\"urlc\":false,\"urlctext\":\"\",\"targetc\":\"\"}', '{\"show_title\":\"\",\"link_titles\":\"\",\"show_tags\":\"\",\"show_intro\":\"\",\"info_block_position\":\"\",\"info_block_show_title\":\"\",\"show_category\":\"\",\"link_category\":\"\",\"show_parent_category\":\"\",\"link_parent_category\":\"\",\"show_author\":\"\",\"link_author\":\"\",\"show_create_date\":\"\",\"show_modify_date\":\"\",\"show_publish_date\":\"\",\"show_item_navigation\":\"\",\"show_icons\":\"\",\"show_print_icon\":\"\",\"show_email_icon\":\"\",\"show_vote\":\"\",\"show_hits\":\"\",\"show_noauth\":\"\",\"urls_position\":\"\",\"alternative_readmore\":\"\",\"article_layout\":\"\",\"show_publishing_options\":\"\",\"show_article_options\":\"\",\"show_urls_images_backend\":\"\",\"show_urls_images_frontend\":\"\"}', 15, 0, 'Bouw je eigen Custom Rom, Build your own Custom Rom', 'Bouw je eigen Custom Rom, Build your own Custom Rom', 1, 44, '{\"robots\":\"\",\"author\":\"\",\"rights\":\"\",\"xreference\":\"\"}', 0, '*', '');