Debian · 6 min read · Oct 30, 2025

Загрузка Debian с внешнего диска Firewire на PowerPc Mac.

Используя бета-установщик Debian Etch ppc и ядро без initrd.

ПРЕДУПРЕЖДЕНИЕ!
Эта страница нуждается в отзывах, в настоящее время “Работает для меня”.

Взято с моей страницы ресурсов Debian

Введение

Работа с процессом загрузки - это деликатное дело даже на Mac.
Обратите внимание, что установщик Debian в какой-то момент во время процедуры может завершиться неудачей.
Я не даю никаких гарантий и не несу ответственности за любые потери или повреждения, которые могут быть причинены вашему оборудованию, программному обеспечению или данным.
Существуют и другие способы загрузки Linux с внешнего диска Firewire, задокументированные в других местах в сети. См. раздел Ресурсы.

Добавление или удаление периферийных устройств, таких как USB-ключи, цифровые камеры, другие внешние жесткие диски, CD-ROM и т. д., или установка/удаление devfs, udev и подобного может изменить способ, которым Linux видит диск Firewire, я предлагаю ознакомиться с предоставлением параметров загрузки для yaboot во время процесса загрузки. См. страницы man yaboot и yaboot.conf.

Требования

  • Macintosh, который может загружаться с внешних дисков Firewire и который может загружать Debian с помощью yaboot. Если вам действительно нужно быть уверенным, попробуйте установить OSX на диск Firewire, удерживая клавишу option во время перезагрузки, чтобы увидеть, отображается ли он. Мой Powerbook с загрузкой по Firewire довольно старый, был на пике в 2001 году, так что более новые Mac должны подойти.
  • Знание командной строки Linux, руководства по установке Debian и компиляции ядра для версий 2.6.xxxxx ядра. В сети есть множество ресурсов по этому поводу. и на Howtoforge. См. также официальный справочник Debian (хотя он не совсем актуален).
  • Недавняя версия установщика Debian. Он должен уметь распознавать внешний диск Firewire для разбиения и установки на него. Установщик Debian Sarge был недостаточно новым для меня, поэтому я предлагаю получить бета-версию установщика Debian с debian.org. Я использовал текстовую версию.
  • Следующая процедура требует компиляции пользовательского ядра Debian, поэтому необходима рабочая среда сборки Powerpc Linux. Нет проблем, если у вас уже установлен Linux, сложно, если это ваша первая установка Debian на этом компьютере. (Может быть, дистрибутив live CD, такой как Ubuntu, позволит вам скомпилировать ядро и упаковать его для Debian?). У меня нет проблем с предложением .deb пакета ядра, который работает для моего Titanium Powerbook второй серии (см. Ресурсы). Он, вероятно, не будет работать с другими моделями Macintosh, включая более новые Titanium (может быть, загрузка в runlevel 1 работает?), и я НЕ рекомендую загружать и устанавливать двоичные файлы (ОСОБЕННО ЯДРО), полученные из ненадежных источников - как этот сайт :-)

Шаг 1: Конфигурация ядра

Я использовал linux-2.6.14.2 из официальных архивов kernel.org. Любая стабильная более поздняя версия ядра также должна работать. Мне сказали избегать предыдущих версий, так как поддержка Firewire имеет ошибки для больших файловых передач. Совет: не забудьте использовать .config, известный как работающий на вашем компьютере.

При конфигурации ядра (т.е. с помощью “make menuconfig”) отключите опцию Поддержка RAM-диска (находится в Устройства -> Блочные устройства).

Опции конфигурации, которые должны быть скомпилированы, то есть включены, но НЕ отмечены как модули:

  • Устройства -> Поддержка SCSI-устройств: - Поддержка SCSI-устройств
  • Поддержка SCSI-дисков
  • Поддержка SCSI-генериков
  • Поддержка внешних и внутренних SCSI Powermac (среди низкоуровневых драйверов SCSI)
  • Устройства -> Поддержка IEEE1394 (Firewire): - Поддержка необработанного ввода-вывода IEEE1394
  • Поддержка OHCI-1394
  • Поддержка SBP-2 Плюс драйверы, необходимые для вашей карты Firewire, если таковые имеются. Я также включил следующее, возможно, ненужное: - База данных OUI
  • Встроенная дополнительная конфигурация
  • Вход IP-1394
  • Файловые системы: поддержка файловой системы, которая будет использоваться на диске Firewire, (я использую XFS), должна быть скомпилирована. Другие могут быть оставлены как модули.

Полученное ядро не будет использовать initrd, поэтому не используйте опцию –initrd при выполнении команды make-kpkg.

Вы получите пакет ядра, упакованный в виде .deb архива.

Шаг 2: Частичная установка Debian

Загрузитесь с CD установщика Debian и продолжите установку. Нет реальной необходимости выбирать экспертный вариант. Иногда установщик не распознает диск Firewire. Попробуйте прервать и перезагрузить несколько раз, прежде чем сдаваться.

Я предлагаю использовать метод ручного разбиения жесткого диска, чтобы быть уверенным в том, что происходит. На диске Firewire необходимо как минимум одно загрузочное разделение и одно для корневой файловой системы. Запишите номер раздела, который вы выбрали для загрузки, и номер для корневой файловой системы.
Совет: убедитесь, что необходимые вам разделы находятся на диске Firewire, если вы хотите, чтобы ваша установка была независимой от вашего внутреннего жесткого диска! Вам нужно будет пометить ваши внутренние разделы swap и загрузки как неиспользуемые.

Шаг Установить yaboot на жесткий диск завершится неудачей с красным экраном. Выберите Вернуться в меню установки и выберите Продолжить без загрузчика. Установщик отобразит имя раздела корневой файловой системы в виде /dev/sd Xn, где X - буква, n - число. Запишите букву, число идентично номеру корневого раздела.

На уведомлении Установка завершена снова выберите Вернуться в меню установки и Выполнить оболочку.

Шаг 3: Копирование ядра .deb и настройка yaboot.conf

Корневой раздел вашей частичной установки Debian смонтирован на /target. Скопируйте .deb ядро, которое вы скомпилировали, в /target. Вам нужно создать каталог и смонтировать файловую систему, содержащую ваше ядро, на нем. Обратите внимание, что каталог /dev установщика Debian может иметь очень другую структуру, чем та, к которой вы привыкли. Например, смонтировав четвертый раздел моего внутреннего ide-диска и скопировав .deb оттуда:

Yaboot нужно знать “Путь Open Firmware” к диску Firewire, который можно получить с помощью:

/proc/device-tree/pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000

Нам также нужен “основной и вторичный номер“ корневого раздела, который в настоящее время смонтирован на /target:


/dev/scsi/host0/bus0/target1/lun0/part3 на /target тип …

brw——- 1 root root 8, 3 Jan 1 1970 /dev/scsi/…

Я подчеркнул основной и вторичный номер соответственно. Теперь пришло время подготовить файл /etc/yaboot.conf. Отредактируйте его с помощью nano.

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

boot=/dev/sd a7
ofboot= /pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000/disk@0:7
device= /pci@f4000000/firewire@e/node@0010b9210040ad70/sbp-2@c000/disk@0:3
partition= 3
delay=15
timeout=100
install=/usr/lib/yaboot/yaboot
magicboot=/usr/lib/yaboot/ofboot
enablecdboot

image=/boot/vmlinux
label=Linux
read-only
root= 8:3
append=”rootdelay=12”

boot= должно следовать за /dev/sdXn, X должно быть заменено на букву, которую вы записали ранее, а n - на номер загрузочного раздела.

ofboot= должно следовать за путем Open Firmware, начиная с /pci… и заканчивая …/disk@0:n, где n - снова номер загрузочного раздела.

device= похоже на ofboot, но последнее число - это номер раздела корневой файловой системы, который также должен быть указан после partition=.

root= должно следовать за основным и вторичным номерами, которые вы записали ранее, разделенными двоеточием.

Опция задержки корня заставляет систему ждать, чтобы диск Firewire мог быть увиден ядром. Кроме того, вы можете захотеть добавить/сохранить некоторые параметры загрузчика для загрузки с других ваших разделов linux/macos/osX.

Шаг 4: Установка ядра и загрузчика.

Это делается путем chroot в /target:


Хммм…
Хммм…

#

Наконец, выйдите из chroot и затем из оболочки с помощью ctrl-d или команды exit, и завершите установку. Установщик перезагрузит систему.

Финальный шаг: посмотрите, что произойдет.

Если все пройдет хорошо, выбрав (l)inux на приглашении загрузчика и нажав Enter на втором этапе, вы загрузите Debian, и система продолжит с финальной фазой установки. Иногда правильно настроенное ядро требует слишком много времени, чтобы распознать диск, и у вас возникает kernel panic. Попробуйте сбросить и перезагрузить еще раз, прежде чем сдаваться. Ядро может паниковать, потому что оно действительно не может найти корень, или Open Firmware не смог увидеть раздел: это означает, что вам нужно сбросить систему, повторно попробовать с другими параметрами загрузки, переданными yaboot, или удерживать клавишу option, чтобы перезагрузиться с CD или других разделов. Обратите внимание, что для внесения изменений в yaboot.conf вам нужно: войти в установщик Debian в экспертном режиме, дойти до фазы, где диск Firewire распознается, выполнить оболочку, смонтировать корневую файловую систему, исправить yaboot.conf, chroot в корневую файловую систему и снова запустить ybin. Удачи.

Совет: пометьте ваше ядро как не подлежащее обновлению

Обновления Debian могут попытаться установить более новую версию образа ядра вместо пользовательского ядра. Это плохая идея. См. как поставить пакеты на удержание в документации Debian.

Отзывы, комментарии

Дайте мне знать, была ли эта страница полезной для вас, напишите мне на: dllm70-boborosso at yahoo.com или прокомментируйте статью.

Ресурсы

Мои файлы - если вам нужно больше деталей или вдохновения для вашей настройки:

  • Мой собственный .config для версии 2.6.14.2 ядра.
  • Мой собственный файл yaboot.conf.
  • Напишите мне, если вам действительно, действительно нужно все ядро.

Другие страницы, касающиеся загрузки Linux с внешнего Firewire:

Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.