HOWTO Установка Gentoo Linux
Пример установки Gentoo 2008.0 из stage3 вручную, без использования инсталляторов.
Архитектура x86
1. Скачать и записать:
install-x86-minimal-2008.0.iso
2. Загрузка с LiveCD.
livecd root #
Настройка сети:
# net-setup eth0
У разлинчных провайдеров разные способы подключения к сети, подробнее об этих способах будет рассказано в (этой) статье.
Просмотр состояния интерфейса
# ifconfig
livecd root # ifconfig
eth0 Link encap:Ethernet HWaddr 00:c0:26:ab:de:75
inet addr:172.17.182.20 Bcast:172.17.182.255 Mask:255.255.255.0
inet6 addr: fe80::2c0:26ff:feab:de75/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:47177178 errors:0 dropped:0 overruns:0 frame:0
TX packets:35590157 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:2618728400 (2.4 GiB) TX bytes:2414524165 (2.2 GiB)
Interrupt:17 Base address:0xec00
Тоже для WiFi
# iwconfig
Проверяем наличие прописанных DNS серверов, если их нет, то прописываем руками.
livecd root # vi /etc/resolv.conf
# Generated by dhclient for interface eth0 nameserver 194.187.204.254 nameserver 194.187.205.226
Проверяем:
livecd root # ping ya.ru PING ya.ru (77.88.21.8) 56(84) bytes of data. 64 bytes from ya.ru (77.88.21.8): icmp_seq=1 ttl=58 time=2.99 ms 64 bytes from ya.ru (77.88.21.8): icmp_seq=2 ttl=58 time=3.07 ms
Отлично, интернет есть, идем дальше.
Запуск демона SSH для удалённой установки:
livecd root # /etc/init.d/sshd start
Задать пароль root:
livecd root # passwd
3. Разбиваем диск.
Кому то привычнее fdisk, но cfdisk по приятнее выглядит и удобнее.
# cfdisk
cfdisk (util-linux-ng 2.13.1)
Disk Drive: /dev/hda
Size: 41110142976 bytes, 41.1 GB
Heads: 16 Sectors per Track: 63 Cylinders: 79656
Name Flags Part Type FS Type [Label] Size(MB)
---------------------------------------------------------------------------
hda1 Primary Linux swap / Solaris 1028.16
hda2 Primary Linux ReiserFS 38987.83
[Bootable] [ Delete ] [ Help ] [Maximize] [ Print ]
[ Quit ] [ Type ] [ Units ] [ Write ]
Toggle bootable flag of the current partition
hda1: Под swap, 1-2Гб. Под swap не обязательно выделять отдельный раздел, можно использовать под него файл на жёстком диске (не пробовал).
hda2: Под root, 10-15Гб. Там же находится и Boot его не обязательно выделять в отдельный раздел.
Как вариант hda3: Остальное под /home. Под distfiles, packages и под хлам типа музыки, фильмов и прочего.
Создаем файл подкачки.
Форматируем:
# mkswap /dev/hda1
и активизируем:
# swapon /dev/hda1
Форматируем linux-разделы.
А так же все разделы которые были созданы в cfdisk
# mkreiserfs /dev/hda2
Монтирование разделов.
Теперь, когда разделы созданы, а файловые системы размещены, настало время смонтировать (подключить к системе) эти разделы. Смонтируем корневой раздел:
# mount /dev/hda2 /mnt/gentoo
4. Распаковка установочных файлов Gentoo.
Проверяем дату:
# date
Необходимо выставить время по UTC.
Корректируем:
# date MMDDhhmmYYYY
Перейдем на смонтированный жесткий диск, куда будем устанавливать систему:
# cd /mnt/gentoo
Скачаем stage3 и portage:
# links http://mirror.yandex.ru/gentoo-distfiles/
Распаковываем тарбол со stage3:
# tar -xvjpf /mnt/gentoo/stage3-x86-2008.0.tar.bz2
Распаковываем дерево портеджей:
# tar -xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo/usr
5. Настройка параметров компиляции.
Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Для хранения ваших настроек предназначен конфигурационный файл Portage - /etc/make.conf. Именно его мы сейчас будем редактировать.
# nano -w /mnt/gentoo/etc/make.conf
Содержимое файла:
CHOST="i686-pc-linux-gnu" CFLAGS="-march=athlon-xp -pipe -O2" MAKEOPTS="-j2"
В переменной CHOST определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение.
Не изменяйте эту переменную, т.к. это может повредить вашу систему. Если переменная CHOST, по-вашему, выглядит неправильно, возможно, вы используете не тот архив stage3.
- пользователям AMD64, желающим получить действительно 64-битную
систему, следует использовать -march=k8
- пользователи EM64T должны указать -march=nocona
С помощью MAKEOPTS определяется, сколько параллельных процессов компиляции можно запускать при установке пакета. Хороший (но не всегда идеальный) вариант — значение, равное количеству процессоров в системе плюс один.
Чтобы пакеты ставились с русскоязычным интерфейсом, если он есть, добавим такую строчку:
LINGUAS="ru"
6. Установка базовой системы Gentoo.
Перед тем, как перейти в новую среду, осталось сделать одно дело:
Cкопировать информацию о DNS (системе доменных имен) в файл /etc/resolv.conf. Это нужно, чтобы при переходе сохранить работоспособность сети. В файле /etc/resolv.conf содержатся адреса серверов имен, используемых в вашей сети.
Копирование информации о DNS (параметр «-L» нужен, чтобы случайно не скопировать символьную ссылку):
# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Монтирование файловых систем /proc и /dev.
Смонтируйте файловую систему /proc в /mnt/gentoo/proc, чтобы после изменения корневого каталога устанавливаемая система смогла обращаться к информации, предоставляемой ядром, а затем создайте привязку монтирования файловой системы /dev.
Монтирование /proc и /dev:
# mount -t proc none /mnt/gentoo/proc # mount -o bind /dev /mnt/gentoo/dev
Переход в новую среду:
# chroot /mnt/gentoo /bin/bash # env-update && source /etc/profile # export PS1="(chroot) $PS1"
(последняя строчка не обязательна, просто так удобнее, видно что находишься не на LiveCD)
Всё, вы оказались "внутри" вашего будущего Линукса. Команда chroot поменяла корневую вершину на /mnt/gentoo и она стала для вас /. Вы внутри Линукса на жестком диске. На LiveCD всегда можно переключиться к примеру в другой консоли (Alt+F2, Alt+F3 и т.д.).
Настройка Portage.
Обновляем дерево portage.
# emerge --sync
На предложение обновить portage, делаем:
# emerge portage
Обновить сисему в целом
# emerge -av system
Обновить проги и утилиты.
# emerge -av world
Обновляем, если необходимо, конфиги:
# dispath-conf
(или)
# etc-update
(dispatch-conf вроде бы лучше http://ru.gentoo-wiki.com/wiki/Dispatch-conf)
(всегда обновляем внимательно, смотрим что удаляет и что добавляет, и решаем, нужно нам это или нет)
Выбор нужного профиля. Есть как минимум два способа это сделать, руками и не совсем :-)
Способ №1 (руками)
Выяснение используемого профиля:
# ls -FGg /etc/make.profile
lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default/linux/x86/2008.0/
Выяснение всех существующих профилей:
# ls –l /usr/portage/profiles/default/linux/x86/
drwxr-xr-x 4 portage portage 176 Фев 12 23:36 2008.0 drwxr-xr-x 4 portage portage 176 Апр 14 06:06 vserver
Для некоторых архитектур также предусмотрены подпрофили desktop и server. Если есть желание, можете выбрать desktop. USE-флагов по умолчанию прибавится. Некоторые предпочитают прописывать нужные флаги самостоятельно.
Переключаемся если это необходимо на нужный профайл :
# ln -snf /usr/portage/profiles/default/linux/x86/2008.0/server /etc/make.profile
Способ №2 (не совсем руками)
Просмотр доступных профайлов:
# eselect profile list
# Available profile symlink targets: [1] default/linux/x86/2008.0 * [2] default/linux/x86/2008.0/desktop [3] default/linux/x86/2008.0/developer [4] default/linux/x86/2008.0/server [5] hardened/x86 [6] selinux/2007.0/x86 [7] selinux/2007.0/x86/hardened [8] hardened/linux/x86
Выбор нужного:
# eselect profile set 4
Второй способ как мы понимаем удобнее и быстрее.
Далее ...
Настройка переменной USE.
Для начала поставим ufed:
# emerge ufed
Смотрим какие USE-флаги у нас уже прописаны: # emerge --info
Находим там строчку "USE=..." и смотрим флаги. Определённо нам не нужен ipv6. Запускаем # ufed, набираем "ipv6" и снимаем крестик (отключаем). Справа видно краткое описание флага. [Enter] - Y - сохранить изменения. В /etc/make.conf добавится переменная USE="-ipv6". Думаю, принцип понятен.
Не советую пока добавлять новые флаги.
Выбор зеркалов.
# mirrorselect -i -o >>/mnt/gentoo/etc/make.conf
Предупреждение: Не выбирайте зекрала IPv6. Файлы стадий пока не поддерживают протокол IPv6.
# mirrorselect -i -r -o >> /mnt/gentoo/etc/make.conf
7. Настройка ядра.
Наверное, самый продолжительный и ответственный пункт. От того, как вы настроите ядро, будет зависеть, загрузится ли ваша система вообще или нет. Советую делать очень внимательно и пошагово.
Установка временной зоны.
Устанавливаем свой часовой пояс:
Ищем свою зону:
# ls /usr/share/zoneinfo/
Устанавливаем:
# ln -sf /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Проверьте дату/время:
# date
Установка исходных кодов ядра.
С помощью команды emerge выберите и установите ядро. USE="-doc" требуется, чтобы на этом этапе избежать установки xorg-x11 или других связанных пакетов. USE="symlink" при новой установке не требуется, но обеспечивает правильное создание символьной ссылки /usr/src/linux:
# USE=”-doc symlink” emerge gentoo-sources
Далее будем настраивать ядро, а для этого желательно знать какое железо стоит на машине. Смотрим во второй консоли (Alt+F2):
# lspci
(входит в состав пакета pciutils)
# lsmod
(отображает список модулей, которые загрузил LiveCD)
А в первой переходим к конфигу ядра:
# cd /usr/src/linux
# make menuconfig
Выбор экспериментальных кодов/драйверов, основные параметры
Code maturity level options ---> [*] Prompt for development and/or incomplete code/drivers"
Выбор подходящего семейства процессоров
(измените в соответствии со своей системой)
(Athlon/Duron/K7) Processor family
Выбор необходимых файловых систем
File systems --->
Pseudo Filesystems --->
[*] /proc file system support
[*] Virtual memory file system support (former shm fs)
<*> Reiserfs support
Включение DMA
Device Drivers --->
ATA/ATAPI/MFM/RLL support --->
[*] Generic PCI bus-master DMA support
[*] Use PCI DMA by default when available
Включение поддержки SMP
Processor type and features ---> [*] Symmetric multi-processing support
После настройки сохраняем изменения и выходим.
Компилируем ядро:
# make && make modules_install
Копируем его в /boot:
# cp arch/i386/boot/bzImage /boot/<имя>
8. Настройка параметров системы.
Параметры файловых систем.
Описываем свойства своей файловой системы в /etc/fstab:
# nano -w /etc/fstab
У меня получилось:
/dev/hda2 / reiserfs noatime 0 1 /dev/hda1 none swap sw 0 0 /dev/hdc /mnt/cdrom iso9660 noauto,user,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto,user 0 0 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Параметры сети.
Установка имени узла (машины):
# nano /etc/conf.d/hostname HOSTNAME="gentoo"
Примеры настроек сети:
# nano /etc/conf.d/net
config_eth0=( "192.168.1.2 netmask 255.255.255.0 broadcast 192.168.1.255" ) routes_eth0=( "default via 192.168.1.1" ) dns_servers_eth0="192.168.1.1" dns_domain_lo="WORKGROUP" # рабочая группа (если не указывать эти настройки, параметры сети будут запрошены у DHCP)
Добавление net.eth0 в уровень запуска default (автозагрузка):
# rc-update add net.eth0 default
Указание сведений об узлах сети:
# nano /etc/hosts
127.0.0.1 gentoo.WORKGROUP gentoo localhost
9. Установка нужных системных средств.
Диспетчер устройств
# emerge udev
Установка демона cron
# emerge vixie-cron # rc-update add vixie-cron default
Установка slocate (индексация файлов)
# emerge slocate
Установка pciutils (системные утилиты)
# emerge pciutils
# emerge gentoolkit
Установка dhcpcd (в последних сборках stage3 не требуется)
# emerge dhcpcd
Установка системной службы журналирования:
# emerge metalog # rc-update add metalog default
Утилиты для обслуживания файловых систем:
# emerge reiserfsprogs
А также.
# rc-update add gpm default
10. Настройка начального загрузчика.
Установка GRUB:
# emerge grub
Создание /boot/grub/grub.conf:
# nano /boot/grub/grub.conf
default 0 timeout 10 splashimage=(hd0,1)/boot/grub/splash.xpm.gz title=Gentoo root (hd0,1) kernel /boot/bzImage root=/dev/hda2 udev
Добавить если есть Windows:
title=Windows XP rootnoverify (hd0,5) makeactive chainloader +1
Запускаем grub:
# grub
grub> root (hd0,1) //раздел с /boot grub> setup (hd0) grub> quit
Где: hd0,0 - раздел /boot (/dev/hda1), первый 0 - номер винта (hda=0, hdb=1 и т.д.), второй 0 - номер раздела (hda1 = 0, hda2 = 1 и т.д.
setup hd0 - установка в MBR первого винта в системе.
!!! Важно !!!
Не забыть установить пароль ROOT, иначе после перезагрузке мы не сможем зайти в систему:
# passwd
Размонтирование всех разделов и перезагрузка.
# exit # cd # umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo # reboot
11. Послесловие.
Если система загрузилась - поздравляю! Значит вы удачно сконфигурировали ядро, по-крайней мере для загрузки ^_^
Проверьте дату/время:
# date
Возможные проблемы:
Err: Ошибка сразу после заставки grub
Неверно сконфигурирован grub, неверно указан раздел /boot. Можно поправить прямо в меню выбора системы, кнопки e - edit, b - boot.
Err: Ошибка при монтировании root:
Kernel panic... Unable to mount root fs on unknown-block(0,0)
Если винт IDE - в ядре не включена его поддержка
Device Drivers --->
<*> ATA/ATAPI/MFM/RLL support --->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support --->
<*> Include IDE/ATA-2 DISK support
там же, ниже:
[ * ] PCI IDE chipset support
<*> Intel PIIXn chipsets support (поддержка моего чипсета, выберите СВОЙ)
Обязательно включать поддержку в ядро, а не модулями.
Загружаемся с LiveCD и переходим в свою систему на жестком диске.
# mount /dev/hda1 /mnt/gentoo/ # mount -t proc none /mnt/gentoo/proc # mount -o bind /dev /mnt/gentoo/dev # chroot /mnt/gentoo /bin/bash # env-update && source /etc/profile
Правим ядро:
# cd /usr/src/linux # make menuconfig # make && make modules_install # cp arch/i386/boot/bzImage /boot/<имя> # exit
Не забываем сделать изменения в загрузчике.
# nano –w /boot/grub/grub.conf # exit # umount /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo # reboot
Если все удачно, можно переходить к красивостям, локализации и т.д. …
Статьи:
http://www.liveinternet.ru/users/linux/post29342097/
http://www.nulled.ws/showthread.php?p=229723
http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml