AllInfo
Main: Info Blog Temp Mail


unix 2012-01-01 10-31-34

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

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

Предположим, что устройство для нашей флешки — /dev/sdc, устройство для раздела на ней — /dev/sdc1.
Берём флешку, от 4Гб для DVD варианта (наверное, с шаманством в области /ALTLlinux и /Metadata можно и меньшего размера) и от 1Гб для компакт-диска.
Если на ней уже есть достаточно большой FAT-раздел, тогда перейдите к пункту 6.
Если с этой флешки смонтированы какие-нибудь разделы (возможно, автоматически) — отмонтируем их.
Запускаем # fdisk /dev/sdc, сносим все разделы, делаем раздел нужного размера, ставим ему тип C (FAT32) (или E (FAT16) для маленьких разделов, 2Гб и менее).
Делаем файловую систему: # mkfs.vfat -n instflash /dev/sdc1
fdisk’ом делаем наш раздел активным.
Если флешка и сидиром (или его .iso-образ) ещё не смонтированы, то монтируем их.
Копируем на наш раздел с установочного сидирома директории /ALTLinux, /Metadata, /syslinux и файл /altinst ($ cd /media/dvd; rsync -vr --progress ALTLinux Metadata syslinux altinst /media/instflash/)
Ставим пакет syslinux, если он ещё не установлен. (# apt-get install syslinux)
Загоняем на флешку правильный образ MBR, способный к загрузке: # dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdc
Идём на флешку в папку syslinux (cd /media/instflash/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), и тогда пропагатор скажет, что ничего не нашёл, и будет предлагать загрузить какой-нибудь модуль. Загрузите какой-нибудь модуль: флешка к тому времени уже скорее всего распознается.
Записываем загрузчик syslinux: # syslinux -d /syslinux /dev/sdc1
Торжественно несём флешку к непокорной машинке и грузимся с неё. Если пропагатор будет взбрыкивать, нам надо всячески попробовать подсунуть ему раздел нашей флешки, уж как он её там определит. Если будет спрашивать путь к образу для загрузки, можно попробовать просто нажать #Enter#.
Пробуем пройти процесс инсталляции!
Если на стадии применения разбивки дисков будет ругань, что невозможно записать 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
Ну вот вроде и всё. Удачной инсталляции!

3.131.110.169 / 2024-04-28_10-16-16 UTC.