Запуск Linux на PlayStation 3: Часть 1 . Больше, чем развлечение

Пожалуйста, настройте ваш монитор

Приставка Sony PlayStation 3 (PS3) может работать под управлением операционной системы Linux®, но для ее нормального функционирования требуется дополнительная настройка. В этой статье, первой из целой серии, автор рассказывает о функциональных возможностях и преимуществах ОС Linux, работающей на PS3, и показывает некоторые полезные дополнительные настройки системы.

Питер Сибах, автор, Независимый

Питер Сибах (Peter Seebach) работает с компьютерами много лет и постепенно приспособился. Хотя он до сих пор не понимает, почему мышку надо чистить так часто.



17.04.2008

Когда компания Sony впервые объявила, что PlayStation 3 обладает встроенной поддержкой Linux, это вызвало большой ажиотаж. Поначалу установка Linux вызывала ряд определенных трудностей. Поддерживаемый приставкой установщик с помощью специального сценария превращал DVD-дистрибутив Fedora Core 5 или 6 в работающую систему со специальным ядром для PS3. Люди проводили многие часы в попытках заставить работать другие ОС, такие как Ubuntu, а "царем горы" в то время стала операционная система Yellow Dog Linux компании Terra Soft, обладающая современным графическим установщиком, который мог запускаться на PS3.

Со временем многое изменилось. Fedora 7 замечательно устанавливается на PS3. Все, что при этом должен сделать пользователь – это указать драйвер загрузчика PS3, чтобы система смогла обнаружить установочный DVD, и выбрать видеорежим при первоначальной настройке системы, чтобы можно было использовать графический интерфейс установщика.

Итак, вы можете запустить Linux на PS3. Это просто. Проблема заключается в том, что не обязательно все будет работать хорошо. Если вы приобрели PS3 в качестве недорогой системы разработки приложений для процессора Cell, то после установки ОС по умолчанию можете быть слегка разочарованы, обнаружив, что к моменту появления приглашения командной оболочки система успеет создать на жестком диске сотню-другую мегабайт swap-файлов.

Об этой серии

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

Начало работы

Для начала у вас должен быть дистрибутив Fedora 7 (вероятно, Fedora 8 тоже будет работать, но когда я начинал писать эту статью, у меня под рукой была Fedora 7). Очевидно, вы могли бы получить лучший результат, установив какой-нибудь оптимизированный или специально адаптированный для PS3 дистрибутив, но Fedora 7 имеет огромное преимущество: поддержка этой системы включена в пакет Cell/B.E. SDK (хотя RHEL 5.1 также поддерживается, Fedora 7 симпатичнее).

Я большой поклонник сети Bittorrent, поскольку она помогает распределять сетевую нагрузку. Это означает, что следует оставлять свой Bittorrent-клиент включенным до тех пор, пока вы не отдадите, по крайней мере, столько же информации, сколько получили сами. Программное обеспечение open source – это своего рода сотрудничество людей, и совместное распределение сетевых затрат является отличной отправной точкой. Загрузка DVD-образа (обратитесь к разделу Ресурсы) займет какое-то время, так что, пока вы ждете, я расскажу кое-что из истории PS3 Linux.

Linux можно было запустить и на приставке PlayStation 2, но для этого нужно было изрядно попотеть. Для запуска Linux на PS2 компанией Sony был выпущен специальный пакет, который мог работать только на старых, "толстых" моделях PS2 и требовал наличия дополнительного жесткого диска. Этот пакет не поддерживался более новыми (и более распространенными), "тонкими" моделями PS2, и поэтому о нем быстро забыли. Хотя, по большому счету, это произошло из-за того, что этот пакет был своего рода лишь доказательством концепции – на практике PS2 не обладала достаточным количеством памяти, а без использования специальных компиляторов процессор представлял собой довольно стандартное ядро MIPS-архитектуры. Поддержка и документация векторных блоков ограничивались рамками служебных инструментов для разработчиков.

