Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

Fiordland Stage 1 Install Guide Ver. 1.1 (deprecated)

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
15 posts • Page 1 of 1
Author
Message
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

Fiordland Stage 1 Install Guide Ver. 1.1 (deprecated)

  • Quote

Post by warrens » Fri Jan 06, 2006 4:23 pm

Fiordland Stage 1 Install Guide, ver. 1.1
~x86 With NPTL and GCC 3.4.x
Building Gentoo Linux From Scratch Style



Since the Gentoo Documentation team has deprecated Stage 1 and 2 there has been somewhat of an uproar in the Gentoo community. As I followed this I did some research on what is done in bootstrap.sh and discovered that the tool chain is not properly built. While it works fairly well it seems to me to that it could be done better, so the reason for this guide. We will build Gentoo from the ground up using the portage tools to build the system in the same manor as "Linux From Scratch", hereafter referred to as LFS. This will give us a properly built tool chain for a good foundation for the rest of our system.

WARNING: This is an advanced install method for advanced users. This method use the ~x86 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 ENCOUTERED
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 emerge the system following as closely as portage allows chapter 5 & 6 of the Linux From Scratch book to build the base system. There some dependency requirements in portage that will require some changes in the build process, but these are minor.

First thing we need to do is get either the Gentoo Minimal Installation CD or the Gentoo Universal Installation CD from http://gentoo.osuosl.org/releases/x86/2005.1/installcd, and then burn it to a CD. My recommendation is to use the Minimal CD as it is a smaller download. Use this CD to boot your computer.

1 Setup the network.

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

First try ifconfig

Code: Select all

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: Select all

/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 filesystems:

Code: Select all

mkreiserfs /dev/hda1
mkreiserfs /dev/hda2
mkreiserfs /dev/hda3
Do this for each of your partitions.

Mount the filesystems:

Code: Select all

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: Select all

cd /mnt/gentoo
Now we are ready to download our stage tarball.

Code: Select all

wget http://gentoo.osuosl.org/releases/x86/2005.1-r1/stages/x86/stage1-x86-2005.1-r1.tar.bz2
also download

Code: Select all

wget http://gentoo.osuosl.org/releases/x86/2005.1-r1/stages/x86/stage1-x86-2005.1-r1.tar.bz2.md5
Now check the integrity of our download:

Code: Select all

md5sum -c stage1-x86-2005.1-r1.tar.bz2.md5
Unpack the Stage 1 tarball:

Code: Select all

tar xvjpf stage1-x86-2005.1-r1.tar.bz2

Download a portage snapshot:

Code: Select all

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

Code: Select all

tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
Now to configure the /etc/make.conf file. Here is the listing for the first part of the build:

Code: Select all

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"
USE="nptl bootstrap -multislot"

The first part of the build uses gcc-3.3.5 which is part of the Stage 1 tarball, so we need to use the more mild CFLAGS and CXXFLAGS to build with. After we finish the first part of the build we will change the CFLAGS and CXXFLAGS to what we will use to build the system with. Set the -march flag to match your arch. According to /usr/portage/profiles/use.desc entry on the bootstrap USE flag:

bootstrap - !!internal use only!! DO NOT SET THIS FLAG YOURSELF!, used during original system bootstrapping

Since step 8 bootstraps the the tool chain it makes sense to use it here. The -multislot USE flag eliminates the need to use gcc-config to change the default compiler. ( It worked on two test builds on my test machine. YMMV,) We will remove the bootstrap and -multislot flags before starting step 9.

4 Chrooting.

First copy the dns info.

Code: Select all

cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Mount proc.

Code: Select all

mount -t proc none /mnt/gentoo/proc
Mount /dev

Code: Select all

mount -o bind /dev /mnt/gentoo/dev
copy /proc/mounts

Code: Select all

cp /proc/mounts /mnt/gentoo/etc/mtab
Chroot into our build environment.

Code: Select all

chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile
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 November 30, 2005, 11:45 AM:

Code: Select all

date 010608452006
6 Update the portage tree

Code: Select all

emerge --sync
7 Setup user locales (optional)

Place the following in you /etc/portage/package.use

Code: Select all

sys-libs/glibc userlocales 
sys-devel/libperl ithreads 
dev-lang/perl ithreads
Then create /etc/locales.build in your favorite editor and list the locales relavent to you location. Since I live in the USA I use the following in my /etc/locales.build:

