OSS Group OSS Group
>  Карта
>  Поиск
>  Контакты
>  OSS Group  ::  Admin  ::  Создание загрузочного USB Flash
  
РегистрацияЗабыли пароль?

↓  Быстрый поиск по Wiki


Режим поиска:   И   ИЛИ

↓  Доступные Wiki

↓  Навигация по сайту

[]

↓  Последняя новость

Загрузка...

↓  На эту страницу ссылаются:

Get Firefox!
[~]

Создание загрузочного USB Flash

Создание USB Flash для установки и восстановления систем на базе ALT Linux Server 4.0

Задача: есть накопитель USB Flash объёмом 1 Gb. Его требуется сделать загрузочным и разместить на нём:

  • восстановительные (rescue) системы для i586 и x86_64
  • установочные системы для i586 и x86_64
  • memtest86+ - в качестве полезного дополнения
  • готовые шаблоны OVZ и прочие полезные дополнения - по мере возможности

Для использования в качестве загрузчика syslinux необходимо размещение его файлов на разделе с FAT. В то же время при размещении на одном накопителе одновременно дистрибутивов для x86_64 и i586 имеет смысл держать их на ext2 - как поддерживающейся установщиком, с одной стороны, и позволяющей избежать дублирование noarch-пакетов через жесткие ссылки, с другой.

Устанавливаем на host-системе пакеты:

 # apt-get install syslinux hardlinks

Разбиваем USB Flash на два раздела (размер первого раздела должен быть достаточен для хранения ядер и образов initrd для двух архитектур):

# fdisk -l /dev/sdb
Disk /dev/sdb: 1053 MB, 1053294592 bytes
2 heads, 63 sectors/track, 16327 cylinders
Units = cylinders of 126 * 512 = 64512 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1         249       15655+   4  FAT16 <32M
/dev/sdb2             250       16327     1012914   83  Linux

Создаём файловые системы:

 # mkdosfs -F16 /dev/sdb1
 # mkfs.ext2 /dev/sdb2; tune2fs -i -1 -r 0 /dev/sdb2

Здесь, поскольку для первого раздела был выбран размер в 16Mb, для него установлен тип '4' и он отформатирован как FAT16. Если для него использовать FAT32 (тип b, ключ -F32), то syslinux не сможет установить на него загрузчик с сообщением вида "syslinux: this doesn't look like a valid FAT filesystem"

Создаём временные каталоги:

 # cd /tmp; mkdir img
 # cd img;mkdir x86_64 i586 OVZ

Копируем в x86_64 и i586 содержимое установочных CD.

Для того, чтобы файлы с двух установочных CD поместились на раздел объёма порядка 980 Mb удаляем очевидно лишние на этапе установки системы пакеты:

rm -f {i586,x86_64}/ALTLinux/RPMS.asterisk/* 
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/MySQL-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/emacs22-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/nagios-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/postgresql8.2-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/subversion-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/gcc4.1-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/*-devel-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/valgrind-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/xemacs-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/amanda-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/cdrecord-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/cpp4-*
rm -f {i586,x86_64}/ALTLinux/RPMS.disk/unreal-*

Удаляем дубликаты пакетов:

 # hardlink x86_64/ i586/

Дополняем img/OVZ файлами шаблонов и перемещаем всё вместе на ext2-раздел USB Flash:

 # rsync -aHSxv img/ /media/disk-1/

Делаем загрузочный раздел с FAT16:

  • копируем на него i586/isolinux
  • переименовываем каталог isolinux в syslinux
  • в syslinux/alt0 перeименовываем vmlinuz в vmlinuz5; full.cz в full5.cz (для syslinux длина имён файлов должна соответствовать ограничению 8.3):
 # mv vmlinuz vmlinuz5; mv full.cz full5.cz
  • добавляем в syslinux/alt0 файлы vmlinuz и full.cz из x86_64/isolinux/alt0/
  • добавляем в syslinux/ файл syslinux.conf, меняя указанные в нём UUID на значение, выдаваемое
 # blkid /dev/sdb1

Размонтируем диски.

Устанавливаем загрузчик:

 # syslinux -sf /dev/sdb1

В итоге на FAT16 в корне должен появиться файл ldlinux.sys

При загрузке с диска появляется меню с вариантами установки и восстановления системы. Если меню нет - то был не переименован каталог isolinux в syslinux.

Установка системы имеет несколько особенностей:

  • Загрузочный USB FLash определяется обычно как /dev/sda, о чём следует помнить при разбиении дисков и установке загрузчика.
  • На этапе разбиения дисков инсталлятор хочет перечитать таблицу разделов /dev/sda, обнаруживает, что устройство занято, и прекращает работу с ошибкой и предложением перезагрузить систему. Для нормальной установки следует указать, что на /dev/sda обращать внимание не надо. В самом начале установки, в момент выбора языка интерфейса, следует переключиться во вторую консоль и исправить 'sda2' на 'sda' в параметре exclude секции sysfs_devices в /etc/evms.conf : subst 's#sda2#sda#' /etc/evms.conf
  • Для Server 4.0.1: на этапе установки базовой системы инсталлятор ищет необходимые ему данные (каталоги ALTLinux, isolinux, Metadata) в /image , игнорирую заданный каталог размещения файлов. Единственным работающим вариантом пока является создание символьных ссылок из корневого каталога /dev/sda2 на указанные каталоги с файлами для нужной архитектуры. Возможным вариантом явлется загрузка спасательной системы до установки, монтирование /dev/sda2 и правка символьных ссылок:
  rescue# umount /image
  rescue# mount /dev/sda2 /image
  rescue# cd /image
  rescue# for i in ALTLinux isolinux Metadata; do rm -f $i; ln -s x86_64/$i $i; done

Ссылки


Дата создания: 2008-07-20 13:30:34 (Фетисов Н. А. (naf))
Последнее изменение: 2009-06-27 16:13:49 (Фетисов Н. А. (naf))
Владелец: Фетисов Н. А. (naf)
Версия: 2  Все версии


  Не показывать комментарии



Wiki::Admin   Оглавление  Карта раздела  Изменения за сутки  Изменения за неделю  Изменения за месяц



Valid XHTML 1.0 Transitional  Valid CSS!  [Valid RSS]