Установка Gentoo Linux

Материал из Belgorod Linux User Group - Белгород

Перейти к: навигация, поиск

Установка Gentoo Linux со stage 1, 2, или 3.

Эта статья является потомком и логическим продолжением статьи [Инструкция по установке Linux Gentoo 2005.0 LinuxCenter Edition 1 DVD].

Прежде чем читать далее, советую прочесть: немного об этом дистрибутиве


Содержание

Начальные действия

Загрузка с LiveCD.

После загрузки с LiveCD мы попадаем в frame buffer консоль со splashutils. Довольно красиво и как всегда у Gentoo - стильно. Ни какого графического инсталлятора (примечание: было до версии 2006.0). С LiveCD загружается все необходимое для работы и установки (включая поддержку RAID и LVM). Первым делом можно настроить сеть, если она вам нужна. Делается это либо по-старинке руками (в /etc/init.d/net.eht0), либо командой

net-setup eth0

вообще можно и не настраивать, если у вас есть "срез" с distfiles - выкачивать-то ничего не нужно, но, возможно, вам захочется просто початиться во время установки. :) Теперь можно открыть доки с подмонтированного уже автоматически /mnt/cdrom вашего LiveCD, с которого вы загрузились. К примеру так:

links -g /mnt/cdrom/docs/install-ru.html

links -g запускает графический frame buffer режим для более удобного чтения русских букв и мышкой. Новичкам скажу что в отличии от установок Windows, DOS тут можно работать сразу в нескольких консолях, переключаясь между ними. Так что если вы открыли документацию в одном, то чат (irssi) можете запустить во втором(Alt+F2), а производить установку к примеру в третьем (Alt+F3), иногда возвращаясь на первую для чтения документации (Alt+F1).

Разбиваем диск.

Для установки будущего Линукса необходимо выделить желательно более 500МБ,а лучше около 6ГБ. Если планируете ставить и пробовать все - можно выделить сколько не жаль. 20-40ГБ думаю будет достаточно с верхом. Во всех документациях советуют делать разбивку с помощью fdisk, можете попробовать, об этом рассказано в прилагающейся документации. На мой взгляд для простых задач cfdisk намного удобнее и интуитивно-понятнее и он включен в LiveCD, по этому запускаем его:

cfdisk

При разбиении воспользуемся такой замечательной системой, как LVM (Logical Volume Manager). Выделяем свободное место и создаем на нем разделы (New). Созданному разделу присваиваем тип файловой системы (Type). Пример разбиения:

Name Flags Part Type FS Type Size
hda1 boot primary Linux (83) 500M
hda2 primary LinuxSwap (82) 800M
hda3 primary Linux LVM (8E) 11G
hda4 extended
hda5 logical Linux LVM (8E) 20G
hda6 logical Linux LVM (8E) 20G
hda7 logical Linux LVM (8E) 20G

hda1- первичный раздел. Будет загрузочным. На нем будут храниться главные для системы директории (/boot, /bin, /sbin, /etc, /lib, /root, /mnt, /sys,/proc). Это критически важные для работы системы директории, по этому они не выносятся на LVM, а остаются на ext3. Как правило размер такого раздела не превышает 200-300МБ. К стати говоря, директорию /boot целесообразнее было бы вынести на отдельный раздел, и не монтировать при загрузке системы в целях безопасности. Но если не вынесли - не очень страшно (особенно для Десктоп-машины). Главное условие для /boot раздела - постараться не использовать LVM, Reiserfs с ним. Пусть он лучше будет ext2 или ext3.

hda2 - раздел подкачки. hda3,5,6 - партиции для LVM2.

Подробнее об LVM тут: LVM

Разбиение закончено.

Создаем файл подкачки.

Форматируем:

mkswap /dev/hda2

и активизируем:

swapon /dev/hda2


Форматируем boot-раздел (он же у нас root).

mke2fs -j /dev/hda1

mke2fs-j форматирует в журналируемую ext2 файловую систему, называемую ext3. Подробнее о ext3: ext3

Работа с LVM2.

Теперь время попробовать всю мощь современного Linux-а. :) Будем работать с нашим LVM2. Подробнее об LVM2 тут: LVM

LiveCD от Gentoo поддерживает LVM2 и позволяет их обнаружить при загрузке, но на всякийслучай полезно будет знать, что за LVM отвечает модуль dm-mod, которыйможно подключить командой:

modprobe dm-mod

Подготавливаем наши LVM-партиции.

pvcreate /dev/hda3 /dev/hda6

Создаем группу разделов и даем ей имя к примеру vg (от volume group).

vgcreate vg /dev/hda3

Все.Группа vg создана. На устройстве /dev/hda3. В ней уже можно создаватьлогические тома. Но я подключу еще одину LVM-партицию туда:

vgextend vg /dev/hda6

Этой командой я расширил группу vg за счет логического диска hda6, находящегося в extended разделе (если помните). Вообще авторы LVM не советуют подключать и расширять группы без надобности. Они советую тразбить винчестер на много небольших партиций (к примеру 160ГБ на 8 разделов по 20ГБ). И подключать их в группы по мере необходимости в увеличении тома, т.к. увеличить раздел всегда проще чем уменьшить его. Посему и логические тома (logical volumes) лучше начинать с малых размеров, а при необходимости - подключать новые партиции и увеличиватьразмер томов.

Теперь создаем логические тома в LVM-группе vg.

К примеру:

/home 2G
/opt 2G
/tmp 1G
/usr 8G
/var 2G

Вообщекак говорилось выше, для LVM в принципе не важен размер, но начальный можно указать, исходя из примерных потребностей системы.

Создать их можно так:

lvcreate -L2G -nhome vg
lvcreate -L2G -nopt vg
lvcreate -L1G -ntmp vg
lvcreate -L8G -nusr vg
lvcreate -L2G -nvar vg

В результате позже появятся устройства /dev/vg/home, /dev/vg/opt, /dev/vg/tmp и т.д.

Увеличить размер тома можно будет к примеру командой

lvextend -L+1G /dev/vg/var

если конечно вам позволяет место. Узнать о свободном месте можно командами pvs, vgs.

Увеличение размера уже после отформатирования можно будет делать даже неотмонтируя устройства. Для этого надо будет собрать пакет для работы с reiserfs (или reiser4):

emerge reiserfsprogs
emerge reiser4progs

Увеличить размер файловой системы:

resize_reiserfs -f /dev/vg/var

Почему именно /dev/vg/var я увеличил до 3ГБ? Да просто потому, что Gentoo по умолчанию распаковывает и собирает все пакеты в /var/tmp/portage, а такие большие пакеты как OpenOffice с параллельной установкой чего-либоеще потребуют иногда поболее чем 4ГБ.

Форматирование томов.

В качестве файловой системы логических томов выбираем Reiserfs.

mkreiserfs /dev/vg/home
mkreiserfs /dev/vg/opt
mkreiserfs /dev/vg/tmp
mkreiserfs /dev/vg/usr
mkreiserfs /dev/vg/var

Все. Переходим к установке системы.

Установка системы.

Монтируем созданные нами разделы к загруженной нами с LiveCD системе.

Наш будущий Linux находится в папке /mnt/gentoo. По этому для начала монтируем корневой root-раздел туда:

mount /dev/hda1 /mnt/gentoo

Теперь можем поискать и подключить созданные нами выше LVM-разделы. Это полезно если, к примеру, до этого этапа была перезагрузка системы. Если перезагрузки небыло следующие 3 команды можно пропустить.

vgscan
vgchange -a y
vgmknodes vg

Создаем точки монтирования и монтируем остальные разделы.