Code: Select all

en_US/ISO-8859-1 
en_US.UTF-8/UTF-8
Steps 8 and 9 replace bootstrap.sh.

8 Start building The system.

8.1 LFS chap. 5, part 1

The build order according to LFS is: binutils, gcc, linux-headers, and glibc. So here is our first build packages:

Code: Select all

emerge --nodeps binutils gcc-config libstdc++-v3 gcc linux-headers glibc
Check that gcc-3.4.5 is our default compiler.

Code: Select all

gcc-config -l
[1] i386-pc-linux-gnu-3.3.5-20050130 
 [2] i386-pc-linux-gnu-3.3.5-20050130-hardened
 [3] i386-pc-linux-gnu-3.3.5-20050130-hardenednopie
 [4] i386-pc-linux-gnu-3.3.5-20050130-hardenednopiessp
 [5] i386-pc-linux-gnu-3.3.5-20050130-hardenednossp
 [6] i686-pc-linux-gnu-3.4.5 *
 [7] i686-pc-linux-gnu-3.4.5-hardened
 [8] i686-pc-linux-gnu-3.4.5-hardenednopie
 [9] i686-pc-linux-gnu-3.4.5-hardenednopiessp
 [10] i686-pc-linux-gnu-3.4.5-hardenednossp
If your gcc-config -l show different from above then,

Code: Select all

gcc-config 6
env-update
source /etc/profile
Before we emerge the next list of packages we need to remove gcc-3.3.6.

Code: Select all

emerge -P gcc
8.1.1 Set the Time Zone Symlink.

First we need to get the /usr/share/zoninfo data so:

Code: Select all

emerge timezone-data
This example displays the available time zone selections:

Code: Select all

# ls /usr/share/zoneinfo
There are various directories for more location specific time zones under this directory, so pick the one that best meets your needs. Since I live in Fort Worth I will do the following to set the time zone symlink for my location:

Code: Select all

# rm /etc/localtime 
# ln -s /usr/share/zoneinfo/CST6CDT /etc/localtime 
# date
Fri Jan  6 09:38:02 CST 2006


8.2 LFS chap. 5 part 2

Now we are ready for the second part of our build were we will recompile the tool chain against itself and add other tools to the system.

Before we start the next phase of building we will change our /etc/make.conf file to reflect how we want our system:

Code: Select all

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe -D_FILE_OFFSET_BITS=64"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
ACCEPT_KEYWORDS="~x86"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
AUTOCLEAN="yes"
FEATURES="distlocks sandbox userpriv usersandbox"
USE="nptl -X -tk"
The reason for the -X and -tk flags is that they are enabled by default, and break the next step of our build.

The next step is to complete LFS Chapter 5 portion of our install. LFS builds the following packages: tcl, expect, dejagnu, gcc, binutils, gawk, bzip2, gzip, diffutils, findutils, make, grep, sed, gettext, gpm, ncurses, patch, tar, texinfo, bash, m4, bison, flex, util-linux, and perl.

This part will take a while to complete, so it may make a good time to go to Starbucks for some expesso.

Code: Select all

emerge --nodeps tcl =sys-devel/autoconf-2.13 autoconf autoconf-wrapper automake expect dejagnu gcc binutils gawk bzip2 gzip diffutils findutils make grep sed gettext gpm ncurses patch tar sys-apps/texinfo bash bash-completion m4 bison flex util-linux gdbm perl
If you are wondering about sys-apps/texinfo in the listing, it is that there are two ebuilds by this name at this time. They are:
app-xemacs/texinfo
sys-apps/texinfo
Autoconf-2.13 is a must have dependency of expect. Gpm is a must have dependency of ncurses.

Since we are not building Xorg at this time we need to specify sys-apps/texinfo for portage to know which texinfo to build.

9. Emerge the LFS chap. 6 packages.

Now acording to LFS Chapter 6 we would build linux-headers, man-pages, glibc, 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, and util-linux.



Start the emerge.

Code: Select all

