PPC Kernel auf X86 Rechner backen

Welches Modul/Treiber für welche Hardware, Kernel compilieren...
Antworten
Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

PPC Kernel auf X86 Rechner backen

Beitrag von Picknicker » 12.06.2005 18:33:36

Hallo,
ist das möglich ? Wenn ja wie ? ;)
Ich habe hier nur einen "lahmen" OldWorld Mac auf dem das backen etwas über ner Stunde dauert :? ..
Und auf meinem 3000+ flutscht das schon ganz gut ;)
cu
Picknicker

Benutzeravatar
NeubiX
Beiträge: 108
Registriert: 08.12.2004 13:27:15
Wohnort: Frankfurt / Main
Kontaktdaten:

Beitrag von NeubiX » 12.06.2005 18:37:31

hmmmm .. ob das geht würde mich mal interessieren .. versuchs doch mal .. auf einem 3000er ist das doch ruckzuck gemacht ..

Berichte deine Erfahrungen ..


Gruß, Kai
use Linux for a better world :-)

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: PPC Kernel auf X86 Rechner backen

Beitrag von meandtheshell » 12.06.2005 18:42:29

Picknicker hat geschrieben:Hallo,
ist das möglich ? Wenn ja wie ? ;)
Ich habe hier nur einen "lahmen" OldWorld Mac auf dem das backen etwas über ner Stunde dauert :? ..
Und auf meinem 3000+ flutscht das schon ganz gut ;)
bin mir absolut nicht sicher ob ich das richtig verstehe? - die hardware auf der du ein binary kompilierst spiel für das binary keine rolle ...

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 12.06.2005 18:56:13

Das Problem ist wenn ich den Kernel unter X86 konfiguriere dann erscheit dort nur X86 CPU Versionen. Und wenn ich den Kernel unter PPC konfiguriere erscheinen dort nur die verschiedenen PPC Varianten.

Kurz gesagt ich kann unter X86 keine PPC Architektur auswählen.
cu
Picknicker

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 12.06.2005 20:50:07

welche variante verw. du denn
make config
make menuconfig oder
make xconfig

make config versucht?

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 12.06.2005 22:22:53

bisher nur "make menuconfig"
make config ist ja mega stessig ;)

aber gerade mal angeworfen auf meinem 3000+

Code: Alles auswählen

rm -f include/asm
( cd include ; ln -sf asm-i386 asm)
/bin/sh scripts/Configure arch/i386/config.in
#
# Using defaults found in arch/i386/defconfig
#
*
* Code maturity level options
*
Prompt for development and/or incomplete code/drivers (CONFIG_EXPERIMENTAL) [N/y/?] n
*
* Processor type and features
*
Processor family (386, 486/Cx486, 586/K5/5x86/6x86, Pentium/K6/TSC/CyrixIII, PPro/6x86MX) [PPro/6x86MX]
leider nix
cu
Picknicker

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Hab was gefunden

Beitrag von Picknicker » 12.06.2005 22:46:10

So hab hier mal was gefunden :
http://www.ussg.iu.edu/hypermail/linux/ ... /1421.html

und mal das versucht:

Code: Alles auswählen

make ARCH=ppc CROSS_COMPILE=ppc-linux- menuconfig 
und siehe da ich bekomme die PPC Prozessoren angezeigt ;)

ich versuch mal ein Kernel zu compilieren ..

