Braucht man außer der Toolchain noch mehr Fremdquellen zum builden eines ARM64 Linux 4.4 Android Kernels ?

...komplette Frage anzeigen Make issue - (Computer, Handy, Android)

3 Antworten

Ich habe des Rätzels Lösung!

OnePlus hat den Fehler verursacht, der Kernel ist zurzeit nicht Buildbar.

Die betroffenen Files:

drivers/bluetooth/btfm_slim.c
drivers/bluetooth/btfm_slim_codec.c
drivers/bluetooth/btfm_slim_wcn3990.c
drivers/bluetooth/btfm_slim_wcn3990.h
drivers/gpu/msm/Makefile
drivers/gpu/msm/kgsl_events.c
drivers/media/platform/msm/camera_v2/common/cam_smmu_api.c
drivers/media/platform/msm/camera_v2/sensor/msm_sensor.h
drivers/net/ethernet/msm/Makefile
drivers/platform/msm/ipa/ipa_v2/Makefile
drivers/platform/msm/ipa/ipa_v3/Makefile
drivers/platform/msm/mhi/mhi_ssr.c
drivers/power/supply/qcom/qpnp-smbcharger.c
drivers/soc/qcom/Makefile
include/trace/events/msm_cam.h
kernel/printk/printk.c
security/pfe/pfk_ecryptfs.c
security/pfe/pfk_ecryptfs.h
security/pfe/pfk_ext4.c
security/pfe/pfk_ext4.h
sound/soc/msm/msm8996.c
sound/soc/msm/msm8998.c

Mehr dazu hier: https://github.com/adinkwok/oneplus5-kernel/commit/ec4ec687ba23609b9c323145c7d509262b0f025f


Des weiteren hab ich die Fehlermeldung etwas falsch gelesen:

fatal error: ./ipa_trace.h: No such file or directory

fatal error: msm_isp.h: No such file or directory

fatal error: ./kgsl_trace.h: No such file or directory

Aufgrund dieser 3er Meldungen konnte VMLinux nicht gebuildet werden da es hierauf dependiert!

Man kann den Kernel allerdings trotzdem bauen wenn er mit der kompletten Source der OxygenOS Rom kompiliert wird!

Mehr zu dem Fehler hier: https://github.com/OnePlusOSS/android_kernel_oneplus_msm8998/issues/3

Ich nehme an das das Problem damit zusammenhängt das wohl einige dateien fehlen. Versuche erstmal diese wieder zu finden und versuche es erneut. Die sollten theoretisch eigentlich dabei sein.

mkinitcpio 20.07.2017, 11:42

Das große Problem ist dass in der Original Source die "drivers/" wohl unvollständig sind.

Hier ist die Git Repo des Entwicklers: https://github.com/OnePlusOSS/android_kernel_oneplus_msm8998

Meine Idee wäre jetzt:

A: Der Entwickler hat Binary Blobs in seiner Source (Also der Entwickler hat nicht 100% seiner Source veröffentlicht)

oder

B: Diese Kernel Module müssen genauso wie die Toolchain durch eine Drittquelle eingebunden werden.

Ich bin noch neu im Thema Android OS Entwicklung daher bin ich noch unsicher mit solchen Geschichten.

Und man findet nirgendwo eine gute Dokumentation, alle docs erzählen einem was ganz anderes und der OEM scheint einen doch recht großen Einfluss auf den build Prozess zu nehmen..

0
LeonardM 20.07.2017, 17:02

tut mir leid. ich habe mit Android direkt garnichts am hut und hab da auch keine erfahrung. das wäre jetzt nur meine vermutung gewesen das es daran vielleicht liegen könnte.

0

Bei Arch Linux Kompilierst du selbst alles was du haben willst. Auch hier kannst entscheiden brauch ich Quelle X Ja oder Nein. Wenn du der Ansicht bist das du Sie nicht brauchst dann nutze Sie auch nicht. Bist du der Ansicht du Brauchst Sie dann Pflege Sie in deine Quellen mit ein. Keiner kann dir hier die Entscheidung abnehmen zu schreiben Brauch ich oder brauch ich nicht. Das musst du selbst vornehmen.

mkinitcpio 19.07.2017, 13:05

Es geht hier nicht um mein x86 HostOS sondern darum einen Android Kernel zu CossCompilen.

Ich suche nach dem Fehler warum die regel für vmlinux fehlschlägt.

Hast du die frage frage eigentlich gelesen ?

0
Silberfan 19.07.2017, 13:12
@mkinitcpio

Ich habe die Frage gelesen wenn du aber ( sorry wenn ich das so schreibe) zu deppert bist  korrekt zu Recherchieren ,kann man dir auch nicht helfen . Wer Lesen kann ist klar im Vorteil und wenn man die Abhängigkeiten Überprüft kommt man selbst dahinter.Jeder macht mal Fehler keine Frage aber wer nicht aus den Fehlern lernen will wird auch nicht verstehen warum es so ist !