emerge -e linux-headers man-pages glibc binutils gcc coreutils zlib findutils gawk ncurses sys-libs/readline vim m4 bison less groff sed flex gettext perl sys-apps/texinfo autoconf automake bash file libtool bzip2 diffutils kbd reiserfsprogs grep lilo gzip hotplug coldplug man make module-init-tools patch procps psmisc shadow sysklogd sysvinit tar udev util-linux
Mktemp, iana-etc, and inetutils appear not to be in portage, so they are not part of the merge. Since I prefer lilo to grub I replaced grub with lilo in the emerge list. If you prefer to use grub go ahead and build grub. Make sure that you use the empty tree option when you emerge these packages so that all dependencies will be pulled in.
At this point you can edit you make.conf file to build your system how you like.

Code: Select all

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -march=pentium4 -fforce-addr -fomit-frame-pointer -ftracer -pipe -D_FILE_OFFSET_BITS=64"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
ACCEPT_KEYWORDS="~x86"
MAKEOPTS="-j2"
PORTAGE_NICENESS=3
AUTOCLEAN="yes"
FEATURES="distlocks sandbox userpriv usersandbox"
USE="nptl < anyother USE flags that you want>"
#CCACHE_SIZE="512M"
10 Complete the build

Now to complete the building of our system and prepare for for building the kernel run:

Code: Select all

emerge -e system
When this completes you will have a system that is completely ~x86 built from scratch.

We already have the system logger built in the previous steps, so to enable it run:

Code: Select all

rc-update add sysklogd default
Now we need to build some other useful utilities before we build the kernel.

Code: Select all

emerge xinetd fcron sysfsutils dhcpcd coldplug gentoolkit acpid ntp
Then:

Code: Select all

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 coldplug default 
rc-update add acpid default 
rc-update add ntp-client default
Section 11 is taken straight from BobP's "Stage 1/3 Install Guide" with only slight change to fit this guide.



11 Eliminate system clock skew

Code: Select all

ntpdate -b -u pool.ntp.org

12 Build the kernel

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

Code: Select all

emerge vanilla-sources
Make sure the /usr/src/linux points to the correct directory.

Code: Select all

ls -l /usr/src
total 1
lrwxrwxrwx   1 root root  16 Dec  2 05:19 linux -> linux-2.6.15
drwxr-xr-x  19 root root 712 Dec  2 05:19 linux-2.6.15
Enter the /usr/src/linux directory and run menuconfig

Code: Select all

cd /usr/src/linux
make menuconfig
After you finish configuring the kernel, build it.

Code: Select all

make && make modules_install && make install
Making the system bootable

13 Now to make your system bootable.

Edit /etc/fstab to match your partition layout.

Code: Select all

/dev/hda1		/boot			reiserfs	noauto,noatime,notail		1 2
/dev/hda2		/				reiserfs	noatime,notail		0 1
/dev/hda3		/home			reiserfs	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: Select all

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

image=/boot/kernel-2.6.15
	label=gentoo
	read-only
	root=/dev/hda2
Install Lilo

Code: Select all

/sbin/lilo
Set the root password.

Code: Select all

passwd root
You are ready to boot into your new system.

Code: Select all

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.





Thanks:
BobP for the Stage 3/1 Install that helped inspire this guide.

The folks over at Linux From Scratch for the book that provided the final
inspiration for this guide.

The Gentoo developers that made portage flexible enough to pull this off.

Copyright (c) 2005-2006 Steven Warren. Released under the Creative Commons Attribution-ShareAlike license version 2.5.
Last edited by warrens on Sat Jan 06, 2007 2:45 am, edited 4 times in total.
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
NeddySeagoon
Administrator
Administrator
User avatar
Posts: 56078
Joined: Sat Jul 05, 2003 9:37 am
Location: 56N 3W

  • Quote

Post by NeddySeagoon » Fri Jan 06, 2006 4:48 pm

warrens,

Looks really nice - LFS with a package manager.
Only two things I would pick up on and I suppose they are really personal preferances.
/boot is both small and rarely mounted so a journalled filesystem is wasted. ext2 is more than adequate.

I prefer Grub over Lilo, having used both. However grub needs a reiserfs /boot to be mounted with the notail option, or it may complain about files not starting on sector boundaries. Your instructions are for Lilo, so its not really an issue.

I'm very tempted to try it when I install next.
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Sun Jan 08, 2006 12:16 am

NeddySeagoon wrote:warrens,

Looks really nice - LFS with a package manager.
Only two things I would pick up on and I suppose they are really personal preferances.
/boot is both small and rarely mounted so a journalled filesystem is wasted. ext2 is more than adequate.

