Главная > Операционные системы > UNIX > Linux > Gentoo Детальная установка gentoo linuxПример установки Gentoo 2007.0 из stage3 вручную, без использования инсталляторов.
Архитектура x86, ядро 2.6, ru_RU.UTF-8. 1. Скачать и записать: install-x86-minimal-2007.0-r1.iso |- /stages/stage3-i686-2007.0.tar.bz2 |- /snapshots/portage-latest.tar.bz2 2. Загрузка с LiveCD. boot: .......... livecd root # Настройка сети: # net-setup eth0 Проверяем: # ping ya.ru Если всё ок, можно открыть handbook: # links http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml Включение DMA (если не включилось автоматически): # hdparm -d1 /dev/hda Тестирование производительности диска: # hdparm -tT /dev/hda Запуск демона SSH для удалённой установки: # /etc/init.d/sshd start 3. Разбиваем диск. # cfdisk Name Flags Part Type FS Type Size hda1 boot primary Linux 64M hda2 primary LinuxSwap (82) 1024M hda3 primary Linux 10000M hda4 primary Linux *M hda1: Под /boot 32-64Мб. hda2: Под swap 1-2Гб. Под swap не обязательно выделять отдельный раздел, можно использовать под него файл на жёстком диске (не пробовал). hda3: Под root 10-15Гб. hda4: Остальное под /home. Под distfiles, packages и под хлам типа музыки, фильмов и прочего. Создаем файл подкачки. Форматируем: # mkswap /dev/hda2 и активизируем: # swapon /dev/hda2 Форматируем linux-разделы. /boot в ext2: # mke2fs /dev/hda1 / и /home в reiserfs: # mkreiserfs /dev/hda3 # mkreiserfs /dev/hda4 Монтирование разделов. Теперь, когда разделы созданы, а файловые системы размещены, настало время смонтировать (подключить к системе) эти разделы. Смонтируем корневой, загрузочный и home разделы: # mount /dev/hda3 /mnt/gentoo # mkdir /mnt/gentoo/boot # mount /dev/hda1 /mnt/gentoo/boot # mkdir /mnt/gentoo/home # mount /dev/hda4 /mnt/gentoo/home 4. Распаковка установочных файлов Gentoo. Проверяем дату/время: # date Необходимо выставить время по UTC. Корректируем: # date MMDDhhmmYYYY Распаковываем тарбол со stage3: # cd /mnt/gentoo # tar -xvjpf /mnt/cdrom/stages/stage3-i686-2007.0.tar.bz2 Распаковываем дерево портеджей: # tar -xvjf /mnt/cdrom/snapshots/portage-latest.tar.bz2 -C /mnt/gentoo/usr Разберёмся с distfiles. Все пакеты с исходными кодами должны храниться в папке по умолчанию /usr/portage/distfiles (с LiveCD она видна как /mnt/gentoo/usr/portage/distfiles). Пакеты при установке будут браться сначала оттуда, а в случае их отсутствия - скачиваться с интернета. root-раздел не резиновый, distfiles планирую держать на home-разделе (/home/gentoo/distfiles). # mkdir /mnt/gentoo/home/gentoo # mkdir /mnt/gentoo/home/gentoo/distfiles Для обладателей LiveCD(DVD), с записанными на нём distfiles, необходимо скопировать всю папку distfiles с LiveCD: # cp -rv /mnt/cdrom/distfiles /mnt/gentoo/home/gentoo 5. Настройка параметров компиляции. Для оптимизации Gentoo вы можете создать ряд переменных, которые повлияют на поведение Portage. Для хранения ваших настроек предназначен конфигурационный файл Portage - /etc/make.conf. # nano /mnt/gentoo/etc/make.conf CHOST="i686-pc-linux-gnu" В переменной CHOST определяется, для какой архитектуры скомпилирована система. В ней уже должно быть установлено правильное значение. Не изменяйте эту переменную, т.к. это может повредить вашу систему. Если переменная CHOST, по-вашему, выглядит неправильно, возможно, вы используете не тот архив stage3. CFLAGS="-O2 -march=prescott -pipe -fomit-frame-pointer" В -march=впишите_своё. Узнать тип процессора можно по: # cat /proc/cpuinfo Примеры march смотрим в Safe_Cflags. Не использовал "-ffast-math": Уберите "-ffast-math"! Генерируемый gcc код "-ffast-math" с любыми "-O" может приводить к неправильным результатам вычислений. Рекомендую для вашего случая использовать вместо "-ffast-math" что-то типа "-m3dnow -mfpmath=sse". Будет и быстрее и стабильнее. "-fomit-frame-pointer" можно вообще убрать: оно по дефолту включено еще в "-O2". Не использовал "-О3", ибо непонятно. Добавил MAKEOPTS="-j2", но взял на заметку: Было подобное с компиляцией ядра в виртуальной машине, причем проблема случайным образом то повторялась, то нет. Дал больше памяти - проблема исчезла. Имхо дело в опции MAKEOPTS="-j2". Видимо двум экземплярам компилятора памяти не хватает, надо в один поток компилить. Тут же сразу добавил: LINGUAS="ru", чтобы пакеты ставились с русскоязычным интерфейсом, если он есть. При наличии distfiles на локальном фтп, можно прописать зеркало: GENTOO_MIRRORS="ftp://ip.your.lan.pc"; (В корне фтп должна находиться папка distfiles, содержащая пакеты. Внимание. Не все пакеты скачиваются с зеркала, за некоторыми идёт обращение сразу, по жёстко прописанному адресу, в интернет, невзирая на то, что пакеты есть на зеркале.) Прописываем путь к distfiles: DISTDIR="/home/gentoo/distfiles" Путь для хранения бинарных версий пакетов: PKGDIR="/home/gentoo/packages" Две строки для elogv: PORTAGE_ELOG_CLASSES="warn error log qa" PORTAGE_ELOG_SYSTEM="save" Любители использовать нестабильные (ещё находящиеся в стадии тестирования) пакеты, могут сразу же прописать: ACCEPT_KEYWORDS="~x86" 6. Установка базовой системы Gentoo. Перед тем, как перейти в новую среду, осталось сделать одно дело: скопировать информацию о DNS (системе доменных имен) в файл /etc/resolv.conf. Это нужно, чтобы при переходе сохранить работоспособность сети. В файле /etc/resolv.conf содержатся адреса серверов имен, используемых в вашей сети. Копирование информации о DNS (параметр "-L" нужен, чтобы случайно не скопировать символьную ссылку): # cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf (с) handbook Монтирование файловых систем /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 Всё, вы оказались "внутри" вашего будущего Линукса. Команда chroot поменяла корневую вершину на /mnt/gentoo и она стала для вас /. Вы внутри Линукса на жестком диске. На LiveCD всегда можно переключиться к примеру в другой консоли (Alt+F2, Alt+F3 и т.д.). Настройка Portage. Если есть интернет: # emerge --sync Остальные: # emerge --metadata На предложение обновить portage, делаем: # emerge portage Обновляем, если необходимо, конфиги: # dispath-conf (всегда обновляем внимательно, смотрим что удаляет и что добавляет, и решаем, нужно нам это или нет) Выбор нужного профиля. *опционально* *пример* Выяснение используемого профиля: # ls -FGg /etc/make.profile lrwxrwxrwx 1 48 Apr 8 18:51 /etc/make.profile -> ../usr/portage/profiles/default-linux/x86/2006.1/ Выяснение всех существующих профилей: # ls /usr/portage/profiles/default-linux/x86/ -l drwxr-xr-x 2 portage portage 160 Май 8 04:39 2006.0 drwxr-xr-x 4 portage portage 176 Фев 12 23:36 2006.1 drwxr-xr-x 4 portage portage 176 Апр 14 06:06 2007.0 ... Как видно, существует более новый профиль (2007.0), можно переключиться на него, хотя это делать и не обязательно (пока текущий профиль не объявлен "deprecated"). # ln -snf /usr/portage/profiles/default-linux/x86/2007.0 /etc/make.profile Для некоторых архитектур также предусмотрены подпрофили desktop и server. Если есть желание, можете выбрать desktop. USE-флагов по умолчанию прибавится. Я предпочитаю прописывать нужные флаги самостоятельно. Настройка переменной USE. Для начала поставим ufed: # emerge ufed Смотрим какие USE-флаги у нас уже прописаны: # emerge --info Находим там строчку "USE=:" и смотрим флаги. Определённо нам не нужен ipv6. Запускаем # ufed, набираем "ipv6" и снимаем крестик (отключаем). Справа видно краткое описание флага. [Enter] - Y - сохранить изменения. В /etc/make.conf добавится переменная USE="-ipv6". Думаю, принцип понятен. Не советую пока добавлять новые флаги. Региональные параметры GLIBC Скорее всего, вы будете использовать в системе один-два набора региональных параметров. Нужные регионы можно указать в /etc/locale.gen: # nano /etc/locale.gen ru_RU.UTF-8 UTF-8 # Если есть желание, можно добавить и другие локали: #en_US ISO-8859-1 #en_US.UTF-8 UTF-8 #ru_RU.KOI8-R KOI8-R Следующий шаг - запустить locale-gen. Это сгенерирует настройки для всех регионов, указанных в файле /etc/locale.gen: # locale-gen 7. Настройка ядра. Наверное, самый продолжительный и ответственный пункт. От того, как вы настроите ядро, будет зависеть, загрузится ли ваша система вообще или нет. Советую делать очень внимательно и пошагово, руководствуясь мануалом по настройке ядра (ссылка ниже). Установка временной зоны. Устанавливаем свой часовой пояс: Ищем свою зону: # ls /usr/share/zoneinfo/ Устанавливаем: # cp /usr/share/zoneinfo/Asia/Krasnoyarsk /etc/localtime (мой часовой пояс) Проверьте дату/время: # date Установка исходных кодов ядра: # emerge gentoo-sources Должен поставиться один пакет - gentoo-sources, если это не так, читаем handbook. Далее будем настраивать ядро, а для этого желательно знать какое железо стоит на машине. Смотрим во второй консоли (Alt+F2): # lspci (входит в состав пакета pciutils) # lsmod (отображает список модулей, которые загрузил LiveCD) А в первой переходим к конфигу ядра: # cd /usr/src/linux # make menuconfig Настройку ядра производил по этому руководству: http://img1.liveinternet.ru/images/attach/b/1/3563/3563924_kernel_make.zip После настройки сохраняем изменения и выходим. Компилируем ядро: # make && make modules_install Копируем ядро в /boot: /# cp arch/i386/boot/bzImage /boot 8. Настройка параметров системы. Параметры файловых систем. Описываем свойства своей файловой системы в /etc/fstab: # nano -w /etc/fstab У меня получилось: /dev/hda1 /boot ext2 noauto,noatime 1 2 /dev/hda3 / reiserfs noatime 0 1 /dev/hda2 none swap sw 0 0 /dev/hda4 /home reiserfs exec,rw 0 1 /dev/hdc /mnt/cdrom iso9660 noauto,user,ro 0 0 #/dev/fd0 /mnt/floppy auto noauto,user 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" # рабочая группа? Добавление net.eth0 в уровень запуска default (автозагрузка): # rc-update add net.eth0 default Указание сведений об узлах сети: # nano /etc/hosts 127.0.0.1 gentoo.WORKGROUP gentoo localhost Параметры системы. Задаем пароль администратора: # passwd Устанавливаем более приятный шрифт для консоли: # emerge terminus-font # nano /etc/conf.d/clock CLOCK="local" (вместо UTC) TIMEZONE="Asia/Krasnoyarsk" (измените на свою) CLOCK_OPTS="--directisa" (только для ноутбуков) Локализация: # nano /etc/env.d/02locale LC_ALL="" LANG="ru_RU.UTF-8" LC_NUMERIC="POSIX" # nano /etc/rc.conf UNICODE="yes" # nano /etc/conf.d/consolefont CONSOLEFONT="ter-k14n" # nano /etc/conf.d/keymaps KEYMAP="ru-ms" # можно попробовать "-u ru4" SET_WINDOWKEYS="yes" # Опционально DUMPKEYS_CHARSET="koi8-r" 9. Установка нужных системных средств. Установка системной службы журналирования: # emerge syslog-ng # rc-update add syslog-ng default Утилиты для обслуживания файловых систем: # emerge reiserfsprogs 10. Настройка начального загрузчика. Установка GRUB: # emerge grub Создание grub.conf: # nano /boot/grub/grub.conf default 0 timeout 10 splashimage=(hd0,0)/boot/grub/splash.xpm.gz title=Gentoo root (hd0,0) kernel /boot/bzImage root=/dev/hda3 Запускаем grub: # grub grub> root (hd0,0) //раздел с /boot grub> setup (hd0) grub> quit Где: hd0,0 - раздел /boot (/dev/hda1), первый 0 - номер винта (hda=0, hdb=1 и т.д.), второй 0 - номер раздела (hda1 = 0, hda2 = 1 и т.д. setup hd0 - установка в MBR первого винта в системе. Размонтирование всех разделов и перезагрузка. # exit cdimage # cd cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/home cdimage ~# umount /mnt/gentoo/dev /mnt/gentoo/proc cdimage ~# umount /mnt/gentoo cdimage ~# reboot 11. Послесловие. Если система загрузилась - поздравляю! Значит вы удачно сконфигурировали ядро, по-крайней мере для загрузки ^_^ Проверьте дату/время: # date Проверьте набор/отображение русских букв (переключение раскладок - правый Ctrl). Запустите # nano, обратите внимание на строки меню внизу, корректно ли отображаются? # locale выдаёт ru_RU.UTF-8 везде, кроме LC_NUMERIC? Возможные проблемы: Err: Ошибка сразу после заставки grub Неверно сконфигурирован grub, неверно указан раздел /boot. Можно поправить прямо в меню выбора системы, кнопки e - edit, b - boot. Сборник ошибок Grub в Gentoo 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 (мой чипсет) Обязательно включать поддержку в ядро, а не модулями. Hint: Загружаемся с LiveCD и редактируем ядро: cdimage ~# mount /dev/hda3 /mnt/gentoo cdimage ~# mount /dev/hda1 /mnt/gentoo/boot cdimage ~# mount /dev/hda4 /mnt/gentoo/home cdimage ~# mount -t proc none /mnt/gentoo/proc cdimage ~# mount -o bind /dev /mnt/gentoo/dev cdimage ~# 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 cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/home cdimage ~# umount /mnt/gentoo/dev /mnt/gentoo/proc cdimage ~# umount /mnt/gentoo cdimage ~# reboot (возможно некорректное отображение рамочек в menuconfig) Оригинал статьи Главная > Операционные системы > UNIX > Linux > Gentoo |