mkdir /mnt/gentoo/home
mount /dev/vg/home /mnt/gentoo/home
mkdir /mnt/gentoo/opt
mount /dev/vg/opt /mnt/gentoo/opt
mkdir /mnt/gentoo/tmp
mount /dev/vg/tmp /mnt/gentoo/tmp
mkdir /mnt/gentoo/usr
mount /dev/vg/usr /mnt/gentoo/usr
mkdir /mnt/gentoo/var
mount /dev/vg/var /mnt/gentoo/var

Если до полной установки системы где-то будет перезагрузка - необходимо будет вернуться на этот этап.

Начало установки

Распаковываем тарбол

Распаковываем тарбол с минимальным набором программ, необходимых для установки системы.

cd /mnt/gentoo
tar -xvjpf /mnt/cdrom/stages/stage1-x86-2005.0.tar.bz2

stage1 - это тот самый Stage1 (установка полностью самому), тут может быть другой пакет (см. вашу систему). Как правило сейчас все дистрибутивы Gentoo идут со stage3 по умолчанию (если конечно это у вас не "срез").

Для новичков хочу заметить что все популярные shell-оболочки (командныеинтерпретаторы), в том числе и bash, в который входит LiveCD -поддерживают автозавершение ввода. То есть команды и тем более пути выможете писать не полностью, а только начальные буквы и нажать Tab, и sh допишет сам правильно имя. Если вариантов будет несколько - при двойномTab-е высветятся все возможные варианты.

Все. Создание основной файловой системы (нужных директорий, файлов, ссылок и т.п.) завершено. Переходим к установке системы.

Распаковываем дерево портеджей.

Система портеждей в Gentoo берет свое начало с FreeBSD-ports и позволяет быстрои удобно устанавливать программы из исходных или бинарных кодов сама накладывая патчи, конфигурируя и устанавливая их. При этом она обладаетбольшой гибкостью, качеством, и очень удобна.

tar -xvjf /mnt/cdrom/snapshots/portage-20050621.tar.bz2 -C /mnt/gentoo/usr

Вместо этого вы могли бы сделать

emerge sync

и система сама выкачала бы самую свежую ветку портов, но можно воспользоваться и имеющейся на DVD.

Установка distfiles

Все пакеты с исходными кодами будут храниться в директории по умолчанию/usr/portage/distfiles (с LiveCD она видна как/mnt/gentoo/usr/portage/distfiles). Файлы при установке будут браться от туда. По этому создаем эту папку, удалив предыдущий симлинк:

rm /mnt/gentoo/usr/portage/distfiles
mkdir /mnt/gentoo/usr/portage/distfiles

Далее там должны оказаться файлы с исходными кодами программ.

Если у вас безлимитный интернет - вам проще! Система сама стянет все от туда. Возможно тогда вам пригодится статья GetDelta - Экономия трафика

Если у вас нет такой возможности - можно пойти несколькими путями:

1. Скопировать ВСЕ файлы с DVD.

cp -R /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/

Такой вариант приемлем если вам не жаль места. Если у вас его достаточно было выделено (на /usr более 6 Гб).

2. Если вам жаль места - можно скопировать только нужные для следующего шага файлы.

Команда со списком всех нужных на данном этапе файлов будет выглядеть страшным образом:

cd /mnt/cdrom/distfiles
cp linux-2.6* texinfo* gettext* binutils* gnuconfig* gcc* sysvinit*rc-* zlib* db-* groff* *cron* man-1.5* gdbm* lib*perl* perl* auto*glib* miscf* crack* pam* shadow* readline* bash* portage-* protect*patch.4* /mnt/gentoo/usr/portage/distfiles

Вообще этот список зависит от файла /etc/make.conf а точнее USE-флага в нем. Об этом ниже.

3. И наверное самый правильный путь - создать локальное зеркало в новом gentoo:

mkdir /mnt/gentoo/mnt/cdrom
mount /dev/cdrom /mnt/gentoo/mnt/cdrom
echo "local /mnt/cdrom/distfiles" > /mnt/gentoo/etc/portage/mirrors

тогда вместо скачки файлов из интернета - сначала они будут искаться на DVD.

4. Также довольно удобно пользоваться сетевым репозитарием. К примеру расшарив (/etc/exports) их на сервере (в данном случаи 192.168.0.1) по NFS для вашей подсети. Тогда подключение портов будет просто выполняться командой:

 mount 192.168.0.1:/usr/portage /mnt/gentoo/usr/portage

P.S. Не пытайтесь на этом этапе подмонтировать в distfiles файлы с DVD - ни к чему хорошему это не приведет, т.к. bootstrap захочет права записи на DVD. :)

Заходим в наш новый Linux

Мы незаметно только что установили Линукс. :) Минимальная установка, совершенно пока не работоспособная (если это stage1). Будем ее оживлять. Заходим в новыйЛинукс:

mount -t proc proc /mnt/gentoo/proc
chroot /mnt/gentoo /bin/bash
env-update
source /etc/profile

Все! Вы оказались "внутри" вашего будущего Линукса. Команда chroot поменяла корневую вершину на /mnt/gentoo и она стала для вас /. Вы внутри Линукса на жестком диске. :)

На LiveCD всегда можно переключиться к примеру в другой консоли (Alt+F2, Alt+F3 и т.д.).

Если вы создавали локальное зеркало - можете проверить правильно ли оно подмантировано:

ls /mnt/cdrom

Должно показать содержимое DVD.

Stage1

Этот раздел относится только к установке со Stage1. Если вы устанавливаете систему со Stage2 или Stage3 - смело переходите к соответствующему разделу ниже, и не трогайте то, о чем тут написано! :)

Оптимизация.

Перед сборкой нового Линукса надо подумать об оптимизации.

Нам предстоит этап bootstrap-а, о котором ниже. На этом этапе нужно будет уже включить оптимизацию системы, но пока с минимальным набором USE-флагов или вообще пустым USE.

Редактировать надо файл /etc/make.conf Можно скопировать имеющийся /etc/make.conf.example можно писать с нуля. Команда редактирования с помощью редактора nano:

nano -w /etc/make.conf

На данном этапе USE-флаги у меня были такими:

USE="x86 mmx mmx2 3dnow 3dnowex usb sse -qt -kde -java -gnome -gtk"

А флаги компилятора:

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -pipe -fomit-frame-pointer -mmmx -m3dnow -msse -mfpmath=sse -ffast-math"
CXXFLAGS="${CFLAGS}"

Шнуровка.

Или "Вытягивание себя за шнурки" (прямо как Мюнхаузен себя за косу).

Процесс, когда старый компилятор собирает новый, потом новый устанавливается, собирает сам себя (уже из исходных кодов), а затем ивсе нужные библиотеки уже новыми инструкциями. Разница между этими пакетами и будет оптимизацией. Очень интересный процесс. Нопроизводится очень просто:

cd /usr/portage
scripts/bootstrap.sh

Все. Ждем часок. :) Вообще хорошим тоном было бы к примеру проверить все ли пакеты на месте с помощью команды

scripts/bootstrap.sh -f
scripts/bootstrap.sh -p

и почитать хелп

scripts/bootstrap.sh -h

Но если вы уже пустили процесс - ничего страшного. Если что его всегда можно возобновить командой

scripts/bootstrap.sh -r

или начать заново, удалив файл прогресса:

rm /var/run/bootstrap-*

На крайний случай если не получится на этом этапа что-либо (будет нехватать файлов) - их всегда можно будет дописать с другой консоли. А на самый крайний случай - скопировать полностью все distfiles. Если все-таки ошибки будут вас преследовать - повторите все операции начиная с форматирования, только с копированием всех distfiles с DVD. Опять же это не для безлимитного интернета

Stage2

Этот раздел для установки со Stage2. Или как продолжение установки со Stage1, т.к. на этот момент ваша систему уже идентична Stage2.

Все базовые пакеты собраны и можно устанавливать программы. Если вы на этапе копирования вы копировали ВСЕ файлы, и вам теперь жалко места - самое время почистить distfiles, удалив от туда все:

