[Gelöst]Kernel builden

U

u.k-f

Gast
Vetzki schrieb:
Ich bekomm aktuell (mit linaro-toolchain 4.7.x) folgende Fehlermeldungen:

/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 55 of arch/arm/mach-tegra/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 600 of kernel/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 271 of mm/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 117 of fs/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 35 of crypto/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 198 of block/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 153 of lib/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 216 of drivers/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 11 of sound/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 9 of arch/arm/oprofile/built-in.o is not in EXIDX output section
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: warning: unwinding may not work because EXIDX input section 511 of net/built-in.o is not in EXIDX output section
SYSMAP System.map
SYSMAP .tmp_System.map
OBJCOPY arch/arm/boot/Image
Building modules, stage 2.
MODPOST 6 modules
Kernel: arch/arm/boot/Image is ready
AS arch/arm/boot/compressed/head.o
GZIP arch/arm/boot/compressed/piggy.gzip
CC arch/arm/boot/compressed/misc.o
CC arch/arm/boot/compressed/decompress.o
arch/arm/boot/compressed/head.S: Assembler messages:
arch/arm/boot/compressed/head.S:419: Warning: (null)
arch/arm/boot/compressed/head.S:517: Warning: (null)
arch/arm/boot/compressed/head.S:538: Warning: (null)
arch/arm/boot/compressed/head.S:557: Warning: (null)
arch/arm/boot/compressed/head.S:565: Warning: (null)
arch/arm/boot/compressed/head.S:831: Warning: (null)
arch/arm/boot/compressed/head.S:870: Warning: (null)
arch/arm/boot/compressed/head.S:871: Warning: (null)
arch/arm/boot/compressed/head.S:916: Warning: (null)
arch/arm/boot/compressed/head.S:923: Warning: (null)
arch/arm/boot/compressed/head.S:931: Warning: (null)
arch/arm/boot/compressed/head.S:942: Warning: (null)
arch/arm/boot/compressed/head.S:956: Warning: (null)
arch/arm/boot/compressed/head.S:988: Warning: (null)
arch/arm/boot/compressed/head.S:990: Warning: (null)
arch/arm/boot/compressed/head.S:991: Warning: (null)
arch/arm/boot/compressed/head.S:998: Warning: (null)
arch/arm/boot/compressed/head.S:1030: Warning: (null)
SHIPPED arch/arm/boot/compressed/lib1funcs.S
AS arch/arm/boot/compressed/lib1funcs.o
CC drivers/misc/mpu3050/mpu3050.mod.o
CC drivers/misc/mpu3050/timerirq.mod.o
CC drivers/net/wireless/bcmdhd/bcmdhd.mod.o
CC net/mac80211/mac80211.mod.o
CC net/wireless/cfg80211.mod.o
CC net/wireless/lib80211.mod.o
LD [M] drivers/misc/mpu3050/mpu3050.ko
LD [M] drivers/misc/mpu3050/timerirq.ko
LD [M] drivers/net/wireless/bcmdhd/bcmdhd.ko
LD [M] net/mac80211/mac80211.ko
LD [M] net/wireless/cfg80211.ko
LD [M] net/wireless/lib80211.ko
AS arch/arm/boot/compressed/piggy.gzip.o
LD arch/arm/boot/compressed/vmlinux
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: error: arch/arm/boot/compressed/piggy.gzip.o: unknown CPU architecture
/home/mv/Dokumente/git/prebuilt/linux-x86/toolchain/android-toolchain-eabi/bin/arm-eabi-ld: error: arch/arm/boot/compressed/lib1funcs.o: unknown CPU architecture
make[2]: *** [arch/arm/boot/compressed/vmlinux] Fehler 1
make[1]: *** [arch/arm/boot/compressed/vmlinux] Fehler 2
make: *** [zImage] Fehler 2


Kann wer helfen :confused2::cursing:

Kannst Du etwas genauer beschreiben, was Du tust? Willst Du einen Kernel oder plagable Module bauen? Ich verwende nicht linaro toolchain sondern diesen Crosscompiler

