/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Linux på IBM PowerPC
Fra : Mikael Hansen


Dato : 29-07-03 01:17

Har fået en aflagt IBM 7248-100 PowerPC (PReP, 43P), som jeg vil prøve
at lave en lille FTP server med.

Der var ingen dokumentation med til maskinen, men efter en del søgen på
nettet er det lykkedes mig at få instaleret en Mandrake 9.1

Specielt var denne side til stor hjælp:
http://www.tldp.org/HOWTO/IBM7248-HOWTO/index.html

Men nu er jeg nået dertil hvor jeg skal compile en ny kernel (skal have
IDE kontroleren i drift for at få mere plads end de 1 GB der er på SCSI
disken).
Men her opstår fejl, måske mangler jeg nogle tools.
Make manglede på et tidspunkt powerpc-linux-gcc, prøvede at linke den
til den alm. gcc.
der var vist en ting mere jeg førsygte at linke, kan ikke lige huske
hvilken.
er også i tvivl om kernel-headers er instaleret, jeg kunne ikke finden
den som rpm i distroen.


Nå ville så prøve om jeg kunne kompile kernelen på min Intel P4 1800,
RH7.3 opgraderet til kernel 2.4.19, den kan ihvertfald kompile intel
kerner, og det går også væsentligt hurtigerer her (ca 15 min alt i alt)
Mangler igen powerpc-linux-gcc, linker til gcc, og der var også noget
med en "ld" der manglede en anden version af.

nu får jeg fejl af bl.a. følgende typer:
invalid register name for register variable
unknown register name in `asm'
Assambler messages:
Error: no such instruction: `sc '
Error: no such instruction: `mfcr %ebx'
Error: no such instruction: `sc '
Error: no such instruction: `mfcr %eax'
Error: no such instruction: `sc '
Error: no such instruction: `mfcr %eax'
.....
make: *** [init/main.o] Error 1


er der nogen der har gode ideer, der kan hjælpe mig videre.
De skal lige nævnes at PPC ser ud til at virke fint med standart
instalationen, bortset fra at den ikke kan boote fra harddisken i den
nuværende opsætning. CDROM drevet kan ikke læse CD-RW, om det elles
virker har jeg endnu ikke testet, det har nu heller ikke den store
betydning, instalerede så via nætværk og lod min P4 agere HTTP server.

Er ikke nybegynder i Linux, men heller ikke ekspert. Men har aldrig haft
med PPC at gøre før.

m.v.h. Mikael Hansen


 
 
Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 06:40

In article <3F25BCFC.40705@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
> nu får jeg fejl af bl.a. følgende typer:
> invalid register name for register variable
> unknown register name in `asm'
> Assambler messages:
> Error: no such instruction: `sc '
> Error: no such instruction: `mfcr %ebx'
> Error: no such instruction: `sc '
> Error: no such instruction: `mfcr %eax'
> Error: no such instruction: `sc '
> Error: no such instruction: `mfcr %eax'
> ....
> make: *** [init/main.o] Error 1

Jeg har set noget lign. ved krydsoversættelse til min IBM403 PPC processor.
Viste sig, at gcc laver rigtig kode, men kalder en generisk ppc assembler
som ikke kender specifikke PPC403 opkoder. Min løsning:

CC=$(PREFIX)gcc -mstrict-alignment -Wa,-m403

Altså at give gcc besked om at fortælle assembleren at det _skal_ være
403 arkitekturen der specifikt skal bruges.

Håber det kan hjælpe

Thomas, Vanløse

Mikael Hansen (29-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 29-07-03 09:05

Thomas S. Iversen wrote:
> In article <3F25BCFC.40705@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
>
>>nu får jeg fejl af bl.a. følgende typer:
>>invalid register name for register variable
>>unknown register name in `asm'
>>Assambler messages:
>>Error: no such instruction: `sc '
>>Error: no such instruction: `mfcr %ebx'
>>Error: no such instruction: `sc '
>>Error: no such instruction: `mfcr %eax'
>>Error: no such instruction: `sc '
>>Error: no such instruction: `mfcr %eax'
>>....
>>make: *** [init/main.o] Error 1
>
>
> Jeg har set noget lign. ved krydsoversættelse til min IBM403 PPC processor.
> Viste sig, at gcc laver rigtig kode, men kalder en generisk ppc assembler
> som ikke kender specifikke PPC403 opkoder. Min løsning:
>
> CC=$(PREFIX)gcc -mstrict-alignment -Wa,-m403
>
> Altså at give gcc besked om at fortælle assembleren at det _skal_ være
> 403 arkitekturen der specifikt skal bruges.
>
> Håber det kan hjælpe
>
> Thomas, Vanløse

Øh, er det et script der skal ændres, for hved indtastning af:
CC=$(PREFIX)gcc -mstrict-alignment -Wa,-m604
i komandolinien for jeg følgende svar:
bash: PREFIX: command not found
bash: -mstrict-alignment: command not found

eller skal man være root for at sætte dette parameter

jeg går ud fra at jeg skal bruge m604, da det er en 604 CPU i denne maskine.

m.v.h. Mikael


Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 07:14

> Øh, er det et script der skal ændres, for hved indtastning af:
> CC=$(PREFIX)gcc -mstrict-alignment -Wa,-m604

I din Makefile.

Test det først. Tag en fil der fejler, oversæt den manuelt med gcc -S
så du får en assembler fil. Kald den assembler som er default for at
se at fejlen opstår i assembleringsfasen, tilføj derefter -m604 til
kommandoen for assembleren og se om fejlen forsvinder og du får din .o
fil.

Mvh Thomas, Vanløse

Mikael Hansen (29-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 29-07-03 09:56

Thomas S. Iversen wrote:
>>Øh, er det et script der skal ændres, for hved indtastning af:
>>CC=$(PREFIX)gcc -mstrict-alignment -Wa,-m604
>
>
> I din Makefile.
>
> Test det først. Tag en fil der fejler, oversæt den manuelt med gcc -S
> så du får en assembler fil. Kald den assembler som er default for at
> se at fejlen opstår i assembleringsfasen, tilføj derefter -m604 til
> kommandoen for assembleren og se om fejlen forsvinder og du får din .o
> fil.
>
> Mvh Thomas, Vanløse

Det lykkedes mig ikke at få til at virke, her et udsnit fra Makefile,
hvor jeg tror den skal ændres ud fra din beskrivelse:
....
HOSTCC = gcc
HOSTCFLAGS = -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer

CROSS_COMPILE = powerpc-linux-

#
# Include the make variables (CC, etc...)
#

AS = $(CROSS_COMPILE)as
LD = $(CROSS_COMPILE)ld
CC = $(CROSS_COMPILE)gcc -mstrict-alignment -Wa,-m604
CPP = $(CC) -E
AR = $(CROSS_COMPILE)ar
NM = $(CROSS_COMPILE)nm
STRIP = $(CROSS_COMPILE)strip
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdump
MAKEFILES = $(TOPDIR)/.config
GENKSYMS = /sbin/genksyms
DEPMOD = /sbin/depmod
MODFLAGS = -DMODULE
CFLAGS_KERNEL =
PERL = perl
....
før ændringen hed CC linien
CC = $(CROSS_COMPILE)gcc

jeg syntes også jeg under en søgning efter "powerpc-linux-gcc" så
"binutils" nævt.

m.v.h. Mikael


Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 09:11

In article <3F2636A9.2020806@DELETE.post.cybercity.dk>, Mikael Hansen wrote:

> Det lykkedes mig ikke at få til at virke, her et udsnit fra Makefile,
> hvor jeg tror den skal ændres ud fra din beskrivelse:

Det ser også ud til at være det rigtige sted. Du får stadigvæk samme fejl?
Lav og make.log og se hvad der rent faktisk bliver afgivet af kommandoer
for at oversætte filerne.

Thomas, Vanløse

Mikael Hansen (29-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 29-07-03 21:15

Thomas S. Iversen wrote:

>
> Det ser også ud til at være det rigtige sted. Du får stadigvæk samme fejl?
> Lav og make.log og se hvad der rent faktisk bliver afgivet af kommandoer
> for at oversætte filerne.
>
> Thomas, Vanløse


Øh, hvordan får jeg make til at lave en logfil, har prøvet følgende

make zImage > make.log

men outputtet forekommer mig lidt kort i forhold til alle de
fejlmældinger der ruller over skærmen, men her er outputtet hvis det kan
bruges til noget:

powerpc-linux-gcc -mstrict-alignment -Wa,-m604 -D__KERNEL__
-I/usr/BUILD/usr/src/linux-2.4.21/include -Wall -Wstrict-prototypes
-Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
-I/usr/BUILD/usr/src/linux-2.4.21/arch/ppc -fsigned-char -msoft-float
-pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring
-DKBUILD_BASENAME=main -c -o init/main.o init/main.c

Mikael


Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 19:25

In article <3F26D5B5.1020002@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
> make zImage > make.log

make zImage &> make.log vil hjælpe.

> powerpc-linux-gcc -mstrict-alignment -Wa,-m604 -D__KERNEL__
> -I/usr/BUILD/usr/src/linux-2.4.21/include -Wall -Wstrict-prototypes
> -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer
> -I/usr/BUILD/usr/src/linux-2.4.21/arch/ppc -fsigned-char -msoft-float
> -pipe -ffixed-r2 -Wno-uninitialized -mmultiple -mstring
> -DKBUILD_BASENAME=main -c -o init/main.o init/main.c

Prøv at erstatte sidste linie med:

-DKBUILD_BASENAME=main -S -o init/main.s init/main.c

Derefter prøver du ppc-linux-as -m604 init/main.s

Thomas, Vanløse

Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 19:35

In article <3F26D5B5.1020002@DELETE.post.cybercity.dk>, Mikael Hansen wrote:

Hov Mikael

Den linie der fejler ser da suspekt ud:

mfcr %eax

eax, ebx osv, er da registre på i386 arkitekturen. Gør ihvertfald mig
mistænksom.

Thomas, Vanløse

Mikael Hansen (29-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 29-07-03 21:50

Thomas S. Iversen wrote:
> In article <3F26D5B5.1020002@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
>
> Hov Mikael
>
> Den linie der fejler ser da suspekt ud:
>
> mfcr %eax
>
> eax, ebx osv, er da registre på i386 arkitekturen. Gør ihvertfald mig
> mistænksom.
>
> Thomas, Vanløse

Jeg har ikke sat mig ind i registrer på de forskællige platforme, men
mener at man burde kunne kompile til andre platforme.

Hvis det skal være kan jeg da godt sætte IBM'en op så du kan få adgang
til at pille ved den, hvis du kan se hvad der mangler og har tid til det.
jeg mener ikke jeg så disse fejl da jeg forsøgte at kompile på PPC
platformen,

send evt. en mail med ønsket brugernavn og adgangskode, hvis det har
interesse, du burte kunne gætte hvad der skal ændres i mailadressen.
har fornylig fået ADSL med fast IP, og router, så det er ikke noget
problem at give adgang.

m.v.h. Mikael


Thomas S. Iversen (29-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 29-07-03 20:03

In article <3F26DDED.3060801@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
>> eax, ebx osv, er da registre på i386 arkitekturen. Gør ihvertfald mig
>> mistænksom.
>
> Jeg har ikke sat mig ind i registrer på de forskællige platforme, men
> mener at man burde kunne kompile til andre platforme.

Det kan man også. Det gør jeg ihvertfald med stor succes herhjemme!
Det kan være en makro der bliver ekspanderet forkert
(registre fra x86 og instruktioner fra ppc). Svært at sige.

> Hvis det skal være kan jeg da godt sætte IBM'en op så du kan få adgang

Tak for tilbuddet, men jeg har ikke tid (har ikke en gang tid til
at lege med mit eget issenkram

Mvh Thomas, Vanløse

Mikael Hansen (30-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 30-07-03 00:04

Thomas S. Iversen wrote:
> Tak for tilbuddet, men jeg har ikke tid (har ikke en gang tid til
> at lege med mit eget issenkram
>
> Mvh Thomas, Vanløse

Men åbenbart tid nok til denne NG.

Havnede lige på LPD og fant dette som måske kunne være nyttigt.

#http://www.tldp.org/guides.html

Custom Linux: A Porting Guide - Porting LinuxPPC to a Custom SBC

version: 2.0
author: Shie Erlich, <shie@myrealbox.com>
last update: June 2002
available formats:

1. HTML (read online)
2. HTML (tarred and gzipped package, 24k)
3. PDF (61k)
4. other : plain text, PDF, PostScript, PluckerDB, and XML (DocBook)
source.

This guide describes a work in progress, to port Linux to a custom
PowerPC-based board. This means making the operating system work on
unfamiliar hardware. Anyone, who is on the same track might benefit from
reading this paper, as it highlights the pitfalls and problematic points
along the way.

hilsen Mikael


Mikael Hansen (30-07-2003)
Kommentar
Fra : Mikael Hansen


Dato : 30-07-03 02:30

Mikael Hansen wrote:

Dette ser også interresant ud

http://penguinppc.org/dev/

hilsen Mikael




Thomas S. Iversen (30-07-2003)
Kommentar
Fra : Thomas S. Iversen


Dato : 30-07-03 07:02

In article <3F26FD6C.4020603@DELETE.post.cybercity.dk>, Mikael Hansen wrote:

> Men åbenbart tid nok til denne NG.

Ja; det tager heldigvis meget kortere tid at skrive usenet
messages med løsningsforslag til problemer end det gør, rent
faktisk at løse problemerne!

Thomas, Vanløse

Mikael Hansen (04-08-2003)
Kommentar
Fra : Mikael Hansen


Dato : 04-08-03 09:58

Thomas S. Iversen wrote:
> In article <3F26DDED.3060801@DELETE.post.cybercity.dk>, Mikael Hansen wrote:
>
>>>eax, ebx osv, er da registre på i386 arkitekturen. Gør ihvertfald mig
>>>mistænksom.
>>
>>Jeg har ikke sat mig ind i registrer på de forskællige platforme, men
>>mener at man burde kunne kompile til andre platforme.
>
>
> Det kan man også. Det gør jeg ihvertfald med stor succes herhjemme!
> Det kan være en makro der bliver ekspanderet forkert
> (registre fra x86 og instruktioner fra ppc). Svært at sige.
>
>
> Mvh Thomas, Vanløse


Så lykkedes det mig i weekenden at få lavet de manglende værktøjer til
crooscompiling, binutils & gcc, så nu virker det. Så skal jeg evt. bare
have slukket for nogle service den forsøger at starte op, men som jeg
ikke har brug for, og som derfor ikke er compilet ind i kernelen, bl.a. NFS.

m.v.h. Mikael


Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste