4.4. Подготовка файлов для загрузки с карты памяти USB

Для подготовки карты памяти USB вам нужна работающая система GNU/Linux с поддержкой USB. Убедитесь, что загружен модуль ядра usb-storage (modprobe usb-storage) и попытайтесь выяснить на какое устройство SCSI отображена карта памяти USB (в примере используется /dev/sda). Также выключите защиту от записи на карту.

Заметим, что карта памяти USB должна быть как минимум 256 МБ (установка на меньший размер возможна после прочтения Раздел 4.4.2, Копирование файлов гибкий путь).

4.4.1. Копирование файлов лёгкий путь

Существует файл "всё-в-одном" hd-media/boot.img.gz, который содержит все файлы установки (включая ядро), а также SYSLINUX и его файл конфигурации. Вам нужно просто распаковать его прямо на карту памяти USB:

# zcat boot.img.gz > /dev/sda

Внимание

Естественно, это уничтожит все данные на устройстве, поэтому не ошибитесь в названии устройства карты памяти USB.

После этого, смонтируйте карту памяти USB (mount /dev/sda /mnt), которая теперь имеет файловую систему FAT и скопируйте на неё ISO-образ Debian netinst или businesscard (смотрите Раздел 4.4.3, Добавление ISO образа). Размонтируйте устройство (umount /mnt) и всё готово.

4.4.2. Копирование файлов гибкий путь

Если вам хочется большей гибкости или вы просто хотите знать, что на самом деле происходит, то можете воспользоваться следующим методом записи файлов на карту памяти.

4.4.2.1. Разметка карты памяти USB на архитектуре Intel x86

Мы покажем как использовать на карте памяти только первый раздел, а не всё устройство.

Замечание

Большинство карт памяти USB продаются с единственным разделом FAT16 но вам, вероятно, не хочется переразмечать или форматировать устройство. Если вам всё равно это нужно сделать, воспользуйтесь cfdisk или любой другой утилитой разметки для создания раздела FAT16, а затем создайте файловую систему:

# mkdosfs /dev/sda1

Обязательно вводите правильное имя устройства карты памяти USB. Команда mkdosfs содержится в пакете Debian dosfstools.

Для запуска ядра после загрузки карты памяти USB, мы поместим на неё системный загрузчик. Хотя должен работать любой системный загрузчик (например, LILO), удобнее использовать SYSLINUX, так как он использует раздел FAT16 и настраивается простым редактированием текстового файла. Для изменения конфигурации системного загрузчика можно использовать любую операционную систему, которая поддерживает файловую систему FAT.

Чтобы поместить SYSLINUX на раздел FAT16 карты памяти USB, установите в систему пакеты syslinux и mtools и введите

# syslinux /dev/sda1

Ещё раз отметим: не ошибитесь в имени устройства. Раздел не должен быть смонтирован при запуске SYSLINUX. Эта процедура переписывает загрузочный сектор раздела и создаёт файл ldlinux.sys, который содержит код системного загрузчика.

Смонтировав раздел (mount /dev/sda1 /mnt), скопируйте следующие файлы из архива Debian:

  • vmlinuz (файл ядра)

  • initrd.gz (образ ramdisk)

  • syslinux.cfg (файл настройки SYSLINUX)

  • необязательные модули ядра

Если вы хотите переименовать файлы, учтите, что SYSLINUX работает только с файловыми именами DOS (8.3).

Файл конфигурации syslinux.cfg должен содержать следующие две строки:

default vmlinuz append initrd=initrd.gz

4.4.3. Добавление ISO образа

Программа установки использует образ Debian ISO с карты памяти, если требуются дополнительные данные для установки. Теперь вы должны положить на карту памяти какой-нибудь ISO образ Debian (businesscard, netinst или даже образ первого CD) (если он влезет). Имя файла образа обязательно должно заканчиваться на .iso.

Если вы хотите выполнять установку через сеть, без использования ISO образа, вам естественно нужно пропустить предыдущий шаг. Кроме того, вам нужно использовать ramdisk из каталога netboot, а не из hd-media, так как в hd-media/initrd.gz нет поддержки сети.

После завершения копирования, размонтируйте карту памяти USB (umount /mnt) и включите защиту от записи.

4.4.4. Загрузка с карты памяти USB

Внимание

Если машина не хочет загружаться с карты памяти USB, то одной из причин может быть неправильная главная загрузочная запись (MBR). Чтобы исправить её, используйте команду install-mbr из пакета mbr:

# install-mbr /dev/sda