Обновил свой домашний компьютер, самое главное – процессор AMD Phenom X6, т.е. 6-ядерный и 64-битный, оперативной памяти 4 Гигабайта. Решено было на это чудо установить Gentoo Linux как наиболее трушную операционную систему. Это не первое мое знакомство с Gentoo, но тем не менее, не все прошло гладко. Хочу предостеречь вас от моей самой главной ошибки. Я начал устанавливать Gentoo архитектуры x86, а т.к. у меня было 4 гигабайта памяти, то в конечном итоге система увидела 3 с хвостиком. Можно было пересобрать с поддержкой PAE (тогда бы система увидела все 4 Гигабайта ОЗУ, но так и осталась бы 32-битной), но я все же решил воспользоваться преимуществами 64-битной архитектуры и пересобрать все заново. Итак, для 64-битных процессоров рекомендуется скачивать файлы архитектуры amd64. Нам потребуется два файлика – iso-образ и архив stage3.tar.bz2 для установки базовой системы. У меня это были файлы install-amd64-minimal-20111006.iso и stage3-amd64-20111006.tar.bz2. В дальнейшем они и будут фигурировать. Еще хочу сказать, что почти всю последовательность этих действий с более подробным описанием можно найти в Gentoo Handbook. Да, лучше пользоваться английской версией.
Прожигаем образ install-amd64-minimal-20111006.iso на чистый CD-R и загружаем с него компьютер. После того, как LiveCD-загрузился и выдал консоль, поднимаем сеть вручную:
# ifconfig eth0 192.168.0.12 # route add default gw 192.168.0.1 # echo "nameserver 8.8.8.8" > /etc/resolv.conf
Теперь нужно переразбить диск. Я устанавливал все на чистый жесткий диск, поэтому разбивка получилась простой:
# fdisk /dev/sda o // новая таблица разделов n p +100GB // создаем корневой раздел n p Enter // создаем раздел для home w // записываем таблицу разделов
Подкачку решил не делать, в крайнем случае можно позже создать файл подкачки. Теперь у нас должно появиться два устройства /dev/sda1 и /dev/sda2. Форматируем:
# mke2fs -j /dev/sda1 # mke2fs -j /dev/sda2
Монтируем свежие разделы:
# mount /dev/sda1 /mnt/gentoo # mkdir -p /mnt/gentoo/home # mount /dev/sda2 /mnt/gentoo/home # cd /mnt/gentoo
Скачиваем архив stage3 (обращаем внимание на архитектуру amd64) и распаковываем:
# wget http://distfiles.gentoo.org/releases/amd64/autobuilds/current-iso/stage3-amd64-20111006.tar.bz2 # tar xf stage3-amd64-20111006.tar.bz2
Начинаем настраивать опции сборки. В файле make.conf новой системы нам нужно будет указать тип процессора (athlon64) и количество ядер (-j6). Это очень важно для производительности! Строку USE я оставил как была, только добавил ключ 3dnow, скорее всего пригодится:
# nano -w /mnt/gentoo/etc/portage/make.conf CFLAGS="-O2 -march=athlon64 -pipe" CXXFLAGS="${CFLAGS}" MAKEOPTS="-j6" USE="mmx sse sse2 3dnow" Ctrl+X
Определяем наиболее быстрые для нас зеркала репозиториев Gentoo. У меня ближе всех получился Яндекс:
# mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf # mirrorselect -i -r -o >> /mnt/gentoo/etc/portage/make.conf # tail -n2 /mnt/gentoo/etc/portage/make.conf GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles/ ftp://mirror.yandex.ru/gentoo-distfiles/" SYNC="rsync://rsync2.ru.gentoo.org/gentoo-portage"
У новой системы настройки DNS будут такими же:
# cp -L /etc/resolv.conf /mnt/gentoo/etc
Монтируем специальные файловые системы:
# mount -t proc none /mnt/gentoo/proc # mount --rbind /dev /mnt/gentoo/dev
И, наконец, chroot-имся в новую систему:
# chroot /mnt/gentoo /bin/bash # env-update # source /etc/profile
Обновляем дерево Portage новой системы (этот процесс займет долгое время):
# emerge --sync ... Сходили попили чайку
Выбираем профиль будущей системы, я предпочитаю графическую среду Gnome:
# eselect profile list ... [3] default/linux/amd64/10.0/desktop/gnome ... # eselect profile set 3
Настраиваем локаль и временную зону:
# nano -w /etc/locale.gen en_US.UTF-8 UTF-8 ru_RU.UTF-8 UTF-8 Ctrl+X # locale-gen # cp /usr/share/zoneinfo/Asia/Novosibirsk /etc/localtime
Одно из самых интересных мест – сборка ядра.
# emerge gentoo-sources # cd /usr/src/linux # make menuconfig
В появившейся менюшке выбираем Processor type and features → Processor family → Opteron/Athlon64/Hammer/K8 (т.к. у нас процессор AMD).
Также по непонятной мне причине нужно включить опцию ядра Device Drivers → Generic Driver Options → Maintain a devtmpfs filesystem to mount at /dev и соседняя с ней Automount devtmpfs at /dev, after the kernel mounted the rootfs
Также отмечаем необходимые нам компоненты ядра, мне например понадобилась файловая система CIFS.
Выходим из менюшки и собственно собираем ядро и устанавливаем его:
make && make modules_install cp arch/x86/boot/bzImage /boot/kernel-2.6.39-gentoo-r3
Продолжаем настраивать новую систему:
# nano -w /etc/fstab /dev/sda1 / ext3 noatime 0 1 /dev/sda3 /home ext3 defaults 0 2 proc /proc proc defaults 0 0 shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
Определяем имя хоста и задаем сетевые настройки:
# echo HOSTNAME="home" > /etc/conf.d/hostname # cd /etc/init.d # ln -s net.lo net.eth0 # cat > /etc/conf.d/net config_eth0="192.168.0.12/24" routes_eth0="default via 192.168.0.1" Ctrl+D # rc-update add net.eth0
Устанавливаем и настраиваем загрузчик GRUB:
# emerge grub # cat > /boot/grub/grub.conf default 0 timeout 1 splashimage=(hd0,0)/boot/grub/splash.xpm.gz vga=775 title Gentoo Linux 2.6.39-r3 root (hd0,0) kernel /boot/kernel-2.6.39-gentoo-r3 root=/dev/sda1 vga=1 title Gentoo Linux 2.6.39-r3 (rescue) root (hd0,0) kernel /boot/kernel-2.6.39-gentoo-r3 root=/dev/sda1 init=/bin/bb Ctrl+D # grep -v rootfs /proc/mounts > /etc/mtab # grub-install --no-floppy /dev/sda
Добавляем системного пользователя. Ведь всем известно, что нельзя сидеть под рутом.
# passwd # useradd -m -G users novichok # su - tam Ctrl+D
Перезагружаемся, радуемся. Вот собственно и все. Дальше можно сделать emerge gnome, но это уже совсем другая история…
Делаем все абсолютно тоже самое но на мощном сервере, а в самом конце тарим и на диск записываем. потом грузимся с какой-нибудь убунты LiveCD и растариваем на локальную машину. Потом правим CFLAGS на свои + оптимизации, потом emerge -avuDn system && emerge -avuDN world и вот она быстрая и максимально оптимизированная ОС на машине.
Если вам срочно понадобится переустановить систему, или поставить её на новую машину, то это может занять довольно много времени. Помните об этом, когда ставите gentoo в продакшн.
Для Sattellite: Ты это типа попробовал сумничать? При такой конфигурации сборка и установка проходит очень быстро и таскание с сервака не имеет смысла. Даже 4-х ядерный АМД проц собирает ядро менее чем за полчаса. Так что знаток-теоретик засунь свои “вумные” мысли назад в задницу, откуда они и появились.
Я вот не понимаю авторов таких художественных “шедевров”. Когда хэндбук был на английском, то друг у друга тырили один кривой перевод на русский, а описалов как я ставил генту не было. Зато теперь их как грязи. Только зачем? Иди на сайт генты там актуальный хэндбук есть. А ваши личные косяки и пустые телодвижения мало кого интересуют.