This article is an old post I wrote 2 years ago so that I translate it into English Version and MODIFIED some points. The original can be found Here.
Prepare
Press Power button of you computer, insert a linux livecd into the cdrom, then choose to boot from cdrom. When you login into the operating system of the livecd, switch into a terminal and let's start your gentoo installation from here...
Download Gentoo LiveCD or stage3 packs
You can use
links or
lynx download livecd and stage3 packages from
http://gentoo.osuosl.org/releases/x86/, or
ftp://ftp3.tsinghua.edu.cn/mirror/gentoo if you stay at cernet.
Partition
Now, we partition the disks and be careful. Here is an example of my computer, and linux can be installed in any primary or extend partitions. You can use fdisk to complete your task. I suggest 4 partitions for your linux system:
- /boot, ext2 format, 50M bytes, where to put vmImage and grub
- /swap, swap format, about size of your physical memory large if you need supsend2(hibernate into disk). You can also totally disable this swap partition if your memory is large enough, such as 1G or 2G bytes :)
- /, root partition can be formated as reiserfs4 due to the performances, 8~10G bytes
- /home, formated as ext3 because ext3 expressed steady and tough.
Here is the output of fdisk run at my disks. Recording your blocks of every partitions is helpful if your lost your mbr unfortunately.
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 1 1460 11727418+ af Unknown
Partition 1 does not end on cylinder boundary.
/dev/hda2 * 1461 1947 3900960 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/hda3 1948 9729 62508915 f W95 Ext'd (LBA)
Partition 3 does not end on cylinder boundary.
/dev/hda5 1948 3407 11727418+ 7 HPFS/NTFS
/dev/hda6 3408 6569 25394481 b W95 FAT32
/dev/hda7 6569 6575 52416 83 Linux
/dev/hda8 6576 6710 1084356 83 Linux
/dev/hda9 6711 7684 7823623+ 83 Linux
/dev/hda10 7685 9729 16426431 83 Linux
Mount your partition
Enable DMA feature of your disk, this step is optional.
# hdparm -c 1 -d 1 /dev/hda
Format your partition and mount them, be careful.
# mke2fs /dev/hda7
# mkswap /dev/hda8
# swapon /dev/hda8
# mkfs.reiser4 /dev/hda9
# mke2fs -j /dev/hda10
# mount /dev/hda9 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda7 /mnt/gentoo/boot
# mkdir /mnt/gentoo/home
# mount /dev/hda10 /mnt/gentoo/home
# mkdir /mnt/gentoo/proc
# mount -t proc none /mnt/gentoo/proc
# mkdir /mnt/gentoo/dev
# mount -o bind /dev /mnt/gentoo/dev
Backup your mbr
Installation
Uncompress
Uncompress your stage3 packages downloaded before. Argument "p" of "tar" makes sure keeping the permit bits of the files in the tarball.
# cd /mnt/gentoo
# tar xvjpf /mnt/cdrom/stages/stage3-xxx.tar.bz2
Install "portage"
This step is optional, and you can use "emerge --sync" to replace when you login into the new system.
Download portage, and umcompress into /mnt/gentoo.
# tar xvjf /mnt/gentoo/portage-.tar.bz2 -C /mnt/gentoo/
Configure "make.conf"
Some variables related with the system are configured at
/etc/make.conf. The important is that you'd better make sure "USE" variable containing "
cjk nls ntpl ntplonly", if the architecture of your computer is x86. It is recommonded to set "ACCEPT_KEYWORDS" as "
x86" if you donot wanna test and debug for unstable systems :P
CFLAGS="-march=pentium-m -O3 -pipe -fomit-frame-pointer"
#CFLAGS="-O3 -march=pentium-m -mtune=pentium-m -pipe -ftracer -fomit-frame-pointer -ffast-math -momit-leaf-frame-pointers"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS} -fvisibility-inlines-hidden"
LDFLAGS="-Wl,-O1"
#LDFLAGS="-Wl,-O1 -Wl,--enable-new-dtags -Wl,--sort-common -s"
MAKEOPTS="-j3"
ACCEPT_KEYWORDS="x86"
USE="-fortran -arts -eds -ipv6 -qt -qt3 -qt4 -kde python -vorbis acpi X \
bash-completion cjk cups esd gtk2 imlib mime mmx mmxext nls aiglx alsa \
nptl nptlonly opengl oss posix readline sse sse-filters sse2 \
truetype unicode xft ati dri apm -apache -apache2 -xmms -ldap "
FEATURES="ccache parallel-fetch"
CCACHE_SIZE="2G"
CCACHE_DIR="/var/tmp/ccache"
VIDEO_CARDS=" radeon vesa vga"
INPUT_DEVICES=" keyboard mouse void synaptic"
LINGUAS="zh_CN"
GENTOO_MIRRORS="ftp://ftp3.tsinghua.edu.cn/mirror/gentoo"
#GENTOO_MIRRORS="http://gentoo.139pay.com"
#PORTDIR_OVERLAY="/usr/local/overlays/xgl-coffee"
PORTAGE_BINHOST="https://e.ututo.org.ar/i686/"
PORTAGE_BINHOST="http://gentoopackages.net/packages/i686/"
Custom Packages Independently
You can custom packages' compile setting for each by the config files under the directory "
/etc/portage/*". Here is a "USE" setting sample of /etc/portage/package.use:
sys-libs/glibc userlocales
x11-terms/rxvt-unicode xft -iso14755
#x11-base/xorg-x11 -3dfx -3dnow -bitmap-fonts -font-server -hardened -insecure-drivers -ipv6 -minimal mmx nls opengl pam -sdk sse sse2 -static truetype-fonts xv -type1-fonts -xprint
media-video/mplayer rtc avi amr encode esd mpeg quicktime real cdparanoia dvd dvdread ati win32codecs xvid -xmms cpudetection
mail-client/mutt imap pop mbox smime
net-print/cups samba
dev-util/subversion -nowebdav -apache2
x11-libs/cairo glitz pdf png
net-im/gaim -crypt gstreamer audiofile custom-flags qq msn xscreensaver startup-notification
net-www/apache -ldap
dev-lang/php -ldap -truetype -crypt apache2 gd ftp mysql xmlrpc
dev-db/mysql -berkdb -perl
media-sound/audacious chardet
media-plugins/audacious-plugins aac alsa chardet mp3 nls wma
#app-editors/vim cscope
x11-apps/xinit minimal
dev-libs/libxml2 python
net-libs/libsoup -ssl
media-sound/lame -gtk
net-wireless/wpa_supplicant madwifi
app-admin/gnome-system-tools samba
app-laptop/tpb xosd
sys-apps/hal pcmcia
media-sound/rhythmbox libnotify tagwriting keyring
www-client/mozilla-firefox -linguas_zh_CN
Prepare to Installation
Chrooting
Firstly, copy resolv.conf into the new system:
cp /etc/resolv.conf /mnt/gentoo/etc/
Then, chroot into the new system, begin to install...
# chroot /mnt/gentoo /bin/bash
# env-update && source /etc/profile
Update-to-date portage
Run command:
# emerge --sync
Locale Setting
According to the i18n file "/usr/share/i18n/SUPPORTED", Modifiy
/etc/locale.gen. If you use chinese language, here is an example:
en_US.UTF-8 UTF-8
en_US ISO-8859-1
zh_CN GB2312
zh_CN.GBK GBK
zh_CN.UTF-8 UTF-8
zh_CN.GB18030 GB18030
Time Zone Setting
If you stay at timezone +8, then:
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
Modify "
/etc/conf.d/clock", and modify it as:
CLOCK="local"
Adjust system time correctly.
# date MMDDhhmmYYYY
# hwclock --systohc
Install Linux Kernel
Download Kernel Source
Firstly, download the lasted stable kernel source:
# USE="-doc" emerge gentoo-sources
Compile Kernel and Install
You can use custom and optimize the kernel options according to the computer hardware.
# cd /usr/src/linux
# make menuconfig
# make && make modules_install
# cp arch/i386/boot/bzImage /boot/linux-
Install GRUB
You can choose to install bootloader into the mbr or /boot by running command "setup (hd0)" or "setup (hd0,6)". Here is the sample run at my computer:
# emerge grub
# grub
grub> root (hd0,6)
grub> setup (hd0)
grub> quit
Then, Configure your grub profile
/boot/grub/menu.lst:
default saved
color light-gray/blue black/light-gray
timeout 2
hiddenmenu
title=Gentoo GNU/Linux
root (hd0,6)
kernel /linux-2.6.17-r8 root=/dev/hda9 ro
savedefault
title=Gentoo GNU/Linux (suspend2)
root(hd0,6)
kernel /linux-2.6.18-suspend2-r1 root=/dev/hda9 ro resume2=swap:/dev/hda8
savedefault
title=Microsoft Windows 2003 Server
rootnoverify (hd0,1)
makeactive
chainloader +1
savedefault
title=Mac OS X
root (hd0,0)
makeactive
chainloader +1
savedefault
boot
Other Steps
setup fstab
Edit
/etc/fstab to mount each partition correctly:
/dev/hda7 /boot ext2 defaults 1 2
/dev/hda8 none swap sw 0 0
/dev/hda9 / reiserfs defaults 0 1
/dev/hda10 /home ext3 defaults 0 0
none /proc proc defaults 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hda6 /home/wine vfat defaults,shortname=mixed,utf8,fmask=133,dmask=022,uid=shokn,gid=users 0 0
/dev/hdc /mnt/cdrom iso9660 ro,noauto,user,utf8 0 0
Add a new user
Add a new user named "shokn":
# useradd shokn-m -G users,wheel,portage,audio,games -s /bin/bash
# passwd shokn
Active the ethnet card
Add net.eth0 into the runlevel boot
# rc-update add net.eth0 boot
If you have a static IP address rather than a DHCP address, then modify
/etc/conf.d/net:
config_eth0=("192.168.0.13 netmask 255.255.255.0")
routes_eth0=("default via 192.168.0.3")
Here is another useful script to setup your eth0 address from gentoo livecd-tools:
# Copyright 1999-2004 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/www/viewcvs.gentoo.org/raw_cvs/gentoo/src/livecd-tools/net-setup,v 1.3 2004/07/11 23:33:45 wolf31o2 Exp $
#!/bin/bash
# John Davis
if [ `whoami` != "root" ]; then
echo "net-setup: must be root to continue"
exit 1
fi
if [ -z ${1} ]; then
echo "net-setup: please specify a network interface"
exit 1
fi
[ ! -d /tmp/setup.opts ] && mkdir /tmp/setup.opts
cd /tmp/setup.opts
dialog --title "Network Setup" --menu "Time to set up the ${1} interface! You can use DHCP to automatically configure a network interface or you can specify an IP and related settings manually. Choose one option:" 20 60 7 1 "Use DHCP to auto-detect my network settings" 2 "Specify an IP address manually" 2> ${1}.1
mynetsel=`cat ${1}.1`
case $mynetsel in
1)
/sbin/dhcpcd -t 10 ${1}
;;
2)
dialog --title "IP address" --inputbox "Please enter an IP address for $1:" 20 50 "192.168.0.1" 2> ${1}.IP
dialog --title "Broadcast address" --inputbox "Please enter a Broadcast address for $1:" 20 50 "`cat ${1}.IP|cut -d . -f 1`.`cat ${1}.IP|cut -d . -f 2`.`cat ${1}.IP|cut -d . -f 3`.255" 2> ${1}.B
dialog --title "Network mask" --inputbox "Please enter a Network Mask for $1:" 20 50 "255.255.255.0" 2> ${1}.NM
dialog --title "Gateway" --inputbox "Please enter a Gateway for $1 (hit enter for none:)" 20 50 2> ${1}.GW
dialog --title "DNS server" --inputbox "Please enter a name server to use (hit enter for none:)" 20 50 2> ${1}.NS
/sbin/ifconfig $1 `cat ${1}.IP` broadcast `cat ${1}.B` netmask `cat ${1}.NM`
myroute=`cat ${1}.GW`
if [ "$myroute" != "" ]; then
/sbin/route add default gw $myroute dev $1 netmask 0.0.0.0 metric 1
fi
myns="`cat ${1}.NS`"
if [ "$myns" = "" ]; then
: > /etc/resolv.conf
else
echo "nameserver $myns" > /etc/resolv.conf
fi
;;
esac
echo "Type \"ifconfig\" to make sure the interface was configured correctly."
# vim: ts=4
Now, You have nearly completed this installation. (to be cont.)
No comments:
Post a Comment