I prefer Grub over Lilo, having used both. However grub needs a reiserfs /boot to be mounted with the notail option, or it may complain about files not starting on sector boundaries. Your instructions are for Lilo, so its not really an issue.
While true that it is kind of a waste to use a journalled fs for /boot I do like having my the same fs for all my partions. I did correct the fsab entry for the /boot partion so that it won't cause problems with Grub. I guess that my preferance for Lilo came from my starting to use Linux at least 2 years before Grub appeared, so now I am very comforable with Lilo and not so comforable with Grub. The one thing that I learned using LFS and Gentoo is that personnal preferance rules the roost when installing Linux from source. :lol:
I'm very tempted to try it when I install next.
Try it, you'll like it :wink:
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
mafioso
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 98
Joined: Tue Jan 10, 2006 3:47 am
Location: arizona, usa

excelent guide

  • Quote

Post by mafioso » Tue Jan 10, 2006 3:59 am

i just copied verbatim the commands layed out so nicely for me. GREAT job on the guide i LOVE it im in the middle of compiling my new linux from scratch/gentoo system. once agian great guide! what a cool idea, LFS/Gentoo. :twisted: ill post back how it turns out...
Last edited by mafioso on Tue Jan 10, 2006 7:58 am, edited 1 time in total.
persistance is THE key to success
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Tue Jan 10, 2006 5:03 am

Thanks for catching my typo :oops: It is now fixed. :D

Enjoy :!:
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
mafioso
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 98
Joined: Tue Jan 10, 2006 3:47 am
Location: arizona, usa

  • Quote

Post by mafioso » Tue Jan 10, 2006 8:26 am

heh im the worst typer ever to do a gentoo install. you only made one typo. i would have caught sooner but i was simply doing copy n paste. how do i do that? well i stumbled upon an experimental gento live cd. it brings up a gnome desktop complete with firefox n everything, just like knoppix except its far better, its gentoo :twisted: it even comes with a hdd installer that will even bootstrap but i wouldnt recomend it. i tried a stage 1 2 and 3 with it and the best i could get was a buggy install that took longer to fix than a manual install lol oh well the installer is still alpha, but the real prize is the cd itself, i can listen to music and surf the web etc etc all while im compileing my new system in a chrooted gnome terminal. how cool is that? :? its real handy for fixing broken systems too. here is the link in case you wanna snag it --> http://gentoo.osuosl.org/experimental/x ... 5.1-r1.iso
thanks again for this guide ever since gcc 3.4.5 and the new glibc ive been running in to emerge problems (UNACCEPTABLE) i found some dirty hacks at best to fix the lib probs (also unaccptable). but at first glance i knew this guide was the answer. my machine is purring like a kitten. WOOHOO :!:
persistance is THE key to success
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Tue Jan 10, 2006 6:15 pm

my machine is purring like a kitten. WOOHOO :!:
just as along as it doen't meow and crave chicken you will be fine :lol:
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
webbsquad
n00b
n00b
Posts: 1
Joined: Sat Jan 28, 2006 2:59 am
Location: Knoxville, TN
Contact:
Contact webbsquad
Website

  • Quote

Post by webbsquad » Mon Jan 30, 2006 7:02 pm

Very nice. I am tempted to try this when the weekend rolls around. Thanks for the guide. :D
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Tue Jan 31, 2006 3:46 pm

webbsquad wrote:Very nice. I am tempted to try this when the weekend rolls around. Thanks for the guide. :D
You are very welcome!! Let me know how it goes. :D
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
s0lar
n00b
n00b
Posts: 55
Joined: Thu Apr 07, 2005 10:47 pm

  • Quote

Post by s0lar » Thu Feb 02, 2006 1:21 am

Tried it, amazing idea. Get an error at 8 Start building The system.

8.1 LFS chap. 5, part 1

The build order according to LFS is: binutils, gcc, linux-headers, and glibc. So here is our first build packages:

Code:
emerge --nodeps binutils gcc-config libstdc++-v3 gcc linux-headers glibc
After that command it says something about sandbox var root ... I get red text in my terminal, I don't remember the exact error but whatever I tried I could not continue. I then installed a stage 3 and my laptop works fine.
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Thu Feb 02, 2006 5:55 am

s0lar wrote:Tried it, amazing idea. Get an error at 8 Start building The system.

8.1 LFS chap. 5, part 1

The build order according to LFS is: binutils, gcc, linux-headers, and glibc. So here is our first build packages:

