Создание USB Flash для установки и восстановления систем на базе ALT Linux Server 4.0
Задача: есть накопитель USB Flash объёмом 1 Gb. Его требуется сделать загрузочным и разместить на нём:
Для использования в качестве загрузчика 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:
# mv vmlinuz vmlinuz5; mv full.cz full5.cz
# blkid /dev/sdb1
Размонтируем диски.
Устанавливаем загрузчик:
# syslinux -sf /dev/sdb1
В итоге на FAT16 в корне должен появиться файл ldlinux.sys
При загрузке с диска появляется меню с вариантами установки и восстановления системы. Если меню нет - то был не переименован каталог isolinux в syslinux.
Установка системы имеет несколько особенностей:
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 Карта раздела Оглавление Изменения за сутки Изменения за неделю Изменения за месяц