rm -R /usr/portage/disfiles

Ведь устанавливать дальше можно все будет с DVD не переписывая, а подмонтировав его так:

(Alt+F2) переходим на другую консоль (на LiveCD)

монтируем:

mount -o bind /mnt/cdrom/distfiles /mnt/gentoo/usr/portage/distfiles

С нашего Линукса пока это сделать нельзя, т.к. нету пока пакета mount, по этому монтируется с LiveCD.

Если вы создавали локальное зеркало, или же вам не жаль места, то удалять ничего не надо.

Теперь (Alt+F1) - возвращаемся на наш Линукс и начинаем установку системы.

make.conf

Для начала отредактируем нужные нам флаги в /etc/make.conf по своим нуждам, уже увеличив их количество.

nano -w /etc/make.conf

На данный момент флаги у меня были следующими:

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3-fomit-frame-pointer -falign-functions=32 -falign-labels=32-falign-loops=32 -falign-jumps=32 -march=athlon-xp -mfpmath=sse -m3dnow-mpreferred-stack-boundary=2 -pipe -s"
CXXFLAGS="${CFLAGS}"

Тут добавлена оптимизация, но в принципе, достаточно флагов к примеру:

CHOST="i686-pc-linux-gnu"
CFLAGS="-O3 -march=athlon-xp -funroll-loops -pipe -s"
CXXFLAGS="${CFLAGS}"

Но обязательно указать параметр -march= и тип своего процессора. Для Ahtlon XP он будет такой: -march=athlon-xp

Параметры в зависимости от вашей системы могут быть такие:


Для AMD Athlon-XP -march=athlon-xp
Для AMD Athlon-4/Duron -march=athlon-4
Для AMD Athlon-Thunderbird -march=athlon-tbird
Для AMD Athlon -march=athlon
Для AMD K6-3 -march=k6-3
Для AMD K6-2 -march=k6-2
Для AMD K6 -march=k6
Для Intel Pentium IV/Celerons -march=pentium4
Для Intel Pentium III/Celerons -march=pentium3
Для Intel Pentium II/Celerons -march=pentium2
Для Intel Pentium Pro -march=pentiumpro
Для Intel Pentium MMX -march=pentium-mmx
Для Intel Pentium -march=pentium
Для Intel 486 -march=i486
Для Intel 386 -march=i386

USE-флагов прибавилось у меня :)

USE="unicode ntpl ntplonly mmx mmx2 3dnow 3dnowex usb sse fbcon aalib crypt cups encode gif imlib jpeglibg++ libwww ncurses nls oggvorbis png tiff python quicktime readlineslang spell svga zlib oss alsa perl samba xml xml2 -matrox -mga Xopengl gtk gtk+ gtk2 tcltk dvd flash xmms truetype tk lm_sensors -xfsvorbis freetype scanner ogg avi mpeg threads -doc dvdr dvdread xvidffmpeg network audiofile xine -motif -athena -qt -kde -lirc -gnome-directfb -static -ldap -arts -artswrapersuid -hotplug userlocales apache -ipv6"

В данном случаи я не люблю КДЕ и QT, не люблю Гнома, но люблю gtk, gtk2, также люблю мультимедиа.


Устанавливаем систему.

Посмотрим - все ли файлы у нас есть:

USE="-X" emerge -pv system

Флаг -pv покажет какие именно пакеты (зависимости) требуются и сколько нужно скачать. В случаи установки без интернета размер скачиваемого всегда должен быть равен 0 (к примеру "срез" на DVD для того и есть, чтобы туда не лезть). Если что-либо хочет качаться - уберите пока это из USE-флагов либо качайте из сети, запустив net-setup eth0 на LiveCD.

В дальнейшем, когда захотим обновляться - будем выкачивать только разницу в пакетах. Через deltup-сервера. То есть нетянуть весь пакет с нуля, а только то, что изменилось, сущие килобайты... Об этом можно почитать будет тут: GetDelta - экономия трафика

