View previous topic :: View next topic |
Author |
Message |
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Fri Nov 18, 2005 4:45 pm Post subject: |
|
|
metalifloyd wrote: | I fail to see how compiling software will cause more wear and tear on the equipment than sitting idle. |
your understanding is wrong. compiling generates A LOT more heat than sitting idle. _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks |
|
Back to top |
|
|
Lepaca Kliffoth l33t
Joined: 28 Apr 2004 Posts: 737 Location: Florence, Italy
|
Posted: Fri Nov 18, 2005 4:51 pm Post subject: |
|
|
EzInKy wrote: | When I talk of Gentoo becomming a binary distro I'm talking about the trends. My first install was with one of the 1.2 release candidates x86 stage one's. That small, 7.8mb, download installed just enough tools to build a complete system. The stage one on the mirrors today is 13mb, and performed perfectly about a month ago when I was teaching a friend how to get through the install process. Now, looking at the size of a stage three, I see the one for x86 is 87mb. So now it takes roughly ten times more precompiled code to accomplish what Gentoo could accomplish a few years ago? |
Geez is precompiled code unholy or dirty or what? If Gentoo isn't good enough for your pursue of l33tness then build LFS and be done with it. Wait are you on a 56k connection? _________________ It isn't enough to win - everyone else must lose, and you also have to rub it in their face (maybe chop off an arm too for good measure).
Animebox! |
|
Back to top |
|
|
slycordinator Advocate
Joined: 31 Jan 2004 Posts: 3065 Location: Korea
|
Posted: Fri Nov 18, 2005 6:00 pm Post subject: |
|
|
metalifloyd wrote: |
I always thought that a CPU (Workstation or Laptop) was constantly looping, waiting for data to process. Since the clock is always cycling, I fail to see how compiling software will cause more wear and tear on the equipment than sitting idle. I suppose the hard disk might get more use but then again copying binaries would be just as much I/O. |
Clock != CPU
The CPU is under far less strain when it is not performing a task compared to when it is performing one. |
|
Back to top |
|
|
ciaranm Retired Dev
Joined: 19 Jul 2003 Posts: 1719 Location: In Hiding
|
Posted: Fri Nov 18, 2005 6:18 pm Post subject: |
|
|
slycordinator wrote: | The CPU is under far less strain when it is not performing a task compared to when it is performing one. |
Also important to note that certain parts of the CPU tend to be far more strenuous than others. Examples of stuff that really makes most CPUs work hard: FPU, SIMD. Examples of stuff that is barely used by compilers: FPU, SIMD. |
|
Back to top |
|
|
Iced-Tux Apprentice
Joined: 14 Apr 2004 Posts: 183 Location: Germany, Cologne
|
Posted: Mon Nov 21, 2005 4:44 pm Post subject: Whats up with the HANDBOOK?? |
|
|
Hi everyone out there.
What the hell happend to the overwhelming-accurate-you-never-feel-alone-at-every-step-through-your-gentoo-installation-handbook?
Why are there no more sections for stage1/2 installations? The things that make gentoo stand over other distros.
A shame really.
So you gentoo-maintainer.... PLEASE give "n00bs" the chance for a guided stage1 installation...... _________________ !! The road to hell is full of good intentions !! |
|
Back to top |
|
|
Monkeh Veteran
Joined: 06 Aug 2005 Posts: 1656 Location: England
|
Posted: Mon Nov 21, 2005 5:07 pm Post subject: |
|
|
'n00bs' shouldn't be DOING stage 1 or 2 installations. |
|
Back to top |
|
|
opqdan Guru
Joined: 13 Dec 2004 Posts: 429 Location: Redmond, WA, USA
|
Posted: Mon Nov 21, 2005 5:19 pm Post subject: Re: Whats up with the HANDBOOK?? |
|
|
Iced-Tux wrote: | ... The things that make gentoo stand over other distros ... | Disagree, there are so many other factors that a stage 1/2 install doesn't even make the list.
Monkeh wrote: | 'n00bs' shouldn't be DOING stage 1 or 2 installations. | Agree, but one can do whatever they want, and they can find the documentation on it if they would like to do so. |
|
Back to top |
|
|
codergeek42 Bodhisattva
Joined: 05 Apr 2004 Posts: 5142 Location: Anaheim, CA (USA)
|
Posted: Mon Nov 21, 2005 5:38 pm Post subject: |
|
|
Merged Iced-Tux's, Monkeh's, and opqdan's posts, above, with this thread. _________________ ~~ Peter: Programmer, Mathematician, STEM & Free Software Advocate, Enlightened Agent, Transhumanist, Fedora contributor
Who am I? :: EFF & FSF |
|
Back to top |
|
|
sundialsvc4 Guru
Joined: 10 Nov 2005 Posts: 436
|
Posted: Mon Nov 21, 2005 7:48 pm Post subject: |
|
|
The fact that you can compile everything from the ground-up does not mean that you want to. If you're determined to build a Gentoo system absolutely from the ground-up, I'm sure that it's still possible to do that... and such masochism is usually un-deterred. But seriously, it actually makes a whole lot of sense to be able to just grab a pre-compiled binary, and save you and your system possibly days of entirely-pointless labor if that labor will simply "get you to a well-defined and common starting point." The choice of "whether you want to or not," should be yours.
Personally, I'd like to see a readily available on-line archive of pre-compiled files for various architectures, all merged into the Portage system so that I can either compile the source, or download and install the equivalent binary for my CPU-type, all at my option. There are times when I want to do one; and other times when I want to do the other; and even to do both of them together so that I have both the latest source and the product thereof, without actually having to compile it all. (ZZzzzzzz....) It should be my choice, reflecting whatever is most convenient for my situation (whatever that may be).
"Help Avoid Redundant Effort."
If there is any single point where "compiling from source" is most beneficial, it is: the kernel and the core libraries. The farther "up" you get from that, toward applications, the less critical and the less beneficial source-compiling becomes to many of us. So again, it should be an option. The system owner's choice.
A computer certainly can become hot ... the chip can be hot enough to fry an egg! Many computers (especially laptops) are not thermally designed to dissipate the heat that they can generate when stressed. Because in normal operation they never are "stressed." Their idea of a "busy day" is a PowerPoint presentation. It's not sound engineering practice, but it's cheap and it's certainly done. It might be fine to "heat up" your system a little bit sometimes, but let's be frank ... not always! That shouldn't be your only option.
Last edited by sundialsvc4 on Mon Nov 21, 2005 8:08 pm; edited 2 times in total |
|
Back to top |
|
|
Paapaa l33t
Joined: 14 Aug 2005 Posts: 955 Location: Finland
|
Posted: Mon Nov 21, 2005 8:02 pm Post subject: |
|
|
There should be a FAQ describing the TRUE differences between various stages. People seem to think that stage1/2 could be used to optimize more or to use USE flags differently than stage3. Some people seem to think that the system has more installed packages (is more bloated) after stage3 install than when starting from stage1/2. FAQ should tell:
1. Why there are different stages and what do they do - in detail. "Bootstrap" or "build the toolchain" is too vague. What is included in stage1 tarball, what is done in bootstrapping and in stage2, what packages are involved, what components form the toolchain etc.
2. In what situations is stage1/2 actually required.
3. What are the differences between the end results when starting from stage1/2 and starting directly from stage3. And in what situations there are no differences at all.
4. Is there anything you can do in stage1/2 which you can't do in stage3 later.
5. Is stage1 "broken by design" or are those issues (circular dependencies, for example) past.
And most importantly:
6. Describe the correct, fastest and most realible way to compile the whole system after altering CHOST, CFLAGS and USE flags. The method is probably different when done during installation than when done after installation when the system has been in use and "world" is populated. I've seen recommendation of using bootstrap.sh and "emerge -e system && emerge -e system && emerge -e world && emerge -e world" and some recommendations where "system" is replaced with certain package names. Which is suitable in which situation?
It should also be described if and why the toolchain and "world" should be built twice. And also if it is unnecessary.
It should be clear now that you can compile EVERYTHING with updated CHOST, CFLAGS and USE flags as many times as you wish and you will get as optimized system as you want no matter what stage you choose. (If the stage3 tarball exists, of course). We just need proper documentation that leaves no questions unanswered in this matter.
Yes, I'd do the FAQ happily but my knowledge in this matter is still way too limited. |
|
Back to top |
|
|
warrens Apprentice
Joined: 04 Jan 2005 Posts: 239 Location: Don't Tread On Me!
|
Posted: Mon Nov 21, 2005 10:34 pm Post subject: |
|
|
What does bootstap.sh give us? Here is what running bootstrap.sh --pretend shows will be installed.
linux-headers
texinfo
gettext
binutils
gcc
glibc
baselayout
zlib-1.2.3
This is how your toolchain is built using Stage 1. Does it work? Yes, it has for me in the past, however many other users have had trouble using bootstrap.sh. Is the the correct way to build the toolchain? IMO, no.
Now here is how the toolchain is built in LFS which IMO is the most correct way of building the toolchain.
Binutils - Pass 1
GCC-3.4.3 - Pass 1
Linux-Headers
Glibc
Adjusting the Toolchain
Tcl
Expect-5.43.0
DejaGNU
GCC - Pass 2
Binutils - Pass 2
Gawk
Coreutils
Bzip2
Gzip
Diffutils
Findutils
Make
Grep
Sed
Gettext
Ncurses
Patch
Tar
Texinfo
Bash
M4
Bison
Flex
Util-linux
Perl
Now this only gets you up to a Stage 2 equivalent setup. To finish getting to Stage 3 you would need to to this:
Linux-Headers
Man-pages
Glibc
Re-adjusting the Toolchain
Binutils
GCC
Coreutils
Zlib
Mktemp
Iana-Etc
Findutils
Gawk
Ncurses
Readline
Vim
M4
Bison
Less
Groff
Sed
Flex
Gettext
Inetutils
IPRoute
Perl
Texinfo
Autoconf
Automake
Bash
File
Libtool
Bzip2
Diffutils
Kbd
E2fsprogs
Grep
GRUB
Gzip
Hotplug
Man
Make
Module-Init-Tools
Patch
Procps
Psmisc
Shadow
Sysklogd
Sysvinit
Tar
Udev
Util-linux
If you followed the LFS book you could take an entire weekend to get to a bootable system. IMO doing the LFS book takes to much of MY TIME, and doing bootstrap.sh and then emerge -e system does not build the system in the best way. So what to do? You could write your own script and use a lot of trial and error to make portage build your system LFS style (I figure that this could kill a couple of weekends), you could use Stage 3 setup your make.conf however you like then emerege -e system && emerge -e system (which is a better solution and takes about half a day), or do a Stage 1/3 install (IMO the best solution using portage tools and will take about a day). The way I see it is that LFS takes a lot of MY TIME and alot of COMTUTER TIME, not good. On the other hand a Stage 1/3 install takes a little of MY TIME and a lot of COMUTER TIME, much better.
So, do it how you want, but I will let the computer do all the grunt work and go have fun while it does. _________________ The BIGGER the GOVERNMENT, the smaller the citizen.
DON'T TREAD ON ME!!!
My Bias #1
The best government is the government that governs least. |
|
Back to top |
|
|
allucid Veteran
Joined: 02 Nov 2002 Posts: 1314 Location: atlanta
|
Posted: Mon Nov 21, 2005 11:57 pm Post subject: |
|
|
What's the difference between a Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3? |
|
Back to top |
|
|
ciaranm Retired Dev
Joined: 19 Jul 2003 Posts: 1719 Location: In Hiding
|
Posted: Tue Nov 22, 2005 12:06 am Post subject: |
|
|
allucid wrote: | What's the difference between a Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3? |
The former will actually work, and not randomly explode because of circular dependencies. |
|
Back to top |
|
|
codergeek42 Bodhisattva
Joined: 05 Apr 2004 Posts: 5142 Location: Anaheim, CA (USA)
|
Posted: Tue Nov 22, 2005 12:09 am Post subject: |
|
|
Ciaran, you have such a nice way of wording things. _________________ ~~ Peter: Programmer, Mathematician, STEM & Free Software Advocate, Enlightened Agent, Transhumanist, Fedora contributor
Who am I? :: EFF & FSF |
|
Back to top |
|
|
warrens Apprentice
Joined: 04 Jan 2005 Posts: 239 Location: Don't Tread On Me!
|
Posted: Tue Nov 22, 2005 12:19 am Post subject: |
|
|
allucid wrote: | What's the difference between a Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3? |
With a Stage 1/3 you are using a toolchain that is different than a normal Stage 3. A normal 2005.1 install uses gcc-3.3.6 without Native Posix Thread Library support, whereas my particular Stagee 1/3 build is using gcc-3.4.4 with NPTL support. This requires that the new toolchain be built and the default toolchain before emerge -e system && emerge -e system is done so that that the entire build is done with the new toolchain. Other than this an Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3 is basically the same. More info on Stage 1/3 is here at https://forums.gentoo.org/viewtopic-t-400576.html _________________ The BIGGER the GOVERNMENT, the smaller the citizen.
DON'T TREAD ON ME!!!
My Bias #1
The best government is the government that governs least. |
|
Back to top |
|
|
warrens Apprentice
Joined: 04 Jan 2005 Posts: 239 Location: Don't Tread On Me!
|
Posted: Tue Nov 22, 2005 12:30 am Post subject: |
|
|
ciaranm wrote: |
The former will actually work, and not randomly explode because of circular dependencies. |
ciarnm this seem to be more of the difference between Stage 3 and Stage 1 installs, not Stage 3 and Stage 1/3. _________________ The BIGGER the GOVERNMENT, the smaller the citizen.
DON'T TREAD ON ME!!!
My Bias #1
The best government is the government that governs least. |
|
Back to top |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Nov 22, 2005 12:31 am Post subject: |
|
|
ciaranm wrote: | allucid wrote: | What's the difference between a Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3? |
The former will actually work, and not randomly explode because of circular dependencies. |
the later will actually work, and not randomly explode because of circular dependencies.
i guess that you didn't read closely enough to see that he was referring to my Stage 1 on a Stage 3 tarball installation method. what you said would have been correct if you had been referring to the Gentoo Stage 1 installation method.
its noteworthy that the Stage 1/3 Guide came about A YEAR BEFORE the Gentoo recommendations of November 2005 to install from a Stage 3 tarball and emerge -e system twice. in reality the former is the later, and the later is the former.
i guess its a compliment that Gentoo has finally deprecated the Stage 1 installation method in favor of the technique used in the Stage 1/3 installation method that i've been promoting for a YEAR: Bob P's Stage 1 on a Stage 3 Tarball Installation Method for Gentoo 2004.3.
now if Gentoo could only get rid of the default x86 GCC 3.3-based toolkit that hasn't improved in over a year we'd really start making some progress... _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Last edited by Bob P on Tue Nov 22, 2005 12:45 am; edited 1 time in total |
|
Back to top |
|
|
warrens Apprentice
Joined: 04 Jan 2005 Posts: 239 Location: Don't Tread On Me!
|
Posted: Tue Nov 22, 2005 12:43 am Post subject: |
|
|
What I don't get is why gcc-3.4.4 is stable for amd64 and still in testing for x86? _________________ The BIGGER the GOVERNMENT, the smaller the citizen.
DON'T TREAD ON ME!!!
My Bias #1
The best government is the government that governs least. |
|
Back to top |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Nov 22, 2005 12:46 am Post subject: |
|
|
allucid wrote: | What's the difference between a Stage 3 -> emerge -e system && emerge -e system and a Stage 1/3? |
The difference is that the Stage 1/3 Guide emerges a new GCC 3.4.4-based toolkit with NPTL support before performing the system rebuild with two emerge -e systems.
If you eliminated the steps of emerging the new version of GCC from the Stage 1/3 Guide, then the Stage 3 -> emerge -e system -> emerge -e system that Gentoo is now officially recommending is exactly what I've been using for over A YEAR.
better late than never! _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks |
|
Back to top |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Tue Nov 22, 2005 12:49 am Post subject: |
|
|
warrens wrote: | What I don't get is why gcc-3.4.4 is stable for amd64 and still in testing for x86? |
i don't get it either.
The whole idea behind the original Stage 1/3 Installation Guide was to prove that GCC 3.4.3 + NPTL was stable if built properly. That was way back in December or January. Some people didn't take the hint.
Jackass! 2005.0 was designed to prove that GCC 3.4.3 + NPTL is so stable that it could become part of the standard Stage 3 installation media. The Jackass! 2005.0 Development Team (Sith_Happens, obsidianblackhawk & myself) got together and did it to encourage everyone that GCC 3.4.3 was stable if it was built properly. Some people didn't take the hint.
Not much has changed in the past year. We've had a couple of minor revisions to GCC and GLIBC come along and that's about it. All of these revisions have made it into Jackass! updates, but GCC 3.4.x remains marked as unstable. It seems that most of the development effort has gone into GCC 4.x and there are no plans to ever mark GCC 3.4.3 stable, so we're never likely to see it in a Gentoo Stage 3 tarball. What a shame. _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Last edited by Bob P on Tue Nov 22, 2005 1:02 am; edited 1 time in total |
|
Back to top |
|
|
ciaranm Retired Dev
Joined: 19 Jul 2003 Posts: 1719 Location: In Hiding
|
Posted: Tue Nov 22, 2005 12:52 am Post subject: |
|
|
warrens wrote: | What I don't get is why gcc-3.4.4 is stable for amd64 and still in testing for x86? |
Still some outstanding outstanding bugs on x86... The toolchain is highly arch-dependent. |
|
Back to top |
|
|
omp Retired Dev
Joined: 10 Sep 2005 Posts: 1018 Location: Glendale, California
|
Posted: Tue Nov 22, 2005 1:13 am Post subject: |
|
|
codergeek42 wrote: | Ciaran, you have such a nice way of wording things. | I *have* to agree with that. _________________ meow. |
|
Back to top |
|
|
scharkalvin Guru
Joined: 31 Jan 2004 Posts: 331 Location: south florida
|
Posted: Tue Nov 22, 2005 4:34 pm Post subject: |
|
|
After reading this thread (head spinning, but slowing down) I think I almost
understand the advantage of a stage 3 install. Actually I never tried a stage 1
(well I did once but it never booted), I did do a few stage 2 installs. There does
seem to be a chicken and egg problem here though. In order to actually create
the stage 3 tarballs, you need to create a toolkit and basic system for that
arch, first. So you probably need to do the equal of a stage 1 install for that,
(not the end users problem though) right?
To answer a non-developers question, just what IS the magic behind the
emerge -e command? Yes I know -e means "empty tree", but exactly what
does that DO different from without the -e? Is it safe to change the compiler
flags for re-building the toolchain/system when you use the -e (and why)?
IE: I install from a stage3 x86 tarball and then rebuild after setting my flags
for say, a Pentium III derived Celeron?
What about if I wanted to build a tarball for a computer too slow to actually compile
it on? Such as, I'm running on a 2ghz athlon-xp, but want to build a stage 3 tarball
for a K6. (there are no K6 specific tarballs). I guess this is a cross compile?
If I wanted to do this on an Athlon64 system it sure would be! |
|
Back to top |
|
|
Sven Vermeulen Retired Dev
Joined: 29 Aug 2002 Posts: 1345 Location: Mechelen, Belgium
|
Posted: Tue Nov 22, 2005 4:41 pm Post subject: |
|
|
When you use -e, Portage will rebuild all packages of which it believes are and should be on your system. That means all packages you have emerged yourself, their dependencies, and the system packages.
It is indeed best to use something akin of emerge -e world when you have changed your CFLAGS (although, after looking at this thread, running emerge -e system && emerge -e world should probably be a better option). _________________ Please add "[solved]" to the initial topic title when it is solved. |
|
Back to top |
|
|
EzInKy Veteran
Joined: 11 Oct 2002 Posts: 1742 Location: Kentucky
|
Posted: Tue Nov 22, 2005 7:48 pm Post subject: |
|
|
Lepaca Kliffoth wrote: |
Geez is precompiled code unholy or dirty or what? If Gentoo isn't good enough for your pursue of l33tness then build LFS and be done with it. Wait are you on a 56k connection?
|
No precompiled code is not unholy or dirty, source just makes playing with constantly improving software easier. I have built a couple of LFS systems but I choose Gentoo because it automated the build process from the ground up better than any other distro out there and provided the clearest documentation on how to do so.
And no I'm not in some "leetness" pursuit, I just happen to think that Gentoo is by far the best platform for software development and testing. If obscene CFLAGS and USE flags are what are plaguing the build process then it is they that should be deprecated, not stage one ebuilds. _________________ Time is what keeps everything from happening all at once. |
|
Back to top |
|
|
|