The installation ISOs are on the
Boot from the Universal CD. Press <F1> and/or <F2> to see what boot options are available. Press <ENTER> at the bootscreen to continue with the default kernel. You'll eventually receive a prompt.
# date (Make sure your time and date is correct. If wrong, set it with date MMDDhhmmCCYY ) # modprobe module_name (Optional - Load any necessary modules) # net-setup eth0 (Configure the network) # fdisk /dev/hda (Partition your drive)
The recommended setup is a 64 meg boot volume with ext2, a swap partition twice the size of your available RAM, and the rest for your root partition using ReiserFS.
Initialise your partitions using
Continue by mounting the partitions and extracting the appropriate stage file.
(Activate the swap partition) # swapon /dev/hdax (Mount the root partition) # mount /dev/hdax /mnt/gentoo (Create the boot mountpoint) # mkdir /mnt/gentoo/boot (Mount the boot partition) # mount /dev/hdax /mnt/gentoo/boot (Go to the mountpoint) # cd /mnt/gentoo (Extract a stage tarball...) # tar -xvjpf /mnt/cdrom/stages/stage?-*.tar.bz2 (or download the latest tarball...) # links http://www.gentoo.org/main/en/mirrors.xml ( ... and extract) # tar -xvjpf stage* (Optional: unpack a portage tree) # tar -xvjf /mnt/cdrom/snapshots/portage-*.tar.bz2 -C /mnt/gentoo/usr (Optional: copy over distfiles) # cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles (Select a mirror) # mirrorselect -a -s4 -o >> /mnt/gentoo/etc/make.conf (Copy over nameserver information) # cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf (Mount the proc filesystem) # mount -t proc none /mnt/gentoo/proc (Chroot into the new environment) # chroot /mnt/gentoo /bin/bash (Load the necessary variables) # env-update; source /etc/profile (Network-only, non-GRP: update Portage) # emerge sync
Now we install Gentoo:
(Change USE, CFLAGS and CXXFLAGS. Stage1 can also change CHOST) # nano -w /etc/make.conf (Stage1 only: bootstrap system) # cd /usr/portage; scripts/bootstrap.sh (Stage1, Stage2 only: install base system) # emerge system
Next we set up the necessary information:
(Set timezone information) # ln -sf /usr/share/zoneinfo/<path to time zone file> /etc/localtime (Edit fstab file) # nano -w /etc/fstab
Use the following as a
# <fs> <mountpoint> <type> <opts> <dump/pass> /dev/hdax /boot ext2 noauto,noatime 1 2 /dev/hdax none swap sw 0 0 /dev/hdax / reiserfs noatime 0 1 /dev/cdroms/cdrom0 /mnt/cdrom auto noauto,user 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0
Continue by installing the Linux kernel:
(Install the kernel sources) # emerge<kernel-package-here> (Configure your kernel using genkernel...) # emerge genkernel; genkernel --menuconfig all (or (1) manually build your kernel) # cd /usr/src/linux; make menuconfig; ( (2) Include VM fs, /proc fs, /dev fs, /dev fs auto mount at boot) ( (3) Compile your kernel) # make dep && make clean bzImage modules modules_install ( (4) Copy over the kernel) # cp arch/i386/boot/bzImage /boot; cp System.map /boot
Now install other tools you might want:
(Install system logger; choice: sysklogd, metalog, msyslog, syslog-ng) # emerge syslog-ng (Have the systemlogger automatically started at boot) # rc-update add syslog-ng default (Install cron daemon; choice: vixie-cron, dcron, fcron) # emerge vixie-cron (Have the cron daemon automatically started at boot) # rc-update add vixie-cron default (genkernel users only: install hotplug) # emerge hotplug (genkernel users only: have hotplug automatically started at boot) # rc-update add hotplug default (Non-ext2,ext3 users only; choice: reiserfsprogs, xfsprogs, jfsutils) # emerge reiserfsprogs (Domain name init script) # rc-update add domainname default
If you need specialised kernel ebuilds, now is a good time to install them:
# emerge pcmcia-cs (or nforce-net, nforce-audio, e100, e1000, ati-drivers, rp-pppoe) # VIDEO_CARDS="yourcard" emerge xfree-drm (for ATI Radeon up to 9200, Rage128, Matrox, Voodoo and other cards)
Finalise the settings for your Gentoo system:
(Set root password) # passwd (Create a user) # useradd your_user -m -G users,wheel,audio -s /bin/bash (Set password for that user) # passwd your_user (Set the system hostname) # echo mymachine > /etc/hostname (Set the system domainname) # echo mydomain.com > /etc/dnsdomainname (Set the hostsfile, ex:"127.0.0.1 localhost mymachine") # nano -w /etc/hosts (Configure basic system settings; follow comments) # nano -w /etc/rc.conf
(Setup networking; dhcp-users should set iface_eth0="dhcp") # nano -w /etc/conf.d/net (List modules to be loaded at startup) # nano -w /etc/modules.autoload.d/kernel-<version> (Non-PCMCIA only: start networking automatically at boot) # rc-update add net.eth0 default (Only if you have multiple network interfaces:) (1) Create initscripts for each interface) # ln -s /etc/init.d/net.eth0 /etc/init.d/net.ethx (2) Automatically start at boot if no PCMCIA) # rc-update add net.ethx default (PCMCIA only: verify /etc/conf.d/pcmcia and load PCMCIA at boot) # rc-update add pcmcia boot
Now install a bootloader.
# emerge grub # grub grub> root (hd0,0) grub> setup (hd0) grub> quit # nano -w /boot/grub/grub.conf default 0 timeout 15 splashimage=(hd0,0)/grub/splash.xpm.gz title=Gentoo Linux root (hd0,0)# genkernel users: kernel /kernel-<kernel version> root=/dev/ram0 init=/linuxrc real_root=/dev/hda3 initrd /initrd-<kernel version> # non-genkernel users: kernel /kernel-<kernel version> root=/dev/hda3
# emerge lilo # nano -w /etc/lilo.conf boot=/dev/hda prompt timeout=50 default=gentoo image=/boot/kernel-<kernel version> label=gentoo read-only# genkernel users: append="init=/linuxrc real_root=/dev/hda3" root=/dev/ram0 initrd=/boot/initrd-<kernel version> # non-genkernel users: root=/dev/hda3 # /sbin/lilo
Now unmount all partitions and reboot into your new system:
(Exiting the chroot) # exit; cd / (Unmounting partitions) # umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo (Reboot; Remove the universal CD from the tray) # reboot (After booting:) (ADSL-users only) # adsl-setup (GRP-users only) (1) Mount Package CD # mount /dev/cdrom /mnt/cdrom (2) Copy over packages # mkdir /usr/portage/packages # cp -a /mnt/cdrom/* /usr/portage/packages/ (3) Install extra software # USE="bindist" emerge -k xfree gnome kde mozilla openoffice-bin (4) Configure your Xserver # /usr/X11R6/bin/xf86config
You can get more information from the