Code:
emerge --nodeps binutils gcc-config libstdc++-v3 gcc linux-headers glibc
After that command it says something about sandbox var root ... I get red text in my terminal, I don't remember the exact error but whatever I tried I could not continue. I then installed a stage 3 and my laptop works fine.
Not sure what to tell you. In all my time using Gentoo I never had a problem related to sandbox, doesn't mean that it doesn't happen though. I suspect that the red text you got has to do with a sandbox violation of some sort. From what I gather after doing a brief search in the forums is that this could be a bug in sandbox, but I am not sure of that. Without the errore message there is not much more that I can say.
.
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
acidim
n00b
n00b
Posts: 1
Joined: Fri Feb 03, 2006 12:25 am

  • Quote

Post by acidim » Fri Feb 03, 2006 12:38 am

s0lar wrote: After that command it says something about sandbox var root ... I get red text in my terminal, I don't remember the exact error but whatever I tried I could not continue. I then installed a stage 3 and my laptop works fine.
Try emerging sandbox first, then continue the process.

btw, wonderful idea warrens, i'm finishing up an install following your process as i type this. I'll check back in when its done.
Top
s0lar
n00b
n00b
Posts: 55
Joined: Thu Apr 07, 2005 10:47 pm

  • Quote

Post by s0lar » Fri Feb 03, 2006 7:19 am

acidim wrote:
s0lar wrote: After that command it says something about sandbox var root ... I get red text in my terminal, I don't remember the exact error but whatever I tried I could not continue. I then installed a stage 3 and my laptop works fine.
Try emerging sandbox first, then continue the process.

btw, wonderful idea warrens, i'm finishing up an install following your process as i type this. I'll check back in when its done.
I wasn't very anticipated to find out what the exact problem was and fix it, so I allready installed a stage3, next install is a long way from here.
Top
DOSBoy
Tux's lil' helper
Tux's lil' helper
User avatar
Posts: 84
Joined: Sun Jun 26, 2005 1:11 pm

  • Quote

Post by DOSBoy » Tue Feb 07, 2006 2:30 am

Great guide warrens, but I think you're making a lot more work for yourself than you need to by trying to get away with --nodeps everywhere. Also, I think it'll clutter your worldfile. I have some suggestions to improve your guide and shorten its build time:

There's no reference to mkswap and swapon for the swap partition. In a past install, I forgot to swapon and had a glibc compile crash out for lack of memory. Not fun. I had 1G of ram in the machine, too.

Add template GENTOO_MIRRORS= and SYNC= lines to the sample make.conf. I kept forgetting them and downloading stuff from the other side of the world. This could just be me being an idiot, though. :oops:

To avoid pulling in dependancies and to avoid having to use `emerge --nodeps`, I used USE="-* nptl bootstrap" in my make.conf when first building the toolchain. The useflags will be reactivated later.

The first toolchain build then becomes:

Code: Select all

# emerge -1 binutils libstdc++-v3 gcc linux-headers glibc
That's a number one, not a lowercase L, nor an uppercase I as the option to emerge. Doesn't add the packages to the worldfile. Doing this with dependancies will now pull in timezone-data automatically.

Then do the gcc-config, timezone and date updates.

Continuing on with the rest of LFS chapter 5, update make.conf. Make your CFLAGS more agressive if you want, but the important thing is to change USE="-* nptl bootstrap" to USE="-* nptl"

There's a few redundant packages in the emerge for the rest of chapter 5: tcl, expect, dejagnu, gcc and binutils aren't required. The reason LFS builds them is because the LFS guide checks everything it builds as it goes, which portage doesn't do (by default :?:). Tcl, expect and dejagnu are for the gcc and binutils tests - since you don't do these tests in your guide there's no need to merge them, nor rebuild gcc and binutils.

Doing the merge without --nodeps causes coreutils to be pulled in, and the build fails if perl isn't merged before it (missing dependancy?). Therefore, to complete the rest of LFS chapter 5 (reading package names from the LFS table of contents):

Code: Select all

# emerge -1 gawk perl coreutils bzip2 gzip diffutils findutils make grep sed gettext ncurses patch tar sys-apps/texinfo bash m4 bison flex util-linux
Again, that's a one and not an L or I as the option for emerge.

I usually etc-update as soon as warned. Portage warned me here.

