Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Building packages for multiple systems
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo
View previous topic :: View next topic  
Author Message
deoren
Apprentice
Apprentice


Joined: 23 Dec 2004
Posts: 227
Location: USA

PostPosted: Thu Jan 06, 2005 1:11 am    Post subject: Building packages for multiple systems Reply with quote

I'm a newbie to Gentoo, but am pretty familiar with GNU/Linux as a whole. What I've used since Nov of 2003 is Fedora, and I have to say I like Fedora Core 1 pretty well. Unfortunately, since Fedora Core 1 I have to say the quality seems to have degraded somewhat. Fedora Core 3 is slow. There is hardly another way to describe it.

I read somewhere (was it today, yesterday?) that it's optimized for P4. Oh wait, it was today. It can be found here: http://trends.newsforge.com/article.pl?sid=04/12/21/1934253


Quote:
Gentoo users tweak everything for performance and stability. Everything must be built from source with compilation options made for the processor architecture. ( Of course they also have prebuilt tuned binaries as well to reduce the endless days of compiling )

Here's an interesting site, dedicated to Gentoo users:
http://funroll-loops.org/

Gentoo users just compile code. They are not constructive by rewriting the code for performance and contributing it back to the community.

Only a few things that make your system slow: lack of ram, poor video drivers, and hard disk access.

I don't use Gentoo. I can admit I have tweaked for speed. I recompiled Fedora source RPMS for the frequently used programs I run: Firefox, Linux kernel, Xorg, and GNOME. (Fedora is already optimized for P4 processors) That is as far as I will go. Performance difference is ok.

I also rewrote the boot process to boot from power on to GNOME in under 20 seconds (P4 1.8Ghz Laptop) and no services turned off, using IBM's paralellism recommendation.

Tunning is for Geeks. Tunning everything is for the obsessive.


Just thought I'd throw that in there. I don't agree with most of it.

With Fedora Core 1 I did what the poster did: compile source rpms for the most used applications and core system utilities. With FC1 I notice a substantial performance boost (mostly desktop systems).

In my circumstance, I am using a Pentium 1 200 MMX system as a router/firewall, a Pentium 1 166 (no mmx) system as a web server, and a K6-2 300 Mhz system as a desktop (old but dependable).

Oh yeah, a P4 3.2 Ghz laptop I use to compile rpms for the FC1 systems (the Pentium 1 systems run FC1).

Just to be specific, the K6-2 runs FC3. I base the responsiveness of FC3 on a P4 3.2 Ghz system I use at work which previously had FC1. I do realize that Fedora Core 1 uses a 2.4.22 kernel (heavily patched I understand) and FC3 uses a 2.6.x kernel (also patched). It may not be fair to compare the FC1 system I used to a FC3 system, but the FC1 system was much more responsive and less prone to app crashing.

I think that was because FC1 was originally destined to be Red Hat Linux 10 before they changed their minds. But anyway.


What this long post is trying to say is I want to use Gentoo on the laptop, and also on the current FC1 router and FC1 web server.

I don't want to do the compiling on those systems but I still want the best optimizations for those architectures.

In a nutshell, I want to be able to compile P4 optimized packages for the laptop, K6-2 optimized packages for the desktop (K6-2 300 Mhz), P1 (no mmx) and P1-MMX systems.

I apologize if this post has bored anyone, but I'm trying to give as much detail as possible.

I thought about first wiping out the partition I have FC1 on and subdividing it into equal partitions for each arch I want to compile for, but I figured there must be a better way.

Perhaps setup a Gentoo installation, and then create subdirectories for each arch. Then chroot into whichever directory and setup the installation there. Go through and get it ready. Exit, then chroot into each other directory. I would then do similar setups for each arch I wanted to create packages for.

Does that sound about right?

Thanks for any/all feedback. :)
Back to top
View user's profile Send private message
rfdonnelly
n00b
n00b


Joined: 31 Dec 2004
Posts: 68
Location: Riverside, CA USA

PostPosted: Thu Jan 06, 2005 2:21 am    Post subject: Reply with quote

I use distcc (http://www.gentoo.org/doc/en/distcc.xml) to distribute the compiling for my slower systems. This will only speed up the compiling though. The configure part of an emerge still takes a considerable amount of time on my PII 233Mhz but flys by on my Athlon XP 2800+.

I don't see why you couldn't do it the way you described. Sounds perfectly logical and doable to me.

You could probably also do something with emerge -B which builds a binary package but does not install on the system. First, backup and edit your make.conf.

Then do a:
# emerge -B package
Then copy over your binary packages from /usr/portage/packages to the lesser machine. On the lesser machine do a:
# emerge -k package
Back to top
View user's profile Send private message
deoren
Apprentice
Apprentice


Joined: 23 Dec 2004
Posts: 227
Location: USA

PostPosted: Thu Jan 06, 2005 2:56 am    Post subject: Reply with quote

rfdonnelly wrote:
I use distcc (http://www.gentoo.org/doc/en/distcc.xml) to distribute the compiling for my slower systems. This will only speed up the compiling though. The configure part of an emerge still takes a considerable amount of time on my PII 233Mhz but flys by on my Athlon XP 2800+.

I don't see why you couldn't do it the way you described. Sounds perfectly logical and doable to me.

You could probably also do something with emerge -B which builds a binary package but does not install on the system. First, backup and edit your make.conf.

Then do a:
# emerge -B package
Then copy over your binary packages from /usr/portage/packages to the lesser machine. On the lesser machine do a:
# emerge -k package


Hmm... so basically backup my make.conf which would be set to P4 optimizations, and change the settings to that of one of the other systems and then do emerge -B to build a binary package for that system.

That way, I would only need one installation of Gentoo, but could compile for multiple setups (P1, P1 w/MMX, K6-2, P4)?

If so, that rocks.

It could be made even easier. I could just create multiple make.conf files and just change a symlink from ${MAKE.CONF} to /etc/make.conf (where ${MAKE.CONF} is the file to use for make.conf).

Somebody let me know that'll work. That will make my day. :D
Back to top
View user's profile Send private message
rfdonnelly
n00b
n00b


Joined: 31 Dec 2004
Posts: 68
Location: Riverside, CA USA

PostPosted: Thu Jan 06, 2005 6:59 am    Post subject: Reply with quote

Yes that should work. You can do something like the following:

Code:
# ls -1 /etc/make.d/
p4
p1
p1mmx
# cd /etc/
# ln -s make.d/p1mmx make.conf


Also, once you change your make.conf you can simply emerge -aBev system to compile all you system packages for the new arch. But when you emerge something like xorg-x11 and you already have it emerged on the current system, no dependencies will be built. I know no easy way of building only the ones you need without specifically telling emerge which ones. You could do an emerge -aBev xorg-x11 but then you would be building overlapping packages that emerge -aBev system already built.
Back to top
View user's profile Send private message
deoren
Apprentice
Apprentice


Joined: 23 Dec 2004
Posts: 227
Location: USA

PostPosted: Thu Jan 06, 2005 10:16 pm    Post subject: Reply with quote

Cool. Look's like I'll be giving it a try before too long. Thanks for your help. :)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Other Things Gentoo All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum