Этот документ содержит различные полезные советы по установке Gentoo/x86. Большинство из них описаны кратко — подразумевается, что они послужат дополнением к руководству по установке, а не заменой ему.
Расширенная установка
Упрощение установки
Решение ошибок/проблем
Примечание: Если вы не знакомы с программным 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 /dev/md1 b 9 1 # mknod /dev/md2 b 9 2 # mknod /dev/md3 b 9 3 |
После разбивки на разделы, создайте файл /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 обоих дисков, если используется зеркалирование.
Удостоверьтесь, что вы загрузились с установочного 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}.igz /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 |
Как оставить терминал без присмотра
Многим хочется отойти от своей системы, пока она компилируется. Иногда это довольно сложно, поскольку установка производится в месте, где много народу и нельзя доверять всем подряд. На этот случай пригодится возможность проводить компиляцию в фоновом режиме, выйдя изо всех терминалов.
Есть несколько возможных путей. Первый — использовать 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, не затрагивая процесс компиляции.
Тщательное тестирование дисков
Если вы считаете, что необходимо тщательно проверить ваш диск на предмет целостности (неисправные секторы и т.д.), можете включить параметр -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.
Попробовав другой подход в своей ситуации, вы, скорее всего, сможете представить, сколько последующих шагов потребуется выполнить снова. Если последующие действия зависели от вашего изменения, их потребуется повторить.
Например:
Как видите, после большинства действий по восстановлению можно сразу перезагружаться. Лишь изредка вам потребуется повторять последующие шаги установки.
Текст этого документа распространяется на условиях лицензии Creative Commons - Attribution / Share Alike.