Yoti
22.09.2018, 13:31
Установка Vita SDK на Linux Mint 20.3 (XFCE, 64-bit)
Предупреждение
Человеку, имеющему опыт использования ОС семейства Линукс может показаться, что какие-либо шаги можно сделать проще или иначе. Да, можно - значит эта статья просто не для вас. Обратитесь к первоисточнику (https://vitasdk.org/).
Mint у меня крутится под VirtualBox 7.0. В систему установлены дополнения гостевой ОС. В процессе установки было выбрано дополнительное ПО, сразу после установки система была полностью обновлена, включая ядро.
Подготовка
Запускаем Терминал, вводим команды ниже.
После каждой команды нажимаем Enter.
Читаем и выполняем предложения из Терминала.
Все работы ведутся в домашней папке.
Обновляем список пакетов:
sudo apt update
Обновляем сами пакеты:
sudo apt upgrade -y
Доустанавливаем необходимое:
sudo apt install git make cmake ninja-build -y
Чистим ненужное:
sudo apt clean && sudo apt autoclean
Установка
Запускаем Терминал, если он не открыт.
Добавляем переменные среды:
echo export VITASDK=/usr/local/vitasdk >> ~/.bashrc
echo export PATH=\$VITASDK/bin:\$PATH >> ~/.bashrc
Перезагружаемся (обязательно):
reboot
Запускаем Терминал.
Загружаем набор скриптов для установки SDK:
git clone https://github.com/vitasdk/vdpm
Переходим в папку со скриптами:
cd vdpm
Устанавливаем "голый" SDK:
./bootstrap-vitasdk.sh
Устанавливаем необходимые пакеты:
./install-all.sh
По желанию, команду выше можно сразу же запустить повторно для проверки успешности процесса.
Ожидайте много строк вида "skip install <название>. Package previously installed less than one day ago".
Если в конце строка "Failed to install, the package probably does not exist.", запускаем команду заново.
Перезагружаемся (по желанию):
reboot
Проверка
Запускаем Терминал.
Загружаем образцы программ:
git clone https://github.com/vitasdk/samples
cd samples && git checkout 69d96c1 && cd ..
Вторая строчка - временный фикс сломанной сборки по команде make
Переходим в папку с hello_world:
cd samples
cd hello_world
Компилируем методом make:
make
yoti@pspx:~/samples/hello_world$ make
mkdir -p out/./
arm-vita-eabi-gcc -c -Wl,-q -I../common -o out/main.o src/main.c
arm-vita-eabi-g++ -Wl,-q -std=c++11 -I../common out/main.o -lSceDisplay_stub -o vita_sample.elf
arm-vita-eabi-strip -g vita_sample.elf
vita-elf-create vita_sample.elf vita_sample.velf
vita-make-fself vita_sample.velf eboot.bin
vita-mksfoex -s TITLE_ID="VSDK00007" "Hello World" param.sfo
vita-pack-vpk -s param.sfo -b eboot.bin \
--add sce_sys/icon0.png=sce_sys/icon0.png \
--add sce_sys/livearea/contents/bg.png=sce_sys/livearea/contents/bg.png \
--add sce_sys/livearea/contents/startup.png=sce_sys/livearea/contents/startup.png \
--add sce_sys/livearea/contents/template.xml=sce_sys/livearea/contents/template.xml \
vita_sample.vpk
Готовый файл будет находиться в этой же папке с именем "vita_sample.vpk".
Очищаем за собой папку проекта:
make clean
yoti@pspx:~/samples/hello_world$ make clean
rm -f vita_sample.velf vita_sample.elf vita_sample.vpk param.sfo eboot.bin out/main.o
rm -r /home/yoti/samples/hello_world/out
Компилируем методом cmake - шаг 1 "подготовка":
mkdir build
cd build
cmake ..
yoti@pspx:~/samples/hello_world/build$ cmake ..
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yoti/samples/hello_world/build
Компилируем методом cmake - шаг 2 "сборка":
make
yoti@pspx:~/samples/hello_world/build$ make
Scanning dependencies of target hello_world
[ 12%] Building C object CMakeFiles/hello_world.dir/src/main.c.obj
[ 25%] Linking C executable hello_world
[ 25%] Built target hello_world
Scanning dependencies of target hello_world.vpk_
[ 37%] Converting to Sony ELF hello_world.velf
[ 50%] Creating SELF hello_world.self
[ 62%] Generating param.sfo for hello_world.vpk
[ 75%] Building vpk hello_world.vpk
[ 75%] Built target hello_world.vpk_
Scanning dependencies of target hello_world.self_
[100%] Built target hello_world.self_
Готовый файл будет находиться в этой же папке (build) с именем "hello_world.vpk".
Очищаем за собой папку проекта:
cd ..
rm -rf build
Обновление
Запускаем Терминал.
Переходим в папку vdpm:
cd vdpm
Запускаем скрипт обновления:
./vitasdk-update
Удаление
Запускаем Терминал.
Удаляем установленный SDK:
sudo rm -rf /usr/local/vitasdk
Удаляем установочник SDK:
rm -rf ~/vdpm
Удаляем прочие папки (по желанию):
rm -rf ~/samples
Ссылки по теме
Официальный сайт VitaSDK (https://vitasdk.org/)
Discord сервер HENkaku (https://discord.gg/m7MwpKA)
...
Предупреждение
Человеку, имеющему опыт использования ОС семейства Линукс может показаться, что какие-либо шаги можно сделать проще или иначе. Да, можно - значит эта статья просто не для вас. Обратитесь к первоисточнику (https://vitasdk.org/).
Mint у меня крутится под VirtualBox 7.0. В систему установлены дополнения гостевой ОС. В процессе установки было выбрано дополнительное ПО, сразу после установки система была полностью обновлена, включая ядро.
Подготовка
Запускаем Терминал, вводим команды ниже.
После каждой команды нажимаем Enter.
Читаем и выполняем предложения из Терминала.
Все работы ведутся в домашней папке.
Обновляем список пакетов:
sudo apt update
Обновляем сами пакеты:
sudo apt upgrade -y
Доустанавливаем необходимое:
sudo apt install git make cmake ninja-build -y
Чистим ненужное:
sudo apt clean && sudo apt autoclean
Установка
Запускаем Терминал, если он не открыт.
Добавляем переменные среды:
echo export VITASDK=/usr/local/vitasdk >> ~/.bashrc
echo export PATH=\$VITASDK/bin:\$PATH >> ~/.bashrc
Перезагружаемся (обязательно):
reboot
Запускаем Терминал.
Загружаем набор скриптов для установки SDK:
git clone https://github.com/vitasdk/vdpm
Переходим в папку со скриптами:
cd vdpm
Устанавливаем "голый" SDK:
./bootstrap-vitasdk.sh
Устанавливаем необходимые пакеты:
./install-all.sh
По желанию, команду выше можно сразу же запустить повторно для проверки успешности процесса.
Ожидайте много строк вида "skip install <название>. Package previously installed less than one day ago".
Если в конце строка "Failed to install, the package probably does not exist.", запускаем команду заново.
Перезагружаемся (по желанию):
reboot
Проверка
Запускаем Терминал.
Загружаем образцы программ:
git clone https://github.com/vitasdk/samples
cd samples && git checkout 69d96c1 && cd ..
Вторая строчка - временный фикс сломанной сборки по команде make
Переходим в папку с hello_world:
cd samples
cd hello_world
Компилируем методом make:
make
yoti@pspx:~/samples/hello_world$ make
mkdir -p out/./
arm-vita-eabi-gcc -c -Wl,-q -I../common -o out/main.o src/main.c
arm-vita-eabi-g++ -Wl,-q -std=c++11 -I../common out/main.o -lSceDisplay_stub -o vita_sample.elf
arm-vita-eabi-strip -g vita_sample.elf
vita-elf-create vita_sample.elf vita_sample.velf
vita-make-fself vita_sample.velf eboot.bin
vita-mksfoex -s TITLE_ID="VSDK00007" "Hello World" param.sfo
vita-pack-vpk -s param.sfo -b eboot.bin \
--add sce_sys/icon0.png=sce_sys/icon0.png \
--add sce_sys/livearea/contents/bg.png=sce_sys/livearea/contents/bg.png \
--add sce_sys/livearea/contents/startup.png=sce_sys/livearea/contents/startup.png \
--add sce_sys/livearea/contents/template.xml=sce_sys/livearea/contents/template.xml \
vita_sample.vpk
Готовый файл будет находиться в этой же папке с именем "vita_sample.vpk".
Очищаем за собой папку проекта:
make clean
yoti@pspx:~/samples/hello_world$ make clean
rm -f vita_sample.velf vita_sample.elf vita_sample.vpk param.sfo eboot.bin out/main.o
rm -r /home/yoti/samples/hello_world/out
Компилируем методом cmake - шаг 1 "подготовка":
mkdir build
cd build
cmake ..
yoti@pspx:~/samples/hello_world/build$ cmake ..
-- The C compiler identification is GNU 10.3.0
-- The CXX compiler identification is GNU 10.3.0
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc
-- Check for working C compiler: /usr/local/vitasdk/bin/arm-vita-eabi-gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++
-- Check for working CXX compiler: /usr/local/vitasdk/bin/arm-vita-eabi-g++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /home/yoti/samples/hello_world/build
Компилируем методом cmake - шаг 2 "сборка":
make
yoti@pspx:~/samples/hello_world/build$ make
Scanning dependencies of target hello_world
[ 12%] Building C object CMakeFiles/hello_world.dir/src/main.c.obj
[ 25%] Linking C executable hello_world
[ 25%] Built target hello_world
Scanning dependencies of target hello_world.vpk_
[ 37%] Converting to Sony ELF hello_world.velf
[ 50%] Creating SELF hello_world.self
[ 62%] Generating param.sfo for hello_world.vpk
[ 75%] Building vpk hello_world.vpk
[ 75%] Built target hello_world.vpk_
Scanning dependencies of target hello_world.self_
[100%] Built target hello_world.self_
Готовый файл будет находиться в этой же папке (build) с именем "hello_world.vpk".
Очищаем за собой папку проекта:
cd ..
rm -rf build
Обновление
Запускаем Терминал.
Переходим в папку vdpm:
cd vdpm
Запускаем скрипт обновления:
./vitasdk-update
Удаление
Запускаем Терминал.
Удаляем установленный SDK:
sudo rm -rf /usr/local/vitasdk
Удаляем установочник SDK:
rm -rf ~/vdpm
Удаляем прочие папки (по желанию):
rm -rf ~/samples
Ссылки по теме
Официальный сайт VitaSDK (https://vitasdk.org/)
Discord сервер HENkaku (https://discord.gg/m7MwpKA)
...