Po zjištění, že mi můj RedHat Linux 7.3 zabírá na harddisku téměř 6 GB, jsem se rozhodl, že než pracně očesávat stávající systém, vyzkouším konečně čistou instalaci Linuxu. Jako “tu správnou” distribuci jsem si vybral Gentoo, kterou jsem již nějaký čas sledoval a plánoval vyzkoušet, jen ještě nebyl čas.
Jelikož nejsem ochotný přijít o své data a zálohovat desktop jsem líný :o), rozhodl jsem se nainstalovat nový systém na druhý, dosud přenosný disk (viz. konfigurace na konci článku).
Jako první jsem si stáhl distribuční CD (http://www.ibiblio.org/pub/Linux/distributions/gentoo/releases/1.2/gentoo-i686-1.2.iso), které má 135 MB. A otevřel instalační dokumentaci na adrese: http://www.gentoo.org/doc/build.html.
Rád bych upozornil, že instalací z již běžícího Linuxu začínáte v oficiální dokumentaci víceméně u bodu 6. (Set up partitions).
Dál jsem tedy otevřel shell konzoli a začal s přípravou, jako první jsem se pro zjednodušení přepnul na roota:
$su root
Password:
#
Potom bylo potřeba nastavit partitiony na harddisku. Připomínám, že jsem instaloval na druhý harddisk zapojený na primárním řadiči jako slave.
#umount /dev/hdb1
#fdisk /dev/hdb
Vytvořil jsem si partitiony následujícím způsobem.
hdb1 ext3 300MB (zamýšlený /boot – zbytečně velký, ale byl jsem líný počítat clustery na MB:o))
hdb2 ext3 5.2GB (zamýšlený root)
hdb3 swap 400MB (zamýšlený swap)
#/sbin/mke2fs -j /dev/hdb1
#/sbin/mke2fs -j /dev/hdb2
#/sbin/mkswap /dev/hdb3
dále jsem vytvořil adresáře pro připojení instalačního CD a instalace Gentoo, připojil instalační harddisk a swap.
#mkdir /mnt/gentoo
#mkdir /mnt/iso
#mount -w -t ext3 /dev/hdb2 /mnt/gentoo
#mkdir /mnt/gentoo/boot
#mount -w -t ext3 /dev/hdb1 /mnt/gentoo/boot
#mount -o loop ~/gentoo-i686-1.2.iso /mnt/iso
#swapon /dev/hdb3
Nyní je čas rozbalit základní filesystem na instalační harddisk. V dokumentaci upozornují na přepínač -p, který zachovává správná práva souborů
#cd /mnt/gentoo
#tar -xvjpf /mnt/iso/stage1-ix86-1.2.tbz2
#mount -o bind /proc /mnt/gentoo/proc
#cp /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
#chroot /mnt/gentoo /bin/bash
# env-update
Regenerating /etc/ld.so.cache
#source /etc/profile
potom jsem napsal podle manuálu příkaz “#emerge sync”, který si má stahnout partage balíček, ale jelikož jsme za firewallem, který nepropustí sync, tak operace neproběhla. Po chvilce hledání jsem našel náhradní řešení. Stahnul jsem portage balíček z adresy: http://www.ibiblio.org/pub/Linux/distributions/gentoo/snapshots/portage-20020924.tar.bz2
POZOR: v novém terminálu! jsem provedl:
$cp ~/portage-20020924.tar.bz2 /mnt/gentoo/usr/portage.tar.bz2
POZOR: opět v původním terminálu instalace! jsem pokračoval:
#cd /usr
#tar -xvjpf ./portage.tar.bz2
#rm ./portage.tar.bz2
dál je potřeba nastavit paramery pro kompilaci, takže jsem vyeditoval soubor /etc/make.conf
#nano -w /etc/make.conf
A odkomentoval jsem pouze řádky v následující části:
# Pentium Pro/Pentium II/Pentium III+/Pentium 4/Athlon optimized (but binaries
# will run on any x86 system)
CHOST=”i686-pc-linux-gnu”
CFLAGS=”-mcpu=i686 -O3 -pipe”
CXXFLAGS=”-mcpu=i686 -O3 -pipe”
Nyní nastala pvní fáze kompilace (binutils, gcc, gettext, glibc):
#cd /usr/portage
#scripts/bootstrap.sh
Tato operace podle manuálu trvala na AMD Athlonu 1200MHz okolo dvou hodin, mě trvala 2 hodiny 34 minuty, tak nevím co si mám myslet o výkonu AMD ;o)
#export CONFIG_PROTECT=””
#emerge -p system
#emerge system
Ted nastává druhá kompilace, kde autoři dokumentace doporučují jakousi hru na Playstation2 (ještě že ne Xbox ;o)), ale já jsem si vesele hrál miny :o)). Kompilace mi trvala 1 hodinu a 57 minut.
Další fází je nastavení časové zóny a stažení a kompilace jádra (cca 26MB).
#ln -sf /usr/share/zoneinfo/CET /etc/localtime
#emerge sys-kernel/gentoo-sources
Zde autoři varují, že jejich jádro je záplatované, takže v případě problémů máme použít oficiální jádro Linuse Tovaldse příkazem “#emerge sys-kernel/vanilla-sources”.
#cd /usr/src/linux
#make menuconfig
Zde autoři dokumentace upozornují na několik důležitých voleb. Z nich jsem vybral následující (ohledně k mé konfiguraci). Ještě poznamenám, že nejsem žádný hacker jádra, takže pokud mi poradíte úspornější instalaci, nebo případné důležité volby, budu rád.
Filesystems / Quota support
Filesystems / Ext3 journalling file system support
Filesystems / Microsoft Joliet CDROM extensions
Filesystems / /dev file system support
Filesystems / NTFS file system support (read only)
Filesystems / Network file systems / SMB file system support
Filesystems / Native Language Support / Windows CP 1250
Filesystems / Native Language Support / NSL ISO 8859-2
Sound / VIA 82C686 Audio Codec
Sound / VIA 82C686 MIDI
General setup / Power Management support / ACPI Support
Parallel port support / Parallel port support / Support foreign hardware
Blok Devices / Ram disk support
Network Device Support / Ethernet (10 or 100Mbit) / 3COM Cards / 3c590-3c900 series
Network Device Support / Ethernet (10 or 100Mbit) / 3COM Cards / 3c509-3c529-3c579…
Console Drivers / Frame-buffer support / Support for frame buffer devices / nVidia Riva support
Console Drivers / Frame-buffer support / Support for frame buffer devices / VESA VGA graphics console
#make dep && make clean bzImage modules modules_install
Kompilace jádra na mém počítači trvala 15 minut. Příkaz “#mv /boot/bzImage /boot/bzImage.orig” jsem vypustil, protože jsem ještě žádné jádro nainstalované neměl.
#cp /usr/src/linux/arch/i386/boot/bzImage /boot
Nyní nastává instalace log deamona a na výběr máte čtyři. Já jsem zvolil sysklogd.
#emerge app-admin/sysklogd
Dále instalujeme cron deamon a opět máme na výběr tentokrát ze tří. Zvolil jsem vcron.
#emerge sys-apps/vcron
# rc-update add *cron default
Je potřeba také nakonfigurovat /etc/fstab
#nano -w /etc/fstab
Soubor /etc/fstab jsem upravil takto:
# <fs> <mountpoint> <type> <opts> <dump/pass>
# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.
/dev/hdb1 /boot ext3 noauto,noatime 1 1
/dev/hdb2 / ext3 noatime 0 0
/dev/hdb3 none swap sw 0 0
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
proc /proc proc defaults 0 0
Nastavíme heslo pro uživatele root
#passwd
New UNIX password:
Retype new UNIX password:
Nastavíme /etc/hosts
#echo mymachine.mydomain.cz> /etc/hostname
Nastavíme které moduly se mají po startu zavádět. Což je důležité např. u sítové karty
#nano /etc/modules.autoload
zde jsem odkomentoval rádku:
3c59x
#nano -w /etc/conf.d/net
Nastavíme sít jako napriklad:
iface_eth0=”192.168.0.2 broadcast 192.168.0.255 netmask 255.255.255.0″
Nastavíme eth0 jako primární:
#rc-update add net.eth0 default
V souboru /etc/rc.conf nastavíme “CLOCK=”local” ”.
#nano -w /etc/rc.conf
Nastavil jsem si DMA přístup na oba harddisky.
#nano -w /etc/conf.d/local.start
Pridal následující rádky do souboru:
hdparm -d 1 /dev/hdb
hdparm -d 1 /dev/hda
Poslední důležitou věcí je nastavení boot manageru grub
Přepnul jsem si do mého RedHat Linuxu a změnit /etc/grub.conf následovně:
#pico /etc/grub.conf
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
password –md5 $1$syϪioK6$xNK22p8AIuu3EtNYmRxjh.
title Red Hat Linux (2.4.18-10)
root (hd0,0)
kernel /vmlinuz-2.4.18-10 ro root=/dev/hda2
initrd /initrd-2.4.18-10.img
title Gentoo Linux
root (hd1,0)
kernel /bzImage ro root=/dev/hdb2
Opět se přihlásíme do instalačního terminálu Gentoo Linuxu provedeme poslední krok:
#etc-update
#exit
Tím jsem opět v konzoli RedHat Linuxu. Ještě odpojit Gentoo Linux partitiony a můžeme restartovat.
#cd /
#umount /dev/hdb1
#umount /dev/hdb2
#/sbin/swapoff /dev/hdb3
restart
Poté je již možné instalovat Váš oblíbený software. Doporučuji vždy před instalací nejdříve zkontrolovat závyslosti přepínačen –pretend.
#emerge –pretend software_name
Instalaci provedete příkazem:
#emerge software_name
Konfigurace:
Procesor: Pentium III, 666 Mhz
MB: Microstar
RAM: 2 x 128 MB, 133 Mhz
HDD: Seagate ST31022 9 GB, Seagate ST36421A 6GB
NIC: 3com 3c905C/TX-M
Sound: onboard VT82C686 AC97
Video: Riva TnT2 Ultra
Floppy, ATAPI CD-ROM