Gentoo Forums
Gentoo Forums
Quick Search: in
Fiordland Stage 1 install Guide Ver. 3.0 (Deprecated)
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Sun Jul 15, 2007 11:38 pm    Post subject: Fiordland Stage 1 install Guide Ver. 3.0 (Deprecated) Reply with quote

Fiordland Stage 1 Install Guide


Well here it is finally, the Fiordland Stage 1 Install guide rewritten to use the new fiordland.sh script. The roots of this guide are still Linux From Scratch, but this is not making Linux From Scratch with portage attached. Rather this guide builds our Gentoo system using the same build order of the toolchain that is used in Linux From Scratch. This gives us a clean toolchain that is two builds seperated from the old toolchain. A clean toolchain is a major key to the resulting systems stability. All I can say at this point is have fun as you build your system. And now for the standard boilerplate.

WARNING: This is an advanced install method for advanced users. This method uses the ~arch branch, so be aware that you could run into some broken packages.
THIS IS NOT A GENTOO SUPPORTED INSTALL, SO DO NOT
BOTHER THE DEVELOPERS WITH ANY PROBLEMS ENCOUNTERED
WHILE FOLLOWING THIS GUIDE.


This Install is based upon a Stage 1 tarball. The main reason for using a Stage 1 tarball is that it provides a minimal installation environment for building our system, which should give us a cleaner environment in which to build the tool chain. During the installation bootstrap.sh will NOT be used, instead we will use fiordland.sh, for which the listing is further down. Since all my machine are P4s (1xP4-M and 2x P4c) the code listings will be x86, adjust to match your arch.

First thing we need to do is get either the Gentoo Minimal Installation CD or the Gentoo Live CD from http://gentoo.osuosl.org/releases/x86/2007.0/installcd/install-x86-minimal-2007.0-r1.iso or http://gentoo.osuosl.org/releases/x86/2007.0/livecd/livecd-i686-installer-2007.0.iso (for other mirrors go here), then burn your ISO to a CD. Use this CD to boot your computer. If you are using the LiveCD you can use the included internet browser to copy and paste fiordland.sh. If using minimal cd then it is best if you can use ssh from another computer.



1 Setup the network.

First thing to check is that your NIC is setup correctly.

First try ifconfig

Code:
ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0D:56:32:6B:31
          inet addr:192.168.1.6  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::20d:56ff:fe32:6b31/64 Scope:Link
          UP BROADCAST NOTRAILERS RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:534293 errors:0 dropped:0 overruns:0 frame:0
          TX packets:907104 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:364028765 (347.1 Mb)  TX bytes:116194376 (110.8 Mb)
          Interrupt:11

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)


If you have a listing like above, then your good to go. If not, then run the net-setup utility. You may have to modprobe the driver for you NIC to get networking to work.

Now ping www.google.com. If it works, then we are ready to proceed to the next step.

2 Prepare your hard disk.

Now to partition the hard disk. Use fdisk or cfdisk for this. I would recommend the following partition layout for a Linux only workstation:

Code:
/dev/hda1  /boot
/dev/hda2 /
/dev/hda3 /home
/dev/hda4 swap


However partition your hard disk to best meet your needs if this layout does not.

Now format your file systems:

Code:
mke2fs -j /dev/hda1
mke2fs -j /dev/hda2
mke2fs -j /dev/hda3


Do this for each of your partitions.

Mount the file systems:

Code:
mount /dev/hda2 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/hda1 /mnt/gentoo/boot


We do not need to mount the /home partition at this time.

3 Install Stage 1 and portage.

Now enter the Gentoo partition:

Code:
cd /mnt/gentoo


Now we are ready to download our stage tarball.

Code:
wget http://gentoo.osuosl.org/releases/x86/2008.0/stages/stage1-x86-2008.0.tar.bz2


also download

Code:
wget http://gentoo.osuosl.org/releases/x86/2008.0/stages/stage1-x86-2008.0.tar.bz2.DIGESTS


Now check the integrity of our download:

Code:
md5sum -c stage1-x86-2008.0.tar.xz.DIGESTS


Unpack the Stage 1 tarball:

Code:
tar xJpf stage1-x86-2008.0.tar.xz



Download a portage snapshot:

Code:
wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.bz2


Unpack Portage

Code:
tar xJf /mnt/gentoo/portage-latest.tar.xz -C /mnt/gentoo/usr



Now to configure the /etc/make.conf file. The following is my make.conf except for my USE flags:

Code:
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" # Most stable and dev recommended on x86
CXXFLAGS="${CFLAGS}"
#CFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe" # Old recommendation
#CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
ACCEPT_KEYWORDS="~x86"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
LINGUAS="en_US ja ko zh_CN zh_TW"
ALSA_CARDS="emu10k1"
VIDEO_CARDS="nvidia"
AUTOCLEAN="yes"
FEATURES="distlocks sandbox userpriv usersandbox"
#FEATURES="distlocks sandbox userpriv usersandbox distcc"  #use this FEATURES line for distcc
USE="nptl nptlonly [i]whatever USE flags you want[/i]”


Edit to match your arch, sound card, video card, and desires.

Now for fiordland.sh.

Code:
nano -w /mnt/gentoo/root/fiordland.sh


It will be easier to copy and paste the script in than to type it.

Code:
#!/bin/bash

# Fiordland.sh
# Copyright 2007-2008 Steven Warren
# Distributed under the terms of the GNU General Public License v3

# Protect /etc/make.conf as it will be overwritten
cp -f /etc/make.conf /etc/make.conf.build

# Feel free to change CHOST, CFLAGS, and CXXFLAGS to match your arch
# Use -O2 -pipe and, depending on arch -fomit-frame-pointer for this part of the build
# where CHOST and various tool chain (gcc, glibc, binutiils, linux-headers) items will
# likely change from what is on the stage 1 tarball

# ACCEPT_KEYWORDS setting [i]arch[/i] or [i]~arch[/i] depending on your preference

# Everything else should be as showen

cat > /etc/make.conf << "EOF"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe"
CXXFLAGS=${CFLAGS}
ACCEPT_KEYWORDS="~x86"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
AUTOCLEAN="yes"
FEATURES="distlocks sandbox userpriv usersandbox"
#FEATURES="distlocks sandbox userpriv usersandbox distcc"  #use this FEATURES line for distcc
USE="-* nptl nptlonly bootstrap"
EOF

USE="nocxx" emerge --oneshot --nodeps lzma-utils sandbox portage || exit 1

emerge --oneshot --nodeps binutils gcc-config || exit 1

USE="nocxx" emerge --oneshot --nodeps gmp || exit 1

emerge --oneshot --nodeps mpfr gcc || exit 1

# Make sure that we will be using the correct gcc for the rest of the build

gcc-config -l

echo "Please select the correct compiler for your system.  "

read opt

gcc-config $opt

emerge --prune gcc || exit 1


env-update
source /etc/profile

emerge --oneshot --nodeps lzma-utils linux-headers unifdef glibc || exit 1

emerge timezone-data || exit 1

# Set your timezone setting here, this listing show my timezone

rm /etc/localtime
ln -s /usr/share/zoneinfo/CST6CDT /etc/localtime

# Here your CFLAGS and CXXFLAGS should be set to match those in your /etc/make.conf file
cat > /etc/make.conf << "EOF"
CHOST="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe" # Most stable and dev recommended on x86
CXXFLAGS="${CFLAGS}"
#CFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe"  # Old recommendation
#CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
ACCEPT_KEYWORDS="~x86"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
AUTOCLEAN="yes"
FEATURES="distlocks sandbox userpriv usersandbox"
#FEATURES="distlocks sandbox userpriv usersandbox distcc"  #use this FEATURES line for distcc
USE="-* nptl nptlonly"
EOF



emerge --oneshot --nodeps =sys-devel/autoconf-2.13 autoconf autoconf-wrapper automake gmp mpfr gcc binutils gawk bzip2 gzip lzma-utils diffutils findutils make grep sed gettext gpm ncurses patch tar sys-apps/texinfo bash bash-completion m4 bison flex pkgconfig bc e2fsprogs-libs util-linux e2fsprogs gdbm perl || exit 1

emerge --oneshot --nodeps linux-headers unifdef glibc binutils gmp mpfr gcc || exit 1

emerge -e --oneshot man-pages coreutils zlib findutils gawk ncurses sys-libs/readline m4 bison less groff sed flex gettext perl sys-apps/texinfo autoconf automake bash file libtool bzip2 diffutils kbd e2fsprogs grep gzip hotplug man make module-init-tools patch procps psmisc shadow sysvinit tar udev util-linux || exit 1

# Restore original /etc/make.conf

cp -f /etc/make.conf.build /etc/make.conf


Make sure that the two sets of CFLAGS and CXXFLAGS in fiordland.sh match those in your make.conf file. If you know the link for your timezone change the link in the script. Edit if needed.

4 Chrooting.

First copy the dns info.

Code:
cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf


Mount proc.

Code:
mount -t proc none /mnt/gentoo/proc


Mount /dev

Code:
mount -o bind /dev /mnt/gentoo/dev


copy /proc/mounts


Code:
cp /proc/mounts /mnt/gentoo/etc/mtab


Chroot into our build environment.

Code:
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
export PS1="(chroot) $PS1"




5 Set the date and time.

Now set the correct time as this is important to our build. We can't set the time zone symlink at this time a zone info is not part of the Stage 1 tarball. We will set the symlink later. The format of the date command is MMDDHHMMYYYY, where MM is the month, DD is the day, HHMM is the time, and YYYY is the year. For July 15, 2007, 4:10 PM:

Code:
date 071516102007


6 Set the correct make.profile link on X86.

The stage 1 tarbel comes with the make.profile link set to /usr/portage/profiles/default-linix/x86/no-nptl, so for those of us that have x86 machines that are x486 or greater need to change our make.profile link.

Code:
rm -f /etc/make.profile
ln -s /usr/portage/profiles/default/linux/x86/2008.0 /etc/make.profile


7 Update the portage tree

Code:
emerge --sync


8 Setup user locales (optional)

Setting user locales is now easier. my /etc/locale.gen is listed below

Code:
# This file names the list of locales to be built when glibc is installed.
# The format is <locale>/<charmap>, where <locale> is a locale from the
# /usr/share/i18n/locales directory, and <charmap> is name of one of the files
# in /usr/share/i18n/charmaps/. All blank lines and lines starting with # are
# ignored. Here is an example:

en_US.UTF-8 UTF-8
en_US ISO-8859-1
ja_JP.EUC-JP EUC-JP
ja_JP.UTF-8 UTF-8
ko_KR.EUC-KR EUC-KR
ko_KR.UTF-8 UTF-8
zh_TW.EUC-TW EUC-TW
zh_TW.UTF-8 UTF-8
zh_TW BIG5
zu_ZA.UTF-8 UTF-8
zu_ZA ISO-8859-1


When glibc is emerged only those locals listed in local.gen will be generated. This saves some time in building our system.

9 Build The system.

gcc-4.3.x caveat for x86_64, IA64, and PPC64 users
gcc-4.3.0 needs glibc-2.7 to cleanly compile cleanly, so do:
Code:
emerge --oneshot --nodeps glibc
before running fiordland.sh.

Now the part we all have been waiting for, building our system. Just do the following:

Code:
cd
sh fiordland.sh && emerge -e system


The script will stop to ask you to select the correct compiler, you should see something similar to this:

Code:
[1] i686-pc-linux-gnu-4.1.1
[2] i686-pc-linux-gnu-4.2.0 *


Just type the number beside the correct compiler (in the case of this example, type 2) and hit enter.

Time to go do something else like sleep or go to work as this part will take a long while to complete. When this completes you will have a system that is completely ~arch built from scratch.

Now we need to build some other useful utilities before we build the kernel. Feel free to use another bootloader, system logger, or editor if you want. I am using lilo as my bootloader, syslogd for my system logger, and vim as my editor.

Code:
emerge xinetd fcron sysfsutils dhcpcd gentoolkit acpid ntp sysklogd vim lilo


Then:

Code:
rc-update add net.eth0 default
rc-update add fcron default
rc-update add xinetd default
rc-update add sshd default
rc-update add hotplug default 
rc-update add acpid default
rc-update add ntp-client default
rc-update add sysklogd default



10 Eliminate system clock skew

Code:
ntpdate -b -u pool.ntp.org



11 Build the kernel

Now we are ready to build the kernel. I use the gentoo-sources in this guide, however you can use any other kernel sources you like.

Code:
emerge gentoo-sources


Make sure the /usr/src/linux points to the correct directory.

Code:
ls -l /usr/src
total 4
lrwxrwxrwx  1 root root   22 Jan  5 11:17 linux -> linux-2.6.19-gentoo-r2
drwxr-xr-x 20 root root 4096 Jan  5 17:49 linux-2.6.19-gentoo-r2


Enter the /usr/src/linux directory and run menuconfig

Code:
cd /usr/src/linux
make menuconfig


After you finish configuring the kernel, build it.

Code:
make && make modules_install && make install


Making the system bootable

12 Now to make your system bootable.

Edit /etc/fstab to match your partition layout.

Code:
/dev/hda1      /boot         ext3      noauto,noatime      1 2
/dev/hda2      /            ext3      noatime,notail      0 1
/dev/hda3      /home         ext3      noatime           0 1
/dev/hda4      none            swap      sw            0 0
/dev/cdroms/cdrom0   /mnt/cdrom   iso9660   noauto,ro         0 0
/dev/fd0      /mnt/floppy      auto      noauto         0 0
proc         /proc         proc      defaults         0 0
shm         /dev/shm   tmpfs         nodev,nosuid,noexec   0 0



Edit /etc/lilo.conf

Code:
boot=/dev/hda
prompt
timeout=50
default=gentoo

image=/boot/vmlinuz
   label=gentoo
   read-only
   root=/dev/hda2


Install Lilo

Code:
/sbin/lilo


Set the root password.

Code:
passwd root


You are ready to boot into your new system.

Code:
exit
cd
umount /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo/boot /mnt/gentoo
reboot


Don't forget to remove the install cd from your CDROM.


Copyright (c) 2005-2008 Steven Warren. Released under the Creative Commons Attribution-ShareAlike license version 2.5.

Edit 04/28/08 Changes made for gcc-4.3.0 and the newer coreutils. Added lzma-utils
Edit 05/11/08 Added fix to exit on emerge failures.
Edit 05/12/08 Made some additional gcc-4.3.x changes
Edit 06/23/08 Fixed typo and made gcc-4.3.x changes permanent.
Edit 07/08/08 Updated for 2008.0
Edit 07/24/09 Change made to account for upstream changes.
_________________
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.


Last edited by warrens on Sat Apr 02, 2011 3:12 pm; edited 27 times in total
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Mon Jul 23, 2007 7:54 pm    Post subject: Reply with quote

Fiordland works with gcc-4.2.0 and glibc-2.6. :D
_________________
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
View user's profile Send private message
vertaxis
n00b
n00b


Joined: 16 Sep 2005
Posts: 21

PostPosted: Tue Jul 24, 2007 6:39 pm    Post subject: distcc with the Fiordland Install??? Reply with quote

Has anyone used distcc successfully with the Fiordland Install method?

If so, can you provide instructions on how and where to add it to this updated procedure please? :D

Thanks.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5314
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Jul 24, 2007 7:13 pm    Post subject: Reply with quote

nice guide :)

one thing, though, couldn't you link to some more mirrors for the livecd releases, you're putting pretty much pressure on those servers :wink:
_________________
Unofficial minimal livecd x86/amd64 w/reiser4+truecrypt (by Neo2)
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Tue Jul 24, 2007 8:01 pm    Post subject: Reply with quote

That many people use this guide? 8O Link to the mirrors page added.
_________________
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
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5314
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Tue Jul 24, 2007 8:06 pm    Post subject: Reply with quote

warrens wrote:
That many people use this guide? 8O Link to the mirrors page added.


there a lot of looks to say the least ...

/me thinks you could propagate this as the remaining stage1 gentoo install :wink:
_________________
Unofficial minimal livecd x86/amd64 w/reiser4+truecrypt (by Neo2)
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Wed Jul 25, 2007 7:34 pm    Post subject: Reply with quote

kernelOfTruth wrote:
there a lot of looks to say the least ...

/me thinks you could propagate this as the remaining stage1 gentoo install :wink:

True, there have been lots of looks at Fiordland and several complements over the past versions of this method. I have no idea how many people have actually tried Fiordland since I published version 1. This does look like the last actively maintained stage 1 install of gentoo on these forums.
_________________
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
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Wed Jul 25, 2007 7:55 pm    Post subject: Re: distcc with the Fiordland Install??? Reply with quote

vertaxis wrote:
Has anyone used distcc successfully with the Fiordland Install method?

If so, can you provide instructions on how and where to add it to this updated procedure please? :D

Thanks.


The guide for setting up distcc is here.

I have added the FEATURES line for distcc to the guide, it is commented out under the original FEATURES line. Just use the FEATURES that is appropriate for you.
_________________
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
View user's profile Send private message
vertaxis
n00b
n00b


Joined: 16 Sep 2005
Posts: 21

PostPosted: Thu Jul 26, 2007 1:24 pm    Post subject: Re: distcc with the Fiordland Install??? Reply with quote

warrens wrote:
vertaxis wrote:
Has anyone used distcc successfully with the Fiordland Install method?

If so, can you provide instructions on how and where to add it to this updated procedure please? :D

Thanks.


The guide for setting up distcc is here.

I have added the FEATURES line for distcc to the guide, it is commented out under the original FEATURES line. Just use the FEATURES that is appropriate for you.


Thanks for the update! :D ....and Thanks for the work on this Stage 1 install process.

I've used the previous incarnation of this procedure to build several machines and they're all running great. The Stage 1 install is one of the reasons I keep on with Gentoo and without it, I would have looked for another distro.
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Fri Jul 27, 2007 12:47 am    Post subject: Re: distcc with the Fiordland Install??? Reply with quote

vertaxis wrote:
Thanks for the update! :D ....and Thanks for the work on this Stage 1 install process.

I've used the previous incarnation of this procedure to build several machines and they're all running great. The Stage 1 install is one of the reasons I keep on with Gentoo and without it, I would have looked for another distro.


You're welcome, glad to here that somebody else has had success with these guides. :D If it hadn't been for portage being flexible enough for the guides to work, I would of likely gone back to doing Linux From Scratch. These guides have saved me a couple of months worth of time over doing a LFS install, and everything works just as good as my best LFS install.
_________________
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
View user's profile Send private message
BlueZeniX
n00b
n00b


Joined: 28 Jun 2003
Posts: 52
Location: The Netherlands

PostPosted: Wed Aug 08, 2007 2:01 pm    Post subject: Reply with quote

I'm currently installing gentoo on my core2duo laptop as with AMD64 profile using your guide :-) (but different cflags ofcourse).

Now I'm just wondering, why compile gcc 5 times?!
1. bootstrap
2. autoconf,..., gcc
3. toolchain (incl. gcc)
4. more core stuff + gcc again!??
5. emerge -e system

You do know that the makefile of GCC actually compiles GCC twice allready, right? First with old version, then itself with the new version...

Another annoying thing was I had to use a Stage2 tarball, since rm -R wouldn't work with a stage1...giving me the completely clear message (ahum): Function not implemented, but that's ofcourse not your fault ;)
_________________
Oi!
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Wed Aug 08, 2007 7:02 pm    Post subject: Reply with quote

BlueZeniX wrote:
I'm currently installing gentoo on my core2duo laptop as with AMD64 profile using your guide :-) (but different cflags ofcourse).

Now I'm just wondering, why compile gcc 5 times?!
1. bootstrap
2. autoconf,..., gcc
3. toolchain (incl. gcc)
4. more core stuff + gcc again!??
5. emerge -e system

Well the first 3 times are intentional on my part, using the LFS book as a guide, giving a toolchain that is built in the final toolchain environment that all the system is to be built in. The last two times are due to the way that portage works. I could of used emerge -pve to find out all the packages that portage would pull in to produce a list that did not contain toolchain items, but that would lock the guide to a single system profile, not good. Also, letting portage do its thing makes the guide easier to follow and less error prone for people using it, plus it is easier for me to maintain. :)

It take about 8 hours for my system to do "sh fiordland.sh && emerge -e system", your system should be able to do it faster than that. I usually let it run while I am sleeping or at work, so the long compile time does not bother me and xorg-x11 and kde-meta take even more time to complete than doing all the steps of this guide or the older versions. :twisted:
_________________
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
View user's profile Send private message
BlueZeniX
n00b
n00b


Joined: 28 Jun 2003
Posts: 52
Location: The Netherlands

PostPosted: Thu Aug 09, 2007 6:36 pm    Post subject: Reply with quote

Well fair enough. It seems I miscounted anyway: 4 times ;)
You know why it says to compile 3 times? Not that I really mind, just wondering...

I used paludis btw, and will try to get eINIT running aswell, hehe.
_________________
Oi!
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Thu Aug 09, 2007 9:10 pm    Post subject: Reply with quote

Actually there are a couple of reasons for the multiple compiles of the toolchain. The first is to separate the new toolchain from the old one as much as possible. The second is to have the circular deps of the toolchain fully covered in the final build of the toolchain. The whole idea is to have each new toolchain item built with or against the other new toolchain item thereby more accurately defining the build environment for the system. The results that I have seen on my computers seem to bear this out. My last build used gcc-4.2.0 and glibc-2.6 completed over 900 packages without a single failure and so far the system is rock solid. :)
_________________
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
View user's profile Send private message
LD
Guru
Guru


Joined: 23 Dec 2003
Posts: 329
Location: Middle of No-Where Granbury, Tx

PostPosted: Thu Aug 23, 2007 5:37 am    Post subject: Reply with quote

I think we need an update to this due to the new requirements that GCC build fortran compiler support into itself. You have to update gmp and mpfr in order to boot the non-bootstrap gcc for the fortran support.

Someone explain to me WHY someone designed a program in the box that requires FORTRAN of all things?
_________________
[Owner/Operator: Dhampir Dreams]
Last.fm profile
Netflix Profile
Back to top
View user's profile Send private message
slycordinator
Advocate
Advocate


Joined: 31 Jan 2004
Posts: 3047
Location: Houston, TX

PostPosted: Thu Aug 23, 2007 6:19 am    Post subject: Reply with quote

LD wrote:
I think we need an update to this due to the new requirements that GCC build fortran compiler support into itself. You have to update gmp and mpfr in order to boot the non-bootstrap gcc for the fortran support.


Two ways to fix it:

1) remove the --nodeps in the line where you install gcc

2) add gmp and mpfr to the that same line
Back to top
View user's profile Send private message
LD
Guru
Guru


Joined: 23 Dec 2003
Posts: 329
Location: Middle of No-Where Granbury, Tx

PostPosted: Thu Aug 23, 2007 6:31 am    Post subject: Reply with quote

Can't say I disagree with that/ Probably going to do that when I try this on my desktop. I'm doing this on my laptop right now so I can be certain I can do it.

I'm probably going to take the laptop experience and apply that to my desktop system, which has been all kinds of hell from day one.
_________________
[Owner/Operator: Dhampir Dreams]
Last.fm profile
Netflix Profile
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Thu Aug 23, 2007 6:02 pm    Post subject: Reply with quote

In the fiordland.sh script both temp make.conf files have
Code:
USE="-* nptl nptlonly bootstrap"
disabling the fortran USE flag, so fortran is not built during the running of the script. However, your original make.conf is restored at the end of the script so when emerge -e system is run gmp , mpfr, and fortran are built with the up to date toolchain. Fortran is not needed before emerge -e system.

When gcc-4.3 is released then gmp and mpfr will be required for building the c and c++ compilers as well. No need to add gmp and mpfr to the script until then.
_________________
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
View user's profile Send private message
LD
Guru
Guru


Joined: 23 Dec 2003
Posts: 329
Location: Middle of No-Where Granbury, Tx

PostPosted: Fri Aug 24, 2007 5:58 am    Post subject: Reply with quote

Would this be something you could apply to an already compiled system? Specificly, could you use this script to perform a bootstrap and then emerge -e system agaisnt what it ends up with?
_________________
[Owner/Operator: Dhampir Dreams]
Last.fm profile
Netflix Profile
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Fri Aug 24, 2007 11:47 am    Post subject: Reply with quote

LD wrote:
Would this be something you could apply to an already compiled system? Specificly, could you use this script to perform a bootstrap and then emerge -e system agaisnt what it ends up with?


I tried this once on my laptop after the cd drive died about 2 months ago and so far it works just fine. This is what I did:
Code:
sh fiordland.sh && emerge -e system 
emerge gentoo-sources

built and installed the new kernel, rebooted to the new kernel and then:
Code:
emerge -e world

As I said, the system has worked so far with no problems.
_________________
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
View user's profile Send private message
LD
Guru
Guru


Joined: 23 Dec 2003
Posts: 329
Location: Middle of No-Where Granbury, Tx

PostPosted: Fri Aug 24, 2007 5:15 pm    Post subject: Reply with quote

Will remember that for my desktop (which unfortunatly due to geography has to be wireless and uses the madwifi-ng driver) and my mythbox which I am having isues on right now due to the expat upgrade.
_________________
[Owner/Operator: Dhampir Dreams]
Last.fm profile
Netflix Profile
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Wed Oct 10, 2007 10:45 pm    Post subject: Reply with quote

Fiordland works with gcc-4.2.1, binutils-2.18-r1, and glibc-2.6.1.
_________________
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
View user's profile Send private message
vertaxis
n00b
n00b


Joined: 16 Sep 2005
Posts: 21

PostPosted: Thu Oct 11, 2007 6:46 pm    Post subject: Reply with quote

warrens wrote:
Fiordland works with gcc-4.2.1, binutils-2.18-r1, and glibc-2.6.1.


Are these the only items to change explicitly in the script to make a system compile up without errors?
Back to top
View user's profile Send private message
warrens
Apprentice
Apprentice


Joined: 04 Jan 2005
Posts: 210
Location: Don't Tread On Me!

PostPosted: Thu Oct 11, 2007 6:59 pm    Post subject: Reply with quote

Those are what the last run was built with. I had to add com_err ss e2fsprogs to the script to meet deps for util-linux, taking the first long build list from 28 to 31 packages. The edits are in the fiorland.sh listing above.

Just starting to test with gcc-4.2.2 :D
_________________
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
View user's profile Send private message
StifflerStealth
l33t
l33t


Joined: 03 Jul 2002
Posts: 952

PostPosted: Thu Oct 11, 2007 8:03 pm    Post subject: Reply with quote

Since this is geared for advanced users, may I suggest that you add to the guide that one should make a separate /usr/portage (or whereever they keep the tree) to help eliminate hard drive fragmentation and to speed up portage? I hear lots of success with reiserfs, jfs, and btrfs in speeding up portage, since they handle small files very well. ext3 does not handle small files that well and they consume a lot of inodes. It should be standard practice by now to make that a separate partition and supported in the official Gentoo docs.

Also, at the end of the guide, shouldn't you run emerge -uDN world, or did I miss that part? That will pull in dependencies not handled by emerge -e system. However, the technical order should be: Install the toolchain with original useflags, then install all installed packages with original use flags, then emerge -uDN system, then emerge -D world. If you do emerge -e system, some new files will be pulled in and compiled against stuff compiled with the old toolchain. This would save you some recompiles. ;) I have a P4 too and it just takes long to compile the heavy toolchan packages all the time: Glibc, gcc, binutils, ... they take over an hour apiece, so anything to speed up compiling, I look for. :P

Nice guide though. I like it. Very nicely done and I think non-advanced users can follow it. ;)
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
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