Запускаем GNU/Linux на PS3
Как вам уже известно, Sony убрала возможность запускать OtherOS на приставке Sony Playstation 3. Для некоторых гиков именно запуск GNU/Linux на PS3 был причиной покупки. Но благодаря работе сторонних разработчиков это вновь стало возможным. На прошивке с версией 3.55 без каких-либо дополнительных устройств (USB jailbreak device, USB JIG).
Небольшое видео для привлечения внимания:
UPDATE: теперь всё стало гораздо проще — можно запускать Debian GNU/Linux прямо с флешки без установки TFTP и NFS серверов. См. инструкцию.
Используемые средства
Для запуска ядра Linux будет использоваться загрузчик AsbestOS и программа для внесения изменений в память lv2patcher. Для работы lv2patcher необходимо, чтобы системные файлы были предварительным образом изменены (работали системные вызовы peek и poke, а также функция lv1_undocumented_function_114 была модифицирована: 0x2D5A47: 00 -> 01). Эти изменения уже сделаны в большинстве модифицированных прошивок (CFW).
CFW
- Waninkoko V2;
- kmeaw’s CFW;
- Wutangrza’s CFW;
- PS3MFW от KaKaRoTo (с соответствующими опциями, включенными при сборке).
lv2patcher
Для запуска AsbestOS необходима последняя версия lv2patcher’а — v9. В ней появилась возможность модифицировать содержимое гипервизора (lv1), а также выполнять перезагрузку (lv1_panic).
AsbestOS
Для того, чтобы lv2patcher смог запустить AsbestOS, загрузчик надо предварительно записать во флеш-память приставки. Сделать это просто так нельзя — раздел /dev_flash защищён от записи. Но для этого существует специальная программа — AsbestOS installer (версия для ps3 fat). Просто запустите её и подождите, пока завершится процесс установки.
Теперь все приготовления на PS3 завершены. Поскольку AsbestOS использует сеть для загрузки ядра, то необходимо настроить компьютер, подключённый к локальной сети, чтобы он мог быть использован в качестве загрузочного сервера. Предположим, что на этом компьютере установлена Ubuntu. Чтобы поднять сервер, нам понадобятся пакеты dhcp3-server, tftpd-hpa и nfs-kernel-server.
DHCP-сервер
DHCP-сервер нужен загрузчику, чтобы получить IP-адрес и адрес TFTP-сервера. Вот пример работающей конфигурации для ISC DHCP server:
option domain-name «example.org»;
option domain-name-servers 8.8.8.8, 8.8.4.4;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
authoritative;
log-facility local7;
subnet 192.168.2.0 netmask 255.255.255.0 range 192.168.2.128 192.168.2.250;
>
next-server 192.168.2.1;
filename «kboot.conf»;
option routers 192.168.2.1;
Поправьте этот файл в соответствии с адресным пространством вашей сети.
TFTP-сервер
Сразу после получения адреса, AsbestOS пытается скачать с TFTP-сервера файл конфигурации. В примере выше был указан файл kboot.conf. Нам хватит минимальной конфигурации, и поэтому этот файл будет состоять лишь из одной строки:
linux=’vmlinux video=ps3fb:mode:2 root=/dev/nfs rw ip=dhcp nfsroot=192.168.2.1:/mnt/ps3 panic=5′
Как видно из неё, нам также нужно положить образ ядра в директорию tftp-сервера и назвать его vmlinux. Ссылка на готовое ядро будет указана в следующем разделе.
NFS-сервер
Так как жёсткий диск приставки не будет использован для хранения GNU/Linux, а корневая файловая система нужна для работы, то мы воспользуемся возможностью Linux использовать nfs в качестве корня. Добавим строку в /etc/exports:
Кстати, файловую систему можно взять здесь, а ядро и модули к нему — тут.
Всё готово. Запускаем lv2 patcher, выбираем новый пункт меню «Linux» и нажимаем «X». Через несколько секунд ядро проинициализирует framebuffer и выведет на экран два ряда пингвинов.
А как бы вы стали использовать старую (новую?) возможность PS3?
Linux On PS3 Installation and Setup
I have finally done it. I took the plunge to install Linux on my PS3. Installation was easier than I thought, while setup was much harder. Read on to save time and to set up everything without going through as much as I did.
Why install Linux?
Because it’s Linux, it’s free and will turn your TV into a media center and a robust internet explorer. It’s always good to have a central computer in your home to easy access and use while having guests that want to access the internet or listen to music.
What version of Linux is supported?
As you know, PS3 has a PowerPC processor, so you must find a Linux version with a PowerPC version ready. I have installed Ubuntu on my PS3. There are altered versions of Ubuntu, like Kubuntu or Xubuntu, that are more lightweight and will be faster while maintaining compatibility with most if not all features of the plain and stronger Ubuntu. Another Linux OS that supports PS3 is Yellow Dog. You may also find other versions, but those two are well supported, and you can find more information about those on the Internet.
So, let’s install Linux then!
What do I need?
- A PS3 (duh…) patched up to the latest version of the OS. I mean it. Later versions add enhancements to the WiFi performance of the PS3, which you may need it.
- An Ubuntu version for the PS3 burned on a CD. The version I installed is XUbuntu 9.0.4. The burned media must be a CD. DVDs won’t work.
- A USB keyboard and mouse.
- It would be nice to connect your PS3 via ethernet to a modem that is already connected to the internet. It will simplify things for you.
1) Preparation
To install Linux, you will need to format the PS3 HDD, so be sure to back up all your saves and game data. An easy way to backup everything is using the PS3’s “Format Utility” to do everything for you. Depending on your data, the time needed for this may vary.
Now, you will need to format your HDD and allocate 10 GBytes to Linux to install it.
- Go to System Settings -> Format Utility.
- Select “Format Hard Disk” and click Yes.
- Choose Custom and Allot 10GB to the Other OS.
- Select Quick Format and confirm with Yes.
When prompted, press X to restart the system, The system will now restart, and everything will have been set to their default settings. Now, you must tell PS3 to install the other OS to the newly created 10 GBytes of Space. To do that, there are two ways. I will only mention the easiest since the other one involves messing with the command line and will surely confuse readers.
- Download “otheros.bld“
- Put the Ubuntu CD in your PS3
- Copy it to your usb stick or external HDD in the following folder; /PS3/otheros/ (if there isn’t such a folder, create it)
- Connect your USB stick or HDD to the PS3
- Go to “System Settings” > “Install Other OS.”
- Select “Other OS” and hit “Yes” to restart the system with the otheros.bld loaded and ready to start up when in Linux Installation mode.
2) Installation
Your PS3 restarts. If everything has gone well, you will be greeted by a blue screen that asks you about your country. There is some setup needed. I will only highlight the important options. The other ones do not affect installation, and they can be whatever you wish them to be.
- If your PS3 is connected to the internet via cable, choose eth0: Ethernet. (if you use WiF, good luck with that. I don’t know how to help you, sorry. However, I am fairly certain that installation without an internet connection is effortless, so try it)
- The hostname for the Linux system can be whatever you want it to be – like “ubuntuSystem1”.
- When asked how to partition the disks, choose option 2: “Guided – use entire disk” (meaning the 10.7GB you formatted from the XMB).
- On the “Overview” screen, press “Finish partitioning and write changes to disk.”
- The partition is formatted and the base system installed. It should take about 10 minutes.
- Set up your user information (full name, username, and password twice).
- Unless you’re using a proxy, leave the HTTP proxy information field blank.
- The system will start installing extra software. The process will take approx. 1 hour. Note that my installation was hanged at 6%. I left it to continue, and it installed the extra system components without problems, so don’t panic!
- I set the system clock to UTC, although I don’t know how that affects the time in Ubuntu…
The PS3 will eject your installation disc. Please remove it. Your PS3 will boot from the CD if you don’t, which is not what we want to do. The next screen you will see is the kboot screen. You will get that screen a lot. So let me explain the options:
- Just pressing Enter will continue booting from the Linux OS
- Typing “sh” will allow you to use the command-line shell. Please don’t do it unless you are certain about what you are trying to do.
- Typing “boot-game-os” or just “game” (without the quotes) will boot the PS3 from the XMB, allowing you to play PS3 games normally.
3) The return to XMB
Although it was a relatively simple process, I feel I must mention what happens when you want to restore backed-up data from your system. If you have used the Backup Utility to backup all your data, like me, you will notice that when you try to restore your data, you will be forced to a Format again! Well, don’t be afraid. That Format option will only format the PS3 partition and not the Linux one. In other words, please do it. The PS3 partition will be formatted, the Linux OS will remain intact, and the PS3 will reboot from the XMB and start restoring your system from the backed-up data.
4) The return to Linux… again
To boot from Linux again, go to Settings->System Settings->Default System and choose the “other os” option. That will allow you to boot from the Linux Partition.
After you boot from the Linux partition, you will notice two things
- The Performance is that of a 10-year-old PC
- You probably have black borders near the edges of your TV screen.
Well, the second problem has a fix. And I will post a guide for that too in the next few days. However, the first one is another thing. The available memory for the OS is 222 Mbytes, which is the real bottleneck, but you will also notice that not all the cores of the PS3 are at work with Linux. Only two(one?) of them are working. However, as you will notice, after a few tweaks that I will mention here, you will be ready to enjoy Linux at not tremendous but much greater speeds.
See you in a few days with another post!
Unlocking the Power of Kubernetes Operators
In this article, I will explain the characteristics of Kubernetes operators and clarify any confusion about how they are used and why. We will also build our own Kubernetes Controller.
Bug hunting: Chance or Chore?
I am very fond of bug-hunting and fixing. Most people I know consider it one of the tedious aspects of the software engineering cycle. But not me.
Как установить Linux на PlayStation 3
Xakep #289. Взлом в воздухе
Новая приставка от Sony обладает выдающейся открытостью – на ней «совершенно легально» можно установить альтернативную операционную систему – например, Linux.
Корреспондент игрового ресурса Eurogamer установил на своей PS3 дистрибутив Fedora Core 5 Linux для PowerPC и поведал читателям, как это сделать, а также что из этого может получиться.
Для установки на консоль альтернативной ОС необходим DVD с дистрибутивом (его можно скачать с сайта Fedora Project, если не жалко 3,4 Гб трафика), CD со специальными Linux-дополнениями под PS3 (c сайта Linux.org), а также флэшка, на которую необходимо записать файл otheros.self с сайта Sony. Перед началом установки рекомендуется сделать бэкап всей важной информации, хранящейся на HDD приставки, после чего нужно вставить флэшку в USB-разьем и выбрать в служебной панели пункт
«Установить альтернативную ОС». Всего через пару часов инсталляции из консоли получится полноценный Linux-PC – конечно, при условии, что к ней будут подключены через USB мышь и клавиатура. Кроме того, чтобы не потерять зрение от работы с Linux, необходим монитор или телевизор, поддерживающий режим 1080p. Определенные ограничения на работу альтернативной ОС все-таки накладываются – в частности, при работе с альтернативной ОС большая часть возможностей графического чипа RSX блокируется, поэтому трехмерная графика будет недоступна. По окончанию сеанса работы с Linux можно опять перезагрузиться, превратив PS3 обратно в игровую консоль. Пока трудно сказать, кому и для каких целей
может быть удобно использовать PS3 в качестве Linux-компьютера (возможно, смысл появится через несколько лет, когда цена на приставку радикально упадет). Очевидно одно – технические различия между PC и современными игровыми приставками практически сведены на нет.