Для подготовки карты памяти USB вам нужна система с запущенной GNU/Linux с поддержкой USB. Убедитесь, что загружен модуль ядра usb-storage (modprobe usb-storage
) и попытайтесь выяснить на какое устройство SCSI отображена карта памяти USB (в примере используется /dev/sda
). Также выключите защиту от записи.
Заметим, что карта памяти USB должна быть как минимум 128МБ (установка на меньший размер возможна после прочтения Раздел 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. Имя файла должно заканчиваться обязательно на /dev/sda2
/mnt.iso
. Размонтируйте устройство (umount /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
append="devfs=mount,dall --"
read-only
Учтите, что может потребоваться увеличить параметр initrd-size
, в зависимости от загружаемого образа.
Теперь вы должны положить на карту памяти какой-нибудь ISO образ Debian (businesscard, netinst или даже образ первого CD) (если он влезет). Имя файла образа обязательно должно заканчиваться на .iso
.
Если вы хотите выполнять установку через сеть, без использования ISO образа, вам естественно нужно пропустить предыдущий шаг. Кроме того, вам нужно использовать ramdisk из каталога netboot
, а не из hd-media
, так как в hd-media/initrd.gz
нет поддержки сети.
После завершения копирования, размонтируйте карту памяти USB (umount /mnt
) и включите защиту от записи.