InstallFlash

Материал из ALT Linux Wiki


Как сделать установочную флешку

Имея под рукой установочный DVD/компакт-диск

Иногда встречается ситуация, когда установка системы на новый компьютер затыкается на неспособности пропагатора правильно определить и инициализировать дисковую подсистему компьютера, из-за чего не находится образ инсталятора. Или на компьютере банально нет привода компакт-дисков. Одно из решений этой проблемы — сделать из установочного компакт-диска установочную флешку. Которую можно еще сделать с образом rescue и liveFlash. И которую всегда можно носить с собой в кармане, в отличие от компакт-диска. :)

Пошаговое howto:

Предположим, что устройство для нашей флешки — /dev/sdc, устройство для раздела на ней — /dev/sdc1.

  1. Берём флешку, от 4Гб для DVD варианта (наверное, с шаманством в области /ALTLlinux и /Metadata можно и меньшего размера) и от 1Гб для компакт-диска.
  2. Если на ней уже есть достаточно большой FAT-раздел, тогда перейдите к пункту 6.
  3. Если с этой флешки смонтированы какие-нибудь разделы (возможно, автоматически) — отмонтируем их.
  4. Запускаем # fdisk /dev/sdc, сносим все разделы, делаем раздел нужного размера, ставим ему тип C (FAT32) (или E (FAT16) для маленьких разделов, 2Гб и менее).
  5. Делаем файловую систему: # mkfs.vfat -n installflash /dev/sdc1
  6. fdisk’ом делаем наш раздел активным.
  7. Если флешка и сидиром (или его .iso-образ) еще не смонтированы, то монтируем их.
  8. Копируем на наш раздел с установочного сидирома директории /ALTLinux, /Metadata, /syslinux и файл /altinst ($ cd /media/dvd; rsync -vr --progress ALTLinux Metadata syslinux altinst /media/installflash/)
  9. Ставим пакет syslinux, если он еще не установлен. (# apt-get install syslinux)
  10. Загоняем на флешку правильный образ MBR, способный к загрузке: # dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdc
  11. Идём на флешку в папку syslinux (cd /media/installflash/syslinux), создаем файл syslinux.cfg такого вот содержания (можно на основе имеющегося isolinux.cfg):
    default linux

prompt 1 timeout 200 gfxboot bootlogo display boot.msg implicit 1 label linux kernel alt0/vmlinuz append initrd=alt0/full.cz live fastboot lowmem stagename=/altinst lang=ru_RU splash=silent splashcount=17 showopts vga=0x314 automatic=method:disk,disk:sda,partition:sda1 label failsafe kernel alt0/vmlinuz append initrd=alt0/full.cz live fastboot lowmem stagename=/altinst lang=ru_RU showopts noapic pci=nomsi acpi=off noload=ahci automatic=method:disk,disk:sda,partition:sda1

Художественное отступление:

флешка при загрузке может определиться, и как не sda (вот еще почему для USB-загрузки лучше как можно меньше модулей пропагатору подсовывать), тогда пропагатор будет спрашивать, что за девайс мы хотим грузить. Надо или там, в пропагаторе, выбрать правильное устройство, или учесть это в этом файле. Или отключить нафик всякие картридеры :)

Художественное отступление #2:

пропагатор делает паузу в 5 секунд для инициализации USB-устройств. Особенно одарённым флешкам этого может нехватать (#13841), и тогда пропагатор скажет, что ничего не нашёл, и будет предлагать загрузить какой-нибудь модуль. Загрузите какой-нибудь модуль: флешка к тому периоду уже скорей всего распознается.

  1. Записываем загрузчик syslinux: # syslinux -d /syslinux /dev/sdc1
  2. Торжественно несём флешку к непокорной машинке и грузимся с неё. Если пропагатор будет взбрыкивать, нам надо всячески попробовать подсунуть ему раздел нашей флешки, уж как он её там определит. Если будет спрашивать путь к образу для загрузки, можно попробовать просто нажать #Enter#.
  3. Пробуем пройти процесс инсталляции!
  4. Если на стадии применения разбивки дисков будет ругань, что невозможно записать Partition Table на устройстве таком-то и нужно перезагрузиться — перезагружаемся, как только появится графическая морда с выбором языка, переключаемся на вторую консоль (Ctrl-Alt-F2), и редактируем конфигурационный файл EVMS (# vi /etc/evms.conf) — в секции sysfs_devices в параметр exclude нам надо внести устройста, на которые была ругань (должно получиться что-то вроде exclude = [ sda* loop* ]). Переключаемся обратно в седьмую консоль, и пробуем еще раз установить систему. Должно же наконец получиться! :)
Художественное отступление:

неплохо еще на флеху закинуть образ rescue (и учесть это в sysconf.cfg) — часть инсталлятора, lilo настраивающая, работает иногда со взбрыками и требует ручной доводки из live-системы.

label rescue
  kernel alt0/vmlinuz
  append initrd=alt0/full.cz live ramdisk_size=65536 fastboot stagename=/rescue showopts automatic=method:disk,disk:sda,partition:sda1

Ну вот вроде и всё. Удачной инсталляции!


Использование флэшки для начальной загрузки

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

Ссылки по теме: