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

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

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

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

Существует файл "всё-в-одном" hd-media/boot.img.gz, который содержит все файлы установки (включая ядро), а также yaboot и его файл конфигурации. На карте памяти USB создайте раздел с типом "Apple_Bootstrap" с помощью команды mac-fdisk C и распакуйте образ на этот раздел:

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

Внимание

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

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

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

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

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

С большинства карт памяти USB невозможно сразу загрузиться с помощью Open Firmware, поэтому вам придётся переразметить карту памяти. На системах Mac, запустите mac-fdisk /dev/sda, инициализируйте новую карту разделов с помощью команды i и создайте новый раздел с типом Apple_Bootstrap с помощью команды C. (Заметим, что первый "раздел" всегда будет сама карта разделов.) Затем введите

$ hformat /dev/sda2

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

Чтобы запустить ядро после загрузки с карты памяти USB, мы поместим на устройство системный загрузчик. Системный загрузчик yaboot может быть установлен в файловую систему HFS и настроен простым редактированием текстового файла. Для изменения конфигурации системного загрузчика можно использовать любую операционную систему, которая поддерживает файловую систему HFS.

Обычная утилита ybin, идущая вместе с yaboot, не понимает карт памяти USB, поэтому вам нужно установить yaboot вручную с помощью утилит hfsutils. Введите

$ hmount /dev/sda2
$ hcopy -r /usr/lib/yaboot/yaboot :
$ hattrib -c UNIX -t tbxi :yaboot
$ hattrib -b :
$ humount

Повторим, проверьте правильность имени вводимого устройства. Во время процедуры раздел не должен быть смонтирован. Эта процедура записывает системный загрузчик на раздел и с помощью утилит HFS метит его для возможности загрузки из Open Firmware. После этого, остальную работу с картой памяти USB можно выполнять с помощью обычных инструментов Unix.

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

  • vmlinuх (файл ядра)

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

  • yaboot.conf (конфигурационный файл yaboot)

  • boot.msg (необязательное загрузочное сообщение)

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

Конфигурационный файл yaboot.conf должен содержать следующие строки:

default=install
root=/dev/ram

message=/boot.msg

image=/vmlinux
        label=install
        initrd=/initrd.gz
        initrd-size=10000
        append="devfs=mount,dall --"
        read-only

Учтите, что может потребоваться увеличить параметр initrd-size, в зависимости от загружаемого образа.

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

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

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

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