geht nicht :(
bricht gleich mit fehlermeldungen ab ..
Zuletzt geändert von Picknicker am 12.06.2005 22:54:09, insgesamt 1-mal geändert.
cu
Picknicker

AkiraHinoshiro
Beiträge: 429
Registriert: 09.10.2003 16:17:33
Wohnort: Ilmenau
Kontaktdaten:

Beitrag von AkiraHinoshiro » 12.06.2005 22:47:28

Da wirst du wohl keine Chance haben. Meines Wissens gibt es im Linux Kernel Assembler Befehle und der Befehlssatz eines Mac ist nicht mit dem eines x86 kompatibel.

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 12.06.2005 22:55:33

Ich behaupte, dass das eigentlich kein Problem sein sollte. Hab gerade mal in die gcc man page geschaut - das Teil kann wohl PPC-code erzeugen. von daher sollte das cross compilen eigentlich klappen!
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

david_voit
Beiträge: 3
Registriert: 12.06.2005 23:42:40

Beitrag von david_voit » 13.06.2005 00:09:36

Du brauchst einen Cross-Compiler zuerst.
Also wie erstellt man einen GCC Crosscompiler (Für Sarge):

Cross binutils

apt-get source binutils
wget http://bugs.debian.org/cgi-bin/bugrepor ... g=47&att=1
(oder neuere Version von http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=231707)

cd binutils-2.15/
patch -p1 < ../binutils-cross-2.15-6.patch.20050601
TARGET=powerpc fakeroot debian/rules binary-cross

Jetzt musst du das Paket installieren.

So und nun GCC

apt-get source gcc-3.3
cd gcc-3.3-3.3.5/
GCC_TARGET=powerpc fakeroot debian/rules control

Das müsste gehen.
Hab aber leider nur binutils testen können also ohne gewähr.

Benutzeravatar
peschmae
Beiträge: 4844
Registriert: 07.01.2003 12:50:33
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: nirgendwo im irgendwo

Beitrag von peschmae » 13.06.2005 00:14:39

Viel Spass beim Crosscompilern. Nur weil der Kernelbau eine Stunde geht lohnt sich das bestimmt nicht. Ist nach meinen Erfahrungen nämlich ein rechtes gebastel....

Btw. bei mir hat der Kernel auch eine Stunde - na und? ;)

MfG Peschmä
"er hätte nicht in die usa ziehen dürfen - die versauen alles" -- Snoopy

Benutzeravatar
Picknicker
Beiträge: 654
Registriert: 25.04.2003 16:28:02
Wohnort: Saarland

Beitrag von Picknicker » 13.06.2005 09:31:30

Unter diesen Umständen stimme ich dir natürlich zu ;)
Ich dachte halt das geht einfacher..

nuja schade 8)
cu
Picknicker

Benutzeravatar
KBDCALLS
Moderator
Beiträge: 22455
Registriert: 24.12.2003 21:26:55
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von KBDCALLS » 13.06.2005 11:33:34

Mit make-kpkg müßte das aber auch funktionieren.

Code: Alles auswählen

 --arch     foo        architecture
 --cross-compile
 --cross_compile       target string
 --subarch  bar        Set the subarch for the image being compiled
                        (have to be on a compatible machine).
 --arch-in-name
 --arch_in_name        Embed the subarch in the image package name

Was haben Windows und ein Uboot gemeinsam?
Kaum macht man ein Fenster auf, gehen die Probleme los.

EDV ist die Abkürzung für: Ende der Vernunft

Bevor du einen Beitrag postest:
  • Kennst du unsere Verhaltensregeln
  • Lange Codezeilen/Logs gehören nach NoPaste, in Deinen Beitrag dann der passende Link dazu.

david_voit
Beiträge: 3
Registriert: 12.06.2005 23:42:40

Beitrag von david_voit » 13.06.2005 17:05:24

Es geht auch. Mann benötigt nur einen Cross-Compiler.

Der GCC spuckt normalerweise Ausführbaredateien für die selbe Archetektur auf der er auch läuft aus.

Wenn wir nun aber eben Datein für einen anderen Cpu erstellen wollen müßen wir dafür erst einen Cross-GCC erstellen (der eben für einen anderen Cpu code erzeugt). Der standard compiler kann das eben nicht.

Deswegen erst Crossgcc erstelen. Und dann mittels z.B. make-kpkg den kernel auch sagen das er cross-compilirt werden soll.

Antworten