Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Android unter Gentoo bauen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 943
Location: Germany

PostPosted: Thu Dec 06, 2018 4:40 pm    Post subject: Android unter Gentoo bauen Reply with quote

Hallo Leute,

ich würde ganz gerne ein Android System unter Gentoo bauen.
Die Anleitungen beziehen sich meistens auf Ubunntu LTS.
Geht das auch unter Gentoo?

Wenn ich im Portage nach den Softwarepakete suche, finde ich manche nicht.
Es gibt wohl im layman was, aber funktioniert nicht wirklich.

Hat das jemand schonmal gemacht oder doch ein Ubuntu in einer VM installieren.
Eigentlich möchte ich VM vermeiden und es lieber direkt unter Gentoo bearbeiten.

Gruß Jörg
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4392

PostPosted: Thu Dec 06, 2018 5:08 pm    Post subject: Reply with quote

Klar geht das unter jeder linux distribution, vorraussetzung ist nur die passenden pakete installiert zu haben.

Welche Pakete findest du denn nicht?
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
JoHo42
l33t
l33t


Joined: 14 Feb 2004
Posts: 943
Location: Germany

PostPosted: Sun Dec 09, 2018 11:09 am    Post subject: Liste von erforderlicher SW Reply with quote

Hi firefly,

hier ist die Liste an programmen die installieret werden soll:
bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev

Die Liste ist für Ubuntu (https://forum.xda-developers.com/chef-central/android/how-to-build-lineageos-14-1-t3551484) und nicht für Gentoo, es gibt keine Liste für Gentoo.

Was es davon nicht unter Gentoo gibt:
build-essential
g++-multilib
gcc-multilib
lib32ncurses5-dev
lib32readline-gplv2-dev
usw...

Gruß Jörg
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4392

PostPosted: Sun Dec 09, 2018 3:26 pm    Post subject: Reply with quote

Quote:
g++-multilib
gcc-multilib

Das ist nichts anderes als dass der gcc auch 32bit binaries bauen kann bzw. in 32bit existiert. Und wenn du unter gentoo multilib verwendest (ein entsprechendes profil ist aktiv) dann ist der part schon installiert.
Die ganzen -dev sachen sind nicht relevant unter gentoo. Diese pakete enhalten nur die Teile (z.b. header files beu c/c++ code), welche benötigt werden um ein anderes programm, welches diese libs verwendet bauen zu können.
Da unter gentoo alles aus sourcen gebaut wird sind diese Teile schon im system vorhanden.
Du musst nur die entsprechenden pakete (z.b. libxml2 für libxml2-dev) installiert haben.
Für die lib32 varianten musst du unter gentoo das paket (ohne den lib32 prefix) installiert haben und dabei muss ABI_X86=32 für das paket beim bauen gesetzt sein.
Durch ABI_X86=32 wird das paket neben der 64bit Fassung auch in einer 32bit Fassung gebaut.
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2184
Location: Germany

PostPosted: Sun Dec 09, 2018 5:49 pm    Post subject: Reply with quote

hi JoHo42,

wenn du auch lineageos bauen willst. Das geht allerdings gab es ein paar Stolpersteine. Ich hab das nicht an die XDA-Developer Anleitung gehalten aber an die aus dem Lineagewiki zu dem Device welches ich bauen wollten Bsp wiki LG G2 (Intl). Bei der von dir genannten Liste:

bc bison build-essential curl flex g++-multilib gcc-multilib git gnupg gperf imagemagick lib32ncurses5-dev lib32readline-gplv2-dev lib32z1-dev libesd0-dev liblz4-tool libncurses5-dev libsdl1.2-dev libwxgtk2.8-dev libxml2 libxml2-utils lzop pngcrush schedtool squashfs-tools xsltproc zip zlib1g-dev

Hab ich einfach alle installiert die ich mit ähnlichem Namen per eix in portage finden konnte.

1. Dann musste ich in dem Build-Verzeichnis (~/android/lineageos) noch python2_7 als Default setzten weil das die Build Skripte wohl voraussetzen, aber das geht eifnach mit dev-python/virtualenv.

2. Wegen einem Bug im Breakfast Skript, sollte man wohl "export LC_ALL=C", sonst bricht er immer mit einem Date Time Fehler ab.

Google selber bietet auch umfangreiche Informationen zum Build Umgebung, also android-sdk-update-manager sollte schon installiert sein. Das ist mittlerweile aber ein Monster der selber den Download von Android und Abhängkeiten vor nimmt. Hab hier direkt 2.4.4.1 unstable installiert.

Einzig das mit dem openjdk ist ein wenig seltsam. Ich braucht halt für Lineageos 14 und 15 Openjdk 1.8 und das gibt es wohl nur von Oracle (dev-java/oracle-jdk-bin), weil openjdk unter Gentoo die Version 11.0.1_p13 besitzt, hab ich es damit gar nicht erst probiert.

Zur Liste:

sys-libs/ncurses-5.9-r101
sys-libs/readline-7.0_p3

Wenn du noch fragen hast schreib einfach dann schau ich nach. Das mit den 32-Bit Versionen hat firefly ja schon geschrieben. Ich glaube Multilib ist bei Gentoo sogar default und no-multilib die Ausnahme. Ich hab jedenfalls ein Multilib-System und da nichts besonders angegeben.
Back to top
View user's profile Send private message
firefly
Advocate
Advocate


Joined: 31 Oct 2002
Posts: 4392

PostPosted: Sun Dec 09, 2018 7:37 pm    Post subject: Reply with quote

ChrisJumper wrote:
Einzig das mit dem openjdk ist ein wenig seltsam. Ich braucht halt für Lineageos 14 und 15 Openjdk 1.8 und das gibt es wohl nur von Oracle (dev-java/oracle-jdk-bin), weil openjdk unter Gentoo die Version 11.0.1_p13 besitzt, hab ich es damit gar nicht erst probiert.

Die version sagt erstmal gar nichts. Die Version von openjdk, der java api version und die version des paketes, welche eine java runtime (mit hilfe von openjdk) zusammenstellt, müssen nicht identisch sein.
Z.b. habe ich icedtea (in der -bin variante) in version 3.9.0 installiert und folgende versionsangabe gibt java aus:
Quote:
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (IcedTea 3.9.0) (Gentoo icedtea-3.9.0)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode


EDIT: Hab mich vertan, die version von openjdk ist gleichzeitig die java api version.
dev-java/openjdk-11.x ist für die java api version 11.

Aber für java 8 (oder 1.8 ) gibt es in gentoo mindestens zwei pakete die diese Version bereitstellen:
dev-java/oracle-jdk-bin-1.8.0.x
dev-java/icedtea(-bin)-3.9.0
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
forrestfunk81
Guru
Guru


Joined: 07 Feb 2006
Posts: 470
Location: münchen.de

PostPosted: Thu Dec 13, 2018 4:06 pm    Post subject: Reply with quote

Die JDKs sind abwärtskompatibel und können Byte Code in niedrigerer Version erzeugen. Ein JDK 11 kann also auch Bytecode erzeugen, der von einem JDK 8 ausgeführt wird. Das muss als Compiler Flag angegeben werden. Ich gehe davon aus, dass der Android Build aber schon so konfiguriert ist, dass er Byte Code erzeugt der mit der entsprechenden Android Version ausgeführt werden kann.

TL;DR
Mit icedtea 3.9 und Oracle JDK 8 ist es sicher zu bauen
Mit OpenJDK 11 geht es wenn die Build Tools gut konfiguriert sind
_________________
# cd /pub/
# more beer
Back to top
View user's profile Send private message
ChrisJumper
Advocate
Advocate


Joined: 12 Mar 2005
Posts: 2184
Location: Germany

PostPosted: Fri Dec 14, 2018 9:48 pm    Post subject: Reply with quote

Vielen Dank für den Hinweis forrestfunk81,

das war mir bisher unbekannt. Was aber LineageOS betrifft, ich bin mir nicht sicher ob das "ordentlich konfiguriert ist". Immerhin hat das jemand so in die Dokumentation geschrieben. Ausprobiert habe ich es jetzt nicht, aber es schien mir logisch zu dem Zeitpunkt als ich mein erstes LOS Build einstellte.

Mag sein das die Fehlermeldungen noch andere Ursachen hatten und ich deswegen zufällig die Oracle Version ergriffen hatte (ich werde es bald mal ausprobieren mit der Icetea-Variante, besonders seit dem ich den Urheberrechtsstreit von Google und Oracle verfolgte!), aber ich bin mir nicht so sicher ob das die freiwilligen bei Lineageos auch so konfiguriert haben.

Im Grunde drückt der Schuh ja immer bei der Zeit und es scheint so als wird noch nicht mal eine ordentliches Howto erstellt. Die Kommunikation mit den Nutzern landet auf Reddit oder im IRC. Letztlich ist es das was die meisten bevorzugen die diese Software erstellen, das ist ein Problem auf seine Weise.

Doch wahrscheinlich trifft es die aktuelle Zielgruppe. Ein wenig so wie Gentoo, die halt auch Probleme haben werden jüngere Menschen zu finden die sich hier versammeln. Auf diese Weise so nah an dem Source Code zu sein ist abschreckend oder nicht hilfreich für Jünge, es bleibt wohl ein Spezialfall.

JoHo42
Ich weiß nicht wie viel Zeit du hast, aber lies dir auf jeden Fall bei Lineageos die Howtows zu GIT, Gerrit und Co durch. Dann liest du am besten Quer über Reddit und schaust bei Zeiten im IRC vorbei. Heise schrieb das LOS den Support für einige Smartphones einstellt, beziehungsweise nicht auf 15.1 anhebt. Open Source bekommt man aber nicht so schnell tot. Was aber nicht stimmt, denn sie verlangsamen schließen nur die Build-Produktion durch die Automatismen. Kernelemente wie Sicherheitspatches finden in Bestandteilen von Android weiterhin statt und die werden auch an die einzelnen unter-Distributionen weitergegeben.

Was ich noch nicht verstanden hab, ist in wie fern Quellcom zum Beispiel Treiber für die Geräte aktualisiert zur Verfügung stellt. Das Git-Overlay für Images der Smartphone-Treiber (von TheMuppets), aktualisiert diese denke ich nicht. Was halt ein Problem darstellen kann. Vielleicht schreibe ich mal eine E-Mail an den Hersteller des Smartphones oder an Quellcom mit dieser Frage.

Wenn ich noch mal die Chance hätte würde ich wohl zu Google-Hardware greife, einfach weil ich nicht glaube das Hardware-Rootkit oder Trojaner eingesetzt wurden, aber Google selber sich um die Treiber viel besser kümmert als die Dritt Hersteller.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum