Детальна установка gentoo linux

2. Завантаження з LiveCD.
boot:
.
livecd root #
Включення 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
/ 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
Розпаковуємо дерево Портедж:
# 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.
В змінної CHOST визначається, для якої архітектури скомпільована система. У ній вже має бути встановлено правильне значення. Не змінюйте цю змінну, тому що це може пошкодити вашу систему. Якщо змінна CHOST, по-вашому, виглядає неправильно, можливо, ви використовуєте не той архів stage3.
Не використав "-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: DISTDIR = "/ home / gentoo / distfiles"
Шлях для зберігання бінарних версій пакетів: PKGDIR = "/ home / gentoo / packages"
Два рядки для elogv:
PORTAGE_ELOG_CLASSES = "warn error log qa"
PORTAGE_ELOG_SYSTEM = "save"
Любителі використовувати нестабільні (ще знаходяться в стадії тестування) пакети, можуть відразу ж прописати: ACCEPT_KEYWORDS = "
6. Установка базової системи Gentoo.
Монтування файлових систем / 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 і т.д.).
Якщо є інтернет: # emerge --sync
Решта: # emerge --metadata
На пропозицію оновити portage, робимо: # emerge portage
Оновлюємо, якщо необхідно, конфіги: # dispath-conf
(Завжди оновлюємо уважно, дивимося що видаляє і що додає, і вирішуємо, потрібно нам це чи ні)
Вибір потрібного профілю. * Опціонально * * приклад *
Для деяких архітектур також передбачені подпрофілі 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
Після настройки зберігаємо зміни і виходимо.
Компілюємо ядро: # 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
Якщо система завантажилася - вітаю! Значить ви вдало сконфигурировали ядро, по-крайней мере для завантаження ^ _ ^
Перевірте дату / час: # 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)