View previous topic :: View next topic |
Author |
Message |
sammy2ooo Apprentice
Joined: 26 May 2004 Posts: 225
|
Posted: Tue Nov 23, 2004 2:22 pm Post subject: distcc + kernel compilation |
|
|
hi,
i am installing gentoo on a P1 200MHz machine.
Right now it comes to the kernel compilation. All host in my lan are running distcc.
What has to be modified to use distcc during kernel compilation?
Any hints are welcome
greets _________________ - Linux is sexy -
guru@linux:~> who | egrep -i 'blonde|black|brown' | talk && cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; mount; fsck; more; yes; gasp; umount; make clean; sleep; |
|
Back to top |
|
|
pilla Bodhisattva
Joined: 07 Aug 2002 Posts: 7729 Location: Underworld
|
Posted: Tue Nov 23, 2004 2:49 pm Post subject: |
|
|
Why don't you compile the kernel in another machine and just copy it back to your Pentium 200 machine? _________________ "I'm just very selective about the reality I choose to accept." -- Calvin |
|
Back to top |
|
|
sammy2ooo Apprentice
Joined: 26 May 2004 Posts: 225
|
Posted: Tue Nov 23, 2004 5:54 pm Post subject: |
|
|
hm well okay....that would be an idea
i was thinking abit about trying to use distcc to compile the kernel: distcc would only be helpful to compile modules distributed, because the kernel is one binary... isn't that possible?? _________________ - Linux is sexy -
guru@linux:~> who | egrep -i 'blonde|black|brown' | talk && cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; mount; fsck; more; yes; gasp; umount; make clean; sleep; |
|
Back to top |
|
|
noob^2 n00b
Joined: 29 Sep 2003 Posts: 42
|
Posted: Tue Nov 23, 2004 6:48 pm Post subject: |
|
|
to answer your question: all you have to change to use distcc is make.conf.
Code: | This is my standalone configuration:
CFLAGS="-02 -march=pentium -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
AUTOCLEAN="yes"
USE="blah"
PORTAGE_TMPDIR=/var/tmp
MAKEOPTS="-j2" |
Code: | This is my DistCC configuration:
CFLAGS="-02 -march=pentium -pipe -fomit-frame-pointer"
CHOST="i586-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
AUTOCLEAN="yes"
USE="blah"
PORTAGE_TMPDIR=/var/tmp
MAKEOPTS="-j4"
DISTCC_DIR="${PORTAGE_TMPDIR}/portage/.distcc
DISTCC_HOSTS="192.168.1.103 localhost"" |
notes:
you must manually create /var/tmp/portage/.distcc
DISTCC_HOSTS is processed in a "first come first served" basis and it behooves you to place the faster clients ahead of the slower host or even omit the host.
MAKEOPTS is best left at # of CPUs + 1.
be sure to start the distcc daemon
Keep a make.conf, make.conf.standalone, and make.conf.distcc. Just open whichever file denotes the preferred method and overwrite make.conf.
I use distccKnoppix on my clients and it's gcc is not as hardened as gentoo's. This means that certain compiles will inevitably fail with "pie" errors. Simply switch to standalone and compile these and then switch back to distcc. Don't even bother using distcc for bootstrap.
Concerning pilla's reply:
I have 2X 2.4GHz P4 machines and a lowly P150 laptop. Compiling with the hard drive in the laptop with 1X P4 assisting via distcc makes a tremendous difference relative to compiling solely on the P150. When the hard drive was placed in the other P4 and the compile was performed with the 2 P4's and no P150 there was still an appreciable gain but not necessarily worth the hassle of swapping drives to achieve it. Note that I have yet to try keeping the drive in the P150 and using both P4's via distcc . If there is an appreciable improvement in that method then swapping drives would truly be silly. _________________ "Communication is not just words... Communication is Architecture" |
|
Back to top |
|
|
sammy2ooo Apprentice
Joined: 26 May 2004 Posts: 225
|
Posted: Tue Nov 23, 2004 8:02 pm Post subject: |
|
|
thx for your long answer, i am already quit happy with distcc
i was just interessted if there is a possibility to use distcc to compile kernels
greets _________________ - Linux is sexy -
guru@linux:~> who | egrep -i 'blonde|black|brown' | talk && cd ~; wine; talk; touch; unzip; touch; strip; gasp; finger; mount; fsck; more; yes; gasp; umount; make clean; sleep; |
|
Back to top |
|
|
Gentree Watchman
Joined: 01 Jul 2003 Posts: 5350 Location: France, Old Europe
|
Posted: Wed Nov 24, 2004 1:15 am Post subject: |
|
|
noob^2 wrote: Quote: | Keep a make.conf, make.conf.standalone, and make.conf.distcc. Just open whichever file denotes the preferred method and overwrite make.conf. |
drawback: every time you mod make.conf you need to remenber to do it twice (or rather thrice).
A better approach is probably commenting the distcc lines when not in use.
Code: |
MAKEOPTS="-j2"
#MAKEOPTS="-j4"
#DISTCC_DIR="${PORTAGE_TMPDIR}/portage/.distcc
#DISTCC_HOSTS="192.168.1.103 localhost""
|
Anyway thanks for your post , I'm going to give distcc a try.
_________________ Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86 |
|
Back to top |
|
|
pilla Bodhisattva
Joined: 07 Aug 2002 Posts: 7729 Location: Underworld
|
Posted: Wed Nov 24, 2004 11:24 am Post subject: |
|
|
I didn't mean to swap drives. If you have a good network card, you can just use NFS or scp to move things around (like a source tree). _________________ "I'm just very selective about the reality I choose to accept." -- Calvin |
|
Back to top |
|
|
Gentree Watchman
Joined: 01 Jul 2003 Posts: 5350 Location: France, Old Europe
|
Posted: Wed Nov 24, 2004 12:07 pm Post subject: |
|
|
Well I have not got it working yet.
What's the interplay with distcc-config and DISTCC_HOSTS ?
I read somewhere to use the former now if I add the latter I dont know which is effective. I'd like to centralise as much as poss in make.conf
Do I need distccd running on the client ?? Surely this is just for the servers.
Thx. _________________ Linux, because I'd rather own a free OS than steal one that's not worth paying for.
Gentoo because I'm a masochist
AthlonXP-M on A7N8X. Portage ~x86 |
|
Back to top |
|
|
|