Полезные советы по установке Gentoo/x86

Ссылка на оригинал: http://www.gentoo.org/doc/ru/gentoo-x86-tipsntricks.xml

С версии: 1.0


1. Вступление


Для начала


Этот документ содержит различные полезные советы по установке Gentoo/x86. Большинство из них описаны кратко — подразумевается, что они послужат дополнением к руководству по установке, а не заменой ему.


2. Расширенная установка


Программный RAID

Примечание: Если вы не знакомы с программным RAID, пожалуйста, прочтите Software-RAID-HOWTO (англ.).


Примечание: Более подробное описание установки приведено в руководстве по быстрой установке программного RAID и LVM2 для x86 (англ.).


После загрузки с установочного CD, загрузите соответствующие модули RAID. Например, если вы собираетесь использовать RAID-1:


Листинг 2.1: Загрузка модуля RAID-1

# modprobe raid1



Разбивая свои диски, убедитесь, что используете тип раздела fd (Linux raid autodetect), а не 83 (Linux native). Тип раздела можно изменить, используя команду t программы fdisk.


Теперь, до начала создания массивов RAID, нам потребуется создать узлы метаустройств:


Листинг 2.2: Создание узлов метаустройств

# mknod

# mknod /dev/md2 b 9 2

# mknod /dev/md3 b 9 3d /dev/md1 b 9 1


После разбивки на разделы, создайте файл /etc/mdadm.conf (да, именно так, в среде установочного CD), с помощью mdadm, расширенного средства управления RAID. Например, чтобы зеркалировать (RAID-1) разделы boot, swap и root, охватывая /dev/sda и /dev/sdb, можете использовать:



Листинг 2.3: Создание устройств raid командой mdadm

# mdadm --create --verbose /dev/md1 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

# mdadm --create --verbose /dev/md2 --level=1 --raid-devices=2 /dev/sda2 /dev/sdb2

# mdadm --create --verbose /dev/md3 --level=1 --raid-devices=2 /dev/sda3 /dev/sdb3


Важно: На загрузочном разделе не следует использовать никаких разновидностей чередования (striping), таких как RAID-0 or RAID-5.



Драйвер Linux Software RAID начнет создавать метаустройства. Вы можете проследить за этим в /proc/mdstat. Перед продолжением дождитесь, пока создание метаустройств окончательно завершится..


Листинг 2.4: Сохранение сведений о созданных устройствах

# mdadm --detail --scan > /etc/mdadm.conf


Теперь и далее используйте /dev/md1 для загрузочного раздела, /dev/md2 для раздела подкачки и /dev/md3 для корневого раздела.


Прямо перед изменением корня (chroot), не забудьте скопировать /etc/mdadm.conf в /mnt/gentoo/etc.


При конфигурации ядра, обязательно включите соответствующую поддержку RAID в состав ядра, а не модулем.


При установке дополнительных утилит, также установите mdadm. Заметьте, что она есть не на всех установочных CD, поэтому у вас может не получиться бессетевая установка Gentoo на программный raid.


При настройке загрузчика не забудьте установить его в MBR обоих дисков, если используется зеркалирование.


ATA RAID c ядрами 2.4


Удостоверьтесь, что вы загрузились с установочного CD с параметром doataraid. После загрузки, проверьте содержимое /dev/ataraid. Там должны находиться различные каталоги disc* для каждого жесткого диска, доступного в ATA RAID. Целый диск показывается как disc, а разделы — как part*.


Выпишите различные файлы устройств /dev/ataraid/disc*/*, на которые будете устанавливать Gentoo. При установке вам потребуется указывать этот путь вместо /dev/hda, указанного в примерах.


Перед изменением корня, свяжите структуру /dev с новой средой:


Листинг 2.5: Связывание /dev

# mount -o bind /dev /mnt/gentoo/dev


При настройке ядра не забудьте включить поддержку вашего ATA RAID чипсета с нужными параметрами. Например, для популярной системы ATA RAID Promise FastTrack built-in RAID требуется включение в ядро Promise FastTrack Options.


При настройке GRUB сначала потребуется создать загрузочный диск GRUB. Это не так сложно, как кажется. Сначала установите GRUB как обычно, а дойдя до пункта, в котором GRUB устанавливается в MBR, следуйте этим инструкциям:


Листинг 2.6: Создание загрузочного диска GRUB

# cd /boot/grub

# dd if=stage1 of=/dev/fd0 bs=512 count=1

# dd if=stage2 of=/dev/fd0 bs=512 seek=1


Еще вам потребуется записать файл grub.conf. Здесь нет никаких отличий от установочных инструкций, просто убедитесь, что запись root= указывает на ваше устройство ATA RAID.


После окончания установки, загрузитесь со своего загрузочного диска GRUB. Вы должны увидеть приглашение командной строки GRUB. Теперь настройте GRUB для загрузки с устройства ATA RAID:


Листинг 2.7: Установка GRUB на ATA RAID

grub> root (hd0,x)

grub> setup (hd0)

grub> quit


Теперь перезагрузитесь (вытащив загрузочную дискету GRUB из дисковода).


Пользователи LILO могут просто следовать указаниям руководства по установке.


Использование ядра с установочного CD


Если вы не хотите компилировать ядро сами, можно взять ядро с установочного компакт-диска и скопировать его в свою систему. Дойдя в процессе инсталяции Gentoo до стадии компиляции ядра, перейдите на другую виртуальную консоль (Alt-F2) и войдите в систему как ROOT, используя пароль, установленный вами в начали установки (passwd root).


Скопируйте ядро и модули в свою систему:


Листинг 2.8: Копирование ядра с установочного CD

(${KN} это название ядра, обычно это что-то вроде 'gentoo' или 'smp')

cdimage ~# cp /mnt/cdrom/isolinux/${KN} /mnt/cdrom/isolinux/${KN}.gz /mnt/gentoo/boot

cdimage ~# mkdir -p /mnt/gentoo/lib/modules

cdiamge ~# cp -Rp /lib/modules/`uname -r` /mnt/gentoo/lib/modules


Удостоверьтесь в том, что вы установили hotplug (emerge hotplug) и уже добавили его в загрузку. Чтобы все запущенные сейчас модули (с установочного CD) загружались на вашей машине, запустите следующие команды из среды с измененным корнем (chroot):


Листинг 2.9: Добавление всех запущенных модулей в файл modules.conf

# cat /proc/modules | cut -d ' ' -f 1 >> \

/etc/modules.autoload.d/kernel-`uname -r | cut -d . -f -2`

# modules-update


3. Упрощение установки


Как оставить терминал без присмотра


Многим хочется отойти от своей системы, пока она компилируется. Иногда это довольно сложно, поскольку установка производится в месте, где много народу и нельзя доверять всем подряд. На этот случай пригодится возможность проводить компиляцию в фоновом режиме, выйдя изо всех терминалов.


Есть несколько возможных путей. Первый — использовать screen. После загрузки с LiveCD, установите пароль для root и запустите сеанс screen:

Примечание: screen есть не на всех LiveCD. Если у вас его нет, придется использовать один из других способов, описанных в этом разделе.



Листинг 3.1: Запуск сеанса screen

# screen -S gentoo



Из сеанса screen можно хоть провести полную установку. Захотев уйти от терминала, нажмите Ctrl-a, d (то есть control и a одновременно, затем d), чтобы открепить свой сеанс screen. Теперь можно с уверенностью выйти из системы.


Чтобы восстановить доступ к терминалу, опять войдите как root и прикрепитесь к запущенному сеансу screen:


Листинг 3.2: Прикрепление к сеансу screen

# screen -x gentoo



Если вы не можете использовать screen, есть другой путь отойти от терминала. Следуйте инструкциям по установке, а дойдя до пункта, в котором запускается длительная компиляция (например, шаг с запуском ./scripts/bootstrap.sh), используйте команду nohup, которая позволит процессу продолжиться, даже если вы выйдете. Не забудьте добавить в конце "&", иначе процесс не будет выполняться в фоновом режиме! Запомните, в каком каталоге вы находитесь (команда pwd покажет ее), так как это вам позже понадобится.






Листинг 3.3: Использование nohup

# pwd

/usr/portage

# nohup ./scripts/bootstrap.sh &



Теперь выйдите из среды измененного корня (exit) и из сеанса загрузочного CD. Компиляция продолжится в фоновом режиме.


Захотев проверить компиляцию, войдите как root (на установочный CD) и сделайте chroot обратно в свою среду, затем перейдите в оставленный каталог:




Листинг 3.4: Chroot обратно

# chroot /mnt/gentoo /bin/bash

# env-update && source /etc/profile

# cd /usr/portage



Теперь запустите команду less на файле nohup.out, расположенном внутри каталога. Компиляция добавляет свои сообщения в этот файл, так что при желании следить за ней запустите less nohup.out и нажмите F, чтобы наблюдать за ее ходом. Когда компиляция закончится, можно приступать к следующему пункту указаний по установке.


Если вам надоело следить за изменениями, нажмите Ctrl-C, затем q. Это остановит только процесс less, не затрагивая процесс компиляции.


4. Решение ошибок/проблем


Тщательное тестирование дисков


Если вы считаете, что необходимо тщательно проверить ваш диск на предмет целостности (неисправные секторы и т.д.), можете включить параметр -c при создании на нем файловой системы ext2 или ext3 (используя mke2fs). Это запустит проверку на чтение, которая пометит все неисправные блоки. Если вы настоящий параноик, можете включить -c -c, чтобы провести детальный тест на чтение/запись.


Листинг 4.1: Проверка целостности диска

# mke2fs -j -c /dev/hda3



Восстановление сбойной установки


Если по какой-то причине ваша установка Gentoo дает сбой, вам не придется повторять ее раз за разом с самого начала. Вместо этого можно спокойно вернуться к моменту, в который вы, как вам кажется, ошиблись (или где, как вы считаете, есть ошибка в инструкции), и попробовать другой подход.


Прежде всего, вам потребуется перейти обратно в свою среду Gentoo Linux командой chroot. Снова следуйте указаниям, пропуская шаги по разбивке диска, так как ваши разделы уже созданы и даже заполнены. Таким образом, вы можете сразу монтировать эти разделы в /mnt/gentoo. Следует также пропустить шаги, связанные с извлечением файла стадии и изменением make.conf — вы же не хотите перезаписывать существующие файлы, не так ли?


Изменив корень на свою среду Gentoo Linux, сразу переходите к шагу, где, как вам кажется, следует попробовать действовать по-другому. Не повторяйте все шаги, такие как самогенерация, если не считаете, что именно там что-то пошло не так.


Например, если вы считаете, что неверно настроили grub.conf, можно сразу запустить свой редактор, чтобы изменить /boot/grub/grub.conf.


Попробовав другой подход в своей ситуации, вы, скорее всего, сможете представить, сколько последующих шагов потребуется выполнить снова. Если последующие действия зависели от вашего изменения, их потребуется повторить.


Например:

изменив переменную в make.conf, вам потребуется выполнить всю последующую компиляцию, поскольку ее результаты зависят от настройки make.conf

изменив /boot/grub/grub.conf, можно сразу выходить из среды измененного корня и перезагружаться, так как никакие последующие шаги не зависят от grub.conf

перекомпилировав свое ядро, вам нужно лишь убедиться, что конфигурация вашего начального загрузчика указывает на верный образ ядра (убедитесь, что вы смонтировали свой /boot!), затем можно выйти из среды измененного корня и перезагрузиться

изменив /etc/fstab, можно выходить из среды измененного корня и перезагружаться


Как видите, после большинства действий по восстановлению можно сразу перезагружаться. Лишь изредка вам потребуется повторять последующие шаги установки.