CONRAD
Stage 1 on 72 "Eins/Uno/One"
For your convenience, nothing more
NOT Supported or endorsed by the Gentoo Foundation, inc. in any way. Do not ask them for support or report bugs to them, PLEASE
#gentoo is a great place, great people, great help. So is #conrad.
=~~-~~=
This guide is in no way as unstable as previous versions, and only suggests the stable CFLAGS for use. And this is a 100% DIY/gentoo based installation. This is just documenting what gentoo does not. They do not document it because they do not support it, please do not present problems to gentoo developers because this installation document still makes use of the ~x86 branch of packages, instead of the completely stable branch x86.[/b]
If you've ever seen my previous versions, you'll see what i mean, they weren't just over the top, they were about 2.531 miles over the top and broke many systems.
Also in this version it doesn't have to be word for word, you can use your own knowledge and make the system your own, unlikes previous versions if you didn't make it a conrad system then you would of been a FAIL, and even if you made it a conrad system you still probably would of been a FAIL. With this if done right, you will not fail unless you try to.
Most people don't know or forgot how to do a stage1 nowadays, follow this and you'll be golden.
=~~-~~=
Please also note that this installation will work for both x86 and x86_64, but they have their differences and the steps are tested with x86, but NOT with x86_64
=~~-~~=
By: cheater-conrad (aka Brandon)
Named for: Puppy Conrad
=~~-~~=
THE #CONRAD CREW
----These are the originals from years ago, you could be on this list but first you need to join #conrad! *slap*
- Thoffmeyer (operator/founder)
- p4r0l3 (operator)
- Seren (Not an operator, but he should be)
- bigbob73 (operator)
- Vanquisher
- drbombay
- Xerion
- Cheater-Conrad/Myself
=~~-~~=
READ - ME - FIRST
Ok, first of all here I am stating what this is, why not to use it, and why you should never ask for help about your problems related to this installation document to anyone except for myself, people in the unsupported forum, or on #conrad on irc/freenode.
First of all, this is an installation method from stage1, the goal is a ~x86 gentoo system, first doing a basic bootstrap to get to stage2, then we will build the gcc 4.3.1/glibc 2.8x toolkit, then we can proceed to stage3 on a rebuild of the system. Below is a quick run down of the steps in this installation document:
- We use the 2008.0_beta2 stage1 tarball to start off, beginning like you would on any normal gentoo installations
- Then we set our chost/cflags using THIS, If you use ANYTHING beyond what is stated in that wiki you are not following this guide properly!
- We then make sure to define ACCEPT_KEYWORDS="x86" in our make.conf, along with misc. options such as MAKEOPTS and PORTAGE_NICENESS.
- Then we begin the bootstrap, which will progress us to stage2, but for this particular method we are not ready to proceed to stage3 yet.
- After the first bootstrap, we must go into make.conf, and change ACCEPT_KEYWORDS="x86" into "~x86"
- Now, we build the gcc 4.3.1/glibc 2.8 toolkit, essentially a second "mini" bootstrap because the first bootstrap will fail if we try to do it in one shot.
- Now we remove the old gcc, and set the profile for 4.3.1, as we proceed to stage3
- Now we describe the rest of the steps to configure the kernel and boot the gentoo system!
Q: Stage1!?!?!?! That's stupid isn't it? you can just rebuild a stage3 with emerge -e system and get the same thing!
A: Yes you can, but emerge -e system is not enough. To achieve the gcc 4.3.1 toolkit and ~x86 on a stage3, first you would have to change the CHOST/CFLAGS, then rebuild/update the entire system for ~x86. after this, you would be required to set the gcc 4.3.1 as the default profile. Then you would be required to rebuild the toolkit AGAIN with gcc 4.3.1. After this, you would be required to emerge -e system for the SECOND time! in order to rebuild everything with the new toolkit, alternatively to the original gcc 4.1 and glibc 2.6.
Uhh, a little different than just emerge -e system, as you can see it will take almost TWICE as long to begin with a stage3, than it will to begin with a stage1. And it is much quicker/easier/smarter to begin with a stage1 for this type of system
=~~-~~=
GLIBC 2.8* NOTE!! IMPORTANT!!!
There are a few packages that will not build with glibc 2.8 and are yet to be patched:
MAKE SURE to SEE section 8.10 of this guide in order to fix build fixes i've encountered.
=~~-~~=
STAGE 1 -----> STAGE 2
=~~-~~=
Notes: You can safely assume that 'x' in 'hdx' is a drive letter throughout this guide. Example: 'hdx = hda or hdb'
[-1-] - Choosing a LiveCD
There are ONE/UNO/EINS (1) choices, don't get confused. This is for X86 AND X86_64 Users, one cd fits all!.
1.1 - System Rescue CD
NOTE: This LiveCD is for ALL users (x86 and x86_64).
NOTE2: My particular install was using the 1.0.3 version of the sysrescuecd, which is kernel 2.6.25
Download:
1.2 - Burn the CD and Boot it up
If you are incapable of performing this task, it is strongly advisable that you do not attempt this installation
[-2-] - Preparing Your Network
2.1 - Check For Internet Connection
Quick test:
Code: Select all
# ping http://google.comCode: Select all
# net-setup eth0/1/2/3 NOTE: sata users can use sdparm, but i've never used it and the commands are probably different.
3.1 - View Hard Disk Configuration
This is important so we know exacty what options to set, if you get confused please do skip this step.
We must know the configuration to know what options to set.
Code: Select all
# hdparm -i /dev/hdxThese are some of our options I'm going to personally set, these will change on your configuration (hdparm -i)
I don't expect you to enable every single one, you don't have to, but you can if you would like, btw
DO NOT THINK YOU HAVE TO ENABLE EVERY ONE OF THESE SETTINGS! Most people will not/should not!
* After we set this up, make sure you add these options to /etc/conf.d/hdparm (Explained later in the guide)
* -a1024 = sets read_ahead buffer to 1024 bytes
* -a256 = default read_ahead_buffer
* -c1 = sets io support to 32bit (most commonly supported)
* -c3 = sets io support to 32bit with sync, if -c1 gives you problems, this is an alternitive, but will be slightly slower.
* -c0/2 = set io support to 16bit, if your hdd does not support 32bit
* -d1 = turn on dma
* -m16 = sets multile buffers count to 16 (my hd max. find it using hdparm -i)
* -A1 = enables read-lookahead
non-laptops:
* -M254 = change the acoustic management, 254 is the maximum for speed, 128 is the quiet, you can choose anything in between <-- will increase power usage
laptops?:
* -B1 = enable full power management, 255 turns it completely off, you can choose any number between 1-255
3.3 - Test Hard Disk Speed
Code: Select all
hdparm -tT /dev/hdxNOTE: THESE ARE ALL OPTIONAL OPTIONS! If you can not understand hdparm -i, do not mis set any options.
First option: enabling DMA
We'll do things one at a time, and we'll start by turning on DMA
Code: Select all
hdparm -d1 /dev/hdxThis varies, hdparm -i should read MaxMultiSect, which will specify what you can use. For me, it is 16
Code: Select all
hdparm -m16 /dev/hdxI'm going to set it to the maximum, 254
Code: Select all
hdparm -M254 /dev/hdxI'm going to turn it down because I don't need to worry about conserving power in my particular case. I'll leave it default
Code: Select all
<no command>Lets enable it for our purposes
Code: Select all
hdparm -A1 /dev/hdaYou can adjust the amount of readahead buffer with -a
I want it a little bigger than my drive's default (256) so I'll set it up to 1024
don't set this yourself, unless you're sure you know what you're doing!
Code: Select all
hdparm -a1024 /dev/hdxMost drives can support 32-bit, if yours doesn't use 16-bit, if yours gives you problem with -c1, try with sync, -c3 (slower), otherwise use 16-bit (default -c0, -c2)
Code: Select all
hdparm -c1 /dev/hdxCode: Select all
# hdparm -d1 -c1 -m16 -M254 -A1 -a1024 /dev/hdxThis guide will go about using the following setup:
/dev/hdx1 - boot
/dev/hdx2 - swap
/dev/hdx3 - root
/dev/hdx4 - windows
4.1 Using Fdisk
Remember that once you have the partition layout, you need to set the type to 82 (Linux Swap) for the swap partition and 83 (Linux) for the root and boot partition. Once you have it setup correctly, hit *w* to write and exit.
Explanations
Swap (suggestions): The swap space should be double the amount of ram you have *** up to 768mb.
e.g. (256mb ram * 512mb swap, 512mb ram * 1gb swap, 768mb ram * 1.5 gb swap)
If you have 1gb of ram, optimal swap is 1gb.
If you have 2gb of ram, optimal swap is 512mb
If you have over 2gb of ram, no swap is reccomended.
Code: Select all
# fdisk /dev/hdx
Command (m for help): p
Disk /dev/hdx: xxx heads, xx sectors, xxxx cylinders
Units = cylinders of xxxxx * 512 bytes
Device Boot Start End Blocks Id System
/dev/hdx1 1 14 158760 83 Linux # boot * about 100 MB
/dev/hdx2 15 49 264600 82 Linux swap # swap * about 512 MB if 2gb ram+, less use 2x the ram size
/dev/hdx3 50 70 2564563 83 Linux # root * remainder of space, unless you dual boot windows
/dev/hdx7 70 90 remainder 07 Windows # windows * remainder of space unless you don't have windows
Use the file systems of your choice, please note for me personally i have used reiser4 on / and ext2 on /boot, i do not have a separate partition for my /home drive.
The cd does support reiser4, i'm not sure if it supports ext4 but i STRONGLY advise against the use of ext4 at this time
Code: Select all
# mkfs.reiser4 /dev/hdx3
# mkfs.ext2 /dev/hdx1
# mkswap /dev/hdx2
# swapon /dev/hdx2
Code: Select all
# mount /dev/hdx3 /mnt/gentoo
# mkdir -p /mnt/gentoo/proc /mnt/gentoo/boot
# mount /dev/hdx1 /mnt/gentoo/bootIMPORTANT NOTE: STAGE1 is NOT REQUIRED
- Please note that you can choose to begin from a stage1 OR a stage2 tarball, i myself have done a stage 1.
However, if you begin with a stage2, you may SKIP STEP 8.1!
5.1 - Downloading and Extracting the stage1 OR stage2
x86
Code: Select all
# cd /mnt/gentoo
(NOTE: Don't download both, read above and download whichever you choose)
# wget http://gentoo.osuosl.org/releases/x86/2008.0_beta2/stages/stage1-x86-2008.0_beta2.tar.bz2
(NOTE: If you start with a stage2, you can either do i486/x86 or i686, i'm going to assume)
# wget http://gentoo.osuosl.org/releases/x86/2008.0_beta2/stages/stage2-i686-2008.0_beta2.tar.bz2
-------obviously extract the one you chose-------
# tar -jxvpf stage1-x86-2008.0_beta2.tar.bz2Code: Select all
# cd /mnt/gentoo
(NOTE: Don't download both, read above and download whichever you choose)
# wget http://gentoo.osuosl.org/releases/amd64/2008.0_beta2/stages/stage1-amd64-2008.0_beta2.tar.bz2
OR
# wget http://gentoo.osuosl.org/releases/amd64/2008.0_beta2/stages/stage2-amd64-2008.0_beta2.tar.bz2
-------obviously extract the one you chose-------
# tar -jxvpf stage1-amd64-2008.0_beta2.tar.bz2Code: Select all
# wget http://gentoo.osuosl.org/snapshots/portage-latest.tar.lzma
# tar --lzma -xvf portage-latest.tar.lzma -C /mnt/gentoo/usr/Code: Select all
# cp -L /etc/resolv.conf /mnt/gentoo/etc/6.1 - Making various directories for portage.
Code: Select all
# For Overlays
mkdir /mnt/gentoo/usr/local/portage
# For portage config files
mkdir /mnt/gentoo/etc/portage
Code: Select all
# mount -t proc none /mnt/gentoo/procCode: Select all
# chroot /mnt/gentoo /bin/bash
# env-update; source /etc/profile6.4 - Check for correct date
Code: Select all
# date
061316332008
(If incorrect, enter the following in correct format, and please use military time)
# date MMDDhhmmYYYY7.1 - Configuring make.conf
Configuring CFLAGS should be done using the following website:
http://gentoo-wiki.com/Safe_Cflags
Anything beyond this is not reccomended because most individuals do not know what these flags do but they will enable them anyway!
Code: Select all
# nano /etc/make.confCode: Select all
CFLAGS="-march=prescott -O2 -fomit-frame-pointer -pipe"
CXXFLAGS="${CFLAGS}"
CHOST="i686-pc-linux-gnu"
# Dual core
MAKEOPTS="-j3"
The following parameter is in case you add any overlays/ebuilds to portage, you need to define the directory:
Code: Select all
PORTDIR_OVERLAY="/usr/local/portage"Code: Select all
PORTAGE_NICENESS="15"8.1 - Running the BOOTSTRAP Script! - YEAh bABY!
Code: Select all
cd /usr/portage/scripts
./bootstrap.sh8.2 - Setting Locales - OPTIONAL
This is optional. Set this according to your area. It saves build time on glibc.
Code: Select all
# nano -w /etc/locale.genCode: Select all
# 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/ISO-8859-1
en_US/ISO-8859-1
en_US.UTF-8/UTF-8
Code: Select all
# locale-gen=~~-~~=
STAGE 2 -----> STAGE 2?????
=~~-~~=
8.3 - Setting for ~x86 in make.conf
If you already did this, then you did not read the "READ-ME-FIRST" part up top, which means you FAIL, and i have this to say to you "You are the weakest link, Goodbye"
Code: Select all
# nano /etc/make.conf
Add the following line:
ACCEPT_KEYWORDS="~x86"Now that we have crossed over to the dark side, it is time to build the gcc 4.3.1/glibc 2.8 toolkit, please note that this is 1/2 builds of the toolkit, this build will create us a gcc 4.3.1 toolkit built my gcc 4.1, the second build will create a gcc 4.3.1 toolkit built by gcc 4.3.1, makes sense, right?
Code: Select all
# emerge gcc glibc binutilsCode: Select all
# gcc-config -l
(Lists installed compilers, you should see [1] 4.1.2 * and [2] 4.3.1)
obviously we want #2, so enter this:
# gcc-config 2
# env-update; source /etc/profile
Then we remove the old version of gcc for good
# emerge -P gccWe already have the gcc 4.3.1/glibc 2.8 toolkit, this is old news. But that toolkit was built with gcc 4.1, the correct method on updating a toolkit would be to rebuild the toolkit with itself.
WE ARE NOT, and i repeat WE ARE NOT going to rebuild gcc a second time, it will waste your time and money...... when you emerge gcc, it builds itself 3 times, first with the old compiler, then with the new compiler, and then again with the new compiler, and the third compiler is the final product
As pointed out by DBautell on #gentoo (thanks for bringing it to my attention) ^^
Code: Select all
# emerge glibc binutils=~~-~~=
STAGE 2 -----> STAGE 3!!!!!
=~~-~~=
Now, this is essentially our final step before getting ready to boot up, this will bring us to the stage3 you download from the servers, except unlike the stage3's on the servers yours is ~x86, custom built for your machine with your flags, and it's all built with the latest version of gcc, 4.3.1
Remember young lad, this is the whole point of this installation, you only have 1 simple command to go!
Dear loyal stage1/3 doers, this is the final step for me, and i regret to inform you that you don't even have the gcc 4.3.1 toolkit. Heck, you could quit now and do a stage1 like this and still finish before you'd finish that disgusting stage1/3
On to the last command!
8.7 - Setting your USE flags
THIS WILL add more things to your emerge -e system, but don't fret child, you will have everything built the way you want it, for me i have my use flags below, and it turned 95 packages into 116, including some x libraries
This is another ADVANTAGE OVER STAGE3, the stage3 is built with the stock use flags, this stage3 is built with YOUR use flags, saving you from having to rebuild packages in the future because alsa, or gpm, or X was not set as a use flag when the package was originally built
For more information on setting use flags, please visit: http://gentoo-wiki.com/FAQ_USE_Flags
http://gentoo-wiki.com/FAQ_USE_Flags
My use flags:
Code: Select all
USE="alsa acpi X kde aim arts nvidia fbcon ffmpeg firefox firebird gif gpm mplayer mpeg mp3 ncurses opengl pdf php qt3 qt4 kdm8.8 - Rebuilding the SYSTEM
This is the LONGEST step in the whole guide, because you are building the entire system/files. This is what makes a stage2 a stage3. You have so far bootstrapped and built the gcc 4.3.1 toolkit the CORRECT way (lets hope you didn't skip any steps to save time, if you did, you FAIL)
However, the following command will rebuild everything, including the toolkit, so we're probably looking at 2-3x longer than building the toolkit by itself. Just start this up, have dinner or watch a movie and you're in pretty good shape.
Precautionary Problem Emerge!
On my emerge -e system, kbd failed saying mktemp: command not found.
However, discovering the latest coreutils has mktemp, i had to update coreutils, however we also need to emerge coreutils dependencies (these will all be rebuilt again, when you emerge -e system):
Code: Select all
#emerge --nodeps lzma-utils automake attr acl coreutilsNow, build the system.
Code: Select all
# emerge -e system
Note: Just a little side note, my emerge stopped after python for no apparent reason, if this happens to you just do emerge --resume, i did that and everything compiled fine so i don't understand why it stopped. But the good news is, python is just about at the end :D 8.9 - Setting the timezone
There's a reason for doing this after emerge -e system, because when you start with a stage1 there is no /usr/share/zoneinfo!
Code: Select all
# rm -rf /etc/localtime
(for me, i'm going to set the US/Eastern timezone)
# ln -s /usr/share/zoneinfo/US/Eastern /etc/localtimeThe following two packages will fail as a result of glibc 2.8. However, these are both easy to fix as described below. They are dependencies of X11 so don't look at them and say "whatever i don't use them" actually follow the following steps!
netkit-rsh
- Apparently a dependency of xorg-x11 when i emerge it
- Due to glibc 2.8
Code: Select all
# mkdir -p /usr/local/portage/net-misc/netkit-rsh
# cd /usr/local/portage/net-misc/netkit-rsh
# wget http://bugs.gentoo.org/attachment.cgi?id=156649
# mv attachment.cgi?id=156649 netkit-rsh-0.17-r9.ebuild
# wget http://bugs.gentoo.org/attachment.cgi?id=156651
# mv attachment.cgi?id=156651 netkit-rsh-0.17-arg_max.patch
# mkdir files/
# cp /usr/portage/net-misc/netkit-rsh/files/* files/
# mv netkit-rsh-0.17-arg_max.patch files/
# ebuild netkit-rsh-0.17-r9.ebuild digest
*Fixed*- ACPI fails to build as a result of glibc 2.8, probably just a cleanup.
Code: Select all
# mkdir -p /usr/local/portage/sys-power/acpid
# cd /usr/local/portage/sys-power/acpid
# mkdir files/
# cp /usr/portage/sys-power/acpid/files/* files/
# wget http://bugs.gentoo.org/attachment.cgi?id=156025
# mv attachment.cgi?id=156025 acpid-1.0.6-r2.ebuild
# ebuild acpid-1.0.6-r2.ebuild digest
*fixed*- It fails to compile for some reason
- I played with the use flags, and apparently my firebird use flag broke it.
Code: Select all
# echo "x11-libs/qt -firebird" >> /etc/portage/package.use9.1 - Setting up the sources
Note: Please note at the time of this guide, the latest version of zen is -rc6-zen1. Meaning i emerged vanilla, -rc6. You have to have the same vanilla that the patch applies to!
Code: Select all
# emerge vanilla-sources
# cd /usr/src/linux
# wget http://zen-sources.org/files/2.6.26-rc6-zen1.patch.bz2
# bunzip2 2.6.26-rc6-zen1.patch.bz2
# patch -p1 -i 2.6.26-rc6-zen1.patch -----
All I can do is tell you how to get started, and what is required.
Code: Select all
# cd /usr/src/linux
# make menuconfig
Although i do reccomend 864HZ, and i'm trying the bfq i/o scheduler because i never heard of it. Zen has a bunch of fun stuff to play with
Code: Select all
Required Options...
Code maturity level options --->
[*] Prompt for development and/or incomplete code/drivers
General setup --->
[*] Support for hot-pluggable devices
Loadable Module Support --->
[*] Module unloading support
Processor type and features --->
[*] Standard x86 support (Used for amd64/em64t cpus)
(Change accordingly)
(Your Processor Family) Processor family
[*] Symmetric multi-processing support
# If you have exactly 1GB of memory use the following else just leave it at default.
Memory Split (3G/1G user/kernel split (for full 1GB Low memory)) ---->
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Second Extended FS Support
<*> Ext2 extended attributes
<*> Ext3 journalling file system support
[*] Ext3 Extended Attributes
<*> Reiser4 Support (EXPERIMENTAL)
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
[ ] SCSI Emulation Support
Device Drivers --->
Networking support --->
<*> PPP (point-to-point protocol) support
<*> PPP support for async serial ports
<*> PPP support for sync tty ports
100 MBIT/1000 MBIT --->
(make sure you compile in your proper network driver
Sound --->
[M] Sound card support
Alsa --->
PCI Cards --->
[M] Your Driver, mine is intel8x0, a common one is emu10k1 for soundblaster cards
USB Support --->
<*> USB Human Interface Device (full HID) support
Device Drivers > Graphics support:
[*] Support for frame buffer devices
<*> VESA VGA graphics support
VESA driver type (vesafb-tng) --->
(HRESxVRES@FREQ) VESA default mode # Pick your resolution - eg. 1024x768@84
Device Drivers > Graphics support > Console display driver support:
[*] Video mode selection support
<*> Framebuffer Console support
Device Drivers > Graphics support:
[*] Support for the framebuffer splash
Device Drivers > Block devices:
<*> RAM disk support
(4096) Default RAM disk size (kbytes) (NEW)
[*] Initial RAM disk (initrd) supportWe're going to configure another important aspect in our kernel. Here is a run down of each IO Scheduler.
CFQ: Best all-around for desktop performance, including reiser4. If you want to use the others go for it, but CG now reccomends CFQ
Code: Select all
KERNEL CONFIGURATION
Block Devices > IO Schedulers
[*] Anticipatory
[*] Deadline
[*] CFQ
[*] BFQ
(Default = CFQ) 9.4 - Emerging Grub
Code: Select all
(make sure the /boot partition is mounted)
# emerge grub9.5 - Compiling the Kernel
Code: Select all
# make ; make modules_install ; make install10.1 - Emerging Services and Tools
NOTE: you do not need all of these, but they are certainly reccomened and most people need dhcpcd, and if you need the tools for your file system (reiser4progs if you used reiser4), and gentoolkit has a lot of neat stuff, etc.
Code: Select all
# emerge syslog-ng reiserfsprogs reiser4progs sysfsutils dhcpcd gentoolkit slocate vixie-cron10.2 - Adding the programs to the default runlevel
Code: Select all
(first off, for net.eth0)
# ln -s /etc/init.d/net.lo /etc/init.d/net.eth0
# rc-update add syslog-ng default
# rc-update add net.eth0 default
# rc-update add acpid default
# rc-update add gpm default
# rc-update add vixie-cron default
# rc-update add numlock default[-11-] - Setting up Gensplash
Please note this section is no longer explained by yours truly, if you are interested in a gensplash, please visit:
http://gentoo-wiki.com/HOWTO_gensplash
[-12-] - Configuring and Installing Grub
12.1 - Modifying '/boot/grub/grub.conf'
In grub, hdx1 is (hd0,0), and hdx2 is (hd0,1) and so forth.
Code: Select all
nano -w /boot/grub/grub.conf
# If idle for 15 seconds, boot the default operating system
timeout 30
# Means default is the conrad gentoo installation, set to 1 for windows
default 0
# splash image is nice
splashimage=(hd0,0)/grub/splash.xpm.gz
# Please note that this is not needed, otherwise it will run the default i/o as configured in your kernel
# elevator=deadline/cfq/anticipatory/bfq
title=~Conrad~ Stage 1 on 72
root (hd0,0) # boot partition, hda1
kernel /vmlinuz-2.6.26-rc6-zen1 root=/dev/hda3 video=vesafb:1024x768-32@80,mtrr,ywrap CONSOLE=/dev/tty1
title=Winbloze
rootnoverify (hd0,3) # in our demonstrative partitions, windows was on hda4
makeactive
chainloader +1Code: Select all
# grub
<grub:> root (hd0,0) # boot partition
# (hd0) is the MBR of the drive.
<grub:> setup (hd0)
<grub:> quit13.1 - Editing Configuration Files
Replace 'hdx' with the correct drive letter.
Code: Select all
# nano -w /etc/conf.d/hdparm
# lets add all our options as seen previously above. refer back to it if you need toCode: Select all
# nano /etc/conf.d/hostname
HOSTNAME="conrad-v4"Code: Select all
# nano -w /etc/hosts
127.0.0.1 conrad-v4 localhostCode: Select all
# nano -w /etc/conf.d/domainname
# DNSDOMAIN=""
# NISDOMAIN=""Code: Select all
# nano -w /etc/conf.d/netCode: Select all
# DHCP Default Setting
config_eth0=( "dhcp" )13.4 - Configuring FSTAB
NOTE: Reiser4 users must use noatime in the options. If you aren't using reiser4 just ignore this note.
Code: Select all
# nano /etc/fstab
...Change lines 20-23...Code: Select all
/dev/hdx1 /boot ext2 noauto,noatime 1 2
/dev/hdx3 / reiser4 noatime,nodiratime 0 1
/dev/hdx2 none swap sw 0 0
/dev/hdx4 none ntfs ro 0 0
/dev/sda1 /mnt/cdrom iso9660 noauto,ro 0 0Note: I don't use users, i always log in as root but i don't reccomend it, shoot me if you wish for disobeying the laws of security.
First set the root password
Code: Select all
# passwd
<enter new password>
<confirm new password>Code: Select all
# useradd -m -G users,wheel,audio,video conrad
# passwd conrad
<set conrad password>
<confirm conrad password>14.1 - Unmounting and Rebooting
Code: Select all
# exit
# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo /mnt/gentoo/dev
# reboot14.2 - Booting New System
Hopefully you'll have a grub menu, and be able boot into your new system.
If you get a kernel panic then check to make sure you configured everything correctly by booting back into the SysrescueCD and checking back your fstab, grub.conf, and if neither of those contains errors the problem probably lies in your kernel configuration.
[-15-] - USE flags and additional configuration
15.1 - Looking at the possible use variables
Code: Select all
# nano -w /usr/portage/profiles/use.desc15.2 - Setting additionalUSE Flags
Code: Select all
# nano -w /etc/make.conf
USE="add1 add2 add3.....xv"[-16-] - Installing Modular X and a graphical environment
16.1 - Emerging Xorg
Code: Select all
# nano /etc/make.conf
...Set INPUT_DEVICES and VIDEO_CARDS
EX:
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nv nvidia vesa"
# emerge -Dvat xorg-x11
# emerge -DuNav xev xdpyinfo xvinfo xset xdriinfo xprop
# emerge -DuNav font-adobe-100dpi font-adobe-75dpi font-adobe-utopia-100dpi font-adobe-utopia-75dpi font-bh-100dpi font-bh-75dpi font-bh-type1 font-bh-lucidatypewriter-100dpi font-bh-lucidatypewriter-75dpi font-bitstream-100dpi font-bitstream-75dpi ttf-bitstream-vera corefonts freefonts font-ibm-type1
You should be able to do this on your own.
Code: Select all
# xorgconfigCode: Select all
# X -configureYou can choose to install any DE or WM, by typing "emerge gnome gnome-light kde openbox fluxbox blackbox etc"
Obviously, i reccomend KDE4
HOW-TO: KDE4: http://www.gentoo.org/proj/en/desktop/kde/kde4.xml
16.4 - Graphics Drivers
If you have 3D acceleration on your card, you should install the nvidia or ati drivers.
If you want to stick to the crapy nv or vesa drivers than don't do this, but why would you :X
Gentoo-Wiki NVIDIA Guide: http://gentoo-wiki.com/HOWTO_nVidia_Drivers
Gentoo-Wiki ATI Guide: http://gentoo-wiki.com/HOWTO_ATI_Drivers
16.5 - Configuring Login Manger (GDM/KDM)
If you did gnome-light or kde you may want to to emerge gdm/kdm
Code: Select all
# emerge gdm .or. emerge kdm
# nano /etc/rc.conf
DISPLAYMANAGER="gdm" .or. "kdm"
# rc-update add xdm defaultFor more information you may want to visit the Gentoo Linux Alsa Guide.
Gentoo Alsa Guide: http://www.gentoo.org/doc/en/alsa-guide.xml
17.1 - Emerging alsa packages
(Assuming you have the sound card and alsa items as modules in-kernel)
Code: Select all
# emerge alsa-lib alsa-headers alsa-utilsCode: Select all
# alsaconfCode: Select all
# nano -w /etc/modules.d/alsa
<Find near the botton snd-***, and sound-***>
change *** to your sound card name, for example...
(if it is already there, just ignore it)
snd-intel8x0 sound-intel8x0
snd-emu10k1 sound-emu10k1You should run alsamixer to adjust the levels of your card, and make sure it is all unmuted, you can press 'M' to unmute/mute the card, by default, alsaconf should unmute all or most, depending on setup, of the things required.
Code: Select all
# alsamixerCode: Select all
# rc-update add alsasound default18.1 - Performing routine housekeeping for your gentoo installation.
Ok, ok. You now have only the coolest gentoo installation in the world and will make all your friends jealous.
But if you have outdated packages then you will be a FAIL
*cracks whip* You will now learn maintaining a gentoo system 101
18.2 - Keeping portage updated
First of all always keep the sync up-to-date, I strongly reccomend an emerge sync once a day, even if you don't compile anything that day. I also reccomend it before any major emerge, because you never know when a new version is released, and on the ~x86 branch updates are extremely frequent as opposed to a stable x86 installation.
Code: Select all
# emerge --syncFirst of all, if you do not know what the world file is, it is a file that keeps track of every package (including the system packages) that you have emerged.
If you delete this file, you may have some catastrophic failure, so for starters, DO NOT DELETE THE WORLD FILE! I'm not even going to tell you where it's located, don't nano it, don't play with it. Just leave it alone.
Luckily gentoo has done this for you and me, how it works is that it keeps track of every package you've emerged and the version of the package. This means that if portage has a newer version, you've guessed it, emerge world.
Think of the simplicity, and convenience of it. Emerge world, a single command is much easier than emerge NAMEOFEVERYPACKAGEYOUEVERINSTALLED.
Well, i STRONGLY ADVISE you to update the world atleast once a week, just do it before you go to bed, it's no big deal. If you go much longer than a week without updating it, you can get so far behind and you'd have to leave it compile for hours.
Code: Select all
(what do you do before a major emerge? i just told you....., that's right! emerge sync)
# emerge --sync
# emerge -pvuD worldMy (Cheater-Conrad)'s Results!
=~~-~~=
Ok, now please take a serious note on this. I, have started this installation at 4PM EST 6/13/2008, i have FINISHED this installation and booted into the system at 11:52PM EST 6/13/2008.
This installation guide was written on 6/13/2008, and completed at 11:47PM EST 6/13/2008.
I am going to share my results, considering i wrote this guide as i went along installing my OWN gentoo
Anyways, this installation is the most stable, and most guaranteed install i have ever written. Looking at the previous version, i almost s*** myself in disbelief i would even consider running half of that stuff, let alone advising other people to run it.
Ok, i wrote this document while installing my own, with the exact same steps. As i installed, i ran back and forth from my computer to this one to write down new things and basically just write the whole thing. I have received help from people on #gentoo, as you see the names blaise and DBautell above in section 8 giving them credit.
Anyways, on my first bootup. It zoomed by a bunch of green stars and presented me with a login prompt (Not even ONE yellow or red star!). This was the cleanest first boot i can remember doing also. I logged in as root, and then proceeded to install X when i found the errors of acpi and netkit-rsh, i discovered that these have already been discussed on bugs.gentoo.org, and are attributed to glibc 2.8 and have been fixed (so i added step 8.10)
Anyways, follow this and enjoy your new gentoo installation
=~~-~~=
CREDITS!
=~~-~~=
rmh3093 - Zen-Sources
bigbob73 - My install partner, chatting on IRC he's the first person to use the guide
- Also tested emerge --nodeps step before emerge -e system.
blaise - from #gentoo on freenode, helped me out with the coreutils/automake problem
DBautell - Pointed out my stupidity and eliminated an unnecessary step - helped me with my stupid forgetful questions
My 96' Probe GT - For being beautiful, time to get some modding done
Mountain Dew - Self Explanatory
My sudden spark of motivation to install gentoo - haven't had that in awhile
thoffmeyer - for doing nothing, but he did motivate me to do a stage1
p4r0l3 - for telling me some day when he needs to re-install gentoo, he'll do it my way




