Для подготовки карты памяти USB вам нужна работающая система GNU/Linux с поддержкой USB. Убедитесь, что загружен модуль ядра usb-storage (modprobe usb-storage
) и попытайтесь выяснить на какое устройство SCSI отображена карта памяти USB (в примере используется /dev/sda
). Также выключите защиту от записи на карту.
Заметим, что карта памяти USB должна быть как минимум 256 МБ (установка на меньший размер возможна после прочтения Раздел 4.4.2, «Копирование файлов — гибкий путь»).
Существует файл "всё-в-одном" hd-media/boot.img.gz
, который содержит все файлы установки (включая ядро), а также yaboot и его файл конфигурации. На карте памяти USB создайте раздел с типом "Apple_Bootstrap" с помощью команды mac-fdisk C
и распакуйте образ на этот раздел:
# zcat boot.img.gz > /dev/sda2
Естественно, это уничтожит все данные на устройстве, поэтому не ошибитесь в названии устройства карты памяти USB.
После этого, смонтируйте карту памяти USB (mount
), которая теперь имеет файловую систему HFS и скопируйте на неё ISO-образ Debian netinst или businesscard (смотрите Раздел 4.4.3, «Добавление ISO образа»). Размонтируйте устройство (/dev/sda2
/mntumount /mnt
) и всё готово.
Если вам хочется большей гибкости или вы просто хотите знать, что на самом деле происходит, то можете воспользоваться следующим методом записи файлов на карту памяти.
С большинства карт памяти 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 read-only
Учтите, что может потребоваться увеличить параметр initrd-size
, в зависимости от загружаемого образа.
Программа установки использует образ Debian ISO с карты памяти, если требуются дополнительные данные для установки. Теперь вы должны положить на карту памяти какой-нибудь ISO образ Debian (businesscard, netinst или даже образ первого CD) (если он влезет). Имя файла образа обязательно должно заканчиваться на .iso
.
Если вы хотите выполнять установку через сеть, без использования ISO образа, вам естественно нужно пропустить предыдущий шаг. Кроме того, вам нужно использовать ramdisk из каталога netboot
, а не из hd-media
, так как в hd-media/initrd.gz
нет поддержки сети.
После завершения копирования, размонтируйте карту памяти USB (umount /mnt
) и включите защиту от записи.