Having now finished all the minimal builds, remove -* from the USE= line in make.conf.

The system is in enough of a state that it can build Python 2.4 and therefore we can upgrade Portage to 2.1, which has improved handling of the cache, which makes the wait around 51% a lot smaller.

Code: Select all

# emerge -u python
# python-updater
# emerge -P python
# emerge -u portage
I was warned about another etc-update here, so I ran it again.

If portage suddenly becomes slow in calculating dependancies, do an `emerge --metadata` to rebuild the cache with the 2.1 version.

What comes next are more toolchain rebuilds, the toolchain that we have built is based around gcc 3.4.5 but was built with gcc 3.3.5 (IIRC). Better to have a gcc 3.4.5 based toolchain that is built with a gcc 3.4.5 based toolchain.

Code: Select all

# emerge -uDN glibc binutils gcc libstdc++-v3
I was asked to etc-update here, again.

Now there's not a lot left of gcc 3.3.5, so we can safely prune it out:

Code: Select all

# emerge -P gcc
LFS chapter 6 basically is everything in portage's `system' class, except there's a syslogger in there and it installs vim instead of nano. The second massive emerge command in the original guide is made redundant by the later emerge -e system and pulls in most of the system packages anyway, because of the -e option to emerge. Therefore, LFS chapter 6 can be summed up as:

Code: Select all

# emerge -e system
Portage nagged me to etc-update yet again here.

Then the `finishing up' phase of the install is something like:

Code: Select all

# emerge (some_syslogger) (some_crondaemon) xinetd sysfsutils (your_filesystem_packages) dhcpcd coldplug gentoolkit (some_power_mangement_daemon) ntp (some_bootloader)
Coldplug will pull in hotplug by itself.

Then do the usual slew of rc-update commands to set up the default runlevel. Perhaps add a code snippet featuring a bash loop:

Code: Select all

for X in syslog-ng vixie-cron xinetd net.eth0 coldplug acpid ntp-client; do rc-update add ${X}; done
Was what I used on my machine. The hotplug script checks for CONFIG_HOTPLUG enabled in the kernel and if there's a firmware tarball at /lib/firmware.tar.bz2, will unpack it. Therefore, I don't bother with `rc-update add hotplug default'. If you need the firmware tarball, then don't forget to add it.

From here on out, I followed the guide: clock skew with ntpdate, emerge, configure, build and install the kernel, set up fstab, install the bootloader, set the root password.

This link is great for people who want to get the most out of their 2.6 kernel:
http://forums.gentoo.org/viewtopic-t-139455.html
Pointer writes a good set of tips, and references his sources.

You might want to add a section about creating a standard user or two. A handy reference of groups is here:
http://www.gentoo.org/doc/en/handbook/h ... =1&chap=11

Then I did exit chroot, umount partitions (I suggest you add a swapoff line here, too) and reboot.

EDIT: A long post is bound to have a grammar mistake.

EDIT 2: I found that 2005.1 minimal livecds seem to be prone to sandbox violations :?:. I do all of my installs with a 2005.0 minimal livecd, which I have yet to see deficient in any way. It also boots faster because it doesn't have ALSA on it (which, incidentally, I don't need).
Top
warrens
Apprentice
Apprentice
User avatar
Posts: 243
Joined: Tue Jan 04, 2005 11:19 pm
Location: Don't Tread On Me!

  • Quote

Post by warrens » Wed Sep 13, 2006 1:08 am

Sorry for being so late with my reply, but have been rather busy driving an 18-wheeler for the last several months.

My use of the --nodeps flag was done to have full control of the order of compilation of the initial packages. Without using the --nodeps flag portage will chnge the order to that spcified in the ebuilds of the packages. I wanted to build acording to the order of the LFS book rather the default order of gentoo's ebuilds. The USE flags only will control optional dependencies and some buildtime optiions but, not hard dependencies.

That being said I do see validity in using the -1 or --oneshot flag for bulding the tool chain and will add it to the next incarnation of this guide, which I hope that I will be able to do soon.

Chap 5 of the LFS book might be a bit redundent here, but I will keep it in just to be certain that everything is built correctly. I will try to remember to add a section for mkswap and swapon.

Thanks for your input.
[The bigger the government, the smaller the citizen.

Don't tread on me!!!

The best government is the government that governs least.
Top
Post Reply

15 posts • Page 1 of 1

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic