Для подготовки карты памяти USB вам нужна система с запущенной GNU/Linux с поддержкой USB. Убедитесь, что загружен модуль ядра usb-storage (modprobe usb-storage
) и попытайтесь выяснить на какое устройство SCSI отображена карта памяти USB (в примере используется /dev/sda
). Также выключите защиту от записи.
Заметим, что карта памяти USB должна быть как минимум 128МБ (установка на меньший размер возможна после прочтения Раздел 4.4.2, «Копирование файлов — гибкий путь»).
Существует файл "всё-в-одном" — hd-media/boot.img.gz
, который содержит все файлы установки (включая ядро), а также SYSLINUX и его файл конфигурации. Вам нужно просто распаковать его прямо на карту памяти USB:
# zcat boot.img.gz > /dev/sda
Естественно, это уничтожит все данные на устройстве, поэтому не ошибитес в названии устройства карты памяти USB.
После этого, смонтируйте карту памяти USB (mount
), которая теперь имеет файловую систему FAT и скопируйте на неё ISO образ Debian netinst или businesscard. Имя файла должно заканчиваться обязательно на /dev/sda
/mnt.iso
. Размонтируйте устройство (umount /mnt
) и всё готово.
Если вам хочется большей гибкости или вы просто хотите знать, что на самом деле происходит, то можете воспользоваться следующим методом записи файлов на карту памяти.
Мы покажем как использовать на карте памяти только первый раздел, а не всё устройство.
Так как большинство карт памяти 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 ramdisk_size=12000 root=/dev/ram rw
Учтите, что может потребоваться увеличить значение параметра ramdisk_size
в зависимости от загружаемого образа. Если загрузка завершилась неудачно, попробуйте добавить devfs=mount,dall
в строку «append».
Теперь вы должны положить на карту памяти какой-нибудь ISO образ Debian (businesscard, netinst или даже образ первого CD) (если он влезет). Имя файла образа обязательно должно заканчиваться на .iso
.
Если вы хотите выполнять установку через сеть, без использования ISO образа, вам естественно нужно пропустить предыдущий шаг. Кроме того, вам нужно использовать ramdisk из каталога netboot
, а не из hd-media
, так как в hd-media/initrd.gz
нет поддержки сети.
После завершения копирования, размонтируйте карту памяти USB (umount /mnt
) и включите защиту от записи.