[Linux/i686] Kernel Cross-compilen voor Mac-m68k probleem

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06 14:28
Ik probeer dus op mijn Debian systeem een kernel te bakken om te kijken of ik hem op mijn Macintosh aan de praat kan krijgen. De bedoeling is om daar ooit namelijk ook succesvol Linux op te draaien maar tot nu toe is dat (nog) niet gelukt. Daarom wilde ik het nu eens met een zelfgecompilde kernel proberen.

Ik heb hier de m68k Binutils en Gcc gehaald en geinstalleerd:
http://sourceforge.net/project/showfiles.php?group_id=11666

Verder met debian kernel-source-2.4.14 en kernel-patch-2.4.14-m68k geinstalleerd, source uitgepakt en gepatched.

ARCH := m68k
en
CROSS_COMPILE = m68k-linux-
aangepast in de Makefile.

make menuconfig, make dep ging prima

Maar dan, make vmlinux / make bzImage etcetera krijg ik deze error:
m68k-linux-gcc -D__KERNEL__ -I/usr/src/kernel-source-2.4.14/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -fno-strength-reduce -ffixed-a2 -c -o init/main.o init/main.c
In file included from /usr/src/kernel-source-2.4.14/include/linux/wait.h:13,
from /usr/src/kernel-source-2.4.14/include/linux/fs.h:12,
from /usr/src/kernel-source-2.4.14/include/linux/capability.h:17,
from /usr/src/kernel-source-2.4.14/include/linux/binfmts.h:5,
from /usr/src/kernel-source-2.4.14/include/linux/sched.h:9,
from /usr/src/kernel-source-2.4.14/include/linux/mm.h:4,
from /usr/src/kernel-source-2.4.14/include/linux/slab.h:14,
from /usr/src/kernel-source-2.4.14/include/linux/proc_fs.h:5,
from init/main.c:15:
/usr/src/kernel-source-2.4.14/include/linux/kernel.h:10: stdarg.h: No such file or directory

En daarna nog een hele berg errors veroorzaakt door deze.
locate stdarg.h levert het volgende op:
/usr/lib/gcc-lib/i386-linux/2.95.4/include/stdarg.h
/usr/lib/gcc-lib/m68k-linux/2.95.4/include/stdarg.h

Ik kan wel gewoon kernels voor de i386 bakken, dan heeft hij geen probleem met stdarg.h vinden, blijkbaar nu wel.

Heeft iemand enig idee hoe ik dit op kan lossen?
Ik heb al lopen zoeken over CrossCompilen, maar opzich zou het zo moeten werken krijg ik de indruk.

Please do not contact me telepathically.


Acties:
  • 0 Henk 'm!

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06 14:28
Misschien nog interessant om toe te voegen, eerst kreeg ik ook nog deze errors:
m68k-linux-gcc: installation problem, cannot exec `cpp0': No such file or directory
m68k-linux-gcc: installation problem, cannot exec `cc1': No such file or directory

Deze heb ik opgelost door symbolic links te maken vanuit /usr/bin naar
/usr/lib/gcc-lib/m68k-linux/2.95.4/cc1
/usr/lib/gcc-lib/m68k-linux/2.95.4/cpp0

Maar ik kom er net achter dat dat niet nodig is voor de i386-linux compiler, dus ik denk dat hij zijn gcc-lib directory niet (goed) kan vinden ofzo? :? 8)7

Please do not contact me telepathically.


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 05-09 17:21

deadinspace

The what goes where now?

Ik heb geen ervaring met crosscompilen, maar wat voor een CPU heeft die Macintosh precies?

Acties:
  • 0 Henk 'm!

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06 14:28
Het ging om een Mac met 68030 Processor, waarvan gezegd wordt dat het zou moeten werken.

