-неизвестно

 -Подписка по e-mail

 

 -Поиск по дневнику

Поиск сообщений в linux

 -Интересы

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 26.09.2005
Записей:
Комментариев:
Написано: 3488


Установка Gentoo (2007.0 из stage3)

Среда, 24 Января 2007 г. 11:30 + в цитатник
Gentoo.jpg (150x112, 2Kb)Handbook (полный handbook)
Краткое руководство по установке Gentoo Linux x86
(В руководстве кратко описывается процесс установки 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 /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:
en_US ISO-8859-1
en_US.UTF-8 UTF-8
ru_RU.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://linux.alhimia.ru/pub/archive/doc/kernel-2.6/2.0/kernel-2.6-install-2.0.html

После настройки сохраняем изменения и выходим.

Компилируем ядро: # 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"
SET_WINDOWKEYS="yes" # Опционально
DUMPKEYS_CHARSET="koi8-r"



9. Установка нужных системных средств.

Установка системной службы журналирования:
# emerge syslog-ng
# rc-update add syslog-ng default


Утилиты для обслуживания файловых систем: # emerge reiserfsprogs


10. Настройка начального загрузчика.

Установка GRUB: # emerge grub

Создание /boot/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 первого винта в системе.

Handbook: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml?part=1&chap=10#doc_chap2

Размонтирование всех разделов и перезагрузка.

# exit
cdimage # cd
cdimage ~# umount /mnt/gentoo/boot /mnt/gentoo/home /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot



11. Послесловие.
Если система загрузилась - поздравляю! Значит вы удачно сконфигурировали ядро, по-крайней мере для загрузки ^_^
Проверьте дату/время: # date
Проверьте набор/отображение русских букв (переключение раскладок - правый Ctrl).
Запустите # nano, обратите внимание на строки меню внизу, корректно ли отображаются?
# locale выдаёт ru_RU.UTF-8 везде, кроме LC_NUMERIC?

Возможные проблемы:
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 (поддержка моего чипсета, выберите СВОЙ)

Обязательно включать поддержку в ядро, а не модулями.

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 /mnt/gentoo/dev /mnt/gentoo/proc /mnt/gentoo
cdimage ~# reboot

(возможно некорректное отображение рамочек в menuconfig)


Handbook: http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml
Настройка ядра: http://linux.alhimia.ru/pub/archive/doc/kernel-2.6/2.0/kernel-2.6-install-2.0.html (прикрепляю к посту)
Safe Cflags: http://gentoo-wiki.com/Safe_Cflags
HOWTO ru RU.utf8 Gentoo way: http://ru.gentoo-wiki.com/HOWTO_ru_RU.utf8_Gentoo_way
Создание только нужных вариантов locale: http://ru.gentoo-wiki.com/%D0%A1%D0%BE%D0%B7%D0%B4...D0%BD%D1%82%D0%BE%D0%B2_locale

Вложение: 3563924_kernel_make.zip

Метки:  



Akademic   обратиться по имени Среда, 24 Января 2007 г. 12:41 (ссылка)
Из-за MAKEOPTS="-j2" я неделю не мог скомпилять openoffice на своём ноутбуке.
всё время слетал при компиляции с непонятной ошибкой. когда я понял, что падает из-за нехватки памяти, то уже была поставлена bin версия, и собирать я его больше не пытался.
Ответить С цитатой В цитатник
linux   обратиться по имени Среда, 24 Января 2007 г. 13:17 (ссылка)
Akademic, тоже хочу ноутбук, в фирме сегодня сказали, что сообщат, когда он появится, жду...
Ответить С цитатой В цитатник
Akademic   обратиться по имени Среда, 24 Января 2007 г. 16:21 (ссылка)
DUMPKEYS_CHARSET="koi8-r" # нужно?
Я могу сейчас ошибаться (глянуть некуда), но в скриптах, стартующих локаль, эта переменная отрабатывает только при UNOCODE="no" (смотри /etc/init.d/keymaps)
Ответить С цитатой В цитатник
linux   обратиться по имени Среда, 24 Января 2007 г. 17:04 (ссылка)
Akademic, там вроде как получается, что DUMPKEYS_CHARSET нужно всегда, только если не стоит KEYMAP="ru-utf", тогда надо закомментировать DUMPKEYS_CHARSET. Сейчас тоже не могу найти где я это вычитал. Просто туго соображаю, как вообще DUMPKEYS_CHARSET работает =)
Ответить С цитатой В цитатник
linux   обратиться по имени Среда, 24 Января 2007 г. 17:12 (ссылка)
Akademic,
эта переменная отрабатывает только при UNOCODE="no"
кстати, при yes она тоже отрабатывает, потому что я менял там с koi8-r на другие и у меня выводились другие крякозябры. Только связка
KEYMAP="ru-ms"
DUMPKEYS_CHARSET="koi8-r"
стала отображать русские буквы при вводе нормально. Вобщем это я пока не понял до конца, насколько я понял у каждого KEYMAP своя кодировка (http://ru.gentoo-wiki.com/Keymap), которая благодаря DUMPKEYS_CHARSET преобразуется в то, что мы видим на экране. Что во что преобразуется в моём варианте я не понимаю =)
Ответить С цитатой В цитатник
linux   обратиться по имени Среда, 24 Января 2007 г. 17:13 (ссылка)
Akademic, кстати, не знаешь что значит "-u"?
к примеру: KEYMAP="-u ru4"
Ответить С цитатой В цитатник
Akademic   обратиться по имени Среда, 24 Января 2007 г. 17:28 (ссылка)
Из /etc/init.d/keymaps

/bin/loadkeys -q ${WINDOWKEYS_KEYMAP} ${KEYMAP}

Т.о. -u это опция для /bin/loadkeys

man loadkeys
Ответить С цитатой В цитатник
Dark_Templar   обратиться по имени Вторник, 20 Февраля 2007 г. 08:41 (ссылка)
Мзвини конечно, а зачем перепечатывать handbook?
Ответить С цитатой В цитатник
Dark_Templar   обратиться по имени Вторник, 20 Февраля 2007 г. 08:43 (ссылка)
KEYMAP="-u ru4"


# Should we first load the 'windowkeys' console keymap? Most x86 users will
# say "yes" here. Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="yes"
DUMPKEYS_CHARSET="koi8-r"


так удобнее всего.
Ответить С цитатой В цитатник
linux   обратиться по имени Вторник, 20 Февраля 2007 г. 08:58 (ссылка)
Dark_Templar, ну это для меня, чтоб ничего не пропустить, в хенде много лишних слов, а тут я собрал строго по пунктикам.

Попробую ru4, я так понял что "-u" обязательно нужно. Хотя у меня и так правым контролом переключает и вроде всё сухо и комфортно ^_^
Ответить С цитатой В цитатник
Dark_Templar   обратиться по имени Вторник, 20 Февраля 2007 г. 09:17 (ссылка)
linux, ну, на самом деле, для новичка отлично. Можешь ман сделать)
Докинь сюда информации про package.keywords/mask/unmask/use и про ALSA и можно будет кидать новичкам)

зы это ты мне в аську написал? я ответил вроде, а ты молчишь.
Ответить С цитатой В цитатник
Dark_Templar   обратиться по имени Вторник, 20 Февраля 2007 г. 09:39 (ссылка)
и убери нахрен vmware
Ответить С цитатой В цитатник
Аноним   обратиться по имени Среда, 28 Ноября 2007 г. 14:44 (ссылка)
спасибо за статью, очень мало НО подробно!
Конфиги обновляются командой dispatch-conf
Ответить С цитатой В цитатник    |    Не показывать комментарий
Аноним   обратиться по имени Пятница, 22 Мая 2009 г. 00:16 (ссылка)
Лучше почитайте http://www.gentoo.org/doc/ru/handbook/handbook-x86.xml , и установите все нормально, а не пользуйтесь обрезками ! там хоть все расписано.
Ответить С цитатой В цитатник    |    Не показывать комментарий
Комментировать К дневнику Страницы: [1] [Новые]
 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку