Anfängerfehler (Java-JDK und Übertragung wichtiger Dateien)

Könnt ihr mir noch mal helfen:

Ich gebe ein
user@user-Aspire-X3960:~/android/system$ build/tools/device/mkvendor.sh acer picasso_e2 /home/user/boot.img
Arguments: acer picasso_e2 /home/user/boot.img
unpackbootimg not found. Is your android build environment set up and have the host tools been built?
user@user-Aspire-X3960:~/android/system$

Ok, gebe ich wie auf der Homepage von CM beschrieben "make -j4 otatools" ein:
user@user-Aspire-X3960:~/android/system$ make -j4 otatools
build/core/product_config.mk:242: *** device/acer/picasso_e2/cm.mk: PRODUCT_NAME must be defined.. Schluss.
user@user-Aspire-X3960:~/android/system$


Hoffe, ihr könnt mir helfen

MfG, Android4.4Kitkat
 
Hi vielleicht kann ich etwas helfen falls Du noch keine Lösung gefunden hast.

Für mich sieht es so aus das Dein Build-System nicht weis was es machen soll.

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.3.1
CM_VERSION=
TARGET_PRODUCT=full hier sollte das device stehen wofür der build ist
TARGET_BUILD_VARIANT=eng
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.8.0-32-generic-x86_64-with-Ubuntu-12.04-precise
HOST_BUILD_TYPE=release
BUILD_ID=JLS36I
OUT_DIR=/home/user/android/system/out
============================================
No private recovery resources for TARGET_DEVICE generic
build/core/tasks/kernel.mk:84: ************************************************** ********
build/core/tasks/kernel.mk:85: * Kernel source found, but no configuration was defined *
build/core/tasks/kernel.mk:86: * Please add the TARGET_KERNEL_CONFIG variable to your *
build/core/tasks/kernel.mk:87: * BoardConfig.mk file *
build/core/tasks/kernel.mk:88: ************************************************** ********
entfällt wenn das build system weis was es machen soll!

Ich versuche es mal zu beschreiben.

ich gehe mal von den standard mässigen CM-Build aus das Du Dir mit dem repotool für dein device gezogen hast.

Hab gelesen das Du schon auf der seite von CM gewesen bist und wenn Du Dich an dieser Anleitung gehalten hast sollte es mit dem build geklappt haben...

So nun zu der sache mit dem build system ;)

also im Rootverzeichnis alles im Terminal ausführen:

source build/envsetup.sh eingeben dann in den ordner vendor/cm/ navigieren dort den befehl ./get-prebuilts ausführen lädt ein paar dateien die für andere builds nicht wichtig sind aber für cm schon!

danach croot eingeben und Du bist wieder im rootverzeichnis deines builds.

jetzt im Terminal gilt nur für CM-builds:

breakfast <dein-device> eingeben.

jetzt sollten wie beim repo download dateien geladen werden darunter sind Gerätebeschreibung zu finden dann im ordner device/Hersteller/das-Gerät und den kernel für dein Gerät zu finden unter /kernel/Hersteller/Dein-Gerät

Verbinde Dein gerät mit dem PC navigiere wieder mit dem Terminal zu: device/hersteller/Dein gerät dort gibst Du ./extract-files.sh ein und es werden Dateien über adb in den Build-ordner geladen die sind dann zu finden unter vendor/dein-hersteller dort sind properitäre files drinn.

jetzt im Terminal ./setup-makefiles.sh ausführen

jetzt wieder croot und Du bist wieder im Buildverzeichnis.

jetzt sollte das CM setup fertig sein und Du kannst mit dem Build loslegen.

dafür gibst Du den Befehl $brunch dein-gerät ein und der build sollte loslegen und laufen vorrausgesetzt Dein enviroment passt!

wenn der build durchgelaufen ist solltest Du im Ordner out eine Flashfähige .zip datei finden die Du dann flashen kannst!

so wie jetzt beschrieben stehts Sinnmäsig auch auf der CM seite und sollte somit klappen!

Jetzt falls Du mal ein anderes build herstellen möchtest und es eventuell auch kein Offizielles build für Dein Gerät gibt den Weg um ein unoffizielles build für dein Gerät zu bekommen.

Das gewünschte build herunterladen und aufsetzen ;) Du brauchst 3 ordner aus dem CM build das ist einmal der Ordner mit Deinem gerät, zu finden unter device/Hersteller/Dein-Gerät und den kernel Ordner und kopierst diesen in das neue Build-Setup! und aus den Pfad vendor/dein Hersteller kopierst Du den ganzen ordnerund fügst in an selber stelle vom neuen build ein! Alle Ordner kopiert?!

Jetzt

source build/envsetup.sh eingeben und dann in den vendor/aokp/ aokp ist nur beispielhaft dort sind mehrere Ordner etc. Wichtig ist der Ordner products und die Datei vendorsetup.sh mit dem texteditor vendorsetup.sh öffnen und alles löschen bis auf ein device dort trägst Du dann dein Gerät ein. speichern und fertig! Jetzt gehst Du in den products Ordner löschst wieder alles bis auf die AndroidProducts.mk diese öffnest Du im Texteditor und löschst alles raus und gibst dann PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/Dein-Gerät.mk ein und wieder speichern. Jetzt erstellst Du eine datei mit der Bezeichnung Dein-Gerät.mk öffnest dies im texteditor und gibst dort:

$(call inherit-product, device/dein Hersteller/Dein Gerät/cm.mk)

ein und speicherst das, diese datei verweist jetzt auf den device Ordner wo die Dateien fürs build drinn sind. Jetzt gehst Du genau in diesen Ordner und dort sollte sich auch eine Datei mit der Bezeichnung cm.mk drinn befinden. öffne diese und dort änderst Du was drinne steht in etwa so. ich mache es mal vor an dem Beispiel AOKP und meinem Gerät: erst mal alles ändern was mit cm zu schaffen hat.

## Specify phone tech before including full_phone
$(call inherit-product, vendor/aokp/configs/gsm.mk)

# Boot animation
TARGET_SCREEN_HEIGHT := 1280
TARGET_SCREEN_WIDTH := 720

# Release name
PRODUCT_RELEASE_NAME := p880

# Inherit some common CM stuff.
$(call inherit-product, vendor/aokp/configs/common_full_phone.mk) = hier variieren manchmal die Bezeichnungen und Du musst im ordner /vendor/aokp/configs dir die passende datei suchen meist common.mk änderst dieses dementsprechend! Und dem config hängst Du überall noch ein s an

# Inherit device configuration
$(call inherit-product, device/lge/p880/p880.mk)

## Device identifier. This must come after all inclusions
PRODUCT_RELEASE_NAME := Optimus4X
PRODUCT_DEVICE := p880
PRODUCT_NAME := aokp_p880
PRODUCT_BRAND := lge
PRODUCT_MANUFACTURER := LGE

PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=x3_open_eu BUILD_FINGERPRINT=lge/x3_open_eu/x3:4.1.2/JZO54K/P88020a.1e56bb4c69:user/release-keys PRIVATE_BUILD_DESC="x3_open_eu-user 4.1.2 JZO54K P88020a.1e56bb4c69 release-keys"

wenn Du das gemacht hast die Datei speichern.

so jetzt build/envsetup.sh im Rootverzeichnis Deines Build eingeben. Danach kannst Du am besten lunch eingeben und es sollte ne auflistung kommen wo Du Dein gerät auswählen kannst falls nicht noch mal Kontrollieren ob alle Verweise richtig sind.
gerät auswählen und es sollte sowas in der art kommen

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=4.3.1
CM_VERSION=aokp-dein-gerät-UNOFFICIAL-dein-gerät
TARGET_PRODUCT=aokp_deingerät
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_BUILD_APPS=
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=cortex-a9
HOST_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-3.11.0-12-generic-x86_64-with-LinuxMint-16-petra
HOST_BUILD_TYPE=release
BUILD_ID=JLS36I
OUT_DIR=/media/snxo/e03afe6c-e6b1-421c-b5a5-0e6006a4d59d/REPOSOUTPUT/cm4.3
============================================
wenn dem so ist, kannst Du mit make das build starten und es sollte los laufen falls es zu Fehlern kommt während dem build mal ein make clobber ausführen danach repo sync und dann:

make installclean && make otapackage -j4

das sollte erstmal reichen und den Rest musst Du Dir erlesen da alles andere zu weit führen würde!

Hoffe das Hilft weiter

mfg SnXo

falls irgendwer grobe Schnitzer entdeckt oder fehler findet, bitte bescheid geben.
 
  • Danke
Reaktionen: Android4.4KitKat und Das-Ich
Hallo,
danke für die Guide. Allerdings habe ich jetzt folgende Probleme:
Wenn ich "build/envsetup.sh" eingebe erscheint:
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/goldfish/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including vendor/cm/vendorsetup.sh
LOCAL_DIR: Befehl nicht gefunden.
PRODUCT_MAKEFILES: Befehl nicht gefunden.
including sdk/bash_completion/adb.bash
including vendor/cm/bash_completion/git.bash
including vendor/cm/bash_completion/repo.bash

und wenn ich "lunch full_picasso_e2-eng" eingebe erscheint nur:
build/core/product_config.mk:233: *** Can not locate config makefile for product "full_picasso_e2". Schluss.
Device picasso_e2 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for picasso_e2 not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:233: *** Can not locate config makefile for product "full_picasso_e2". Schluss.

** Don't have a product spec for: 'full_picasso_e2'
** Do you have the right repo manifest?
Wie behebe ich das?
 
  • Danke
Reaktionen: SnXo
Probiere mal folgendes erstelle eine neue vendorsetup.sh datei aber im device ordner und füge dort add_lunch_combo full_deinDevice...und benenne die cm.mk in full_deinDevice.mk um...sollte danach funtionieren!

Die Fehlermeldungen sagen ja nur aus das, das Buildsystem nichts findet womit es arbeiten kann. Es stimmt was nicht mit dem routing!

mfg
 
Hallo,
SnXo,
der Fehler besteht leider weiterhin.
 
  • Danke
Reaktionen: SnXo
Android4.4KitKat schrieb:
Hallo,
SnXo,
der Fehler besteht leider weiterhin.

Ok dann verrat mir mal was für eine Rom Du Kompillieren möchtest?!

Ich guck dann mal ob ich auf die schnelle Dir was vorbereiten kann, das Du dann einfügst und es Dir anschaust und mit dem was Du jetzt hast vergleichst!

mfg SnXo
 
Hallo,
ich will eine CM11-Rom für das Acer Iconia Tab A210(picasso_e2) erstellen
Was mir auch noch aufgefallen ist, ist das in der vendorsetup.sh-Datei noch die Variablen
LOCAL_DIR und
PRODUKT_MAKEFILES gesetzt werden müssen. Wie mache ich das?

Ganze Meldung:
source build/envsetup.sh
including device/acer/picasso_e2/vendorsetup.sh
LOCAL_DIR: Befehl nicht gefunden.
PRODUCT_MAKEFILES: Befehl nicht gefunden.
LOCAL_DIR: Befehl nicht gefunden.
including device/generic/armv7-a-neon/vendorsetup.sh
including device/generic/goldfish/vendorsetup.sh
including device/generic/mips/vendorsetup.sh
including device/generic/x86/vendorsetup.sh
including vendor/cm/vendorsetup.sh
including sdk/bash_completion/adb.bash
including vendor/cm/bash_completion/git.bash
including vendor/cm/bash_completion/repo.bash
 
Zuletzt bearbeitet:
also in der Vendorsetup.sh datei kommt nur das rein:
cm_picasso_e2-userdebug

und eventuell noch

cm_picasso_e2-userdebug

mehr nicht!!

um die variable die auf eine bestimmte datei im z.b device Ordner zeigt ist das hier von nöten:

$(call inherit-product,device/acer/picasso_e2/cm.mk)

Um auf eine datei im Localen Ordner zu deuten dieses beispiel hier :

$(LOCAL_PATH)/configs/alsa/alsa.conf:system/usr/share/alsa/alsa.conf

weist das system an im localen device ordner des acers in diesen und jenen unterverzeichniss nach der alsa.conf zu suchen.

Aber diese 2 Sachen hättest Du ganz leicht selbst herrausfinden können wenn Du Dir die Dateien anschaust und im Editor öffnest!

Meine ehrliche Meinung ist Du solltest erst mal die step by step anleitung auf der CM Seite ausführen! Würde Dir diese seiten mal zum reinschnuppern anbieten wollen Cyanogenmod: how to be come a Developer english ist leider zwingend notwendig zur not Genglish = Google Übersetzer machts auch ^^

Und hab eben gesehen es gibt ja gar kein Support für das A210 somit wird es ziemlich schwer Android 4.4 zu basteln hab auf Github einen Devicetree für das A500 gefunden A500/cm10.2/devicetree

kannst Dir die repos dazu ja mal anschauen und versuchen in richtung des A210 zu verändern! Jedenfalls Hast Du Dir einen harten Brocken Arbeit ausgesucht!!! Ich würde an Deiner stelle es erst mal ein paar Nummern kleiner versuchen.

Drück Dir aber die Daumen das es klappt!!!

mfg

SnXo
https://github.com/apapousek/android_device_acer_a500/tree/cm10.2
 
Zuletzt bearbeitet:
  • Danke
