PSL1GHT представляет собой легкое хоумбрю SDK с открытым исходным кодом PlayStation 3 Toolchains для компиляции пользовательских приложений. Приложения, подписанные ключами PSL1GHT, будут работать на OFW 3.41/3.55. Также, при проблемах с совместимостью, эти приложения можно переподписать с помощью SELF Resiner'а, чтобы они запускались на современных CFW.
Здесь вы найдёте необходимые шаги для установки PSL1GHT v2 себе в Cygwin.
Важные замечания: Следуя этому алгоритму, вы должны понимать, что: 1. Никто кроме Вас самих не несёт ответственность за возможные неполадки вашей OS, файлам и/или др. данным; 2. Вы несёте полную ответственность за всё, что Вы делаете на Вашем компьютере; 3. Вы понимаете содержимое и цель этого алгоритма.
Запустите setup-x86.exe и нажмите Далее Убедитесь, что выбрано Install from Internet - будет скачиваться всё необходимое с интернета. Выберите сервер откуда будет всё скачиваться. От того, где находится сервер зависит с какой скоростью будет скачиваться, так что выбирайте с умом. В любом случае Вы не "не угадаете" - если незнаете какой выбрать - тыкайте любой.
Выберите где у Вас будет находиться/находится папка с Cygwin'ом. На этом шаге всё. Что конкретно здесь устанавливать читайте в сл. шаге. Что же касательно требований. Требования здесь есть нюансы, которые нужно соблюсти. Установите Cg toolkit себе в Windows. Убедитесь в том, что рядом с папкой cygwin по соседству нет папки pspsdk !!! Если она есть - пока не пройдёте до конца шага4.5 - перенесите её куда-нибудь!
Если их ещё нет - нужно установить следующие пакеты: autoconf automake bison flex texinfo libncurses-devel gcc libgmp-devel libmpfr-devel libelf0-devel libtool make makeinfo libncurses-devel patch pkg-config python wget zlib-devel openssl-devel git subversion mercurial bzip2 mc python-libxml2 cmake gettext check libjpeg-devel libfreetype-devel libfontconfig-devel fribidi-devel libgif-devel libtiff-devel libgstreamer-devel libcurl-devel lua5.1-devel Если это был Ваш "первый раз", то по окончании установки Вы увидите иконку Cygwin у Вас на рабочем столе, с которого теперь всегда его запускать.
В этом шаге мы введём переменные, чтобы при всяком запуске Cygwin'а автоматически присваивались и переменные, необходимые для работы с PSL1GHT. Запустите Cygwin Terminal. Убедитесь, что Вы в вашей домашней директории. Построчно вводите следующие команды:
По окончании, закройте Cygwin Terminal и запустите его ещё раз. Кстати, из предыдущего шага для пакета python, а именно для одного из его файлов, нужно ввести вот эту команду:
После этого у Вас в папке с установленным Cygwin'ом в usr/src/ появится папка ps3dev. Подразумевается, что компилятор строится на раз-два всего лишь запуская скрипт toolchain.sh. Как бы не так! Без исправлений не обойдётся, так что заходим туда - будем строить всё вручную.
Можно приступать к сборке самого PSL1GHT.
Код
cd $PS3SRC mkdir build cd build ../scripts/001-binutils-PPU.sh ../scripts/002-gcc-newlib-PPU.sh (курите минут 20) ../scripts/003-gdb-PPU.sh ../scripts/004-symlinks-PPU.sh ../scripts/005-binutils-SPU.sh ../scripts/006-gcc-newlib-SPU.sh (курите минут 20) ../scripts/007-gdb-SPU.sh ../scripts/008-psl1ght.sh ../scripts/009-libiberty-PPU.sh ../scripts/010-bfd-PPU.sh ../scripts/011-ps3libraries.sh
...и тут у Вас выдаст ошибку на freetype, где проблемы с компиляцией набора ps3libraries только начинаются. Будем решать. Перейдите в папку где собираются PS3Libraries:
Код
cd PS3Libraries/build
и переходите к следующему шагу, где рассмотрим сборку PS3Libraries по-конкретнее.
Правим /usr/src/ps3dev/build/PS3Libraries/scripts/004-freetype-2.5.0.1.sh: ## Download the source code. - тамошнюю строчку с ссылкой замените, например, на:
cd SDL2-libs/build rm -rf SDL2_gfx-1.0.1 tar -zxvf SDL2_gfx-1.0.1.tar.gz cd SDL2_gfx-1.0.1 sh autogen.sh mkdir build-ppu; cd build-ppu ../configure --prefix=/usr/local/ps3dev/portlibs/ppu --host=powerpc64-ps3-elf --with-sdl-exec-prefix=/usr/local/ps3dev/portlibs/ppu --disable-sdltest --disable-mmx --enable-option-checking make -j 4 make install cd ../../ ../scripts/002-SDL2_ttf-2.0.12.sh ../scripts/003-SDL2_image-2.0.0.sh ../scripts/004-SDL2_mixer-2.0.0.sh ../scripts/005-SDL2_net.sh cd ../../
будут ошибки, связанные с makedepend. Игнорируем их и продолжаем:
Код
cd RSXGL/build-ppu make -j 4 make -j 4 make -j 4 make -j 4 make install cd ../../
Достраиваем последнюю библиотеку:
Код
../scripts/027-libjson-0.12.sh
Готово!
Для начала нужно собрать ещё немножко библиотек:
Код
cd $PS3SRC git clone https://github.com/Estwald/PSDK3v2.git PSDK3v2 (можно покурить минут 20) cd PSDK3v2/libraries-src/PSL1GHT-master/tools/raw2h make make install cd ../../../Tiny3D make clean make cd ../ps3soundlib/libs make clean make make install
Всё готово к сборке irismanager'а, но всё равно нужно что-то править...
(строчку 64 не трогать) Как всё готово - выполняем команду:
Код
make
Если появился файл irismanager-4-x.SELF - значит всё прошло удачно! Это есть EBOOT.BIN этого хоумбрю. Для дальнейшего использования его следует переподписать SELF Resigner'ом, примострячить его в pkg и установить на PS3.
Я здесь не поясняю что нужно сделать для того, чтобы построить последнюю глобальную библиотеку по скрипту /usr/src/ps3dev/scripts/012-ps3efl-1.7.9.sh . Чтобы его построить, нужно сначала вручную скомпилить efl в Cygwin, но у Cygwin'а есть какие-то проблемы совместимости, и эта библиотека не компилируется. Я считаю, что ничего страшного в отсутствии библиотеки ps3efl нет - вот найдёте исходник, где она будет использоваться при компиляции - вот тогда и "поговорим".
В остальном же, если возникло каких-либо других проблем, у Вас уже должен быть успешно установлен PSL1GHT v2. Разработчикам следует знать, что существуют какие-то добавки к PSL1ght: PSL1GHT от HACKERCHANNEL ps3soundlib Tiny3D и др.
Также, собирающим программы следует знать, что в прошлом существовал PSL1GHT v1, и не исключён шанс, что придётся столкнуться с адаптированием исходника к новому компилятору. Кроме того, имейте в виду, что частенько для сборки того или иного хоумбрю возможно необходимо будет собрать какую-то спец. библиотеку спец. для этого хоумбрю ПРЕЖДЕ, чем скомпилируется само хоумбрю.
По любым вопросам касательно сборки компилятора (НЕ сборки PS3 хоумбрю уже готовым компилятором) пишите в этой теме - разберёмся. P.S.:Если Вы - талантливый программист и сможете собрать очень-очень маленькое хоумбрю, ELF (НЕ EBOOT.BIN/.SELF) от которого будет весить <= 64Кб (65.536 байт) - обязательно отпишитесь об этом здесь.
Вот прикреплена простейшая программа - программа запускает то ли любой ELF, то ли любой BIN. Правьте в ней source/main.c - надо править путь до вашего файла.self или .elf там увидите где. Может пригодится кому. Искал ELF от проги, вес которой будет <= 65.536 байт - а у этой вес 262кб.