19.03.10: Gentoo. Установка (stage3).
Хочу поделится своей «пошаговой» инструкцией по установке Gentoo. С моими небольшими дополнениями, по обходу некоторых нюансов которые присутствуют на данное время, может быть потом они будут другие. Так сказать пофиксят эти, сделают новые :-)
Пишу с учетом особенностей моего компьютера, более подробную информацию всегда можно получить здесь.
Читая хендбук, нашел, к своему удивлению, что английские версии (полное отображения и постраничное) и русская версия не идентичны по изложенному материалу. В частности, в одной из них предполагается использование для 64-х битных систем elilu с пересозданием таблицы разделов (к слову сказать у меня данный бут лоадер так и не установился до конца по причине ошибок в его скриптах инициализации). В другом варианте достаточно взять grub-static. В этом случае вы можете установить 64-х битную систему не переразбивая винчестер. Я рассматриваю вариант с установкой grub-static, если вас интересует elilu - смотрите хендбук.
1. Создаем разделы
cfdisk /dev/sda (или в зависимости от вашего диска /dev/sda..z если диск не sata а ide соотв. /dev/hda)
* я создаю 4 раздела: загрузочный (boot), порядко 100мб, своп (swap) 0.5-1гб, рут 20гб, и хом (home) тоже 20гб. Вы можете разбивать по иному. Главное - не забываем сделать загрузочный раздел (установить флаг boot на первом разделе).
2. Форматируем разделы
mke2fs -j /dev/sda1 (у меня все разделы ext3, если у вас другая - используйте нужную команду для форматирования)
mke2fs -j /dev/sda3
mke2fs -j /dev/sda4
mkswap /dev/sda2
* если при форматировании дисков вам не понравилось кол-во рестартов перед проверкой, это дело можно поправить утилитой tune2fs.
3. Монтируем наши разделы
mount /dev/sda3 /mnt/gentoo
mkdir /mnt/gentoo/boot
mount /dev/sda1 /mnt/gentoo/boot
mkdir /mnt/gentoo/home
mount /dev/sda4 /mnt/gentoo/home
swapon /dev/sda2 (подключаем наш своп)
4. Устанавливаем время
date 032916212005 (значит 03.29.2005 16:21)
* проверить текущее время можно также командой date (без параметров).
5. Настройка сети
В моем случае (у меня интернет раздается по NAT и имеется dhcp)
net-setup eth0
* проверка текущего состояния возможна командой /sbin/ifconfig или просто ifconfig.
6. Скачиваем и распаковываем архивы
Если вы не знаете что качать - не беда, всегда можно посмотреть линк с помощью текстового броузера links. links gentoo.org (управление - клавиши курсора)
cd /mnt/gentoo
wget http://mirrors.kernel.org/gentoo/releases/amd64/autobuilds/current-stage3/stage3-amd64-20100304.tar.bz2 (конечный файл скорее всего будет иным)
адрес скачивание портежей всегда один и тот же:
wget http://mirrors.kernel.org/gentoo/releases/snapshots/current/portage-latest.tar.bz2
tar xvjpf stage3-amd64-20100304.tar.bz2 -C /mnt/gentoo
в хендбуке говорят выполнить mkdir /mnt/gentoo/usr , но этого можно не делать, после распаковки stage3 у вас уже есть эта директория, по этому просто распаковываем портаж
tar xvjpf portage-latest.tar.bz2 -C /mnt/gentoo/usr
7. Настройка компиляции
Весьма важный момент на данном этапе. Для более подробной настройки смотрите хендбук, ваш march можно посмотреть тут, в разделе «Processor Specific CFLAGS» для вашего процессора.
nano /mnt/gentoo/etc/make.conf
Корректируем:
CFLAGS="-march=core2 -O2 -pipe -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"
Весьма важный параметр. Прописываем и устанавливаем в значение кол-во ядер процессора +1. В моем случае (4-х ядерный процессор, это -j5).
MAKEOPTS="-j5"
8. Монтируем proc, /dev, /sys
cp -L /etc/resolv.conf /mnt/gentoo/etc
mount -t proc none /mnt/gentoo/proc
mount -o bind /dev /mnt/gentoo/dev
mount -o bind /sys /mnt/gentoo/sys
9. Собственно chroot
chroot /mnt/gentoo /bin/bash
* на будущее, если вдруг вы что-то забыли сделать (поставить пароль root, или установить бут лоадер, на пример) не отчаивайтесь, вы всегда можете загрузиться с live-cd, выполнить пункты 3, 8, 9 и 10 и воспроизвести все нужные действия.
10. Обновляем переменные окружения
env-update
source /etc/profile
11. Синхронизируем портэжи
emerge --sync
* рекомендуется делать эту команду не чаще раза в сутки, дабы не загружать сервера и не попасть в бан лист
12. Устанавливаем нужный профиль
emerge eselect
eselect profile list
eselect profile set нужный номер
* в моем случае, нужно поставить профиль с desktop в названии
13. Продолжаем настраивать наш make.conf
Я пишу все что нужно сразу (ибо знаю что писать), в вашем случае кроме процессорных use флагов можно ничего не писать, или пишите то что нужно вам (если знаете что, конечно).
«mmx sse sse2 sse3 ssse3» -оптимизации поддерживаемые процессором (смотрите данные по своему процессору)
«cuda» - нвидия видео карта, будем использовать в расчетах (если видео карта не nvidia или вам не нужно cuda писать не имеет смысла)
«-qt3 -qt4 -arts -kde X dbus hal alsa gtk gnome -mono» - будем ставить «чистый» Gnome
Что получается:
nano /etc/make.conf
Корректируем:
USE="mmx sse sse2 sse3 ssse3 cuda -qt3 -qt4 -arts -kde X dbus hal alsa gtk gnome -mono"
LINGUAS="en ru"
* языковая поддержка (словари, проверка ошибок) - на ваше усмотрение, я прописываю.
14. Генерация локалей
nano /etc/locale.gen
приводим к такому виду:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
ru_RU.CP1251 CP1251
ru_RU.KOI8-R KOI8-R
ru_RU ISO-8859-5
Затем выполняем команду которая сама все сгенерирует:
locale-gen
15. Устанавливаем часовой пояс
Для меня:
cp /usr/share/zoneinfo/Europe/Kiev /etc/localtime
nano /etc/conf.d/clock (ставим CLOCK="local" и TIMEZONE="" )
* Вот тут весьма полезно еще раз проверить время командой date, если нужно - подкорректировать.
15. Переходим к ядру
emerge gentoo-sources
Возможно, в сорцах идет 2 ядра, потому лучше проверить
eselect kernel list (если показывает 2 ядра => eselect kernel set 2, ставим новое)
16. Ставим genkernel
Компилим и ставим ядро. При желании можно обойтись без genkernel и все сделать руками (смотрите хендбук как это делать, ничего сложного).
emerge genkernel
genkernel --menuconfig all
* вот тут важный нюанс, по умолчанию выключена поддержка usb принтеров, если вы планируете ее использовать, в появившемся меню Device Drivers > USB support > USB Printer support ставим M. Если редактировани ничего не надо, можно просто выполнить genkernel all
17. Редактируем fstab
Для моей системы:
nano /etc/fstab
Прописываю:
/dev/sda1 /boot ext3 noatime 1 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 noatime 1 1
/dev/sda4 /home ext3 noatime 1 2
* если вы планируете использовать авто-маунт для сд-двд - НЕ прописывайте сюда мантирование приводов.
18. dhcp клиент
В моем случае, установлеваю dhcp клиент, иначе не найдет автоматом сеть после перезапуска
emerge dhcpcd
чтобы при загрузке не думало что делать, сразу пишем что dhcp
nano /etc/conf.d/net
добавляем строчку config_eth0=( "dhcp" )
* если написать забыли, всегда можно поднять eth0 и получить интернет руками, выполнив (опять же в моем случае):
ifconfig eth0 192.168.1.10 broadcast 192.168.1.255 netmask 255.255.255.0 up
route add default gw 192.168.1.1
19. Установка пароля рут
passwd root (попросит ввести новый пароль и повторить его)
* обязательно установите, система генерирует пароль автоматически и если вы его на этом этапе не измените не сможете залогинится после ребута.
20. Ставим бутлоадер grub
emerge grub-static
редактируем запись (к слову сказать у вас будет чистый файл menu.lst)
nano /boot/grub/menu.lst
внутри примерно такой текст
default 0
timeout 10
title=kernel-genkernel-x86_64-2.6.31-gentoo-r6
root (hd0,0)
kernel /boot/kernel-genkernel-x86_64-2.6.31-gentoo-r6 root=/dev/ram0 real_root=/dev/sda3 initrd /boot/initramfs-genkernel-x86_64-2.6.31-gentoo-r6
* если вы не знаете точные имена файлов kernel и initramfs, перед редактированием делаем:
cd /boot
ls (или dir)
устанавливаем grub основным загрузчиком:
cp /proc/mounts /etc/mtab
grub-install /dev/sda
21. Перегружаемся
reboot (или shutdown -r now)
live-cd можно уже убрать, если вы все сделали правильно он вам не понадобиться :-)
Базовая система Gentoo у вас установлена, поздравляю.