All the steps required for building a functional Gentoo stage4 from scratch.
I am starting this as a new thread, because I was going off topic elsewhere. This will be a diary of sorts, relating how to build a Gentoo stage4 from scratch. A stage4 tarball is one which contains a fully functioning desktop with KDE and/or Gnome. I will also be adding many packages specific to development. Particularly for visualization systems and mathematics. I will also include LTSP, Gluster, Condor, Xen and others. Many of these are not included in Gentoo, and must be built independently.
All of this came about because of difficulty with having chosen the wrong stage3 from the beginning. I would advise against using the hardened-multilib, if you're inclined to be updating packages as I will here. The hardened-multilib stage3 is rarely updated, mostly for security reasons. So it is definitely the wrong stage3 to chose for development purposes. For much of the external work with sources not from Gentoo, I will be using a terrific little package called src2pkg by Gilbert Ashley. It is also discussed in detail on this forum in many threads. So I will now start by closing this and reposting the beginning of my remarks taken from elsewhere which led up to this. Shingoshi |
The lead in from my previous thread.
Quote:
So far, I have run in this order: emerge -sync emerge portage emerge binutils emerge gcc Now here is where the instructions given here diverge from reality. emerging gcc gives you 37 total packages which must be installed. gcc cannot be built on it's own, separate from anything else. If there is a way to do that, it wasn't explained here. So just be aware, emerging gcc amounts to more than just a single build of one binary. It requires a total of 37 sources to be built as well. I should also add that I set this in /etc/make.conf: EMERGE_DEFAULT_OPTS="--with-bdeps=y --buildpkg --deep" So this may have influenced the build process, by adding more packages than would have otherwise been emerged. Be aware however, this is with a new installation. The instructions may have been valid if performed on a system that was already in place and running. However, I chose to start with a CLEAN system, and run the instructions given above, to ensure that I have the most up-to-date configuration possible. In any case, I have not encountered any problems yet. I finally completed the process as stated above, with the exception of "emerge -e system". At that point, I found that I had a conflict between util-linux and setarch. So I decided to upgrade setarch, thinking that having a newer version might eliminate the problem. I was able to update setarch just fine, but that didn't fix the problem. I still have a conflict between setarch and util-linux, where each is blocking the other. So I would like to hear now how to continue from this point, so that I have a completed upgrade. I will check on the net with Google, to see if there are any solutions given to resolve this conflict. Ok. The solution was found. setarch in now included in util-linux, and can be safely removed to continue with "emerge -e system", which is running now. 98 packages have to be emerged. http://www.tummblr.com/linux/gentoo-...erge-ud-world/ Shingoshi |
Are you referring to the old setup which I have since dropped into a basket.
Quote:
For the purposes that I'm engaging in, I haven't even chosen a different profile, other than what is specified by the default installation of stage3. My present thinking is this. I will use this new root as my build engine. I will use it to construct a stage4 installation. That tarball will then be copied to my functional system, and will then be used for daily operations. But the present build I'm engaged in now, will remain in pristine condition. Meaning I will make no changes (ie. customizations) in it except to add all of the packages I want to use in my working system. I will let conf-update handle all of the changes in /etc. Beyond that, I won't do anything else to it. I am also thinking that I should start this as a new thread, explaining how to complete this process in detail for new users like myself. Presently, I'm in the final stages (95 of 98 @ glibc-2.6.1) of running "emerge -e system". When this is done, I will then install the following: lzma-utils (For my man pages) conf-update (Wanted something to handle my /etc files) sandbox (This is what started the whole mess in the first place!) This was installed by running "emerge -e system". So this step is unnecessary. slang (Needed for the installation of mc.) mc (I never work without this.) gentoolkit-dev (For all the extra functions I will need in the future.) autounmask (Now on to the fun stuff.) ufed (Because I really like seeing what I'm doing in a gui.) cppunit (I will doing a lot of compilations) distcc doxygen ccache revdeps-rebuild (Required by rebuilding glibc.) boost (Because most of what I'll be doing in the future, requires this.) I will be adding more to this as I go along. This probably really ought to be a new thread. Shingoshi |
I have a question about these flags as they appear.
I have encountered this on a couple of ebuilds, and am not sure what they mean. Does this indicate these ebuilds will be rebuilt or removed?
starbase64 / # emerge lm_sensors --pretend These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] sys-devel/binutils-2.18-r1 USE="multislot*" [ebuild R ] sys-apps/groff-1.19.2-r1 USE="X*" [ebuild N ] sys-apps/lm_sensors-2.10.4 USE="-sensord" I had changed the use flags on some things as required for their builds. Now, I am stopped at every emerge by this concerning binutils and groff. Shingoshi |
The ebuild lmsensors will be NEWLY installed while the others will be REBUILT. Look in the manual for emerge. The multislot USE flag means for multiple compilers. For developers, multislot is OK, but it might be a pain to work with at times.
harden installs is used for servers or paranoid desktop/notebook user. mult-lib installs provides 32-bit libraries to be used with 32-bit programs such as Adobe Flash Player, Adobe SVG, Windows codecs, Sun Microsystems JAVA and a few others on a 64-bit installation. A developer can go far using an stage3 install. If you have a 80686 (Pentium Pro) or better, use the i686 version. If you have a 80386, use the x86 install. If you are starting with stage1, use the catalyst script to help you through it. If you want to introduce new programs in the Portage tree, talk to the Gentoo developers and add your programs to the Sunrise Portage tree overlay. This overlay gets overlooked from Gentoo developers to include more programs in the main Portage tree. About a week ago I recently did a re-install of Gentoo because I have not done a world update since the old install of Gentoo which was a year and a half ago. I just did a stage3 install using the i686. I had problems with EAPI, so I had to change my plans installing kde first and then xfce4 and gnome last until emerge --sync saids I need to up date portage. I masked mysql-5 because I can not log in to mysql shell to set it up. I am using mysql-4 because it works as expected. I used "march=pentiumpro mtune=pentium4 --pipe -Os" as the CFLAGS. I think I can copy my install to my AMD Athlon (Slot A) and Pentium II. XEN is in the main Portage tree. It just a keyword mask. This means it is experimental. VMware is better because it has a lot of features and it is easy to setup. VMware Server is free just like XEN. I suggest do a complete install with out upgrading the whole system. Then backup the install and do a complete world update. If the compiler needs to be updated, do it first but only after backing up the install. Some good Gentoo sites. http://www.gentoo-portage.com/ http://www.gentoo.wiki.com/ |
Your comments are greatly appreciated, and will be thoroughly considered.
I have not journaled everything in this process, because I had been redirected several times by packages that needed new USE flags, and/or dependencies to be installed first before proceeding with the installation. But I have tried to journal as much as possible, so that it can be easily repeated by the use of a script.
I have done a few things which many would probably say I should not have done (and they may be right). So far, I am running my Gentoo system in the chroot which I setup, and all seems to be going well. I have had a few missteps along the way, but they seem to have been resolved. The big NO NO that I've done, is upgrade to gcc-4.2.3. I will now continue with installing the rest of the packages I want as you have suggested. Then I will follow that with the "emerge world". I just wish that I were able to use both of my dual-core Opterons. But since I have managed to damage my motherboard, and my system is barely running to capacity, I'm making do with what I have. Please feel free to offer further suggestions as they come to mind. Thank you! Shingoshi |
Quote:
I attempted to do this by typing; /etc/make.profile -> ../usr/portage/profiles/default-linux/amd64/2007.0 at the prompt and it comes back with "There is no such file or directory" I also tryed without the two dots (..) in front of /usr/portage/profiles/default-linux/amd64/2007 and it says it's a directory. I have confirmed and verified that both directories exist. What am I doing wrong here? Thanks |
Quote:
ln -s /usr/portage/profiles/default-linux/amd64/2007.0 /etc/make.profile |
Thanks, Shingoshi.
I am just starting with Gentoo - I have just compiled the kernel so it's early days yet. I am doing this with the view to moving onto LFS later on, so as to be even more independent. Clearly at this early stage I have little to add or ask, but any journal such as this is very helpful - and also motivating. I wish more posters would post such threads. Thanks again. |
All times are GMT -5. The time now is 12:09 PM. |