Reaktionen: Android4.4KitKat
Danke, der Device-Tree hat mich echt weitergebracht, obwohl beide Geräte sehr unterschiedliche Hardware haben.

Jetzt beteht nur noch folgender Fehler:
lunch full_picasso_e2-eng
build/core/product_config.mk:234: *** Can not locate config makefile for product "full_picasso_e2". Schluss.
Device picasso_e2 not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Repository for picasso_e2 not found in the CyanogenMod Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.
build/core/product_config.mk:233: *** Can not locate config makefile for product "full_picasso_e2". Schluss.

** Don't have a product spec for: 'full_picasso_e2'
** Do you have the right repo manifest?

Wie behebe ich diesen Fehler? Ich habe mir die Datei bereits im Editor angeschaut und vieles ausprobiert, habe allerdings den Fehler nicht gefunden.
 
  • Danke
Reaktionen: SnXo
der Error beschreibt den Fehler eigentlich ganz gut....
hast du in cm.mk die richtigen Bezeichnungen? und hast du die Blobs in /vendor/"hersteller"/"gerät"/
 
Hallo,
ich habe den Fehler gelöst.
Allerdings erhalte ich beim erstellen der Recovery folgenden Fehler:
make: *** Keine Regel vorhanden, um das Target »bootable/recovery/../../system/core/toolbox/reboot.c«,
benötigt von »/home/user/android/system/out/target/product/picasso_e2/obj/EXECUTABLES/recovery_intermediates/../../system/core/toolbox/reboot.o«, zu erstellen. Schluss.
make: *** Warte auf noch nicht beendete Prozesse...
Import includes file: /home/user/android/system/out/target/product/picasso_e2/obj/EXECUTABLES/recovery_intermediates/import_includes
Welche Ursache hat dieser Fehler und wie behebe ich diesen?

MfG,

Android4.4KitKat
 
am besten nochmal "repo sync". Und wie meinst du erstellen der Recovery? du benutzt doch "make bacon" oder?
 
Hallo,

Ja, ich nutzte make bacon.
Ich habe mal einen Build-Log gemacht, vielleicht kannst du ja was entdecken

MfG,


Android4.4.KitKat
 

Anhänge

  • output_error.txt
    7,3 KB · Aufrufe: 390
Hallo zusammen!

Bist Du sicher, dass das angehängte Build-Log zu der o.a. Fehlermeldung gehört?

Da ist weder die Fehlermeldung drin zu finden, noch irgendwas, was im Kontext zu bootable/recovery gehört.

Da im CM-11-Source-Tree die o.a. Datei system/core/toolbox/reboot.c nicht drin ist, würde ich mich dafür interessieren, was für ein Android-ROM-Source-Tree Du verwendest? (Omni-ROM, AOSP, AOKP, AOSPA...?)

Was die Ursache für die Fehlermeldung ist?

Zunächst mal ganz platt gesprochen: In einem Make-File (womöglich im bootable/resource Sub-Tree) wird die Datei als Bestandteil des Builds erwähnt.

Ggf wird der Verweis auf die o.a. Datei system/core/toolbox/reboot aber nicht im entsprechenden Makefile selbst gesetzt, sondern über eine Variable, die in einem Custom-Make-File (z.B. im Device-Tree) gesetzt wird.

Um dazu eine genauere Aussage treffen zu können, müsste man wissen, welches ROM Du bauen willst und ggf wie der Device-Tree aussieht, sonst kann man nur rum raten...

MfG Uwe
 
system/core/toolbox/reboot.c wird ja gerade compiliert, also befindet sie sich vorher auch nich in der CM11 Source, sondern irgendwo im Device Tree oder Kernel

da liegt dann wahrscheinlich auch der Fehler... wenn der Kernel oder so fehlerhaft ist, können wir das per Log auch nicht lösen... Muss er schon selber können. Zur not Blobs, Device Tree, Kernel neu downloaden und CM11 syncen.
 
Zuletzt bearbeitet von einem Moderator:
wäre es im Device-Tree hiese es irgendwas mit device/vendor/model/... und nicht system/core/....

Hast Du schon mal ein Custom-ROM compiliert?

Der ursprüngliche Beitrag von 21:52 Uhr wurde um 21:56 Uhr ergänzt:

Und ausserdem wird es nicht compiliert, sondern nur referenziert aus /bootable/recovery heraus (dort liegen die Bestandteile des 'Recoveries).

Dass system/core/xxx im Rootfolder liegt, sieht man schon allein am vollständigen Pfad:

bootable/recovery/../../system/core/xxx

Die zwei mal .. gehen genau die Verzeichnis-Ebenen zum zum Soiurcen-Root zurück...

MfG Uwe
 
Ja dann hab ich mich halt versehen... Schlimm, schlimm!

Aber wie gesagt, der Fehler muss ja an seinen Sources liegen, da ich die nicht habe, muss ers selber fixen... Wäre ja was anderes wenn es ein typischer Fehler wäre


PS: Ja ich habe 'schonmal' :)D) "ein Custom ROM compiliert" (heißt builden für den Schlaumeier hier ;-) )

Gesendet von meinem LG-P880 mit der Android-Hilfe.de App
 
Zuletzt bearbeitet von einem Moderator:
Komm jetzt lass gut sein, ich habe ja nicht angefangen, Dich zu kritisieren, das war umgekehrt...

Also einfach noch mal die Fakten zusammen tragen:

  • aus bootable/recovery heraus wird system/core/toolbox/reboot.c (oder .o) referenziert
  • Im Source-Tree schein es nicht vorhanden zu sein.
  • Wenn in den Sourcen kein Bug vorhanden ist (was auch mal vorkommen könnte, dann würde ein sync ein paar Stunden später heölfen, dann wäre er weg), kommt die 'Referenz' eher durch ein ungünstig gesetzte Variabe in das Makefile
  • Meine Vermutung wäre, dass entweder die Sourcen 'zusammengewürfelt' sind oder im Device-Tree ein Fehler drin ist.

Wobei ich insgesammt anmerken möchte, dass wenn man ein Device-Tree selbst erstellen will, man in der Lage sein sollte, einen Compile-Zeit Bug aus der Ausgabe des Builds rauszufinden, denn das Debuggen des ersten selbsterstellten ROMs bis es release-fertig ist (oder auch nur halbwegs rund läuft), ist deutlich schwerer, als eine falsche Referenz im Device-Tree oder sonst wo zu finden...

MfG Uwe
 
Hallo, ich habe mal die wichtigen Sachen gequoted:

u.k-f schrieb:
Hallo zusammen!

Bist Du sicher, dass das angehängte Build-Log zu der o.a. Fehlermeldung gehört?

Nein, das war ein anderer Log

Da ist weder die Fehlermeldung drin zu finden, noch irgendwas, was im Kontext zu bootable/recovery gehört.

Da im CM-11-Source-Tree die o.a. Datei system/core/toolbox/reboot.c nicht drin ist, würde ich mich dafür interessieren, was für ein Android-ROM-Source-Tree Du verwendest? (Omni-ROM, AOSP, AOKP, AOSPA...?)

Es sollte eigentlich CM 11 werden...

[...]

Um dazu eine genauere Aussage treffen zu können, müsste man wissen, welches ROM Du bauen willst und ggf wie der Device-Tree aussieht, sonst kann man nur rum raten...

Soll ich den Device-Tree hochladen?

[...]

Hast Du schon mal ein Custom-ROM compiliert?

Ja.

[...]


MfG Uwe

Ich hoffe,ihr könnt mir helfen,



MfG,

Android 4.4.KitKat
 
Wegen mir brauchst Du den Device-Tree nicht hochzuladen, denn ich werde sicher nicht in Fremden Sourcen nach Fehlern gucken. Das sollte jeder für sich selbst tun.

Ich kann Dir sagen, was ich machen würde, wenn der Fehler bei mir auftritt, damit Du lernst, wie Du den Fehler finden und beheben kannst. (Hilfe zur Selbsthilfe...)

Ich würde zuerst im DeviceTree, wenn das nichts bring im 'bootable/recovery'' und zum Schluss notfalls gesammten SourcenTree nach dem String 'system/core/toolbox/reboot.' suchen (extra ohne die Dateiendung, um sowohl .c als auch .o zu finden, und den Slash am Anfang weglassen, falls es ohne 'Anfansslah' referenziert wurde:

Also im Entsprechenden Verzeichnis im Terminal eingeben:
Code:
grep -r 'system/core/toolbox/reboot.'

Wenn sich dann kein Treffer findet, nochmal das gleiche mit 'reboot.c' und/oder 'reboot.o' machen.

Wenn ein Treffer gefunden wurde, nach der Berechtigung dieses Verweises forschen...

MfG Uwe
 

Ähnliche Themen

DerOhneNick
Antworten
3
Aufrufe
1.110
DerOhneNick
DerOhneNick
O
Antworten
10
Aufrufe
2.749
BOotnoOB
BOotnoOB
D
Antworten
22
Aufrufe
3.619
BOotnoOB
BOotnoOB
Zurück
Oben Unten