Если все нормально - ставим систему.

USE="-X" emerge system

Пока ставим без X-ов (графической) части. Это очень долго. Главное наладить систему, а графику поставим потом.

Компиляция пошла и можно отдохнуть пару часиков... Или початиться в irssi на соседней консоли или почитать чего-нибудь.

Stage3

Этот раздел для установки со Stage3. Или как продолжение установки со Stage1 и Stage2, т.к. на этот момент ваша систему уже идентична Stage3.

Установка временной зоны.

Пора задуматься о системном времени. Устанавливаем свой часовой пояс:

rm /etc/localtime
ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime

и в файле /etc/conf.d/clock:

nano -w /etc/conf.d/clock

ставим параметр:

TIMEZONE="Europe/Moscow"

Редактирование fstab

Описываем свойства своей файловой системы в /etc/fstab, чтобы не монтировать руками ее.

nano -w /etc/fstab

В зависимости от того, как вы разбили систему на первых этапах, может получиться примерно вот что:

# корневой
/dev/hda1 / ext3 noatime 0 0
# swap
/dev/hda2 none swap sw 0 0
# наш LVM
/dev/vg/home /home reiserfs noatime 0 0
/dev/vg/opt /opt reiserfs noatime 0 0
/dev/vg/tmp /tmp reiserfs noatime,noexec 0 0
/dev/vg/usr /usr reiserfs noatime 0 0
/dev/vg/var /var reiserfs noatime 0 0
# остальное
none /proc proc defaults 0 0
/proc/fbsplash /proc/splash proc defaults 0 0
none /dev/shm tmpfs defaults 0 0

Ядро.

Настало время установить и собрать ядро Линукса.

Команда:

emerge sys-kernel/gentoo-sources

скопирует в папку /usr/src/linux исходники ядра 2.6.11, наложив на них патчи.

Переходим в эту папку и запускаем скрипт конфигурации:

cd /usr/src/linux
make menuconfig

В появившемся меню - выбираем нужные вам компоненты и свойства системы.То, что есть у вас в системе (железо) - можно нажать Y, поставив<*>, т.е. вкомпиллировать в ядро. Что будет редко использоваться - можно собрать модулем нажав M, поставив и загружать их потом можно будет командой modprobe, смотреть по lsmod, а выгружать по rmmod. Или поместить их названия в файл /etc/modules.autoload.d/kernel-2.6

Подробнее о настройках ядра 2.6.x - в соответствующей документации Сборка ядра Linux. Напомню лишь чтобы не забыли включить поддержку всех нужных файловых систем ext2, ext3, reiserfs, vfat

File systems --->
<*> Reiserfs support

и т.д.

Включить возможность работать с LVM:

Device Drivers --->
Multi device support (RAID,LVM)
<*> Device mapper support

Это как раз тот dm_mod, который в принципе можно собрать и как и добавить строку в файл загрузки модулей:

echo "dm_mod" >> /etc/modules.autoload.d/kernel-2.6

В меню

Processor type and featuries
Processor familiy --->

не забыть указать свой тип процессора.

Ну и еще некоторые параметры, которые желательно не забыть:

Device Drivers
Block Devices
<*> Normal floppy disk support
<*> Loopback device support
<*> RAM disk support
<*> Initial RAM disk (initrd) support
Networking support
Ethernet 10 or 100Mb ---> выбрать сетевые карты
Input Device support
<*> Provide legacy /dev/psaux device
<*> Mice
Character devices
<*> Intel/AMD/VIA HW Random Number generator
/dev/agpgart
nVidia nForce
Direct Rendering Manager
Graphics support
<*> Support for frame buffer devices
<*> VESA VGA graphic support
(1024x768@60) VESA default mode
Console Display Driver support --->
[*] Video mode selection support
<*> Frame buffer console support
<*> Select compiled-in fonts
<*> VGA 8x8
<*> VGA 8x16
<*> Support for frame buffer splash
USB support
<*> USB device filesystem
EHCI
OHCI
UHCI
<*> USB Mass Storage support
<*> USB Human Interface Device

