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

Для подготовки карты памяти USB вам нужна работающая система GNU/Linux с поддержкой USB. В этой системе карта памяти USB должна автоматически распознаваться при вставке. Если нет, то убедитесь, что загружен модуль ядра usb-storage. Когда USB-карта вставлена, то она доступна в системе как устройство с именем /dev/sdX, где «X» — это буква из диапазона a-z. Вы можете определить, какое устройство появилось после вставке карты USB запустив команду dmesg. Также выключите защиту от записи на карту.

Предупреждение

Процедура, описанная в этом разделе, уничтожит все данные на устройстве! Не ошибитесь в названии устройства карты памяти USB. Если вы укажите не то устройство, это может привести к полной потере информации где-то ещё, например, на жёстком диске.

4.3.1. Подготовка карты памяти USB из гибридного образа CD или DVD

Образы Debian CD и DVD могут быть непосредственно записаны на карту памяти USB; это самой лёгкий способ создать загрузочный USB. Просто выберите образ CD или DVD подходящего размера для вашей карты памяти USB. О том, как получить образ CD или DVD, читайте Раздел 4.1, «Официальный набор CD/DVD-ROM Debian GNU/Linux».

Также, для очень маленьких карт памяти USB, с размером в несколько мегабайт, вы можете скачать образ mini.iso из каталога netboot (по ссылке, упомянутой в Раздел 4.2.1, «Где искать установочные образы»).

Выбранный вами образ CD или DVD должен быть записан прямо на карту памяти USB, что сотрёт её имеющееся содержимое. Например, из системы GNU/Linux, файл образа CD или DVD можно записать на карту памяти USB следующим образом (предварительно отмонтировав):

# cp debian.iso /dev/sdX
# sync

Важно

Такая простая операция записи образа CD или DVD на USB подойдёт большинству пользователей. Другие варианты, описанные далее, более сложны и предназначены для людей, у которых есть дополнительные требования.

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

Создайте второй раздел FAT на карте, смонтируйте раздел и скопируйте или распакуйте на него микропрограмму. Пример:

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /path/to/firmware.tar.gz
# cd /
# umount /mnt

Вы можете записать mini.iso на карту памяти USB. В этом случае второй раздел создавать не нужно, он появится самостоятельно. После вытаскивания и повторной вставки карты памяти USB должно появиться два раздела.

4.3.2. Копирование файлов на карту памяти USB вручную

Ещё одним способом создания карты памяти USB является ручное копирование файлов программы установки и образа CD. Заметим, что карта памяти USB должна быть как минимум 1 ГБ (установка на меньший размер возможна после прочтения Раздел 4.3.3, «Копирование файлов на карту памяти USB вручную — гибкий путь»).

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

Заметим, что хотя этот метод удобен, он имеет большой недостаток: логический размер устройства ограничен 1 ГБ, даже если ёмкость карты памяти USB гораздо больше. Вам нужно переразметить карту USB и создать новые файловые системы, чтобы снова получить всё пространство, если вы хотите использовать его для другой цели.

Чтобы использовать образ, просто распакуйте его прямо на карту памяти USB:

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

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

4.3.3. Копирование файлов на карту памяти USB вручную — гибкий путь

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

4.3.3.1. Разметка карты памяти USB

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

Примечание

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

# install-mbr /dev/sdX

Команда install-mbrсодержится в пакете Debian mbr. Затем создайте файловую систему:

# mkdosfs /dev/sdX1

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

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

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

# syslinux /dev/sdX1

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

4.3.3.2. Добавление образа программы установки

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

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

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

Вы можете выбрать обычную версию программ установки или версию с графическим интерфейсом. Последнюю можно найти в подкаталоге gtk. Если вы хотите переименовать файлы, учтите, что syslinux работает только с файловыми именами DOS (8.3).

Затем, вам нужно создать файл настройки syslinux.cfg, который, как минимум, должен содержать две строки (измените имя файла с ядром на «linux», если используется образ netboot):

default vmlinuz
append initrd=initrd.gz

Для графической версии программы установки нужно добавить vga=788 во вторую строку. По желанию, можно добавлять и другие параметры.

Чтобы включить выдачу приглашения при загрузке для добавления дополнительных параметров, добавьте строку prompt 1.

Если вы используете образ hd-media, то теперь должны скопировать файл ISO с образом Debian[6] на карту памяти. После завершения, размонтируйте карту памяти USB (umount /mnt).



[5] Не забудьте установить флаг загрузки «bootable».

[6] Вы можете использовать netinst или полный образ CD (см. Раздел 4.1, «Официальный набор CD/DVD-ROM Debian GNU/Linux»). Убедитесь, что он подходит по размеру. Заметим, что образ «netboot mini.iso» не подходит для этой цели.