Установка Linux на Mac mini: начальная установка и настройка

Узнайте, как превратить недорогой высокопроизводительный компьютер на платформе PowerPC® (а именно Mac mini от компании Apple) в домашнее мультимедийное устройство на базе ОС Linux™. В итоге у вас получится независимое устройство для показа изображений, фильмов и прослушивания музыки, управление которым осуществляется с другого компьютера через обычный Web-браузер.

Платформа PowerPC очень хорошо подходит для такого мультимедийного решения, а процессор G4 с набором инструкций AltiVec обладает исключительной мощностью и гибкостью в применении. В этой статье рассказывается о возможностях аппаратной части и пошагово разъясняется установка и настройка дистрибутива Yellow Dog Linux.

Давайте рассмотрим важные характеристики Mac mini. Эта система подходит для нашего проекта по следующим причинам:

Цена. Самая дешевая конфигурация Mac mini стоит 499 долларов, и это, бесспорно, лучшая платформа для знакомства с PowerPC, обладающая оптимальным соотношением цены и производительности. Ведь 499 долларов — это всего около четверти стоимости платы для одноплатного компьютера от промышленных дистрибьюторов, а в стоимость Mac mini входят и жесткий диск, память, дисковод оптических дисков, корпус и источник питания, которые для промышленного одноплатного компьютера пришлось бы докупать отдельно.
Размер. Mac mini мало весит и занимает мало места, даже если не вынимать его из корпуса.
Возможность работы в любом положении. Дисковод оптических дисков в Mac mini имеет щелевую загрузку и может работать под любым углом наклона. Это значит, что вы можете просто прикрепить его с обратной стороны монитора – и вот у вас уже есть мультимедийный центр.

Краткий обзор аппаратных возможностей Mac mini:

Микропроцессор PowerPC G4. Частота процессора регулируется перемычками на системной плате в диапазоне от 1,25 до 1,58 ГГц (перемычки припаяны), тогда как Apple поставляет модели с частотой от 1,25 до 1,42 ГГц.
Встроенный адаптер Ethernet
Один порт Firewire
Два порта USB 2.0
Встроенный динамик (моно) и стереовыход. На момент написания этой статьи аудиочип в Mac mini не поддерживается ядром Linux, но похоже, что проблема всего лишь в незначительной модификации идентификатора этого чипа. Аудиовход отсутствует.
Видеовыход DVI. В комплекте поставляется переходник, преобразующий цифровой сигнал в аналоговый — через этот переходник можно подключить VGA-устройства. Через приобретаемый дополнительно переходник также можно получить S-video и композитный сигнал.
Одна внутренняя шина IDE, к которой подключен 2,5-дюймовый жесткий диск (на 40 или 80 гигабайт, в зависимости от модели).
Дисковод оптических дисков с щелевой загрузкой (как в ноутбуках) — комбинированный DVD/CD-RW либо универсальный Superdrive (DVD+/-R, CD-RW).
Фирменный внутренний разъем для дополнительных устройств с адаптером беспроводной сети 802.11g (к сожалению, не поддерживается в Linux из-за того, что компания Broadcom, выпускающая набор микросхем адаптера, не раскрывает информацию о них) и/или модулем Bluetooth.
Внутренний модем на 56 кбит/с.

Почему именно Linux?

Операционная система Linux выбрана по ряду причин. Во-первых, цель этого проекта — использовать только программы с открытым кодом, что невозможно в Mac OS. Другие основные причины, по которым была выбрана ОС Linux — развитая модульность и отличная совместимость на уровне API с остальными популярными платформами: PPC, ARM, x86 и MIPS.

В данном случае выбран дистрибутив Yellow Dog Linux 4.0.1, так как он меньше по размеру (стандартный вариант — 4 диска), Однако если вам удобнее работать с другим дистрибутивом, то вы, разумеется, можете применять его в наших экспериментах. Приложения, описанные в следующих статьях, будут прекрасно работать практически в любом дистрибутиве.

 

Чтобы установить Yellow Dog, сначала загрузите и запишите 4 образа дисков. Включите Mac mini, быстро вставьте первый установочный диск и удерживайте клавишу C, чтобы принудительно произвести загрузку с компакт-диска. Вы попадете в стартовый экран yaboot, где нужно просто ввести install, и запустится инсталлятор с графическим интерфейсом. Этот диск можно использовать не только для установки, но и для экстренной загрузки в случае сбоя. Кроме того, на нем есть несколько дополнительных образов, таких как загрузка версии ядра, оптимизированной под процессор G5. Список доступных образов ядра можно получить, нажав Tab в приглашении boot:. Но пока давайте продолжим установку.

Когда вы введете install, и нажмете клавишу ввода, последует небольшая пауза — с компакт-диска будет загружаться ядро и виртуальный диск. Вы увидите знакомые сообщения загрузки Linux (кстати, обратите внимание, что включен режим фреймбуфера), и в итоге в X Window запустится графический инсталлятор. Если вы когда-либо устанавливали дистрибутивы Red Hat или Fedora, то интерфейс инсталлятора будет вам знаком; если же нет, то вы легко с ним разберетесь. Вкратце рассмотрим действия во всех экранах, которые приведут нас к конфигурации системы, включающей все нужное и не слишком много лишнего:

Welcome to Yellow Dog Linux (Добро пожаловать в Yellow Dog Linux) — Нажмите кнопку Next (Далее).
Language (Язык) — Выберите English и нажмите Next.
Keyboard Configuration (Раскладка клавиатуры) — Выберите US English и нажмите Next.
Installation Type (Тип установки) — Выберите Custom и нажмите Next.
Disk Partitioning Setup (Настройка разделов диска) — Выберите Manually partition with Disk Druid (Разбить вручную программой Disk Druid) и нажмите Next.
Disk Setup (Настройка диска) — Вам нужна простая конфигурация только с ОС Linux (а не мультизагрузка с выбором между Mac OS и Linux). Сначала удалите все разделы в программе Disk Druid. Затем создайте раздел размером в 1 МБ с типом Apple Bootstrap. Затем создайте раздел типа swap. Его размер должен быть по меньшей мере равен объему оперативной памяти в вашем Mac mini. Наконец, создайте корневой раздел с типом ext3, и выберите Fill to maximum allowable size (Занять максимальный размер), чтобы этот раздел занял всю оставшуюся часть жесткого диска. Возможно, это не лучшая схема разбивки диска, особенно для встраиваемого устройства, но я выбрал ее для простоты. Кстати, можно заметить, что в этой версии программы Disk Druid (в отличие от версии для x86) разделы не сортируются: они располагаются на диске в том порядке, в котором вы сами их расположили.
Firewall Configuration (Настройка брандмауэра) — Для нашего простого проекта он не нужен, поэтому выберите No firewall (Без брандмауэра), а параметр Enable SELinux (Включить SELinux) to Disabled (Отключено).
Additional Language Support (Поддержка дополнительных языков) — Оставьте настройки по умолчанию и нажмите Next.
Time Zone Selection (Выбор часового пояса) — Выберите часовой пояс в вашей местности.
Set Root Password (Установка пароля root) — Задайте пароль, который вы легко сможете запомнить.

И наконец, нужно сделать настройки в диалоге Package Group Selection (Выбор групп пакетов). Сначала снимите галочки со всех групп пакетов. Затем отметьте только приведенные ниже группы пакетов, зайдите в более подробное описание группы пакетов и убедитесь, что отмечены только следующие пункты:

В группе X Window System отметьте Xautoconfig, xorg-x11-twm и xterm.
В группе Editors (Текстовые редакторы) отметьте ваши любимые текстовые редакторы; я использую emacs, но вы можете выбрать другой редактор.
В группе Text-based Internet (Текстовый Интернет) выберите elinks — на всякий случай полезно иметь простой текстовый браузер.
В группе Development Tools (Инструменты разработки) по умолчанию выбран подходящий набор пакетов. Некоторые предпочитают не устанавливать пакеты gcc-g77, gcc-gnat и gcc-java, так как  никогда не пользуются этими языками, но вы можете и оставить их, если хотите иметь больше свободы в применении различных языков программирования.
В группу Kernel Development (Разработка ядра) почему-то входят библиотеки GTK+ и Qt. Снимите отметку со всех дополнительных пакетов в этой группе, вам потребуются только исходные коды ядра.
В группе X Software Development (Разработка для X) оставьте пакеты, выбранные по умолчанию.

Самая трудная часть пройдена. Когда вы подтвердите намерение установить операционную систему, вам будет показано, какие из установочных компакт-дисков потребуются — если вы выбрали те же пакеты, что и я, то нужны будут диски 1, 2 и 3. Далее по запросу инсталлятора вам нужно будет просто менять диски в дисководе.

Когда установка завершится, компакт-диск будет извлечен и будет выдан запрос на перезагрузку. Если не вмешиваться в ход загрузки, то вы увидите знакомые вам по Red Hat загрузочные сообщения, и в конце будет выведено приглашение текстового входа в систему. Если при первой загрузке запустится Kudzu (программа из Red Hat для поиска оборудования), пусть она установит необходимое оборудование. Войдите в систему с именем root и паролем, указанным в ходе установки.

 

Теперь систему нужно немного настроить, чтобы привести ее в готовое к работе состояние. Во-первых, вам нужно знать, что в системе не будет звука — по крайней мере сейчас. Причина этого в том, что в настоящий момент звуковой чип Mac mini не поддерживается ядром Linux. Однако скорее всего в ближайшее время он будет поддерживаться (когда вы будете читать эти строки, возможно, уже появится соответствующий патч). Как вариант, вы можете купить поддерживаемую звуковую плату с подключением через USB, например, iMic от Griffin Technologies.

 

Включение звука

Для проверки аудио функций, упоминаемых далее в статье, и чтобы убедиться, что  код действительно работает, можно настроить еще одну систему (с точно такой же конфигурацией программного обеспечения. Если звуковые устройства не обнаружились автоматически, придется настраивать их вручную. Добавьте следующие строки в конец файла /etc/rc.d/rc.sysinit (сразу после комментария # Let rhgb know that were leaving rc.sysinit):

 

 

modprobe snd-powermac

modprobe snd-pcm-oss

aumix-minimal -v85 -l85 -c85 -w85 -W85

 

 

Можно также добавить строку alias sound-slot-0 snd-powermac в файл /etc/modprobe.conf, хотя это и не обязательно.

Разумеется, вы можете указать другие уровни громкости. Для проверки уровня громкости можно использовать команду playwave с любым подходящим .wav-файлом либо команду cdp для проигрывания аудиодиска. Воспользуйтесь программой aumix для настройки различных параметров микшера. Когда вы настроите нужный уровень громкости, снова запустите aumix и нажмите клавишу s (обязательно нижний регистр). Настройки микшера сохранятся в файл ~/.aumixrc; откройте этот файл и найдите числа, обозначающие уровни громкости — их и нужно указать в качестве аргументов в скрипте выше. Обратите внимание, что из загрузочных скриптов нельзя вызывать aumix с параметром -L (загрузить настройки) — почти всегда происходит аварийное завершение программы. Поэтому мы и применяем aumix-minimal с аргументами.

Сделайте все описанные здесь настройки, связанные со звуком в Mac mini, ведь уже скоро может появиться совместимый драйвер. Тогда вам не придется снова искать эту статью и читать ее заново.

Включение сети

Далее следует настроить работу сети. Хотя Linux и поддерживает сетевую плату Mac mini, она, к сожалению, не определяется автоматически. Убедитесь, что в файле alias eth0 sungem есть строка /etc/modprobe.conf. Затем нужно создать конфигурационный файл адаптера Ethernet. Этот файл нужно сохранить под именем /etc/sysconfig/network-scripts/ifcfg-eth0, он должен содержать следующие строки:

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

TYPE=Ethernet

 

Некоторые пользователи отмечали, что программа Kudzu автоматически настроила сеть при первой загрузке.

Кстати, если вы увлеклись этой статьей и настраиваете древний iMac в качестве второй системы, обратите внимание, что в этом случае драйвер Ethernet называется bmac, поэтому в файле modprobe.conf должна быть строка alias eth0 bmac. Остальные параметры настройки те же.

Теперь можно включить сетевой интерфейс командой ifup eth0. Если вы подключены к сети и в ней работает DHCP-сервер, то вы сможете провести несколько базовых проверок, например, пинговать маршрутизатор. Определите IP-адрес компьютера через ifconfig и запишите его — далее он вам потребуется для некоторых проверок.

Установка Web-сервера

Теперь установите Web-сервер thttpd, который будет обеспечивать пользовательский интерфейс вашего будущего мультимедийного устройства. Загрузить исходный код thttpd можно по ссылке в разделе Ресурсы. Распакуйте архив, перейдите в распакованный каталог и запустите скрипт ./configure, который создаст файл Makefile. Теперь выполните команды make all ; make install — демон Web-сервера будет скомпилирован и установлен. Во время установки вы увидите сообщение, что отсутствует группа www — проигнорируйте его, так как оно относится к функции thttpd, которая нам не потребуется.

После сборки и установки сервера нужно создать базовый конфигурационный файл со следующими строками:

 

dir=/web

cgipat=/cgi-bin/*

logfile=/dev/null

pidfile=/var/run/thttpd.pid

 

Сохраните этот файл под именем /etc/thttpd.conf и добавьте в файл /etc/rc.d/rc.local строку /usr/local/sbin/thttpd -C /etc/thttpd.conf. Не имеет значения, в каком месте файла будет находиться эта строка. Кстати, пока вы будете отлаживать систему, полезно будет сохранять журнал в реальный файл, а не перенаправлять его в /dev/null. Однако потом следует отключить запись журнала в файл либо применить какую-либо методику ротации журналов или сокращения их размера. В противном случае вы рискуете в самый непредсказуемый момент исчерпать место на диске.

Теперь убедитесь, что в системе существует каталог /web, или создайте его. Командой chmod 777 /web сделайте его доступным для записи всем пользователям. После этого вручную запустите Web-сервер командой thttpd -C /etc/thttpd.conf Откройте браузер на другом компьютере в той же сети и наберите адрес http://a.b.c.d/, где a.b.c.d — IP-адрес вашего компьютера Mac. Если все заработало нормально и если вы ничего не поместили в каталог /web, то на зеленом фоне вы увидите пустой список файлов в каталоге и заголовок Index of /.

 

Установка FTP-сервера

Теперь нужен простой способ загрузки изображений и других мультимедийных файлов на жесткий диск вашего устройства. Для этого я применяю сервер ProFTPD, потому что это один из известнейших открытых FTP-серверов. Он обладает гибкостью, разумной безопасностью и доступен по непревзойденной цене — бесплатно. Чтобы скомпилировать и установить этот FTP-сервер, просто распакуйте архив с исходным кодом, перейдите в распакованный каталог, запустите ./configure и затем make all ; make install.

Настраивать ProFTPD значительно сложнее, чем thttpd, так как FTP-сервер при аутентификации пытается активно взаимодействовать с операционной системой. В конфигурационном файле по умолчанию ( /usr/local/etc/proftpd.conf) содержится множество предположений, неверных в нашем случае. Вот сокращенная версия конфигурационного файла, которая отвечает нашим требованиям:

ServerName developerWorks Multimedia Appliance

ServerType standalone

DefaultServer on

Port 21

Umask 022

MaxInstances 3

0

User ro

ot

Group root

AllowOverwrite on

Anonymous /web

User ftp

Group ftp

UserAlias anonymous ftp

MaxClients 10

/Anonymous

 

Кроме того, вам нужно снова отредактировать файл /etc/rc.d/rc.local, добавив строку /usr/local/sbin/in.proftpd; как и раньше, не имеет значения, в каком месте файла будет расположена эта строка. Теперь вы можете запустить сервер вручную, выполнив /usr/local/sbin/in.proftpd, и проверить его работу, подключившись к нему с другого компьютера (войдите с именем anonymous и любым паролем).

Предполагается, что ваша сеть полностью защищена от злоумышленников, которые хотят получить доступ к вашим данным. Если вам требуется более безопасная система, обратитесь к документации по ProFTPD. Сложность здесь заключается в том, что если вы хотите обеспечить удаленный доступ к тому же каталогу, который является корневым каталогом данных для Web-сервера thttpd, вам нужно действовать чрезвычайно аккуратно, иначе вы можете случайно запретить доступ thttpd (и вызываемых им скриптов) к файлам, загруженным через Web-интерфейс.

В Yellow Dog Linux по умолчанию запускается еще один полезный демон — sshd. Не отключайте его, так как очень удобно подключаться к компьютеру для удаленной работы с командной строкой (вы также можете удаленно выполнять описанные в этом цикле статей операции). Мы не создавали на Mac mini других пользователей, поэтому подключаться по ssh нужно следующей командой: ssh -l root a.b.c.d, где a.b.c.d — IP-адрес Mac mini. При первом подключении нужно будет подтвердить подлинность удаленной системы. Вводите yes, а не просто y.

Из этой статьи вы узнали, как установить Linux, настроить подсистемы сети и звука, а также как установить и настроить Web-сервер и FTP-сервер, через который вы удаленно будете загружать мультимедийные файлы на жесткий диск. Кроме того, теперь вы можете настраивать Mac mini удаленно.