Альтернативные методы установки
- Verify & validate these methods
- A few more details and references would be helpful
- Better wording
Данная статья описывает альтернативные способы установки Gentoo, для ситуаций, требующих особого подхода при установке, например, отсутствие CD-ROM/DVD-ROM или невозможность загрузки с компакт-дисков.
Если стандартная установка загрузись-с-CD не работает (её невозможно использовать, либо просто не нравится), то здесь можно найти некоторые подсказки. Данное руководство дает список альтернативных методов установки Gentoo для тех, кому они нужны. Либо, если так больше нравится, это место, где можно разместить нестандартные методы установки. Если знаете метод установки, который считаете полезным, либо нашли удивительный метод установки Gentoo, не стесняйтесь написать что-нибудь о нем здесь, в этой статье.
Установка с помощью не Gentoo LiveCD
Разработчики Gentoo не смогут предоставить поддержку, если что-то пойдёт не так не с Gentoo LiveCD, поскольку нет возможности исправить, диагностировать и документировать каждую странность каждого LiveCD. Официально поддерживаются только LiveCD Gentoo. Пожалуйста, посетите Форумы Gentoo для получения поддержки от сообщества при возникновении проблем с альтернативными установочными носителями.
Пользователи могут загружать другие LiveCD помимо тех, которые предоставлены Gentoo. Вне зависимости от этого, LiveCD предоставляет функциональную среду для использования во время компиляции и установки Gentoo. Приведённые здесь инструкции в принципе должны работать с практически любым другим LiveCD.
В списке указано очень много LiveCD, но возможно вы захотите попробовать Knoppix. Он имеет полностью графический интерфейс рабочего стола, с офисными приложениями, браузерами и играми, чтобы занять себя. Knoppix доступен только для пользователей x86, так что в зависимости от потребностей пользователя, могут потребоваться другой LiveCD или другой метод установки.
Имейте в виду, что если что-то сохранено в домашнем каталоге пользователя LiveCD во время ожидания установки системы Gentoo, то это не будет доступно после перезагрузки в Gentoo. Убедитесь, что сохранили важные файлы на жёсткий диск или на какой-нибудь другой компьютер!
Загрузитесь с LiveCD. Откройте терминал и выполните su -, чтобы можно было изменить пароль. Это позволит установить root пароль для CD. Теперь, если потребуется, sshd может быть настроен для удалённого входа. После этого, создайте точку монтирования /mnt/gentoo – это необходимо.
root #
mkdir /mnt/gentoo
С этого момента может быть использовано стандартное руководство по установке – Подготовка дисков. Однако, когда будет нужно примонтировать файловую систему proc, выполните следующую команду:
root #
mount -o bind /proc /mnt/gentoo/proc
При распаковке архива stage в Распаковке архива stage убедитесь, что используете следующие опции команды tar, чтобы в распакованном stage были применены правильные ID группы:
root #
tar --numeric-owner --xattrs -xvJpf stage3-*.tar.xz -C /mnt/gentoo
Если используется Ubuntu, имейте в виду, что /dev/shm – символьная ссылка на /run/shm. Он должен быть связано смонтирован, или необходимо настроить tmpfs в этом расположении (в рамках chroot). Для связанного монтирования пути, выполните следующую команду (перед выполнением chroot):
Когда всё будет готово к выполнению chroot в распакованный stage в Установке базовой системы Gentoo, придётся использовать другую последовательность команд для chroot. Это обеспечивает правильность установки переменных среды.
Некоторые LiveCD используют забавные настройки среды, поэтому выполните env -i для её очистки в приемлемое состояние.
root #
chroot /mnt/gentoo /bin/env -i TERM=$TERM /bin/bash
root #
env-update
root #
source /etc/profile
root #
export PS1="(chroot) $PS1"
Наконец, учитывайте, что некоторые Portage FEATURES могут не работать в LiveCD. Особенно остерегайтесь значений userpriv
и usersandbox
. Если случаются ошибки, попробуйте отключить некоторые или все опциональные FEATURES.
Бездисковая установка с использованием PXE с LiveCD
Данный способ проще в настройке, чем PXE-загрузка на основе iSCSI или NFS. Множество машин может загружаться с одинакового набора образов, распространяемых через TFTP, и загрузка запросто может быть расширена для работы по HTTP или по другим протоколам.
Наличие хорошего роутера или роутера, способного запускать такие прошивки с открытым исходным кодом как LEDE (преемник OpenWRT), – один из способов централизировать TFTP и DHCP. Получение прошивки онлайн может оказаться тяжёлым боем в зависимости от вашего опыта.
Некоторые другие дистрибутивы, включая Fedora, уже распространяют образы, необходимые для создания LiveCD или установочного CD. С Gentoo это не так. Вместо этого пользователи должны распаковать файлы из образа ISO.
root #
emerge --ask --oneshot app-cdr/cdrtools
mkdir -p /tftpboot/gentoo/
cd /tftpboot/gentoo/
isoname=/tftpboot/ISO-IMAGES/install-amd64-minimal-20210725T170534Z.iso
isoinfo -R -i ${isoname} -X -find -path /boot/gentoo && mv boot/gentoo kernel && rmdir boot
isoinfo -R -i ${isoname} -X -find -path /image.squashfs
# combine initrd + squashfs
(isoinfo -R -i ${isoname} -x /boot/gentoo.igz; (echo image.squashfs | cpio -H newc -o)) > network.igz
rm image.squashfs
ls -lhF kernel network.igz
These instructions may be sufficient for more experienced users. See below for more directions, depending on the PXE flavor in use. There are different PXE boot-codes, but all of them require a kernel and eventually a ramdisk.
Please take a look at PXE page for details on the alternatives, then come back here.
TFTP
Это будет необходимо в связке с DHCP сервером для многих ПК с PXE загрузкой. Но помните, что загрузку iPXE можно использовать без TFTP или DHCP сервера! См. ipxe.org для получения сведений о встраивании сценариев, поэтапной и ручной загрузке. У TFTP загрузки всё же есть такие преимущества как широкий спектр поддерживаемых устройств, поэтому приступим к использованию TFTP!
Установите net-ftp/tftp-hpa, убедитесь, что он предоставляет /tftproot и запустите его.
Теперь загрузочный сервис TFTP готов, поэтому следующим шагом будет настройка сервиса DHCP.
DHCP
Настройка DHCP сервера на одинаковых устройствах возможна – просто убедитесь, что запущенные устройства подключены к нему. Или просто измените настройки существующего роутера.
Ниже находится пример конфигурации сервиса DHCP для OpenWRT:
config boot linux
option filename boot/grub/i386-pc/core.0
option servername boot
option serveraddress 84.246.161.86
С этого момента инструкции меняются в зависимости от того, какой у вас PXE (т.е. GRUB, iPXE).
SYSLINUX
label gentoo install (squashfs/http)
kernel gentoo/kernel
initrd gentoo/network.igz
append root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0
GRUB
menuentry "gentoo install" {
linux /gentoo/kernel root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0
initrd /gentoo/network.igz
iPXE
#!ipxe
menu PXE
item --gap LAN
item gentoo gentoo install (squashfs/http)
:gentoo
kernel kernel root=/dev/ram0 init=/linuxrc dokeymap looptype=squashfs loop=/image.squashfs cdroot net.ifnames=0 initrd=network.igz
initrd network.igz
boot
Бездисковая установка с использованием PXE загрузки и NFS
Необходимые требования
PXE (Preboot eXecution Environment) – это способ загрузки компьютеров через PXE-совместимый сетевой интерфейс (и с использованием BIOS, поддерживающей PXE). В случае если система не поддерживает PXE загрузку на уровне сетевого интерфейса или BIOS, PXE всё равно может быть использован посредством загрузки с блочных устройств (таких как CD или USB). В таких случаях минимальная загрузочная среда имитирует сетевую карту, поддерживающую PXE (см. также Etherboot/gPXE).
Базовая настройка сервера
Создайте каталоги: первое, что нужно сделать — это создать каталоги, в которых будет хранится бездисковая система. Создайте каталог /diskless, в котором будут размещены каталоги для каждого бездискового клиента. В оставшейся части руководства клиент, с которым мы работаем, будет называться 'eta'.
root #
mkdir -p /diskless/eta
Настройка DHCP и TFTP: клиент будет получать загрузочную информацию через DHCP и загружать все необходимые файлы по TFTP.
Для dhcpd просто выполните emerge dhcp (или любой другой DHCP сервер по выбору). Убедитесь, что в /etc/conf.d/dhcpd выбран правильный интерфейс и настройте его. Затем добавьте следующее в /etc/dhcp/dhcpd.conf.
Это предоставит клиенту статический IP-адрес и путь к загрузочному образу PXE, в данном случае pxegrub. MAC-адрес сетевой карты клиента из примера необходимо заменить на правильный MAC-адрес так же, как и каталог, в котором будут сохранены файлы клиента.
option option-150 code 150 = text ;
ddns-update-style none ;
host eta {
hardware ethernet 00:00:00:00:00:00;
fixed-address ip.add.re.ss;
option option-150 "/eta/boot/grub.lst";
filename "/eta/boot/pxegrub";
}
Затем, настройте интерфейс в /etc/conf.d/net так, чтобы от не был очищен во время загрузки. Подробнее см. /usr/share/doc/openrc-*/net.example.bz2.
config_eth0="noop"
Для TFTP, установите пакет net-ftp/tftp-hpa. В файле /etc/conf.d/in.tftpd вставьте следующее:
INTFTPD_PATH="/diskless"
INTFTPD_USER="nobody"
INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"
Установите GRUB:
root #
emerge --ask sys-boot/grub
После установки GRUB, создайте загрузочный каталог для бездисковых клиентов:
root #
grub2-mknetdir --net-directory=/diskless/eta
Первоначальный способ заключался в копировании PXE образа на бездисковый клиент, но этот путь, похоже, больше не существует.
root #
mkdir /diskless/eta/boot
root #
cp /usr/lib/grub/pxegrub /diskless/eta/boot/pxegrub
Далее, отредактируйте конфигурационный файл grub.lst.
root #
nano -w /diskless/eta/boot/grub.lst
default 0
timeout 30
title=Diskless Gentoo
root (nd)
kernel /eta/bzImage ip=dhcp root=/dev/nfs nfsroot=ip.add.re.ss:/diskless/eta
# Для опции nfsroot IP-адрес — это адрес сервера, а
каталог — это каталог, в котором расположены файлы бездискового клиента (на сервере).
NFS крайне прост в настройке. Всё, что нужно сделать — это добавить строку в файл /etc/exports:
/diskless/eta eta(rw,sync,no_root_squash)
Сейчас важно сделать одну вещь – изменить файл /etc/hosts для соответствия требованиям.
127.0.0.1 localhost
192.168.1.10 eta.example.com eta
192.168.1.20 sigma.example.com sigma
Создание системы на сервере
Следующий шаг – это перезагрузить сервер с установочного CD Gentoo (хотя опытные администраторы могут продолжать и без этого, если они достаточно хорошо разбираются в установке Gentoo). Следуйте стандартным инструкциям по установке, описанным в Gentoo Handbook, НО с некоторыми отличиями: при монтировании файловой системы, выполните следующий шаг (sdaX – это раздел, в котором создан каталог /diskless).
root #
mount /dev/sdaX /mnt/gentoo
Монтирование любых других разделов необязательно, поскольку все файлы будут находиться в каталоге /diskless/eta.
Данный пример использует архив stage3. Примонтируйте /proc к каталогу diskless и выполните chroot, чтобы продолжить установку. Далее следуйте руководству по установке до настройки ядра.
Будьте внимательны при распаковке stage-архива, чтобы не закончить её поверх существующей установки.
root #
cd /mnt/gentoo/diskless/eta/
root #
tar -xvjpf /mnt/cdrom/gentoo/stage3-*.tar.bz2
root #
mount -t proc /proc /mnt/gentoo/diskless/eta/proc
root #
cp /etc/resolv.conf /mnt/gentoo/diskless/eta/etc/resolv.conf
root #
chroot /mnt/gentoo/diskless/eta/ /bin/bash
root #
env-update
root #
source /etc/profile
Во время настройки ядра в make menuconfig не забудьте включить следующие опции вместе с остальными рекомендуемыми в руководстве по установке опциями.
- Поддержка устройства сетевой карты
(В ядре, *не* в модуле!)
-*- Networking support --->
Networking options --->
[*] TCP/IP networking
[*] IP: kernel level autoconfiguration
[*] IP: DHCP support
[*] IP: BOOTP support
File systems --->
[*] Network File Systems --->
<*> NFS file system support
[*] Provide NFSv3 client support
[*] Root file system on NFS
Сохраните ядро в корне chroot (/) (не в /boot) в соответствии с определённой ранее настройкой pxegrub. Далее настройте /etc/fstab бездискового клиента.
/dev/cdroms/cdrom0 /mnt/cdrom iso9660 noauto,ro 0 0
Теперь, чтобы предотвратить клиента от запуска проверки файловой системы:
root #
touch /fastboot
root #
echo "touch /fastboot" >> /etc/conf.d/local.start
Установите net-fs/nfs-utils, поскольку клиент будет сильно от них зависеть:
root #
emerge --ask net-fs/nfs-utils
Не устанавливайте другой загрузчик, потому что он уже есть – pxegrub. Просто завершите установку и перезапустите сервер. Запустите сервисы, которые необходимы для загрузки нового клиента: DHCP, TFTPD и NFS.
root #
service dhcp start
root #
service in.tftpd start
root #
service nfs start
Загрузка нового клиента
Для того чтобы новый клиент загрузился должным образом, BIOS и сетевая карта должны быть настроены для использования PXE в качестве первого метода загрузки: перед CD-ROM или дискетой. За помощью в этом обратитесь к руководствам оборудования или сайту производителя. Сетевая карта должна получить IP-адрес по DHCP и загрузить образ GRUB PXE по TFTP. Затем должно появиться красивое чёрно-белое загрузочное меню GRUB, в котором пользователи могут выбрать ядро для загрузки и нажать клавишу Enter (Ввод). Если всё хорошо, ядро должно загрузиться, примонтировать файловую систему по NFS, и предоставить запрос входа в систему. Наслаждайтесь.
Установка Gentoo из уже установленного дистрибутива Linux
The only fully guaranteed method for installing Gentoo is with the Minimal Install CD. That said, installing from another, recent, Linux environment will usually work just as well. Support will often still be forthcoming using this method, but be ready to revert to the Minimal Install CD, if needed. Of course, in case of issues with other distributions, users will be refered to other channels for help.
Необходимые требования
Чтобы установить Gentoo из существующего дистрибутива Linux, в последнем должна быть установлена команда chroot и потребуется копия установленного Gentoo или предназначенный для установки ISO. Сетевое соединение крайне рекомендуется, поскольку в противном случае можно будет работать только с файлами, доступными на установочном носителе. Кстати, tarball – это просто файл, заканчивающийся на .tbz или .tar.gz. Давайте начнём!
Общий обзор
Первым делом, выделите раздел для Gentoo изменением размера существующего раздела Linux, примонтируйте его, распакуйте tar-архив на примонтированный раздел, выполните chroot в псевдосистему и начните установку. Когда закончится процесс первоначальной установки, осуществите некоторые заключительные настройки системы, чтобы быть уверенными в том, что система загрузится, затем перезапустите Gentoo.
Как создать пространство для Gentoo?
Корневой раздел – это файловая система, примонтированная к /. Первый пример показывает вывод mount в системе. Второй пример использует df (disk free), чтобы узнать, сколько места осталось и насколько изменять размер. Заметьте, что изменение размера корневого раздела необязательно! Размер чего-нибудь другого из поддерживаемого тоже можно изменить, но об этом позже.
root #
mount
/dev/sdb2 on / type ext3 (rw) none on /proc type proc (rw) none on /dev/pts type devpts (rw,gid=5,mode=620) none on /dev/shm type tmpfs (rw,nodev,nosuid,noexec)
root #
df -h
Filesystem Size Used Avail Use% Mounted on /dev/sdb2 4.0G 1.9G 2.4G 82% / none 38M 0 38M 0% /dev/shm
Как видите, раздел, смонтированный как / с именем /dev/sdb2, имеет 2,4 ГБ свободного места. В данном случае было решено изменить его размер, чтобы оставить 400 МБ свободного места, таким образом выделив 2 ГБ для Gentoo. Неплохо, там может быть установлено довольно много всего. Однако, 1 ГБ считается достаточным для большинства пользователей. Итак, разделяйте и властвуйте!
Использование parted для изменения размера раздела
sys-block/parted is extremely useful for resizing partitions. It is included on the Minimal installation CD.
There are other tools for doing resize of partitions as well, but an elaborate description of these tools is outside the scope of this guide.
Look up on that page the type of file system to resize and see if parted can do it. If not, some partitions might need to be destroyed to make space for Gentoo. Go ahead downloading the software and install it. In the next step, a problem arises: the Linux root partition needs to be resized, therefore a boot medium with a minimal Linux system must be booted in order to resize /. If the partition can be unmounted while still running in Linux then the following steps are not needed. Just install sys-block/parted and run it on a chosen unmounted partition to resize. Here's how it was done on this system.
Make sure that the operations that are required for partitioning are supported by parted!
Note again that Linux is synonym of "There's one more way to do it". The objective is to run parted on an unmounted partition so it can do its work. This step might not even be needed to do at all: there may only be the need to umount the filesystem to repartition in the Linux session and run parted on it.
Time to reboot and resize the partition. Do this only after taking a quick look at the parted documentation on the GNU website. The resize can be long for large hard-drives, be patient. Reboot the system with the Minimal installation CD. Run parted to be able to resize the partition. Once this lengthy process is done, continue with installing Gentoo. Reboot back into the old Linux system for now. The drive to operate on is the drive containing the partition that is going to be resized. For example, if the partition to be resized is /dev/sda3, the drive is /dev/sda.
root #
parted
(parted)
print
Disk geometry for /dev/sdb: 0.000-9787.148 megabytes Disk label type: msdos Minor Start End Type Filesystem Flags 1 0.031 2953.125 primary ntfs 3 2953.125 3133.265 primary linux-swap 2 3133.266 5633.085 primary ext3 4 5633.086 9787.148 extended 5 5633.117 6633.210 logical 6 6633.242 9787.148 logical ext3
(parted)
help resizepart
resizepart NUMBER END resize partition NUMBER NUMBER is the partition number used by Linux. On MS-DOS disk labels, the primary partitions number from 1 to 4, logical partitions from 5 onwards. END is disk location, such as 4GB or 10%. Negative value counts from the end of the disk. For example, -1s specifies exactly the last sector.
(parted)
resizepart 2 3133.266 4000.000
Будьте терпеливы! Компьютер работает! Просто взгляните на индикатор работы жёсткого диска, чтобы убедиться в его активности. Процесс может занять от 2 до 30 минут.
Once the resize has finished, boot back into the old Linux as described. Then go to The Gentoo Handbook: Preparing the Disks and follow the instructions.
Chrooting
When chrooting, use the following command to flush the environment:
root #
env -i HOME=$HOME TERM=$TERM chroot /mnt/gentoo /bin/bash
root #
/usr/sbin/env-update
root #
source /etc/profile
Наслаждайтесь!
Смотрите также
- Installation — an overview of the principles and practices of installing Gentoo on a running system.
- Install Gentoo on a bootable USB stick
This page is based on a document formerly found on our main website gentoo.org.
The following people contributed to the original document: Gerald Normandin Jr., Travis Tilley, Oleg Raisky, Alex Garbutt, Alexandre Georges, Magnus Backanda, Faust A. Tanasescu, Daniel Ahlberg, Ken Nowack, Tiemo Kieft, Benny Chuang, Jonathan Smith, and
They are listed here because wiki history does not allow for any external attribution. If you edit the wiki article, please do not add yourself here; your contributions are recorded on each article's associated history page.