Power Developer
https://powerdeveloper.org/forums/

Compiling from Pegasos to Efika...
https://powerdeveloper.org/forums/viewtopic.php?f=8&t=1165
Page 1 of 1

Author:  lugduweb [ Thu Feb 01, 2007 3:16 pm ]
Post subject:  Compiling from Pegasos to Efika...

Hi !

Looking at Frostwork's post about his CDGA2 designed both for Pegasos and Efika, I was wondering how he was doing for both compiling stuff for the Pegasos and for the Efika under Linux Gentoo.
So I've decided to open a new thread about it. I guess this question might be interesting for other people...

So Frostwork, are you compiling the same stuff twice, by just changing the make.conf CFLAGS or do you have setup a specific crossdev environement ?

I'm asking this, because I'm wondering how much effort it would require for me, to port my "EZPegTV" (Gentoo+MythTV) from Pegasos to Efika.
The idea behind this would be to use the Efika as the backend client and the Pegasos as a frontend server with the PVR card.

So, at the moment I'm wondering how I can do this easily (even if not optimized):
- Do I have to restart it all from scratch using the stage4 available for Efika (with all its patches) and building it step by step (very long work again :-( )
- Or is it possible to compile EZPegTV as it is (from the Pegasos version with 2.6.15 kernel) for the Efika CPU on my Pegasos, just by changing a few flags in make.conf and maybe a few kernel options ?

In any case, if I want to compile stuff on my Pegasos for the Efika, as it is the same ARCH but not the same CPU, do I need crossdev or is it enough to change the ROOT/and/or portage targets ?

I've seen many tutorials about crossdev, not very clear on first read. Most of them talk about cross compiling on x86 for ppc... What about compiling on Pegasos PPC for Efika PPC ?
Well, I think I will find a way, but it's always interesting to have others opinion.

Author:  Neko [ Thu Feb 01, 2007 6:59 pm ]
Post subject:  Re: Compiling from Pegasos to Efika...

Quote:
Hi !
CPU on my Pegasos, just by changing a few flags in make.conf
Take altivec out of the USE flags and make sure GCC gets -mcpu=603e, that should be about it. If the application is clever you can compile it with AltiVec in and let it switch in software (ffmpeg will do this) but don't try and use autovectorizers and be careful of more lazy apps.

Author:  frostwork [ Fri Feb 02, 2007 1:09 am ]
Post subject: 

Hi Geoffrey!

Matt already said everything relevant so it's a bit late now :)
You probably don't have to rebuild everything, but some
"lazy apps" :) require a rebuild with appropriate USE-flags.
In fact the cdga2-image booted almost fine without any
modifications (apart from the efika-kernel+modules) up
to the xorg-initialization - so i guess i have to rebuild at
least xorg...
Was worth a try for the beginning anyway :)

As of stage4 you mentioned. Is it a single stage4-tarball
or do you mean the binary distfiles from the gentoo-efika-wiki?

friendly,
Marcel

Author:  lu_zero [ Fri Feb 02, 2007 1:18 am ]
Post subject: 

keep in mind that distcc is working nicely =)

Author:  lugduweb [ Fri Feb 02, 2007 5:56 am ]
Post subject: 

@frostwork: Stage4 : http://dev.gentoo.org/~humpback/efika/

My current CFLAGS on Pegasos are :
CFLAGS="-O3 -mcpu="G4" -mtune=G4 -mabi=altivec -fno-strict-aliasing -pipe"

So I'm afraid that it will not work :(
Anyway, I'm going to try.

distcc: well sounds good... I'm going to look at that.

Author:  frostwork [ Fri Feb 02, 2007 6:43 am ]
Post subject: 

Thanks for the link geoffrey! bookmarked :)
When setting -mabi=altivec you maybe also should set
-maltivec.
My peg2-CFLAGS look like this:
CFLAGS="-O2 -mtune=powerpc -maltivec -mabi=altivec -mcpu=7400 -pipe -fno-strict-aliasing -ftree-loop-im -fivopts -ffast-math -fomit-frame-pointer -funroll-loops -ftree-vectorize"
They work fine in 99,99%
(mjpegtools don't like afair -ftree-vectorize f.e)
I'll try to find out why cdga2-X doesn't like to work on efika
maybe only the xorg-server has to be rebuilt...

Author:  lugduweb [ Fri Feb 02, 2007 11:03 am ]
Post subject: 

Hi Frostwork,

for the link maybe you should bookmark this one
Efika.org links ;-)

Author:  lu_zero [ Sat Feb 03, 2007 1:34 am ]
Post subject: 

Quote:
Thanks for the link geoffrey! bookmarked :)
When setting -mabi=altivec you maybe also should set
-maltivec.
My peg2-CFLAGS look like this:
CFLAGS="-O2 -mtune=powerpc -maltivec -mabi=altivec -mcpu=7400 -pipe -fno-strict-aliasing -ftree-loop-im -fivopts -ffast-math -fomit-frame-pointer -funroll-loops -ftree-vectorize"
They work fine in 99,99%
(mjpegtools don't like afair -ftree-vectorize f.e)
I'll try to find out why cdga2-X doesn't like to work on efika
maybe only the xorg-server has to be rebuilt...
-maltivec -mabi=altivec triggers gcc builtin altivec optimizations, so you'll end with non G3 compatible binaries....

Author:  frostwork [ Sat Feb 03, 2007 3:13 am ]
Post subject: 

>-maltivec -mabi=altivec triggers gcc builtin altivec optimizations, so you'll end with non G3 compatible binaries....

Yes of course. The hint was meant for the pegasos not for the efika..... (My peg2-CFLAGS look like this:)

Author:  lugduweb [ Mon Feb 05, 2007 3:05 pm ]
Post subject: 

Hi !
Back on tracks.

I've tried to run directly my EZPegTV binaries on the Efika, with the Gentoo config with G4 CFLAGS given above and of course it does not work much (probably because the mcpu option)...
I've got "illegal operation" messages when I run progs such as nano or emerge.

Then I've looked a bit to distcc and have seen that distcc was already installed in the Gentoo's Efika stage4 I had (from link above). Great !
So it seems I only have to configure the Pegasos and set the good hosts on the Efika.
But, I'm not sure if I have understood all, there is a lot of doc and not always clear. On the Pegasos, do I only have to run the distcc daemon (no config required or what) ? What about crossdev. It seems that I don't need it as I use the same ARCH ?

So, as I have a mirror copy on my working Pegasos Gentoo install, I've decided to sacrify one and rebuild the all stuff on the Pegasos for the Efika but with the G3 flags. Hope it will work like this. A big "emerge -e world"... Let's see what I will have with that...

Reading /etc/make.conf file tells that the -mcpu=750 option should work both for G3 & G4 (with O2 and no altivec). I've seen above that Frostwork was using -mcpu=7400... So what's best to have 100% working code both on Efika & Pegasos ?

I think I will do a small tutorial about that in the next Efika book...

Author:  SoundSquare [ Tue Feb 06, 2007 2:56 am ]
Post subject: 

http://www.gentoo.org/doc/fr/distcc.xml

Author:  lu_zero [ Tue Feb 06, 2007 6:47 am ]
Post subject: 

Quote:
Reading /etc/make.conf file tells that the -mcpu=750 option should work both for G3 & G4 (with O2 and no altivec). I've seen above that Frostwork was using -mcpu=7400... So what's best to have 100% working code both on Efika & Pegasos ?

I think I will do a small tutorial about that in the next Efika book...
the efika cflags as reported have to have -mcpu=G3 ...

-mcpu=G4,7400,G5,970,etc will all produce something that will die horribly on the efika...

Author:  lugduweb [ Sun Feb 11, 2007 8:01 am ]
Post subject: 

Hi !

I've re-compiled all my Linux Gentoo "EZPegTV" system on my Pegasos for the Efika only by editing the /etc/make.conf file.
As suggested, I've used CFLAGS="-O2 -mcpu=603e -pipe" and did a big "emerge -e world" command.
It took more than 4 uninterrupted days to compile the 679 packages !

As I was using an old 2.6.15-r8 kernel (because of ivtv), I've also taken humpback's stage4 kernel and made small changes to build a working kernel for the Efika.

Now, I've transfered all the directory tree under my Efika and it -almost- works !
- It boots :-)
- GDM / Gnome & Xorg are working fine
- I have 3D rendering (Chromium works great by the way - but the sound cracks)
- I can use my USB mass storage disk
- I have sound (I had to change the sound chip module)
- I have video (quite slow for the moment...).

At the moment, I'm only having troubles with the network which is as you guess very annoying...
DHCP seems to give an IP address but network does not work.
The network adapter is recognized, my router is giving an address via DHCP, but nothing works on the Efika.
If I ping the router (192.168.0.1) it gives me a "Network is unreachable" answer...
Something must be badly configured but it's strange as I'm using the same config as on the Pegasos (which is working).
Note : Humpback's Efika Gentoo stage4 does have the same network problem on my Efika, but network works fine under my Debian config.

Anyway, I'm now going to try to fix it by building a new kernel using the latest 2.6.19-efika-r2 available kernel...

Once this network problem will be fixed, I will remove useless remaining things and will configure MythTV for a frontend Efika.

Author:  lu_zero [ Sat Feb 17, 2007 8:51 am ]
Post subject: 

I have no issues using static addresses...

which dhcp module are you using?

Author:  lugduweb [ Sun Feb 18, 2007 1:30 pm ]
Post subject: 

oops forgot to tell that it now works.
I only reinstalled dhcp 3.0.11 to make the network work (I was using an old 2.0.5-r1).

Thanks for the answer anyway.

Now the Pegasos sees the Efika getting connected in MythTV if I cheat a little bit (with chroot) : I made a mistake and versions were different in network protocol so MythTV backend/frontend could not connect.
So, I had to resync and reinstall latest MythTV both on Pegasos and Efika... And now, mythbackend does not want to start on the Pegasos because of MySQL upgrade from 4.x to 5.1. So I started "revdep-rebuild" things and it's getting longer than I was expected...

Page 1 of 1 All times are UTC-06:00
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/