Het probleem heb ik net opgelost, toen ik m68k-linux-gcc -print-search-dirs had gedaan gaf hij namelijk:
install: /usr/local/m68k-linux-cross/usr/lib/gcc-lib/m68k-linux/2.95.4/
programs: /usr/local/m68k-linux-cross/usr/lib/gcc-lib/m68k-linux/2.95.4/:/usr/local/m68k-linux-cross/usr/lib/gcc-lib/m68k-linux/:/usr/lib/gcc/m68k-linux/2.95.4/:/usr/lib/gcc/m68k-linux/:/usr/local/m68k-linux-cross/usr/m68k-linux/bin/m68k-linux/2.95.4/:/usr/local/m68k-linux-cross/usr/m68k-linux/bin/
libraries: /usr/local/m68k-linux-cross/usr/lib/gcc-lib/m68k-linux/2.95.4/:/usr/lib/gcc/m68k-linux/2.95.4/:/usr/local/m68k-linux-cross/usr/m68k-linux/lib/m68k-linux/2.95.4/:/usr/local/m68k-linux-cross/usr/m68k-linux/lib/

Terwijl hij in /usr/lib/gcc-lib/m68k-linux/2.95.4/ stond geinstalleerd. Nadat ik dat veranderd had wilde hij wel beginnen met compilen.

Overigens ben ik er nog steeds niet doorheen, kernel compile loopt vast op allemaal fouten in de code, maar door af en toe wat sourcecode aan te passen en sommige opties weer te veranderen ben ik er langzaam doorheen aan het komen.... ik ben eigenlijk wel benieuwd of die uiteindelijke kernel die ik er uit ga krijgen nog gaat werken ;)

Please do not contact me telepathically.


Acties:
  • 0 Henk 'm!

  • deadinspace
  • Registratie: Juni 2001
  • Laatst online: 05-09 17:21

deadinspace

The what goes where now?

Ah, Linux heeft namelijk een MMU nodig, en niet alle m68k CPU's hebben een MMU. De 68030 is de eerste met interne MMU, dus die zou wel moeten werken wat dat betreft.
Ik ben op http://www.linux-m68k.org/faq/reqs.html wel tegengekomen dat je met de 68030 een externe FPU nodig hebt. Op die pagina wordt ook gezegd dat FPU emulatie op m68k niet betrouwbaar werkt. Bij mijn weten werkt FPU emulatie op i386 goed, maar ik weet niet hoe groot de verschillen tussen de i386 en de m68k tree zijn wat dat betreft...

Acties:
  • 0 Henk 'm!

  • Squee
  • Registratie: November 2000
  • Laatst online: 07-06 14:28
Het zou moeten werken opzich... de modellen die ik heb worden als werkend aangegeven op de machine status page:
http://maclinuxstatus.sourceforge.net/status/

Over dat van die FPU is me erg onduidelijk, op sommige plaatsen wordt inderdaad gezegd dat het niet werkt zonder, maar die pages zijn ook weer dermate verouderd vaak.

Ik loop inmiddels vast op compile errors in /arch/m68k/mac
Met multiple definitions tijdens het linken:
m68k-linux-ld -m m68kelf -r -o mac.o config.o bootparse.o macints.o iop.o via.o oss.o psc.o baboon.o macboing.o debug.o misc.o mac_ksyms.o
bootparse.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
macints.o(.bss+0x0): multiple definition of `mac_hw_present'
config.o(.bss+0x4): first defined here
macints.o(.bss+0x2): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
iop.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
via.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
via.o(.bss+0x4): multiple definition of `mac_hw_present'
config.o(.bss+0x4): first defined here
oss.o(.bss+0x0): multiple definition of `mac_hw_present'
config.o(.bss+0x4): first defined here
oss.o(.bss+0x2): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
psc.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
baboon.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
macboing.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here
debug.o(.bss+0x0): multiple definition of `mac_hw_present'
config.o(.bss+0x4): first defined here
misc.o(.bss+0x0): multiple definition of `macintosh_config'
config.o(.bss+0x0): first defined here

Ben er nog niet uit hoe ik die moet oplossen :/

Please do not contact me telepathically.

Pagina: 1