Gentoo: сложность установки - это миф.
Назначение файловой системы:# mke2fs /dev/sda1 - создание ext2 на разделе /dev/sda1# mkfs.ext4 /dev/sda2 - создание ext4 на разделе /dev/sda2# mkswap /dev/sda3 - создание раздела подкачки на /dev/sda3# swapon /dev/sda3 - и его активация# mkfs.ext4 /dev/sda4 - создание ext4 на разделе /dev/sda4
Назначение точек монтирования:# mount /dev/sda2 /mnt/gentoo - монтируем корень# mkdir /mnt/gentoo/boot - раздел под загрузчик# mkdir /mnt/gentoo/home - раздел под /home# mount /dev/sda1 /mnt/gentoo/boot - монтирование раздела загрузчика# mount /dev/sda4 /mnt/gentoo/home - монтирование раздела /homeВ качестве источника загрузки было использовано зеркало mirror.yandex.ruВнимательно следите за тем,чтобы загрузить подходящий скачанному вами образу архив.В примере использован x86.# cd /mnt/gentoo# links http://mirror.yandex.ru/gentoo-distfiles/releases/x86/autobuilds/current-stage3--686/current-iso/Выбираем файл stage3*.tar.bz2 и нажмимаем enter.
Загрузили? Распаковываем:# tar xvjpf stage3-*.tar.bzТеперь сделаем снимок дерева портежей.# links http://mirror.yandex.ru/gentoo-distfiles/releases/snapshots/Выбираем cнизу portage-latest.tar.bz2Начнётся загрузка.Распаковываем (из корневого каталога):# tar xvjf /mnt/gentoo/portage-latest.tar.bz2 -C /mnt/gentoo
Настройки компиляции ядра хранятся в файле mnt/gentoo/etc/portage/make.conf. Его и открываем любимым редактором (nano, vi) Здесь используются переменные и значения.Пример:переменная - CHOST, её значение - i686-pc-linux-gnu - указывает на архитектуру процессора.Флаг "-march=native" оптимизирует программы под ваше железо.CFLAGS="-O2 -march=native -pipe"CXXFLAGS="$"
Допустимые значения:
- -s оптимизация по размеру
- -0 без оптимизации
- -1 -2 -3 - по скорости
- CXXFLAGS="$" - не изменяйте её
- MAKEOPTS="-j2" - определяет сколько параллельных процессов компиляции можно запускать при установке пакета. Обычно ставят значение равное количеству ядер процессора +1. Если ваш процессор поддерживает технологию Hyper-threading, разумное значение будет: количество доступных ядер, умноженное на 2 +1. Более тонкой настройки можно пока не делать, займётесь этим позднее.
Действия в примере производятся из каталога /Выбор зеркала загрузки# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf Выбор зеркала rsync:# mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf Нелишним будет скопировать информацию о DNS# cp -L /etc/resolv.conf /mnt/gentoo/etc/resolv.conf
Монтируем /proc, /sys, /dev# mount -t proc none /mnt/gentoo/proc# mount -o bind /dev /mnt/gentoo/dev# mount -t sysfs none /mnt/gentoo/sys
Переходим в новую среду с помощью chroot# chroot /mnt/gentoo /bin/bash# env-update# source /etc/profile# export PS1="(chroot) $PS1"
Обновим дерево портежей:# mkdir /usr/portage# emerge --syncЭто может занять какое-то время:# emerge portage - если выдаёт сообщение о новой версии портежей
Выбор профиля:# eselect profile list# eselect profile set 6
Приведённые действия не нуждаются в пояснении, всё ясно из названий профилей. Нужно лишь выбрать необходимый вам, исходя из ваших задач.# nano -w /etc/locale.genВы увидите список закомментированных строк с кодировками, вот сверху или же ниже его впишите:
en_US.UTF-8 UTF-8en_US ISO-8859-1ru_RU.UTF-8 UTF-8ru_RU.KOI8-R KOI8-Rru_RU.CP1251 CP1251ru_RU ISO-8859-5uk_UA.UTF-8 UTF-8uk_UA.CP1251 CP1251uk_UA ISO-8859-5uk_UA.KOI8-U KOI8-Uсохраните изменения и выйдите: Ctrl+O, Ctrl+Q# locale-gen
Настройка времени:# cp /usr/share/zoneinfo/Europe/Kiev /etc/localtime
Можете скопировать любое место вашей дислокации из /usr/share/zoneinfo
ЯдроСкачаем исходники ядра:# USE="-doc symlink" emerge gentoo-sources
Установка ядраСпособ 1 - всё и сразу# emerge genkernel# genkernel allВ результате получим ядро с поддержкой нужного и ненужного. Плюс этого способа - простота.Примечание: сделаем правки в /etc/genkernel.conf, включив в нём параметры:OLDCONFIG="yes"MENUCONFIG="yes"CLEAN="no"MRPROPER="no"В таком случае вы сможете собрать своё ядро, а genkernel сделает всё остальное. После сборки можете просто проверить название созданного ядра и initrd, а затем обратиться к дальнейшему пункту о сборке программ:
# ls /boot/kernel* /boot/initramfs*
Способ 2 - только то, что нужно# emerge pciutils (с её помощью вы сможете посмотреть аппаратную часть своего ПК)# cd /usr/src/linux (переход в каталог с исходниками)# make menuconfig (вызов меню с настройками)Здесь всё индивидуально. Используете usb-мышь или клавиатуру? Проверьте включена ли их поддержка. Хотите, чтобы система понимала NTFS? Проверьте включена ли её поддержка. Настроек хватит всем и на всё: тип процессора, видео, звук, поддержка файловых систем, девайсов устройств, поддерживаемых кодировок. Просто пройдитесь по пунктам меню и поразбирайтесь,что вам нужно,а что нет.
Настроили? Теперь ядро нужно скомпилировать и установить:# make && make modules_install - для тех, кто занимался ручной сборкой
И скопировать ядро в /boot:# cp arch/x86/boot/bzImage /boot/
Пример:# cp arch/x86/boot/bzImage /boot/3.18.12-gentoo
Если вы собрали ядро с initramfs, следует всё же установить genkernel и скомандовать:# genkernel --install initramfs
Сборка программ, конфигурирование модулей, настройка загрузчика
# emerge udev syslog-ng vixie-cron dhcpcd
Теперь добавляем в автозагрузку:# rc-update add udev boot# rc-update add syslog-ng default# rc-update add vixie-cron default# rc-update add dhcpcd default
Смотрим наши устройства и делаем правки в /etc/fstab# blkid /dev/sda3# nano -w /ets/fstab
Пример:# NOTE: If your BOOT partition is ReiserFS, add the notail option to opts.# /dev/BOOT /boot ext2 noauto,noatime 1 2UUID=041a5e7e-955f-4a97-b741-e4e246f04e3 7 /boot ext2 noatime 1 2# /dev/ROOT / ext3 noatime 0 1UUID=ee154f21-6b45-478b-b407-b4cfa783bfa 7 / ext4 noatime 0 1# /dev/SWAP none swap sw 0 0UUID=f7f61982-ee21-46ae-899c-0dd7d31a89a 2 none swap sw 0 0# /dev/cdrom /mnt/cdrom auto noauto,ro 0 0# /dev/fd0 /mnt/floppy auto noauto 0 0UUID=b8639470-cfc2-4e5c-9130-b79cc7be67b 5 /home ext4 noatime 0 0
Обратите внимание: нужно убрать параметр noauto напротив /boot (в данном примере /boot расположен на /sda1). Вообще, boot и swap-разделы создавать необязательно.
Имя хоста:# nano -w /etc/conf.d/hostnameУказываем здесь имя своего ПК
Сеть:# nano -w /etc/conf.d/netдописываем:# /etc/conf.d/net# config_enp4s1="dhcp" # для получения динамического IP-адреса# если адрес статичен,то впишите вместо dhcp свою информацию. Например:config_enp4s1="192.168.0.2 netmask 255.255.255.0" # IP-адрес и адрес сетиroutes_enp4s1="default via 192.168.0.1" # роутерdns_servers_enp4s1="192.168.0.1 8.8.8.8" # DNS-адреса
Теперь следует указать gentoo на существующий интерфейс. Для этого создайте символьную ссылку на net.eth0:
# cd /etc/init.d# ln -s net.lo net.enp4s1
Добавление сетевого интерфейса в автозагрузку:# rc-update add net.enp4s1 default
Создание пароля для суперпользователя:# passwdвпишем пароль для учётной записи root
# emerge terminus-font intlfonts freefonts cronyx-fonts corefonts kbdВ файле /etc/env.d/02locale:# nano -w /etc/env.d/02localeLC_ALL=""LANG="ru_RU.UTF-8"
В /etc/conf.d/keymaps:# nano -w /etc/conf.d/keymapskeymap="ruwin_alt_sh-UTF-8"windowkeys="NO"extended_keymaps=""dumpkeys_charset=""fix_euro="NO"
В /etc/conf.d/consolefont:# nano -w /etc/conf.d/consolefontconsolefont="cyr-sun16"consoletranslation=""
После чего прописать consolefont в автозагрузку:# rc-update add consolefont boot
Установка загрузчика grub2:# nano -w /etc/portage/make.confGRUB_PLATFORMS="pc"
# emerge -av grub sysboot/os-prober# grub2-install /dev/sda# grub2-mkconfig -o /boot/grub/grub.cfg
Вот и финиш ;)
# exit# cd# umount /mnt/gentoo/boot /mnt/gentoo/proc /mnt/gentoo/dev /mnt/gentoo (конкретнее - последовательно отмонтируйте всё, что смонтировали в '/mnt')# reboot