Не поленитесь пробежать по всем менюшкам. Какие параметры установлены подефолту, но вы не знаете что они означают - лучше не трогать. Ставьте и убирайте только то, что знаете. А узнать о параметре можно выбрав параметр Help.

После конфигурации - компиллируем ядро

make

Вообще собрать ядро можно с помощью genkernel... Возможно, это будет немного дольше, и менее оптимально, чем руками, но тоже сойдет. Вместо make menuconfig можно сделать:

emerge genkernel
genkernel

Но я бы посоветовал поковыряться руками.

Остальные установки.

LVM:

emerge lvm2

поправим немного конфиг LVM-а:

nano -w /etc/lvm/lvm.conf

добавив в фильтры строку:

filter = [ "r|/dev/cdrom|", "r|/dev/dvd|" ]

дабы ускорить работу и не искать LVM-разделы на CD и DVD

Системный журнал:

emerge app-admin/sysklogd
rc-update add sysklogd default

cron-демон:

emerge cron
rc-update add vixie-cron default

Теперь задаем пароль администратора:

passwd

Установка загрузчика.

Будем ставить более приятный на вид и удобный, хорошо конфигурируемый загрузчик GRUB, конфигурировать загрузку которого можно даже не перезапуская его, и более того, в реальном времени при загрузке, нажав e.

emerge grub

Теперь отредактируем файл конфигурации grub-а:

nano -w /boot/grub/grub.conf

добавив туда что-то типа:

timeout 3
default 0
title Gentoo 2005.0
root (hd0,0)
kernel /boot/vmlinuz-2.6.11-gentoo-r11 root=/dev/hda1
title Windows
rootnoverify (hd0,4)
makeactive
chainloader (hd0,4)+1

Здесь (hd0,0) это адрес загрузочного раздела (/dev/hda1 в наше мслучае). То есть hda заменяется на hd0 (для совместимости с другими ОС), а 1 раздел считается с 0. Допустим /dev/hdb3 будет записан как( hd1,2) в скобках без пробелов. А к примеру загрузочный раздел Windows /hda5 будетвыглядеть как (hd0,4) (если вы конечно ставили или будете ставить еще и Windows).

Запускаем grub.

grub

Внутри grub-а есть своя командная оболочка, в которой мы установим его в mbr.

grub> root (hd0,0)
grub> setup (hd0)
grub> quit

Если не хотим ставить в MBR - надо указать setup (hd0,0) - тогда загрузчик поставится в первый раздел hda и его можно будет вызвать, передав управление с другого загрузчика (к примеру SyMon или загрузчика Windows).

Инсталлируем ядро.

cd /usr/src/linux
make modules_install
make install


Локализация.

Тут в зависимости от ваших предпочтений. Выбирайте либо KOI8-R, либо более популярный сейчас UTF-8 (рекомендуется).

UTF-8 локаль

в файле /etc/conf.d/consolefont выставить:

CONSOLEFONT="Cyr_a8x16"
CONSOLETRANLATION="cp866_to_uni"

в файле /etc/conf.d/keymaps выставить:

KEYMAP="-u ru"
DUMPKEYS_CHARSET="koi8-r"

Меняем локаль: в файле /etc/env.d/02locale выставить:

LC_ALL=""
LANG="ru_RU.UTF-8"

в файле /etc/rc.conf выставить:

UNICODE="yes"

в файле /etc/locale.gen выставить:

en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8 
ru_RU.KOI8-R KOI8-R
ru_RU.ISO-8859-5 ISO-8859-5
ru_RU.CP1251 CP1251


man

в файле /etc/man.conf меняем строки:

#NROFF          /usr/bin/nroff -mandoc
NROFF        /usr/bin/nroff -mandoc -Tlatin1 -c | iconv -f koi8-r -t utf-8

KOI8-R локаль

Внимание! Если вы выставили уже UTF-8 локаль, то этот пункт можно пропустить.

В

nano -w /etc/env.d/02locale

Добавляем строки:

LANG="ru_RU.KOI8-R"
LC_NUMERIC="POSIX"
LC_MESSAGES="ru_RU.KOI8-R"

В

nano -w /etc/conf.d/consolefont

Добавляем:

CONSOLEFONT="cp866-8x14"
CONSOLETRANSLATION="koi2alt"

раскладку клавиатуры в

nano -w /etc/conf.d/keymaps

выставляем

KEYMAP="ru_win"
SET_WINDOWKEYS="yes"

Значения KEYMAP могут быть разными. К примеру ru4 (переключение по CapsLock),ru-ms (по Ctrl+Shift). Полный список можно посмотреть в папке /usr/share/keymaps/i386/qwerty

Готово!

Все.

Готово! Поздравляю!

Смело жмем Ctrl+Alt+Del

Добро пожаловать!

Добро пожаловать в новый Линукс. Мы наконец-то его установили. Загрузился grub, передал управление ядру, загрузилось ядро, rc и init-скрипты и вы в своей системе уже загрузились с жесткого диска. Если все прошло гладко - мои поздравления. Если что-то не так - не расстраивайтесь, всегда можно все поправить, загрузившись с LiveCD и проделав chroot в ваш Линукс.

Если вы не копировали все distfiles - можете снова вставить диск и подмонтировать его:

mount /dev/cdrom /mnt/cdrom

Потом подмонтировать distfiles с этого DVD

mount -o bind /mnt/cdrom/distfiles /usr/portage/distfiles

и устанавливать уже то, что вам нужно.

К примеру Midnight Commander или vim. X-ы отложим на потом...

USE="-X" emerge mc

Перед этим можно сделать симлинк:

ln -sf /usr/share/mc /lib/mc

Также можно сделать некоторые симлинки по вкусу:

ln -sf /usr /usr/local

для красоты загрузки (с картинками, с полосой прогресса)

USE="-X" emerge splashutils

потом сгенерировать картинку:

splash_geninitramfs -g /boot/initrd.splash -r 1024x768 default

(темы лежат в /etc/splash).

и добавить в загрузчика

nano -w /boot/grub/grub.conf

строку

initrd=/boot/initrd.splash

после указания ядра:

kernel /boot/vmlinuz-2.6.11-gentoo-r11 splash=silent root=/dev/hda1

Создаем пользователя

Сколько можно сидеть под рутом?

useradd -m -G users,wheel,audio,games user
passwd user

где user замените именем пользователя типа vasya. Все. Теперь будем логиниться под юзером. Рута забываем. Если нужен будет рут - команда su. А вообще если часто нужен рут - советую поставить пакет sudo.

emerge app-admin/sudo

и делать все что нужно от рута:

sudo su -

а еще правильнее - по одной команде:

sudo <команда>

Не забудьте дописать доверенных пользователей или группу в /etc/sudoers После этого пароль рута можно забыть или даже убить, заменив его хеш в /etc/shadow на *

Ставим X-ы.

Если это Десктоп - без графики не обойтись. Ставим X-ы.

emerge flex
emerge xorg-x11

Еще можно поставить драйвера на видео, если хотите пользоваться ускорителем и OpenGL. К примеру для nVidia это выглядит так:

emerge nvidia-drivers

Любой пакет вы можете найти по emerge -s к примеру все что относится к nvidia смотри по

emerge -s nvidia

И так же для других пакетов.

Далее ставим свой любимый DE или WM. К примеру XFCE4

emerge xfce4

ну или KDE, Gnome, IceWM и еще куча на любой вкус (см. /usr/portage/x11-wm).

Поставили Х-ы? Конфигурируем, запускаем, настраиваем, радуемся, но это уже другая история.

Личные инструменты