В отличие от своей предшественницы, PS3 обладала поддержкой работы с Linux с момента выхода в продажу, и компания Sony обеспечила широкую доступность кода и установочных пакетов, необходимых для запуска Linux. Компакт-диск под названием "Cell addons", выпущенный приблизительно в то же время, что и сама приставка, обеспечивал прямую поддержку Fedora 5 и 6, а также содержал все файлы, необходимые для портирования на PS3 других дистрибутивов. В результате Fedora 7 свободно работает на PS3 без необходимости использования каких-либо дополнительных компакт-дисков, хотя вам и потребуется скачать с ресурса Sony инсталлятор, позволяющий установить необходимый загрузчик операционной системы. Также на странице загрузки Sony вы всегда можете скачать самую последнюю версию "Cell addons" (обратитесь к разделу Ресурсы), включающую в себя все необходимые обновления и новое ядро.

Разбираемся с гипервизором

Основу PS3 составляют следующие компоненты: 256 МБ основной памяти, процессор Cell/B.E., проводной Ethernet-адаптер (на некоторых моделях также присутствует и беспроводной 802.11b/g модуль), жесткий SATA-диск и графический блок под названием RSX, имеющий 256 МБ собственной памяти. Также имеются расширения для поддержки периферийного оборудования – порты USB, карт-ридер (на некоторых моделях) и Bluetooth. Но все это не то, на чем работает PS3 Linux.

Куда подевался один SPE?

Архитектура процессора Cell Broadband Engine включает в себя 8 элементов SPE. Операционной системе Linux доступно 6 из них. Один элемент используется гипервизором. Где же еще один оставшийся SPE?

Ответ заключается в следующем: PS3 поставляется с одним отключенным SPE. Это позволяет использовать чипы с одним дефектным SPE, увеличивая выход годных чипов и удешевляя процесс. Получается, что хотя теоретически процессор Cell/B.E. содержит 8 элементов SPE, в PS3 доступны только 7 из них. Один SPE выделен для работы с гипервизором и выполняет задачи по обеспечению защиты системы, а остальные 6 доступны для ОС Linux или для игр.

Linux работает на PS3 под управлением гипервизора — в сущности, на виртуальной машине, подобной Xen. Гипервизор обеспечивает контролируемый доступ к аппаратной части PS3. Например, код Linux не имеет прямого доступа к графическому процессору RSX. Для этих целей используется специальное устройство, предоставляющее ограниченный доступ к RSX и содержащее достаточно эффективный 2D видеобуфер.

Гипервизор выполняет ряд преобразований. Например, как было замечено, гипервизор предоставляет в распоряжение Linux виртуальный видеобуфер, а затем приводит его в действие с помощью графического ядра RSX. Точно также, Linux не имеет доступа к жесткому SATA-диску. Вместо этого Linux получает доступ к SCSI-диску, которому сопоставлена лишь область, выделенная под раздел "Other OS". Таким образом, просто физически невозможно получить доступ к части диска, используемой игровыми приложениями PS3.

Наибольший интерес вызывает, пожалуй, сетевое оборудование. PS3 Linux может получить доступ либо к гигабитному проводному интерфейсу, либо к беспроводному интерфейсу 802.11g, но не к обоим сразу. Если в процессе настройки в качестве сетевого интерфейса будет указан беспроводной интерфейс с идентификатором SSID, гипервизор будет использовать беспроводную связь, в противном случае будет использоваться проводной интерфейс.

Краткая информация о видеорежимах бытовой электроники

Если вы читаете эту статью на персональном компьютере, то понятие "видеорежим" будет звучать немного странно. Вместо описаний в терминах разрешений экрана ("1024x768") или аббревиатур ("XGA", "SXGA" и т. д.) большинство видеорежимов, используемых в бытовой электронике, описываются исключительно в терминах вертикального разрешения (количество строк по вертикали). В Соединенных Штатах используется стандарт NTSC, а обычным разрешением для телевидения стандартной четкости (standard-definition television, SDTV) является 480 строк. Но постойте!

На самом деле пропускной способности канала недостаточно для прорисовки 480 строк в одном кадре, поэтому фактически вы получаете два одновременно отображаемых кадра по 240 строк в каждом с чередованием четных строк в одном кадре и нечетных строк в другом. Этот режим называется "480i", где "i" означает чересстрочную (interlaced) развертку (некоторые системы не поддерживают даже режим 480i, вместо этого выводя всего лишь 240 строк).

Многие DVD-проигрыватели, а также некоторые игровые консоли последнего поколения (такие как Xbox, PS2 и некоторые модели GameCube) поддерживают дополнительный режим, доступный только при использовании компонентных видеокабелей и называющийся "480p". Здесь "p" означает построчную (progressive) развертку, при этом в одном кадре прорисовываются сразу все 480 строк. Некоторые производители телевизионной техники позиционируют режим 480p как режим телевидения повышенной четкости (Enhanced Definition TV, EDTV), в отличие от телевидения высокой четкости (High Definition TV, HDTV).

Более высокими разрешениями являются 720p (720 строк, построчная развертка), 1080i (1080 строк, чересстрочная развертка из двух кадров по 540 строк) и 1080p (1080 строк, построчная развертка). Из-за конкуренции между этими режимами, а также из-за стремления разработчиков аппаратуры к экономии не каждое устройство обладает поддержкой всех этих режимов.

По своей природе ни одно из этих разрешений не использует параметры горизонтальной развертки, но в случае с PS3 вы можете быть твердо уверены, что изображение на выходе будет по умолчанию масштабировано до соотношения 16x9.

В заключение стоит упомянуть, что все вышеперечисленные режимы включают в себя поддержку опции overscan. При использовании этой опции в стандартном телевидении изображение растягивается на весь экран, убирая черные полосы, которые раздражают некоторых пользователей. Linux по умолчанию использует только часть экрана, а не полное теоретическое разрешение, но для каждого видеорежима есть соответствующий ему полноэкранный режим, при котором используется вся область экрана. В сети есть отличная страница Terra Soft, посвященная настройке видеорежимов (обратитесь к разделу Ресурсы).

Итак, рассмотрим спецификации системы с учетом поправок: PS3 Linux запускается на виртуальной машине, которая имеет процессор Cell/B.E. с 6 элементами SPE, около 212 МБ основной памяти, один сетевой интерфейс, SCSI-диск (плюс несколько дополнительных SCSI-дисков при наличии карт-ридера), SCSI-устройство, представляющее накопитель DVD-ROM, CD-ROM или, возможно, Blue-ray, а также работающие порты USB и Bluetooth. Графическая подсистема представлена специальным видеобуфером с поддержкой широкого набора видеорежимов (обратитесь к разделу Краткая информация о видеорежимах бытовой электроники).

Определитесь с вашей рабочей средой

Чтобы эффективно использовать PS3 для разработки приложений, определитесь с тем, какая рабочая среда подходит для ваших задач. Если вам достаточно удобно работать в командной строке, и вы можете полностью отказаться от использования среды X, вы сэкономите огромное количество памяти, поскольку среда Gnome, которая по умолчанию используется в Fedora, не особо экономична в этом плане. С множеством утилит по настройке системы удобнее всего общаться через X, но для их выполнения может потребоваться много времени. Я выполнял обновление пакетов с помощью графического менеджера в среде Gnome, и это заняло у меня несколько часов. Возможно, это произошло из-за того, что процесс занимал в памяти 375 МБ, что существенно превышало объем физически доступной памяти. Все основное время уходило на выгрузку данных в swap-файл, что делало работу системы похожей на работу Emacs на VAX.

Из всего этого можно сделать основной вывод: самым слабым местом PS3 является недостаточное количество памяти. Поэтому как можно скорее отключите ненужные вам службы, запускайте xterm вместо gnome-терминала, а если вам нужно работать с несколькими окнами, запускайте screen вместо нескольких сеансов xterm.

Настройки дисплея

Если вы собираетесь работать удаленно, без использования монитора, этот вопрос не должен особо вас беспокоить. Но если вы хотите работать в системе, которая бы достойно выглядела визуально, вам следует рассмотреть вопрос настройки дисплея. Наилучшее качество достигается при использовании HDMI-выхода PS3. Если у вас есть компьютерный монитор, то использование переходника HDMI/DVI будет достаточно дешевым решением, однако убедитесь, что ваш монитор поддерживает протокол защиты широкополосных цифровых данных (High-bandwidth Digital Content Protection, HDCP). Если монитор не поддерживает HDCP, то вы сможете увидеть лишь черный экран или яркую статическую картинку. Если вы используете KVM-коммутатор, то имейте в виду, что он также должен поддерживать HDCP, как и монитор! К сожалению, не существует известных способов отключить эту "полезную функцию" – вы просто не сможете получить на выходе незашифрованный сигнал. До тех пор, пока устройство, способное воспроизводить фильмы высокой четкости, должно обеспечивать защиту контента, придется смириться с тем фактом, что для просмотра рабочего стола в среде X вам необходимо иметь специальное разрешение. Кабель HDMI/DVI можно использовать практически для всех видеорежимов, которые может предложить PS3, для режимов бытовой электроники, таких как 720p, а также для режимов ПК, таких как WXGA.

Если у вас нет возможности использовать HDCP, или вы не располагаете монитором с DVI-интерфейсом, то следующим наилучшим вариантом станет использование компонентного видеосигнала (component video). Хотя чаще всего этот интерфейс используется в телевизионных приемниках, он также поддерживается некоторыми компьютерными мониторами и очень похож на старый стандарт VGA с тем отличием, что сигнал передается по трем раздельным RCA-разъемам. Один разъем используется для передачи красного цвета, второй для передачи зеленого, и третий – для передачи синего. Если у вас есть компонентный видеокабель от PS2, вы можете использовать его, тем самым сэкономив на покупке нового. Компонентный кабель гарантированно поддерживает дисплеи с разрешениями 720p и 1080i, но может не работать с разрешением 1080p (обратитесь к разделу Краткая информация о видеорежимах бытовой электроники, если вы забыли, в чем заключается разница). Компонентный видеосигнал обеспечивает как поддержку более высоких разрешений, так и более четкое изображение по сравнению со следующими двумя вариантами.

Если у вас нет возможности использовать и компонентный кабель, то, возможно, у вас имеется устройство, поддерживающее стандарт S-video. Этот стандарт можно использовать для режима 480i, при этом сигнал S-video разделяется на два канала – сигнал яркости и сигнал цветности. Это обеспечивает лучшую четкость по сравнению с последним вариантом – композитным сигналом. Композитное видео – это старый RCA-разъем (или "тюльпан"), обычно желтого цвета, совместимый практически со всем, чем только можно. Однако если вы можете не использовать композитный выход - не используйте.

Обратите внимание на то, что установщик Fedora 7, по сути, бесполезен при использовании видеорежима ниже 720p (если только при этом не используется текстовый режим). На самом деле, если вы планируете использовать PS3 в качестве среды разработки, вам стоит присмотреться к более высоким разрешениям. Система Linux имеет встроенную совместимость с большими дисплеями и в основном ориентирована на их использование, поэтому оконная среда Fedora на дисплеях с низким разрешением выглядит ужасно. Более того, такие дисплеи (в особенности при использовании композитного кабеля) выдают трудночитаемое и ужасно размытое изображение.

Моя система работала на WXGA-мониторе с разрешением 1280x768, при этом я использовал DVI-кабель. Эта конфигурация оказалась вполне пригодной для работы. Области рабочего стола при этом было достаточно, чтобы расположить несколько неперекрывающихся оконных приложений.


Установка Fedora

К этому моменту установочный DVD-образ Fedora уже должен загрузиться, так что перейдем к установке системы. Следуйте стандартным инструкциям PS3 для разметки жесткого диска (при этом все данные будут уничтожены, так что при необходимости создайте резервные копии) и установки загрузчика Other OS. Когда наступит время вставить DVD-диск Fedora и загрузиться с него, введите команду linux64 text или linux64 video=720p в командной строке kboot. Режим 720p является необходимым минимумом для комфортной установки ОС; если у вас нет возможности использовать компонентный или DVI выход, запустите программу установки в текстовом режиме. В моем случае загрузка с использованием параметров по умолчанию привела к тому, что установщик завис, отображая на экране логотип Fedora; фактически окно установщика было больше области экрана по умолчанию, и мне ничего не оставалось, кроме как выключить систему и попытаться повторить процесс установки заново.

После этого давайте двинемся дальше, загрузив и установив все текущие обновления с серверов обновления Fedora. Также как и установка Linux, это займет некоторое время, поэтому, начав процесс установки или обновления ОС, придумайте себе занятие на ближайшие несколько часов.


Далее: установка дополнений PS3

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

Ресурсы

Научиться

Получить продукты и технологии

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux, Open source
ArticleID=301704
ArticleTitle=Запуск Linux на PlayStation 3: Часть 1 . Больше, чем развлечение
publish-date=04172008