1
mkinitcpio 19.07.2017, 13:36
@Silberfan

Wenn du ach so überlegen bist kannst du mir sicher kurz die Dokumentation linken oder ?

Ich würde auch gern wissen auf was du hier zurückgreifen würdest.

Denn 1+ und MSM sind ja bekannt für ach so gute* Dokumentationen :'D

Ich hab die gleiche Frage 1:1 auf Stackoverflow, dort hat sie niemand beantwortet, weist du wieso ? Weil sie dort sehr pedantisch sind und brauchbare Hilfe liefern wollen.

Glaubst du wirklich dass du hilfreich bist ?

Des weiteren wenn ich zu "depperten" bin sind es ja wohl auch die OnePlus Entwickler, denn ich bin nicht der einzige mit solchen Problemen. https://github.com/OnePlusOSS/android\_kernel\_oneplus\_msm8998/issues/6

Liefer mir 'ne brauchbare Antwort oder sei ruhig.

*Sind sie nicht ^^

1
mkinitcpio 19.07.2017, 13:41

Mir fällt grade auf dass dein kontextloser Kommentar nichtmals stimmt :'D

Arch GNU/Linux ist eine Distro die NUR binary Packete anbietet. Erst durch das eingreifen des Users kann die AUR "aktiviert" werden und MAKEPKG's zum Beispiel via Yaourt oder pacaur bezogen werden. (Im sinne der Systemintegration. Sprich dass sie dem Packetmanager untergeordnet sind.)

Die Distro die du meinst ist Gentoo ;)
Bei Gentoo GNU/Linux kompilierst du alles from scratch.

1
Silberfan 19.07.2017, 23:26
@mkinitcpio

Bei ARch musst auch die Quellen selbst Bestimmen . Man kann die vorhandenen nutzen ,das ist eine Sache des Anwenders inwiefern er wie wo und was machen will. Ichwerde hier auch keinen Kommentardazu abgeben da er Fragesteller hier mir zu Agressiv reagiert und er nicht einsichtig geschweige  Aktivitäten zur einsicht zeigt. also soll er ruhig auf dem Problem sitzen bleiben da ich nicht einsehe mich auch weiterhin von diesem Beleidigen zulassen. Ich verzichte gerne auf die Punkte zur Antwort und dies wird auch mein letzter Eintrag dazu sein. ein Mensch kann nur durch Fehler lernen ,wenn er diese noch nicht mal sieht oder Einsichtig ist ,hilft auch die beste Antwort nichts.

ENDE !

Und es Bewahrheitet sich immer wieder : Wissen ist Macht ,nichts Wissen macht auch nichts.

Letzteres trifft auf den Fragesteller zu.

0
mkinitcpio 20.07.2017, 11:34
@Silberfan

Das ist der größte Müll den ich in meinem ganzen Leben jeh gelesen hab, und ich hab das Kommunistische Manifest von Marx gelesen :'D

Ich möchte nur mal erwähnt haben dass ich seit ca 5 Jahren Softwareentwickler bin und seit ca 8 Jahren Arch benutze.
Ich hab zudem Wirtschaftsinformatik mit Schwerpunkt Anwendungsentwicklung studiert. Ich lass mir doch nicht von irgendeinem ScriptKiddy mein OS erklären!

Einsicht auf meiner Seite wäre absolut falsch! Du hast MEINE Frage nicht beantwortet; Du hast lediglich etwas geschrieben dass so zu 3/10 mit dem Thema zu tun hat.

Aggressiv bin ich auch nicht, ich spüre derzeit keine Emotion!
Ich bin nur sehr Rational.

Zudem ein ganz dickes Nein auf deine Aussage "Bei ARch musst auch die Quellen selbst Bestimmen"!

Das ist ganz einfach nicht richtig!

Wo "muss" ich als Nutzer Quellen wählen ?

Der 0815 Arch User macht 'n pacstrap base /mnt
(Die meisten machen nichtmals "base base-devel")

Mehr wird da einfach nicht gemacht!

Gut man kann wenn man will den Repo Server auswählen.
Diese sind allerdings Syncron. Sprich wenn ich jetzt nen Repo Server von der RWTH Aachen oder von der Uni Barkely in den USA nehme ist vollkommen egal da es 1:1 die gleichen Quellen sind!

Ich nutze zusätzlich die Multilib und die Blackarch Repo!

Beide kann man nutzen und muss es nicht ;)

Außerdem (und das meine ich ganz ernst) dein kleiner Egotrip hier ist schon hart unseriös^^ Du solltest vielleicht einfach ruhig sein wenn du die Frage aufgrund deines penetranten nichtwissens nicht beantworten kannst.

Entschuldige bitte, aber das was du hier schreibst ist eine Thema Verfehlung und zusätzlich einfach nicht richtig!

0

Was möchtest Du wissen?