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

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

Внимание

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

4.3.1. Preparing a USB stick using a hybrid CD or DVD image

Debian CD and DVD images can now be written directly a USB stick, which is a very easy way to make a bootable USB stick. Simply choose a CD or DVD image that will fit on your USB stick. See Раздел 4.1, «Официальный набор компакт-дисков Debian GNU/Linux» to get a CD or DVD image.

Alternatively, for very small USB sticks, only a few megabytes in size, you can download the mini.iso image from the netboot directory (at the location mentioned in Раздел 4.2.1, «Где искать установочные образы»). [4]

The CD or DVD image you choose should be written directly to the USB stick, overwriting its current contents. For example, when using an existing GNU/Linux system, the CD or DVD image file can be written to a USB stick as follows:

# cat debian.iso > /dev/sdX
# sync

4.3.2. Manually copying files to the USB stick

An alternative way to set up your USB stick is to manually copy the installer files, and also a CD image to it. Note that the USB stick should be at least 256 MB in size (smaller setups are possible if you follow Раздел 4.3.3, «Manually copying files to the USB stick — the flexible way»).

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

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

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

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

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

4.3.3. Manually copying files to the USB stick — the flexible way

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

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

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

Замечание

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

# 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 во вторую строку.

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



[4] A special method can be used to add firmware to the mini.iso. First, write the mini.iso to the USB stick. Next obtain the necessary firmware files. See Раздел 6.4, «Загрузка отсутствующих микропрограмм» for more information about firmware. Now unplug and replug the USB stick, and two partitions should now be visible on it. You should mount the second of the two partitions, and unpack the firmware onto it.

# mount /dev/sdX2 /mnt
# cd /mnt
# tar zxvf /путь/к/firmware.tar.gz
# cd /
# umount

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

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