Grüsse Uwe
 
  • Danke
Reaktionen: vetzki
Danke mit der verlinkten gehts. :thumbup:

Gesendet von meinem Nexus 4 mit der Android-Hilfe.de App
 
Um OT zu vermeiden, antworte ich hier auf
bejonwe schrieb:
PS: Kannst du mir ne gute Anleitung zum Thema Kernel und Source Code builden geben?

Ich arbeite mit dem oben verlinkten Cross-Compiler

Grüsse Uwe

Der ursprüngliche Beitrag von 16:11 Uhr wurde um 16:14 Uhr ergänzt:

Was gibt es sonst noch zu wissen?

C-Sourcen kompiliere ich mit dem Android-NDK

Ist etwas tricky, Eclipse zum mitarbeiten zu bewegen. Wenn Du konkrete Fragen hast, immer raus damit...

Grüsse Uwe
 
Uwe kannst du eine gute Anleitung zum builden von Kerneln und Roms empfehlen?
 
Nichts umfassendes.

Ich kann mal versuchen nieder zu schreiben, was ich so treibe, und wenn es Fragen gibt, dann bitte nachfragen.

Das wichtigste ist, erst mal einen Crosscompiler aufzusetzen und dazu zu bewgen, die Kernelsourcen zu builden.

Ich nehme den oben verlinkten. Den entpacke ich auf mein Linux, beispielsweise nach /opt

Dann lade ich die Kernel-Sourcen von Acer (Ich empfehle den A211 Kernel, der ist etwas weiter entwickelt als der A210er) und entpacke die.

Jetzt in das Basisverzeichnis der Kernelsourcen und mache einen make clean um alles zu putzen.

Code:
make ARCH=arm CROSS_COMPILE=<Basisverzeichis des CrossCompilers> distclean

Wenn das klappt, sind alle benötigten Linux-Packages installiert, sonst muss wohl noch GCC nachinstalliert werden.

Wenn alles benötigte nachinstalliert wurde, kann man den nächsten Schritt wagen:, seinen Kernel konfigurieren:

Code:
make ARCH=arm CROSS_COMPILE=<Basisverzeichis des CrossCompilers> menuconfig

Da sollte sich ein Menu im Terminal öffen, wo man seine Einstellungen machen kann.

Wenn man das hat, speichern und den Kernel builden:

Code:
make ARCH=arm CROSS_COMPILE=<Basisverzeichis des CrossCompilers> -j<N>

Wobei <N> die Anzahl der parallelen Jobs ist (Sollte zwischen CPU-Anzahl -1 und CPU-Anzahl+1 liegen, je nachdem ob man während des Builds noch mit dem System arbeiten will, oder alle Power in den Build stecken möchte)

Wenn das geklappt hat, hat man einen neuen Kernel gebaut...

Grüsse Uwe
 
  • Danke
Reaktionen: Br!ckpr00f und bejonwe
Hallo !

Eine Option für ein funktionierendes System zum "Kernel builden" wäre eine fertige VM. ( z.B. Virtual Box oder Vmware )

Grüße Jürgen
 
Kennst du eine gute, die funktioniert?
 
Ich habe mir zum Build eine VM (Oracle VirtualBox) mit Lubuntu selbst aufgesetzt.

Gibt es fertige images, in denen das Build-Environment schon komplett drin ist?

Grüsse Uwe

Der ursprüngliche Beitrag von 21:15 Uhr wurde um 21:30 Uhr ergänzt:

@Bejonwe:

Mir fällt gerade noch ein wichtiger Hinweis ein. Ich habe ein 64 Bit Lubuntu, da musste ich für den GCC noch zusätzlich die 32 Bit Libraries installieren, damit der Build durchlief!

Grüsse Uwe
 
Ich habe leider keine fertige VM, würde mich aber über eine freuen.
So könnte man direkt anfangen zu "builden". :)

Grüße Jürgen
 
Der 'Kampf gegen das Environment' gehört aber auch ein bisschen dazu.

Hat doch auch was spannendes.

Ich habe auch fast einen Tag gebraucht, Eclipse dazu zu bewegen, halbwegs brauchbar mit NDK zusammen zu arbeiten.

Wenn man es dann geschafft hat, kann man sich dafür richtig freuen...

Und wenn Ihr Fragen habt, nur raus damit, ich versuche gerne, zu helfen...

Grüsse Uwe
 
Wohl wahr. Ich hab fürs Desire HD mal CM compiliert als es mehrere Monate keine nightlies dafür gab. Mann war das ein Krampf die VM hinzubieben das alles funktionierte. Und der repo sync mit github war auch ab und zu geschrottet, dann hieß es 15 GB oder was das waren an Sourcen neu syncen.

Ich hab allerdings den VMware Player in Nutzung, dazu Linux Mint.
 
Das einrichten eines ganzen ROM buildes würde mich auch noch mal reizen, aber dann AOSP. Nur ich habe leider nicht den Platz dazu auf dem Laptop, da ich eine schnelle, aber nicht sehr grosse SSD habe (und der Laptop vor allem für die Arbeit ist, d.h. dafür brauche ich den meissten Platz...)

@TimeTurn:

Wieviel Platzt braucht den ein CM Build (Ich glaube ich hätte mal was von 30-40 GB gehört...) Oder weisst Du gar was über den Platzbedarf von einem AOSP build?

Grüsse Uwe
 
Wollte gerade einen neuen Kernel-Build machen, da prasselten mir die Fehlermeldungen gerade so um die Ohren...:scared:

Was war? Ich habe mir ein Environment für nen AOSP eingerichtet, das hat sich wohl mit dem für den Kernel-Build nicht ganz vertragen...

Code:
sudo apt-get install lib32ncurses5-dev
hats wieder gerichtet...

@bejonwe und jww_leh59:

Wie siehts bei Euch mit den Builds inzwischen aus?

Grüsse Uwe
 
Zuletzt bearbeitet von einem Moderator:
Keine Zeit und Lust gehabt, sorry...
 
Hallo!

ich habe soeben nach der Anleitung aus dem ersten thread probiert meine kernelsourcen zu kompilieren.

jedoch funktioniert das mit dem "basisverzeichnis" nicht so ganz wie ich mir das vorstelle.

in meinem "basisverzeichnis sind nur ordner und zwar:
arm-none-eabi bin lib libexec share

gebe ich allerdings als basisverzeichnis an /basisverzeichnis/arm-none-eabi/bin

dann geht es mehr oder weniger.
das make clean geht, das menuconfig geht, aber ich bekomme fehler das cc1 fehlt beim compilen des kernels.

welches verzeichnis gibst du genau an?

Gruß Lars

p.s. sorry das ich den alten thread wieder aufwärme
 
probiere mal CROSS_COMPILE=/<Basis-Verzeichnis-des-Cross-Compilers>/bin/arm-none-eabi-

MfG Uwe
 
Hallo Uwe und vielen Dank!

ich habe zwar noch immer einen fehler, aber ich vermute mal das ist ein fehler in der config des Kernels.

Code:
/home/astrali/kernelsource/kernel/arch/arm/include/asm/io.h:30:26: fatal error: mach/msm_rtb.h: No such file or directory
compilation terminated.
make[1]: *** [arch/arm/kernel/asm-offsets.s] Error 1
make: *** [prepare0] Error 2
make: *** Waiting for unfinished jobs....

Das muss ich mir noch mal in ruhe ansehen :)

DANKE DANKE DANKE!!!

Grüssle - Astrali
 

Ähnliche Themen

A
Antworten
0
Aufrufe
1.371
Android4.4KitKat
A
Kiwi++Soft
Antworten
41
Aufrufe
34.106
Ladylike871
Ladylike871
M
Antworten
0
Aufrufe
937
-Mick-
M
Zurück
Oben Unten